Python 命名序列

Python 命名序列,python,naming,Python,Naming,我有一个通过itertools创建fasta序列文件的程序 import itertools input=['ARIMALTHNAEYSDSFTAL','ARIMFLTHNFEYSESFTAL','AHIMNPTENAEYHESFTAL','AHIMNPTENTEYWDSFTAL','AHIMNDTHNFEYHDSFTAL','AHIMNDTNNTEYWESFTAL','ARIMFDTENAEYHDSFTAL','AHIMADTNNTEYWDSFTAL','ARIMFLTENTEYHESFTAL

我有一个通过itertools创建fasta序列文件的程序

import itertools
input=['ARIMALTHNAEYSDSFTAL','ARIMFLTHNFEYSESFTAL','AHIMNPTENAEYHESFTAL','AHIMNPTENTEYWDSFTAL','AHIMNDTHNFEYHDSFTAL','AHIMNDTNNTEYWESFTAL','ARIMFDTENAEYHDSFTAL','AHIMADTNNTEYWDSFTAL','ARIMFLTENTEYHESFTAL']

l=len(input[0])

my_residues=[set() for _ in xrange(l)]
for h in input: 
    for i,x in enumerate(h): 
        my_residues[i].add(x)

my_residues=[list(x) for x in my_residues]
fo=open('autotest.fasta','w')
vals=[]
for x in itertools.product(*my_residues): 
    val = ''.join(x)
    vals.append('>'+'\n'+val)
    print val

with open('autotest.fasta','w') as fo:
    fo.write('\n'.join(vals))
fo.close()
该程序工作正常。这将生成名为autotest.fasta的输出文件

>
AHIMAPTHNAEYHESFTAL
>
AHIMAPTHNAEYHDSFTAL
>
AHIMAPTHNAEYSESFTAL
>
AHIMAPTHNAEYSDSFTAL
>
AHIMAPTHNAEYWESFTAL
>
AHIMAPTHNAEYWDSFTAL
...
这里我想要的是命名序列,这样输出autotest.fasta就会像

>00
AHIMAPTHNAEYHESFTAL
>01
AHIMAPTHNAEYHDSFTAL
>02
AHIMAPTHNAEYSESFTAL
>03
AHIMAPTHNAEYSDSFTAL
>04
AHIMAPTHNAEYWESFTAL
>05
AHIMAPTHNAEYWDSFTAL
...
因此,它可以应用于任何输入


任何帮助都将不胜感激。谢谢。

也许是时候开始投票表决有用的解决方案并接受实际使用的答案了
vals=[]
counter=0
for x in itertools.product(*my_residues): 
    val = ''.join(x)
    vals.append('>%02d\n%s' % (counter, val))
    print val
    counter += 1