对齐的 TabularMSA 替代品(scikit-bio 0.4.1.dev0)

TabularMSA replacement for Alignment (scikit-bio 0.4.1.dev0)

我想读取 PHYLIP 比对(FASTA 格式),更新序列标签并将结果写回文件。如何编辑以下行以在 scikit-bio 0.4.1.dev0 中使用 TabularMSA(而不是之前支持的 Alignment):

from skbio import Alignment ... msa_fa = Alignment.read(gene_msa_fa_fp, format='fasta') msa_fa_update_ids, new_to_old_ids = msa_fa.update_ids(func=id_mapper) msa_fa_update_ids.write(output_msa_phy_fp, format='phylip') ...

谢谢!

当将 FASTA 文件读入 TabularMSA 对象时,序列标识符存储在每个序列的 metadata 字典中的键 "id" 下。当写PHYLIP格式的TabularMSA对象时,MSA的index属性用于标记序列。使用reassign_index使用FASTA序列标识符作为MSA的索引,然后将它们映射到您要写入的序列标签,最后以PHYLIP格式写出:

from skbio import TabularMSA, DNA
msa = TabularMSA.read("aln.fasta", constructor=DNA)
msa.reassign_index(minter='id')
msa.reassign_index(mapping=id_mapper)
msa.write('aln.phy', format='phylip')

有多种设置索引的方法,包括直接设置 属性 或使用带有 mappingminter 参数的 reassign_index