本文整理汇总了Python中tree.Tree.length方法的典型用法代码示例。如果您正苦于以下问题:Python Tree.length方法的具体用法?Python Tree.length怎么用?Python Tree.length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tree.Tree
的用法示例。
在下文中一共展示了Tree.length方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: gen_simple_trees
# 需要导入模块: from tree import Tree [as 别名]
# 或者: from tree.Tree import length [as 别名]
def gen_simple_trees(criteria, stats):
""" Generate simplified parse trees from articles matching the criteria """
for a in Article.articles(criteria):
if not a.root_domain or "raduneyti" in a.root_domain:
# Skip ministry websites due to amount of chaff found there
continue
tree = Tree(url = a.url, authority = a.authority)
# Note the parse timestamp
stats["parsed"] = a.parsed
tree.load(a.tree)
for ix, stree in tree.simple_trees():
yield stree, tree.score(ix), tree.length(ix)
示例2: generate_class_trees
# 需要导入模块: from tree import Tree [as 别名]
# 或者: from tree.Tree import length [as 别名]
def generate_class_trees(self):
class_trees = {}
if self.permuter == "genetree":
for k in range(self.num_classes):
class_trees[k + 1] = self.master_tree.sample_gene_tree(scale_to=self.permutations_list[k])
else:
# Base trees for each class
for k in range(self.num_classes):
if self.permuter == "nni":
t = self.master_tree.rnni(times=self.permutations_list[k])
t.name = "class{}".format(k + 1)
class_trees[k + 1] = t
elif self.permuter == "spr":
t = self.master_tree.rspr(
times=self.permutations_list[k], disallow_sibling_sprs=True, keep_entire_edge=True
)
t.name = "class{}".format(k + 1)
class_trees[k + 1] = t
elif self.permuter == "lgt":
t = self.master_tree.rlgt(times=self.permutations_list[k], disallow_sibling_lgts=True)
t.name = "class{}".format(k + 1)
class_trees[k + 1] = t
# Expand base class trees into individual trees
gene_trees = list()
for k in range(self.num_classes):
num_genes = self.class_list[k]
trees = list()
# populate the trees list
for _ in range(num_genes):
class_tree = class_trees[k + 1]
tree = Tree(class_tree.newick)
tree.name = class_tree.name
trees.append(tree)
# do per-tree rates/branch length adjustments
for i, tree in enumerate(trees, start=1):
if self.autocorrelated_relaxed_clock:
tree.autocorrelated_relaxed_clock(1, 0.01)
for node in tree.postorder_node_iter():
node.edge_length *= node.rate
tree.name += "_{}".format(i)
elif self.uncorrelated_relaxed_clock:
tree.uncorrelated_relaxed_clock(1, 0.01 * tree.length())
for node in tree.postorder_node_iter():
node.edge_length *= node.rate
tree.name += "_{}".format(i)
elif self.scale_rates:
coeff = np.random.uniform(0.666, 1.333)
tree.scale(coeff, inplace=True)
tree.name += "_{}".format(i)
else:
tree.name += "_{}".format(i)
gene_trees.extend(trees)
self.class_trees = class_trees
self.gene_trees = gene_trees