lecture11:把文件内容按照染色体分开写出
目的:生物信息学数据比较大,比如sam,vcf,或者gtf,bed都是把所有染色体综合在一起的文件。如果想根据染色体把大文件拆分成小的文件呢?
比如:ftp://ftp.ncbi.nlm.nih.gov/pub/C … an/CCDS.current.txt
这个文件里面的基因就有染色体信息,那根据染色体把这个文件拆分成1~22和其它染色体,这样的23个文件。
测试数据:
chr2 43995310 43995986
chr17 49788603 49789067
chr17 59565573 59566163
chr19 8390308 8390745
chr12 49188033 49189033
chr7 974903 975570
chr7 98878532 98879500
chr7 44044672 44045322
chr1 153634052 153634772
chr11 60905850 60906575
代码:
#!/usr/bin/env python
import sys
args = sys.argv
targ = args[1]
with open(targ, ‘r’) as F:
Chr = {}
for line in F:
line = line.split(‘\t’, 1)
if line[0] not in Chr:
Chr[line[0]] = ‘’
Chr[line[0]] += line[1]
else:
Chr[line[0]] += line[1]
list = Chr.keys()
n = len(list)
i = 1
while i < n+1:
with open(‘out%s.txt’%(i), ‘w’) as out:
out.write(‘%s\t’%(list[i-1]))
out.write(‘%s’%(Chr[list[i-1]]))
i += 1
最后将各个染色体的情况分文件输出…