【发布时间】:2016-12-03 02:47:41
【问题描述】:
我比较了两个 fasta 文件(具有不同长度的序列和名称)并将共享的序列名称放入列表中。我试图用列表中的名称获取序列。
文件1:
SRR3350720.1
atccaaccactaaagcagtggtatcaacgcagagtacatggggacattcagtgattatggcatgcactgggtc
SRR3350720.3
caggtgcaggtggtgcagtctggggctgaggtgaagaagcctggctcctcggtgaagatctcatgcaaggctt
SRR3350720.5
caggtccagctggtacagtctggggctgaggtgaagaagcctggggcctcagtgaaggtctcctgcaaggttg
SRR3350720.6
caggtgcagttccagccgtggggcgcaggactgttgaagccttcggagaccctgtccctcacctgcgctgtct
list = ['SRR3350720.1','SRR3350720.5']
我在 python 中尝试了脚本。
import HTSeq
fasta_file = HTSeq.FastaReader('file1.fasta', 'r')
for line in fasta_file:
for ls in list:
if str(line.name) == ls:
print str(line)
但是对于每个 NGS 测序,我在列表中有百万个序列和 1 万个序列 ID。如何改进脚本并高效处理数据。
【问题讨论】: