我最初使用Bio.SeqIO.to_dict语句将我的fasta序列转换为字典。我想将一个子集化的字典写回fasta文件。
Test是一个python字典,其中fasta标题作为键,序列作为索引。
我的代码试图利用SeqIO.write:
with open("example.fasta", "w") as handle:
SeqIO.write(test, handle, "fasta")
AttributeError: 'str' object has no attribute 'id'
我担心将SeqIO生成器对象转换为字典,我无法轻易返回其他SeqIO函数所期望的输入。
答案 0 :(得分:2)
我解决了这个问题。即使使用SeqIO.to_dict转换,字典的值也是原始生成器类。要将此字典写回Fasta,只需调用字典的值。
with open("example.fasta", "w") as handle:
SeqIO.write(test.values(), handle, "fasta")