所以我有一个包含以下内容的文件:
SequenceName 4.6e-38 810..924
SequenceName_FGS_810..924 VAWNCRQNVFWAPLFQGPYTPARYYYAPEEPKHYQEMKQCFSQTYHGMSFCDGCQIGMCH
SequenceName 1.6e-38 887..992
SequenceName_GYQ_887..992 PLFQGPYTPARYYYAPEEPKHYQEMKQCFSQTYHGMSFCDGCQIGMCH
我希望我的程序只读取包含这些蛋白质序列的行。到目前为止,我已经得到了以下代码,它会跳过第一行并读取第二行:
handle = open(filename, "r")
handle.readline()
linearr = handle.readline().split()
handle.close()
fnamealpha = fname + ".txt"
handle = open(fnamealpha, "w")
handle.write(">%s\n%s\n" % (linearr[0], linearr[1]))
handle.close()
但是它只处理第一个序列,我需要它处理包含序列的每一行,因此我需要一个循环,我该怎么做呢? 保存到文本文件的部分也非常重要,因此我需要找到一种方法来同时实现这两个目标。 使用上述代码的输出如下:
>SequenceName_810..924
VAWNCRQNVFWAPLFQGPYTPARYYYAPEEPKHYQEMKQCFSQTYHGMSFCDGCQIGMCH
readlines
和range
一样,在Python 3中已被转换为生成器表达式,但对于前者并非如此。顺便说一下,xrange
在Python 3中已被弃用。 - Brian Gesiak