这里的Python代码为我提供了我想要的输出。不过,我需要帮助,将结果限制在前20行。
输入示例如下所示,
gi|170079688|ref|YP_001729008.1|双功能核黄素激酶/FMN腺苷酰转移酶大肠杆菌str.K-12 substr.RNEQRFASLDELKAQIARDELTAREFFGLTKPA gi|170079689|ref|YP_001729009.1| gi|170079689|ref|YP_001729009.1|isoleucyl tRNA合成酶大肠杆菌str.K-12 substr.gi|170079690|ref|YP_001729010.1|脂蛋白信号肽酶大肠杆菌str。K-12 substr.DH10B
import re
id = None
header = None
seq = ''
a_file = open('e_coli.faa')
for line in a_file:
m = re.match(">(\S+)\s+(.+)", line.rstrip())
if m:
if id is not None:
print("{0} length:{1} {2}".format(id, len(seq),header))
id, header = m.groups()
seq = ''
else:
seq += line.rstrip()发布于 2020-06-13 19:08:46
在最上面添加c = 0。然后,改变
print("{0} length:{1} {2}".format(id, len(seq),header))至
if c < 10:
print("{0} length:{1} {2}".format(id, len(seq),header))
c += 1有几处调整后的结果:
import re
id = None
header = None
seq = ''
with open('e_coli.faa') as a_file:
for line in a_file:
m = re.match(">(\S+)\s+(.+)", line.rstrip())
if m:
if id and c < 20:
print("{0} length:{1} {2}".format(id, len(seq),header))
c += 1
id, header = m.groups()
seq = ''
else:
seq += line.rstrip()读取文件的前20行。您可以使用readlines()
而不是:
for line in a_file:用途:
for line in a_file.readlines()[:20]:https://stackoverflow.com/questions/62364374
复制相似问题