将 SeqIO 字典写入 Fasta 文件
Write SeqIO Dictionary as Fasta File
我最初用 Bio.SeqIO.to_dict 语句将我的 fasta 序列转换成字典。我想将子集字典写回 fasta 文件。
Test 是一个 python 字典,以 fasta headers 作为键,以序列作为索引。
我的代码试图利用 SeqIO.write:
with open("example.fasta", "w") as handle:
SeqIO.write(test, handle, "fasta")
AttributeError: 'str' object has no attribute 'id'
恐怕通过将 SeqIO 生成器 object 转换为字典,我无法轻松地 return 到其他 SeqIO 函数期望的输入。
我解决了这个问题。即使进行 SeqIO.to_dict 转换,字典的值仍然是原始生成器 class。要将此字典写回 Fasta,只需调用字典的值即可。
with open("example.fasta", "w") as handle:
SeqIO.write(test.values(), handle, "fasta")
我最初用 Bio.SeqIO.to_dict 语句将我的 fasta 序列转换成字典。我想将子集字典写回 fasta 文件。
Test 是一个 python 字典,以 fasta headers 作为键,以序列作为索引。
我的代码试图利用 SeqIO.write:
with open("example.fasta", "w") as handle:
SeqIO.write(test, handle, "fasta")
AttributeError: 'str' object has no attribute 'id'
恐怕通过将 SeqIO 生成器 object 转换为字典,我无法轻松地 return 到其他 SeqIO 函数期望的输入。
我解决了这个问题。即使进行 SeqIO.to_dict 转换,字典的值仍然是原始生成器 class。要将此字典写回 Fasta,只需调用字典的值即可。
with open("example.fasta", "w") as handle:
SeqIO.write(test.values(), handle, "fasta")