本文整理汇总了Python中cogent.parse.tree.DndParser.getNodesDict方法的典型用法代码示例。如果您正苦于以下问题:Python DndParser.getNodesDict方法的具体用法?Python DndParser.getNodesDict怎么用?Python DndParser.getNodesDict使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cogent.parse.tree.DndParser
的用法示例。
在下文中一共展示了DndParser.getNodesDict方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_support_file
# 需要导入模块: from cogent.parse.tree import DndParser [as 别名]
# 或者: from cogent.parse.tree.DndParser import getNodesDict [as 别名]
def get_support_file(group, tree_file, support_file):
def test_group(s):
try:
return group[s]
except KeyError:
return None
color_map = {}
for ind, group_name in enumerate(list(set(group.itervalues()))):
if len(list(set(group.itervalues())))>20:
color_map[group_name] = "#000000"
else:
color_map[group_name] = COLS_BREWER[ind]
color_dict = {}
t = DndParser(open(tree_file, 'U'), constructor=PhyloNode, unescape_name=True)
nodes = t.getNodesDict()
for node, value in nodes.iteritems():
sub_nodes = value.getNodeNames()
sub_node_groups = set(map(test_group, sub_nodes))
try:
sub_node_groups.remove(None)
except KeyError:
pass
sub_node_groups = list(sub_node_groups)
if (len(sub_node_groups)) > 1:
color_dict[node] = 'grey'
else:
color_dict[node] = color_map[sub_node_groups[0]]
with open(support_file, 'w') as out:
for node, color in color_dict.iteritems():
out.write('%s\t%s\n' % (node, color))