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 モジュールに限定したいと思います。