Python 树上最接近的叶子(ete3软件包)
你好,我有一棵树,比如:Python 树上最接近的叶子(ete3软件包),python,python-3.x,phylogeny,ete3,Python,Python 3.x,Phylogeny,Ete3,你好,我有一棵树,比如: >>> print(tree) /-A --| | /-B \-| | /-C \-| | /-D \-| \-E tree=Tree("(A,(B,C,(D,E)));") (ete3 function) 我正在寻找一种方法来观察离某片叶子最近的叶子 例如,与C关系最密切的叶子是D和E. 与D关系最密切的叶子是E 与B关系最密切的叶子是
>>> print(tree)
/-A
--|
| /-B
\-|
| /-C
\-|
| /-D
\-|
\-E
tree=Tree("(A,(B,C,(D,E)));") (ete3 function)
我正在寻找一种方法来观察离某片叶子最近的叶子
例如,与C
关系最密切的叶子是D
和E.
与D
关系最密切的叶子是E
与B
关系最密切的叶子是C、D
和E.
在这种情况下,“最近的”的定义很难理解,但您描述的内容可以通过以下代码轻松实现(请注意,代码中的树缺少括号):
In [1]: from ete3 import Tree
...:
...: tree=Tree("(A,(B,(C,(D,E))));")
...: c_node = tree & 'C'
...: for sister_node in c_node.get_sisters(): # there might be multifurcations therefore the loop
...: print(sister_node.get_leaf_names())
...:
['D', 'E']