用Python制作(循环)系统发育树

2024-09-29 23:24:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图为我的生态学课程制作一个很酷的图表——展示不同种类的微生物是如何相互关联的

我有这个xml文件,它编码了一个系统发育树

<phyloxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.phyloxml.org" xsi:schemaLocation="http://www.phyloxml.org http://www.phyloxml.org/1.10/phyloxml.xsd">
  <phylogeny rooted="false">
    <clade>
      <clade>
        <name>Methanopyri</name>
      </clade>
      <clade>
        <clade>
          <name>Methanococci</name>
        </clade>
        <clade>
          <clade>
            <clade>
              <name>Thermococci</name>
            </clade>
            <clade>
              <name>Thermoplasmata</name>
            </clade>
          </clade>
          <clade>
            <clade>
              <name>Methanobacteria</name>
            </clade>
            <clade>
              <clade>
                <name>Archaeoglobi</name>
              </clade>
              <clade>
                <clade>
                  <name>Methanomicrobia</name>
                </clade>
                <clade>
                  <name>Haloarchaea</name>
                </clade>
              </clade>
            </clade>
          </clade>
        </clade>
      </clade>
    </clade>
  </phylogeny>
</phyloxml>

使用Bio库,我可以制作一个看起来有点无聊的图形

from Bio import Phylo

def build_tree(fname: str):
    """ build a tree from a file """
    tree = Phylo.read(fname, 'phyloxml')
    return tree

if __name__ == '__main__':
    tree = build_tree('microbes.xml')

我得到以下图像:

Phylogenetic tree one - linear and boring.

我宁愿吃这样的东西:

Phylogenetic tree two - circular and cool.

我怎么能这样做呢?我很难找到好的图书馆


Tags: namefromorgbuildtreehttpwwwxml

热门问题