1 from obitools import bioSeqGenerator,BioSequence
2 from obitools.align import alignmentReader
3
5 title = seq[0].strip()[1:].split(None,1)
6 id=title[0]
7 if len(title) == 2:
8 field = title[1].split('; ')
9 else:
10 field=[]
11 info = dict(x.split('=') for x in field if '=' in x)
12 definition = ' '.join([x for x in field if '=' not in x])
13 seq=(''.join([x.strip() for x in seq[1:]]))
14 return bioSeqGenerator(id, seq, definition,**info)
15
17 if isinstance(file,str):
18 file = open(file,'ru')
19 seq=[]
20 for ligne in file:
21 if ligne[0]=='>' and seq:
22 yield parseFasta(seq)
23 seq=[]
24 seq.append(ligne)
25
26 yield parseFasta(seq)
27
29 if isinstance(data, BioSequence):
30 data = [data]
31 rep = []
32 for sequence in data:
33 seq = str(sequence)
34 frgseq = '\n'.join([seq[x:x+60] for x in xrange(0,len(seq),60)])
35 info='; '.join(['%s=%s' % x for x in sequence._info.items()])
36 title='>%s %s %s' %(sequence.id,info,sequence.definition)
37 rep.append("%s\n%s" % (title,frgseq))
38 return '\n'.join(rep)
39
42