out = codecs.open(outfn, mode='w', encoding='utf-8') except: sys.exit('validate_ot_nexson: Could not open output filepath "{fn}"\n'.format(fn=outfn)) else: out = codecs.getwriter('utf-8')(sys.stdout) try: nexson = read_as_json(inp_filepath) except ValueError as vx: _LOG.error('Not valid JSON.') if args.verbose: raise vx else: sys.exit(1) except Exception as nx: _LOG.error(nx.value) sys.exit(1) convert_nexson_format(nexson, BY_ID_HONEY_BADGERFISH) trees = extract_tree_nexson(nexson, tree_id=args.tree_id) if len(trees) == 0: trees = extract_tree_nexson(nexson, tree_id=None) if trees: v = '", "'.join([i[0] for i in trees]) sys.exit('Tree ID {i} not found. Valid IDs for this file are "{l}"\n'.format(i=args.tree_id, l=v)) else: sys.exit('This NexSON has not trees.\n') ott = OTT() for tree_id, tree, otus in trees: tree_proxy = NexsonTreeProxy(tree=tree, tree_id=tree_id, otus=otus) evaluate_tree_rooting(nexson, ott, tree_proxy)
def testTaxoRooting(self): ott = OTT() phylo = self.np.get_tree(tree_id='tree324') evaluate_tree_rooting(self.nexson, ott, phylo)