1

Bio.Phyloブートストラップ値を使用して(から) BioPython Tree オブジェクトをエクスポートする際に問題があります。木は、距離行列に基づいて BioPython スクリプト内で直接作成されます。

ツリーは基本的に見栄えがしますが、Bio.Phylo.write()関数を使用してそれらをファイル (Newick、NEXUS、または phyloXML 形式) にエクスポートすると、ブートストラップ サポート値が誤った形式でエクスポートされるようです。

ツリー トポロジは、ITOL や Dendroscope などを使用して適切に表示できますが、ブートストラップ値は表示できません。

ツリー オブジェクトと、結果の newick および phyloxml ファイルの例を以下に示します。正しい (読み取り可能な) ブートストラップ値でツリーをエクスポートするにはどうすればよいですか?


例:

これは、ツリーオブジェクトが BioPython でどのように見えるかです (AF という名前の 5 つの「種」を持つツリーの例):

Tree(rooted=False)
    Clade(branch_length=0, confidence=100.0, name='Inner3')
        Clade(branch_length=-0.0791666666667, name='A')
        Clade(branch_length=0.0375, confidence=10.0, name='Inner2')
            Clade(branch_length=0.0625, name='C')
            Clade(branch_length=0.104166666667, confidence=40.0, name='Inner1')
                Clade(branch_length=-0.15, name='D')
                Clade(branch_length=0.15, name='B')
        Clade(branch_length=0.0791666666667, name='E')

これを newick 形式 ( --> Bio.Phylo.write(mytree,outfile,"newick")) にエクスポートすると、ファイルは次のようになります。

(A:-0.07917,(C:0.06250,(D:-0.15000,B:0.15000)Inner140.00:0.10417)Inner210.00:0.03750,E:0.07917)Inner3100.00:0.00000;

ご覧のとおり、信頼値は内部ブランチ ラベルと連結されているため、判読できません (たとえば、name="Inner1" の場合は "Inner140.00"、confidence=40.0 の場合)。

phyloXML 形式では、ツリー ファイルは次のようになります。

<phyloxml xmlns="http://www.phyloxml.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.phyloxml.org http://www.phyloxml.org/1.10/phyloxml.xsd">  
<phylogeny rooted="false">
<clade>
  <name>Inner3</name>
  <branch_length>0</branch_length>
  <confidence type="unknown">100.0</confidence>
  <clade>
    <name>A</name>
    <branch_length>-0.0791666666667</branch_length>
  </clade>
  <clade>
    <name>Inner2</name>
    <branch_length>0.0375</branch_length>
    <confidence type="unknown">10.0</confidence>
    <clade>
      <name>C</name>
      <branch_length>0.0625</branch_length>
    </clade>
    <clade>
      <name>Inner1</name>
      <branch_length>0.104166666667</branch_length>
      <confidence type="unknown">40.0</confidence>
      <clade>
        <name>D</name>
        <branch_length>-0.15</branch_length>
      </clade>
      <clade>
        <name>B</name>
        <branch_length>0.15</branch_length>
      </clade>
    </clade>
  </clade>
  <clade>
    <name>E</name>
    <branch_length>0.0791666666667</branch_length>
  </clade>
</clade>

これははるかに良く見えますが、信頼値は ITOL などのツリー視覚化ツールによって認識されません (おそらく信頼タイプ = "不明" ラベルが原因でしょうか?)

私に何ができる?最終結果ファイルを変更するのは危険に思えます (「inner」などのキーワードを含むリーフ ラベルが実際に必要な場合はどうすればよいでしょうか?)

また、依存関係として追加の外部 Python モジュールを追加すると、協力パートナーのためにツールを実装するのが複雑になるため、BioPython モジュールに限定したいと思います。

4

1 に答える 1