擅长:python、mysql、java
<p>不要为此使用正则表达式。。。在</p>
<pre><code>class FASTA(object):
def __init__(self,data):
self.data = data.strip().splitlines()
self.desc = self.data[0]
self.sequence = "".join(self.data[1:]).replace(" ","")#get rid of spaces
def GetCodons(self):
return [self.sequence[i:i+3] for i in range(0,len(self.sequence),3)]
def __str__(self):
return "DESC:'%s'\nSEQ:'%s'"%(self.desc,self.sequence)
with open("data.fasta") as f:
data = f.read()
parts = data.split(">")
for p in parts[1:]:
f= FASTA(p)
print f
print f.GetCodons()
</code></pre>