1
У меня есть программа для создания файла fasta с секвенсором через itertools.Именование последовательностей
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()
Эта программа работает perfectly.This даст выходной файл с именем autotest.fasta, который смотрит как
>
AHIMAPTHNAEYHESFTAL
>
AHIMAPTHNAEYHDSFTAL
>
AHIMAPTHNAEYSESFTAL
>
AHIMAPTHNAEYSDSFTAL
>
AHIMAPTHNAEYWESFTAL
>
AHIMAPTHNAEYWDSFTAL
...
Вот что я хочу, чтобы назвать последовательность, так что выход autotest.fasta будет Посмотрите, как
>00
AHIMAPTHNAEYHESFTAL
>01
AHIMAPTHNAEYHDSFTAL
>02
AHIMAPTHNAEYSESFTAL
>03
AHIMAPTHNAEYSDSFTAL
>04
AHIMAPTHNAEYWESFTAL
>05
AHIMAPTHNAEYWDSFTAL
...
Для того чтобы его можно было применить к любому входу.
Любая помощь будет оценена по достоинству. Спасибо.
Возможно, пришло время начать поиски полезных решений и принять ответы, которые вы фактически использовали – RedBaron