我正在尝试组织具有多个序列的文件。在此过程中,我尝试将名称添加到列表中,并将序列添加到与名称列表并行的单独列表中。我弄清楚了如何将名称添加到列表中,但我不知道如何将其后面的序列添加到单独的列表中。我尝试将序列行附加到空字符串中,但它将所有序列的所有行附加到单个字符串中。
所有名称均以“>”开头
def Name_Organizer(FASTA,output):
import os
import re
in_file=open(FASTA,'r')
dir,file=os.path.split(FASTA)
temp = os.path.join(dir,output)
out_file=open(temp,'w')
data=''
name_list=[]
for line in in_file:
line=line.strip()
for i in line:
if i=='>':
name_list.append(line)
break
else:
line=line.upper()
if all([k==k.upper() for k in line]):
data=data+line
print data
如何将序列作为一组字符串添加到列表中?
输入文件看起来像这样
如果您正在使用 Python 和 fasta 文件,您可能需要考虑安装生物Python。 http://biopython.org/wiki/Main_Page它已经包含此解析功能以及更多功能。
解析 fasta 文件就像这样简单:
from Bio import SeqIO
for record in SeqIO.parse('filename.fasta', 'fasta'):
print record.id, record.seq
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)