0

リストで .get_topology を使用して系統樹を作成しましたが、ノードに学名とランクを追加できません。具体的には :

from ete3 import NCBITaxa, Tree, TreeStyle, NodeStyle

Ltax = [561863, 333367, 518636, 1262999, 657322, 550540, 44012, 748224, 518636, 1309411]
ncbi = NCBITaxa()
t = ncbi.get_topology(Ltax, intermediate_nodes=False)

私は使用してみました:

tax2names, tax2lineages, tax2rank = t.annotate_ncbi_taxa()
ncbi.annotate_tree(t, taxid_attr='name', tax2name=tax2names, tax2track=tax2lineages, tax2rank=tax2rank)

しかし、空の辞書を返します。ノードには、対応する属性の下にランク、sci 名、および税 ID が必要です。私は何を間違っていますか?

ありがとう、アーラッシュ

4

1 に答える 1

0

OK、試行錯誤で答えを見つけました。from ete3 import NCBITaxa, Tree

Ltax = [561863, 333367, 518636, 1262999, 657322, 550540, 44012, 748224, 518636, 1309411]
ncbi = NCBITaxa()
t = ncbi.get_topology(Ltax, intermediate_nodes=False)
ncbi.annotate_tree(t, taxid_attr='name')

これによりツリーに注釈が付けられ、ノードをトラバースして注釈を確認できます。

 for node in t.iter_descendants("postorder"):

    #print(node.name)
    #print(node.species)
    #print(node.named_lineage)
    #print(node.lineage)
    #print(node.sci_name)
    print(node.rank)
于 2016-09-16T10:30:53.227 に答える