我在找可以加载的脚本法斯塔.txt由几个大的FASTA序列组成,根据它的报头(>;FASTA)和单独列表上的序列实例进行排序
下面您可以找到执行此任务的代码
def main(FASTA):
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=[]
seq_list=[]
for line in in_file:
line=line.strip()
for i in line:
if i=='>':
name_list.append(line)
if data:
seq_list.append(data)
data=''
break
else:
line=line.upper()
if all([k==k.upper() for k in line]):
data=data+line
#print seq_list[0] #TEST
怎么可能简化这样的代码?简单地说,它应该忽略>;FASTA titles将每个序列字符串加载到数据列表中,然后将所有数据实例编译到由每个序列组成的序列列表中,作为单独的列表元素。谢谢你的建议
如果我理解得很好,你可以这样做,给出一个这样的fasta文件:
注意:你需要biopython
^{pr2}$然后,可以使用s.seq而不是s.name访问按名称排序的序列
希望这有帮助。 但如果它不能回答你的问题,请尽量说得更清楚些。在
你应该看看生物泰森。它有一个SeqIO模块,使您能够轻松地解析Fasta文件等。在
您可以在此处查看文档:http://biopython.org/DIST/docs/tutorial/Tutorial.html
相关问题 更多 >
编程相关推荐