首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于对齐的TabularMSA替换(scikit bio 0.4.1.dev0)

用于对齐的TabularMSA替换(scikit bio 0.4.1.dev0)
EN

Stack Overflow用户
提问于 2016-01-12 22:16:10
回答 1查看 155关注 0票数 1

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

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') ...

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-13 00:49:52

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

代码语言:javascript
复制
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')

有多种方法来设置索引,包括直接设置属性或使用reassign_indexmappingminter参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34754785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档