Python根据ID从fasta文件提取序列
根据ID从fasta文件提取序列,为什么结果只有最后一个ID的结果,之前的被覆盖了?以前用这个提取过序列,没有出现问题,这次不知道为什么,只有一个ID的结果
#!/usr/bin/python3
import sys
args=sys.argv
fr=open(args[1], 'r')
fw=open('./out.fasta', 'w')
dict={}
for line in fr:
if line.startswith('>'):
name1=line.split(">")[1]
name=name1.split(":")[0]
dict[name]=''
else:
dict[name]+=line.replace('\n','')
fr.close()
ls=open(args[2], 'r')
for lin in ls:
for name in dict.keys():
if name ==lin:
fw.write(">"+ name)
fw.write('\n')
fw.write(dict[name])
fw.write('\n')
fw.close()