如何从文件中读取特定行

时间:2015-10-07 22:23:30

标签: python file fasta

我有一个FASTA文件,它看起来像这样:

click for image

我想要这个:

sequence1: ATGCACCGT
sequence2: GACCTAGCA

结果。

我该怎么办?

编辑: 我试着重新制定它,

所以我有一个(fasta)文件,有多行。 某些行具有特殊字符(>)作为第一个字符。我不需要这些行,但行显示第一个序列结束的位置,以及另一个序列开始的位置。

我想把它读成两个单独的字符串 第一个字符串是第一个字符串,第二个字符串是第二个字符串。

但我不知道怎么能告诉pycharm我想要阅读>标志,比其余的去另一个字符串,直到下一个>签...

2 个答案:

答案 0 :(得分:0)

with open('data', 'r') as f:
     s = [x.strip() for x in f]

for i, el in enumerate(s):
    if i % 2 == 0:
        s[i] = 'sequence'  + str(i+1)


print(s)

['sequence1', 'ATGCACCGT', 'sequence3', 'GACCTAGCA']

答案 1 :(得分:0)

我查看了维基百科上的FASTA规范。看起来长序列可以跨越多行。在这种情况下,我假设你想要连接线。它还说信息行以">"但也可以从&#34 ;;"开始。假设文件足够小,可以完全读入内存,我使用正则表达式提出了以下内容:

get diff 10eab44a41a4f4141b7cce80ffcaa7a676297bcb 8781017d5d7e507511fd1631b9263620671407ea