擅长:python、mysql、java
<p>我看了维基百科上的FASTA规范。看起来长序列可以跨越多行。在这种情况下,我假设您希望行连接起来。它还表示信息行以“>;”开头,但也可以以“;”开头。假设文件足够小,可以完全读入内存,我使用正则表达式得出以下结论:</p>
<pre><code>import re
regex = re.compile(r"[;>](?P<description>[^\n]*)\n(?P<sequence>[^;>]+)")
with open("datafile.txt","r") as f:
sequences = regex.findall(f.read())
for i, info in enumerate(sequences):
description, sequence = info
print("sequence%d: %s" % (i, sequence.replace("\n","")))
</code></pre>