我是使用biopython的新手...我正在尝试使用biopython将字典写入文件。这是我的代码:
with open("file_in.fasta") as original, open("file_out.fasta", "w") as corrected:
for seq_record in SeqIO.parse(original,'fasta'):
desc=seq_record.description
seq_dict={seq_record.id + '_1':seq_record.seq}
SeqIO.write(seq_dict.values(),corrected,'fasta')
但我收到此错误:AttributeError:'Seq'对象没有属性'id'
最佳答案
考虑到您想要在每行_1
的末尾添加>
的目的,您不需要字典,您可以直接修改序列记录:
from Bio import SeqIO
with open("file_in.fasta") as original, open("file_out.fasta", "w") as corrected:
for seq_record in SeqIO.parse(original,'fasta'):
seq_record.description += '_1'
seq_record.id = seq_record.description.split()[0]
SeqIO.write(seq_record, corrected, 'fasta')
像这样修改
.description
和.id
很重要请注意,这对于使用
sed
之类的unix工具也将是一个简单的任务,除非您也正在做其他事情,否则您实际上并不需要Biopython。关于python - 用biopython编写字典以归档文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59930581/