【发布时间】:2014-05-07 02:05:24
【问题描述】:
我需要最简单的解决方案来转换包含多个核苷酸序列的 fasta.txt,例如
>seq1
TAGATTCTGAGTTATCTCTTGCATTAGCAGGTCATCCTGGTCAAACCGCTACTGTTCCGG
CTTTCTGATAATTGATAGCATACGCTGCGAACCCACGGAAGGGGGTCGAGGACAGTGGTG
>seq2
TCCCTCTAGAGGCTCTTTACCGTGATGCTACATCTTACAGGTATTTCTGAGGCTCTTTCA
AACAGGTGCGCGTGAACAACAACCCACGGCAAACGAGTACAGTGTGTACGCCTGAGAGTA
>seq3
GGTTCCGCTCTAAGCCTCTAACTCCCGCACAGGGAAGAGATGTCGATTAACTTGCGCCCA
TAGAGCTCTGCGCGTGCGTCGAAGGCTCTTTTCGCGATATCTGTGTGGTCTCACTTTGGT
到字典(名称,值)对象,其中名称将是>标题,值将分配给相应的序列。
您可以在下面找到我失败的尝试,通过 2 个列表进行操作(不适用于包含 >1 行的长序列)
f = open('input2.txt', 'r')
list={}
names=[]
seq=[]
for line in f:
if line.startswith('>'):
names.append(line[1:-1])
elif line.startswith('A') or line.startswith('C') or line.startswith('G') or line.startswith('T'):
seq.append(line)
list = dict(zip(names, seq))
如果您向我提供如何修复它的解决方案并举例说明如何通过单独的函数进行修复,我将不胜感激。
感谢您的帮助,
格莱布
【问题讨论】:
标签: python dictionary fasta