擅长:python、mysql、java
<p>Katrielex在评论中提到的另一个选择是使用另一个字典,代码如下</p>
<pre><code>def FASTA(filename):
try:
f = file(filename)
except IOError:
print "The file, %s, does not exist" % filename
return
order = []
sequences = {}
counts = {}
for line in f:
if line.startswith('>'):
name = line[1:].rstrip('\n')
name = name.replace('_', ' ')
order.append(name)
sequences[name] = ''
else:
sequences[name] += line.rstrip('\n').rstrip('*')
for aa in sequences[name]:
if aa in counts:
counts[aa] = counts[aa] + 1
else:
counts[aa] = 1
print "%d sequences found" % len(order)
print counts
return order, sequences
x, y = FASTA("drosoph_b.fasta")
</code></pre>
<p>该输出:</p>
^{pr2}$