def main(): args = parser.parse_args() categories = args.categories map_fp = args.map_fp tree_fp = args.tree_fp output_fp = args.output_fp length = args.length map_dict = parse_mapping_file_to_dict(map_fp)[0] fields = categories.split(',') tree = LoadTree(tree_fp) furcated_tree = furcate_tree(tree, map_dict, fields, length=length) tree.writeToFile(output_fp)
from cogent import LoadTree tree_f = argv[1] taxa_f = open(argv[2], "U") output_tree = argv[3] taxa_depth = int(argv[4]) labels_map = {} for line in taxa_f: curr_label = line.split('\t')[0] # Need to remove a number of characters that can interfere with tree loading/display curr_taxa = ".".join( (line.split('\t')[1].split(';')[0:taxa_depth])).replace( ' ', '').replace('(', '').replace(')', '').replace(':', '').replace( "'", '').replace('#', '') labels_map[curr_label] = curr_taxa tr = LoadTree(tree_f) tips = tr.tips() for curr_tip in tips: curr_name = curr_tip.Name.replace(';', '') curr_tip.Name = "%s;" % labels_map[curr_name] tr.writeToFile(output_tree)