此代码返回以下错误消息:
open(infile,mode ='r',buffering = -1)为in_f,open(outfile,mode ='w',buffering = -1)为out_f:TypeError:强制转换为Unicode:需要字符串或缓冲区,找到文件
# Opens each file to read/modify
infile=open('110331_HS1A_1_rtTA.result','r')
outfile=open('2.txt','w')
import re
with open (infile, mode='r', buffering=-1) as in_f, open (outfile, mode='w', buffering=-1) as out_f:
f = (i for i in in_f if i.rstrip())
for line in f:
_, k = line.split('\t',1)
x = re.findall(r'^1..100\t([+-])chr(\d+):(\d+)\.\.(\d+).+$',k)
if not x:
continue
out_f.write(' '.join(x[0]) + '\n')
Run Code Online (Sandbox Code Playgroud)请有人帮助我.
我想选择第9列的绝对值小于500的文件行.列有时是正数,有时是负数.
awk -F'\t' '{ if ($9 < |500|) {print $0} }' > output.bam
Run Code Online (Sandbox Code Playgroud)
到目前为止这不起作用..互联网上的一轮告诉我要使用我们应该添加的绝对值
func abs(x) { return (x<0) ? x*-1 : x }
Run Code Online (Sandbox Code Playgroud)
那我怎么想把它与第9列的值一起?我不知道什么是正确的语法..
我需要将逗号分隔的字符串拆分为第二列,我有下表:
CL1 POS POS2 LENGHT ALLELE
1 3015108,3015109 5 A
2 3015110,3015200 10 B
3 3015200,3015300 15 C
4 3015450,3015500 20 D
5 3015600,3015700 15 E
Run Code Online (Sandbox Code Playgroud)
我想把逗号后面的数字分成第二列POS2所以它应该是那样的
CL1 POS POS2 LENGHT ALLELE
1 3015108 3015109 5 A
2 3015110 3015200 10 B
3 3015200 3015300 15 C
4 3015450 3015500 20 D
5 3015600 3015700 15 E
Run Code Online (Sandbox Code Playgroud)
所以我查询了以下内容:
INSERT INTO MyTable (POS2)
SELECT RIGHT(POS, CHARINDEX(',', POS) + 1 ) FROM MyTable ;
It returns an error :
ERROR 1305 (42000): …Run Code Online (Sandbox Code Playgroud) 在 R 中绘制树状图时,我遇到了一个我以前从未见过的有趣错误。
Error in plot.new() :
cannot open file 'C:\Users\Sun\AppData\Local\Temp\RtmpKSRNuD\pdf12207aa37548', reason No such file or directory
Run Code Online (Sandbox Code Playgroud)
昨天在绘制其他树状图并将其保存在 PDF 文件中时,我没有出现该错误.. 知道这意味着什么吗?
我有两个名为 table_1 (1GB) 和引用 (250Mb) 的表。
当我查询引用的交叉联接时,更新 table_1 需要 16 小时。我们更改了 XFS 的系统文件 EXT3,但仍然需要 16 小时。我做错了什么?
这是更新/交叉连接查询:
mysql> UPDATE table_1 CROSS JOIN reference ON
-> (table_1.start >= reference.txStart AND table_1.end <= reference.txEnd)
-> SET table_1.name = reference.name;
Query OK, 17311434 rows affected (16 hours 36 min 48.62 sec)
Rows matched: 17311434 Changed: 17311434 Warnings: 0
Run Code Online (Sandbox Code Playgroud)
这是table_1的显示创建表和参考:
CREATE TABLE `table_1` (
`strand` char(1) DEFAULT NULL,
`chr` varchar(10) DEFAULT NULL,
`start` int(11) DEFAULT NULL,
`end` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL, …Run Code Online (Sandbox Code Playgroud) 我有一个vi命令,用硬标签替换空格字符:
vi myfile.txt
: # To go to the last line
1,$s/ /\t/g # Then I type in this to replace spaces by a tab
Run Code Online (Sandbox Code Playgroud)
我有4个基因数据框,每个数据框的基因名称为行,大约20列样本数据.因此每个矩阵都有行数(基因):
这是我尝试过的,它没有选择9,000个常见行(Genes)的完整列表
Data_A = read.csv("matrix_A.csv");
Data_B = read.csv("matrix_B.csv");
Data_C = read.csv("matrix_C.csv");
Data_D = read.csv("matrix_D.csv");
Expr_A = as.data.frame(t(Data_A[, -c(1:8)]))
Expr_B = as.data.frame(t(Data_B[, -c(1:8)]))
Expr_C = as.data.frame(t(Data_C[, -c(1:8)]))
Expr_D = as.data.frame(t(Data_D[, -c(1:8)]))
commonGenes1 = intersect (rownames(Data_A),rownames(Data_D))
commonGenes2 = intersect (rownames(Data_B),rownames(Data_D))
commonGenes3 = intersect (rownames(Data_C),rownames(Data_D))
Data_A = Data_A[commonGenes1,]
Data_B = Data_B[commonGenes2,]
Data_C = Data_C[commonGenes3,]
Run Code Online (Sandbox Code Playgroud)
它们共有9,000个基因,虽然数据太大我不能在Excel中做到这一点.我用R来处理数据,有没有办法选择R中4个数据帧之间的共同基因?
这里有4个矩阵的例子:http: //www.filedropper.com/matrixexample
我有两个表,T1和T2如下:
CATEGORY ID
1 1100
1 1200
1 1300
1 1500
2 2000
2 2100
2 2300
2 2500
Run Code Online (Sandbox Code Playgroud)
我需要知道 :
从今天早上开始,我就把头埋在上面,试着去做类似的行:
select count(*) from T1, T2 WHERE
T1.CATEGORY = T2.CATEGORY AND T1.ID = T2.ID;
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何获得唯一的行(仅在T1或T2).