使用 biopython 编写字典以归档
Writing a dictionary to file with biopython
我是 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' object has no attribute '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。
我是 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' object has no attribute '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。