前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >进化树在biopython中的可视化

进化树在biopython中的可视化

作者头像
生信修炼手册
发布2021-01-11 15:40:10
1.3K0
发布2021-01-11 15:40:10
举报
文章被收录于专栏:生信修炼手册生信修炼手册

进化树以树状结构形象的展示各个节点的进化关系,在物种进化,亲缘关系研究领域广泛应用。在biopython中,通过Bio.Phylo子模块,可以方便的访问和展示树状结构中的信息

1. 读取文件

树状结构最常见的文件格式是newick, 读取方法如下

代码语言:javascript
复制
>>> from Bio import Phylo
>>> tree = Phylo.read('tree.newick', 'newick')
>>> tree
Tree(rooted=False, weight=1.0)

2. 查看树状结构

print方法是最简单的查看树状结构的方法,示例如下

代码语言:javascript
复制
>>> print(tree)
Tree(rooted=False, weight=1.0)
    Clade()
        Clade()
            Clade()
                Clade(name='A')
                Clade(name='B')
            Clade()
                Clade(name='C')
                Clade(name='D')
        Clade()
            Clade(name='E')
            Clade(name='F')
            Clade(name='G')

3. 可视化

对于需要导出图片的可视化需求,可以通过draw方法来实现,示例如下

代码语言:javascript
复制
>>> tree.rooted=True
>>> Phylo.draw(tree)

输出结果如下

4. 订制分支颜色

在biopython中,将tree文件转换为xml格式之后,可以详细订制每个分支的颜色,示例如下

代码语言:javascript
复制
>>> tree = tree.as_phyloxml()
>>> tree.root.color = "gray"
>>> mcra = tree.common_ancestor({"name":"E"}, {"name":"F"})
>>> mcra.color = "salmon"
>>> tree.clade[0, 1].color = "blue"
>>> Phylo.draw(tree)

输出结果如下

xml格式的结果也可以输出到文件中,方便后续使用,保存的方式如下

代码语言:javascript
复制
>>> Phylo.write(tree, "tree.xml", "phyloxml")

相比ggtree等专业的树状结构可视化程序,biopython的功能显得有点简陋,对于完全使用python生态的开发者,提供了最基础的展示功能,其最大亮点是分支颜色的高度订制,可以方便的指定各个分支的颜色。

·end·

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档