Python 如何从树状系统发育距离矩阵中提取父系距离
我在dendropy中使用以下方法创建了一个共元距离矩阵:Python 如何从树状系统发育距离矩阵中提取父系距离,python,dendropy,Python,Dendropy,我在dendropy中使用以下方法创建了一个共元距离矩阵: from dendropy.simulate import treesim tree = treesim.birth_death_tree(birth_rate=1.0, death_rate=0.5, ntax=10) pdm = tree.phylogenetic_distance_matrix() 然而,在阅读了文档并尝试了许多事情之后,我无法以可用的方式从对象“pdm”中提取实际矩阵 注意:对于这个类,有一个方法as_data
from dendropy.simulate import treesim
tree = treesim.birth_death_tree(birth_rate=1.0, death_rate=0.5, ntax=10)
pdm = tree.phylogenetic_distance_matrix()
然而,在阅读了文档并尝试了许多事情之后,我无法以可用的方式从对象“pdm”中提取实际矩阵
注意:对于这个类,有一个方法as_data_table
,我也无法理解as_data_table()
返回类型为dendropy.utility.container.DataTable
的对象。这个DataTable
是一个定制的容器类,它实现了许多有用的方法,可以用来获取数据。您可以在此处阅读源代码以了解它:
通过查看其\u data
变量,您可以非常快速地以您可以理解的格式查看数据:
from dendropy.simulate import treesim
import pprint
tree = treesim.birth_death_tree(birth_rate=1.0, death_rate=0.5, ntax=10)
pdm = tree.phylogenetic_distance_matrix()
pp = pprint.PrettyPrinter(depth=2)
pp.pprint(pdm.as_data_table()._data)
产出:
{'T1': {'T1': 0.0,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.8146189808922477,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 0.5848837844916799,
'T7': 0,
'T8': 1.6307174196094565,
'T9': 1.8146189808922477},
'T10': {'T1': 1.832709865628535,
'T10': 0.0,
'T2': 2.2418431376329204,
'T3': 1.832709865628535,
'T4': 0.8434862029618123,
'T5': 1.215095937098336,
'T6': 1.832709865628535,
'T7': 1.832709865628535,
'T8': 1.832709865628535,
'T9': 1.832709865628535},
'T2': {'T1': 2.2418431376329204,
'T10': 2.2418431376329204,
'T2': 0.0,
'T3': 2.2418431376329204,
'T4': 2.2418431376329204,
'T5': 2.2418431376329204,
'T6': 2.2418431376329204,
'T7': 2.2418431376329204,
'T8': 2.2418431376329204,
'T9': 2.2418431376329204},
'T3': {'T1': 1.8146189808922477,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 0.0,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 1.8146189808922477,
'T7': 1.8146189808922477,
'T8': 1.8146189808922477,
'T9': 1.4811625503429378},
'T4': {'T1': 1.832709865628535,
'T10': 0.8434862029618123,
'T2': 2.2418431376329204,
'T3': 1.832709865628535,
'T4': 0.0,
'T5': 1.215095937098336,
'T6': 1.832709865628535,
'T7': 1.832709865628535,
'T8': 1.832709865628535,
'T9': 1.832709865628535},
'T5': {'T1': 1.832709865628535,
'T10': 1.215095937098336,
'T2': 2.2418431376329204,
'T3': 1.832709865628535,
'T4': 1.215095937098336,
'T5': 0.0,
'T6': 1.832709865628535,
'T7': 1.832709865628535,
'T8': 1.832709865628535,
'T9': 1.832709865628535},
'T6': {'T1': 0.5848837844916799,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.8146189808922477,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 0.0,
'T7': 0.5848837844916799,
'T8': 1.6307174196094565,
'T9': 1.8146189808922477},
'T7': {'T1': 0,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.8146189808922477,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 0.5848837844916799,
'T7': 0.0,
'T8': 1.6307174196094565,
'T9': 1.8146189808922477},
'T8': {'T1': 1.6307174196094565,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.8146189808922477,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 1.6307174196094565,
'T7': 1.6307174196094565,
'T8': 0.0,
'T9': 1.8146189808922477},
'T9': {'T1': 1.8146189808922477,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.4811625503429378,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 1.8146189808922477,
'T7': 1.8146189808922477,
'T8': 1.8146189808922477,
'T9': 0.0}}
as\u data\u table()
返回类型为dendropy.utility.container.DataTable的对象。这个DataTable
是一个定制的容器类,它实现了许多有用的方法,可以用来获取数据。您可以在此处阅读源代码以了解它:
通过查看其\u data
变量,您可以非常快速地以您可以理解的格式查看数据:
from dendropy.simulate import treesim
import pprint
tree = treesim.birth_death_tree(birth_rate=1.0, death_rate=0.5, ntax=10)
pdm = tree.phylogenetic_distance_matrix()
pp = pprint.PrettyPrinter(depth=2)
pp.pprint(pdm.as_data_table()._data)
产出:
{'T1': {'T1': 0.0,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.8146189808922477,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 0.5848837844916799,
'T7': 0,
'T8': 1.6307174196094565,
'T9': 1.8146189808922477},
'T10': {'T1': 1.832709865628535,
'T10': 0.0,
'T2': 2.2418431376329204,
'T3': 1.832709865628535,
'T4': 0.8434862029618123,
'T5': 1.215095937098336,
'T6': 1.832709865628535,
'T7': 1.832709865628535,
'T8': 1.832709865628535,
'T9': 1.832709865628535},
'T2': {'T1': 2.2418431376329204,
'T10': 2.2418431376329204,
'T2': 0.0,
'T3': 2.2418431376329204,
'T4': 2.2418431376329204,
'T5': 2.2418431376329204,
'T6': 2.2418431376329204,
'T7': 2.2418431376329204,
'T8': 2.2418431376329204,
'T9': 2.2418431376329204},
'T3': {'T1': 1.8146189808922477,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 0.0,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 1.8146189808922477,
'T7': 1.8146189808922477,
'T8': 1.8146189808922477,
'T9': 1.4811625503429378},
'T4': {'T1': 1.832709865628535,
'T10': 0.8434862029618123,
'T2': 2.2418431376329204,
'T3': 1.832709865628535,
'T4': 0.0,
'T5': 1.215095937098336,
'T6': 1.832709865628535,
'T7': 1.832709865628535,
'T8': 1.832709865628535,
'T9': 1.832709865628535},
'T5': {'T1': 1.832709865628535,
'T10': 1.215095937098336,
'T2': 2.2418431376329204,
'T3': 1.832709865628535,
'T4': 1.215095937098336,
'T5': 0.0,
'T6': 1.832709865628535,
'T7': 1.832709865628535,
'T8': 1.832709865628535,
'T9': 1.832709865628535},
'T6': {'T1': 0.5848837844916799,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.8146189808922477,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 0.0,
'T7': 0.5848837844916799,
'T8': 1.6307174196094565,
'T9': 1.8146189808922477},
'T7': {'T1': 0,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.8146189808922477,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 0.5848837844916799,
'T7': 0.0,
'T8': 1.6307174196094565,
'T9': 1.8146189808922477},
'T8': {'T1': 1.6307174196094565,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.8146189808922477,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 1.6307174196094565,
'T7': 1.6307174196094565,
'T8': 0.0,
'T9': 1.8146189808922477},
'T9': {'T1': 1.8146189808922477,
'T10': 1.832709865628535,
'T2': 2.2418431376329204,
'T3': 1.4811625503429378,
'T4': 1.832709865628535,
'T5': 1.832709865628535,
'T6': 1.8146189808922477,
'T7': 1.8146189808922477,
'T8': 1.8146189808922477,
'T9': 0.0}}