def testMixedNexusAndNewickSameTaxa(self): filenames = [datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus"), datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus")] filepaths = [pathmap.tree_source_path(f) for f in filenames] taxon_set = self.ref_tree_list.taxon_set for idx, test_tree in enumerate(dataio.multi_tree_source_iter(filepaths, schema="nexus/newick", taxon_set=taxon_set)): self.assertDistinctButEqualTree(self.next_ref_tree(), test_tree, distinct_taxa=False, ignore_taxon_order=True) self.assertEqual(idx, 43)
def testBurnIn(self): filenames = [datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus"), datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus")] filepaths = [pathmap.tree_source_path(f) for f in filenames] taxon_set = self.ref_tree_list.taxon_set self.ref_index = 5 for idx, test_tree in enumerate(dataio.multi_tree_source_iter(filepaths, schema="nexus/newick", taxon_set=taxon_set, tree_offset=5)): check_tree = self.next_ref_tree(restart_index=5) self.assertDistinctButEqualTree(check_tree, test_tree, distinct_taxa=False, ignore_taxon_order=True) self.assertEqual(idx, 23)
def testBasicDocumentFromInit(self): test_dataset = dendropy.DataSet(stream=pathmap.tree_source_stream( datagen.reference_trees_filename(schema="newick")), schema="newick") self.assertDistinctButEqual(self.reference_dataset, test_dataset, ignore_taxon_order=True)
def testBasicDocumentParseFromReader(self): reader = newick.NewickReader() test_dataset = reader.read(stream=pathmap.tree_source_stream( datagen.reference_trees_filename(schema="newick"))) self.assertDistinctButEqual(self.reference_dataset, test_dataset, ignore_taxon_order=True)
def testReferenceTreeFileDistinctTaxa(self): ref_tree_list = datagen.reference_tree_list() t_tree_list = dendropy.TreeList.get_from_stream(pathmap.tree_source_stream(datagen.reference_trees_filename(schema="nexus")), "nexus") self.assertDistinctButEqualTreeList( ref_tree_list, t_tree_list, distinct_taxa=True, equal_oids=None)
def testNexusDistinctTaxa(self): stream = pathmap.tree_source_stream( datagen.reference_trees_filename(schema="nexus")) for idx, test_tree in enumerate( dataio.tree_source_iter(stream=stream, schema='nexus/newick')): self.assertDistinctButEqualTree(self.ref_tree_list[idx], test_tree, distinct_taxa=True)
def testFromFileFactoryDistinctTaxa(self): tree_list = datagen.reference_tree_list() s = pathmap.tree_source_path( datagen.reference_trees_filename(schema="nexus")) tree = dendropy.Tree.get_from_stream(open(s, "rU"), "nexus", tree_offset=2) self.assertDistinctButEqual(tree_list[2], tree, distinct_taxa=True)
def testReferenceTreeFileDistinctTaxa(self): ref_tree_list = datagen.reference_tree_list() t_tree_list = dendropy.TreeList.get_from_path(pathmap.tree_source_path(datagen.reference_trees_filename(schema="newick")), 'newick') self.assertDistinctButEqualTreeList( ref_tree_list, t_tree_list, distinct_taxa=True, equal_oids=None, ignore_taxon_order=True)
def testMixedNexusAndNewickSameTaxa(self): filenames = [ datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus"), datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus") ] filepaths = [pathmap.tree_source_path(f) for f in filenames] taxon_set = self.ref_tree_list.taxon_set for idx, test_tree in enumerate( dataio.multi_tree_source_iter(filepaths, schema="nexus/newick", taxon_set=taxon_set)): self.assertDistinctButEqualTree(self.next_ref_tree(), test_tree, distinct_taxa=False, ignore_taxon_order=True) self.assertEqual(idx, 43)
def testReferenceTreeFileDistinctTaxa(self): ref_tree_list = datagen.reference_tree_list() t_tree_list = dendropy.TreeList.get_from_stream( pathmap.tree_source_stream( datagen.reference_trees_filename(schema="nexus")), "nexus") self.assertDistinctButEqualTreeList(ref_tree_list, t_tree_list, distinct_taxa=True, equal_oids=None)
def testFromPathFactorySameTaxa(self): tree_list = datagen.reference_tree_list() s = pathmap.tree_source_path( datagen.reference_trees_filename(schema="nexus")) tree = dendropy.Tree.get_from_path(s, "nexus", tree_offset=2, taxon_set=tree_list.taxon_set) self.assertDistinctButEqual(tree_list[2], tree, distinct_taxa=False)
def testReferenceTreeFileDistinctTaxa(self): ref_tree_list = datagen.reference_tree_list() t_tree_list = dendropy.TreeList.get_from_path( pathmap.tree_source_path( datagen.reference_trees_filename(schema="newick")), 'newick') self.assertDistinctButEqualTreeList(ref_tree_list, t_tree_list, distinct_taxa=True, equal_oids=None, ignore_taxon_order=True)
def testReferenceTreeFileDistinctTaxa(self): ref_tree_list = datagen.reference_tree_list() reader = dataio.get_reader('nexus') dataset = reader.read(stream=pathmap.tree_source_stream( datagen.reference_trees_filename(schema="nexus"))) self.assertEqual(len(dataset.tree_lists), 1) self.assertDistinctButEqualTreeList(ref_tree_list, dataset.tree_lists[0], distinct_taxa=True, equal_oids=None)
def testReferenceTreeFileDistinctTaxa(self): ref_tree_list = datagen.reference_tree_list() reader = dataio.get_reader('nexus') dataset = reader.read(stream=pathmap.tree_source_stream(datagen.reference_trees_filename(schema="nexus"))) self.assertEqual(len(dataset.tree_lists), 1) self.assertDistinctButEqualTreeList( ref_tree_list, dataset.tree_lists[0], distinct_taxa=True, equal_oids=None)
def testReferenceTreeFileSameTaxa(self): ref_tree_list = datagen.reference_tree_list() t_tree_list = dendropy.TreeList.get_from_path(pathmap.tree_source_path(datagen.reference_trees_filename(schema="newick")), 'newick', taxon_set=ref_tree_list.taxon_set) self.assertDistinctButEqualTreeList( ref_tree_list, t_tree_list, distinct_taxa=False, equal_oids=None)
def testReferenceTreeFileSameTaxa(self): ref_tree_list = datagen.reference_tree_list() t_tree_list = dendropy.TreeList.get_from_path( pathmap.tree_source_path( datagen.reference_trees_filename(schema="newick")), 'newick', taxon_set=ref_tree_list.taxon_set) self.assertDistinctButEqualTreeList(ref_tree_list, t_tree_list, distinct_taxa=False, equal_oids=None)
def testBurnIn(self): filenames = [ datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus"), datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus") ] filepaths = [pathmap.tree_source_path(f) for f in filenames] taxon_set = self.ref_tree_list.taxon_set self.ref_index = 5 for idx, test_tree in enumerate( dataio.multi_tree_source_iter(filepaths, schema="nexus/newick", taxon_set=taxon_set, tree_offset=5)): check_tree = self.next_ref_tree(restart_index=5) self.assertDistinctButEqualTree(check_tree, test_tree, distinct_taxa=False, ignore_taxon_order=True) self.assertEqual(idx, 23)
def testNewickSameTaxa(self): stream = pathmap.tree_source_stream(datagen.reference_trees_filename(schema="newick")) for idx, test_tree in enumerate(dataio.tree_source_iter(stream=stream, schema='nexus/newick', taxon_set=self.ref_tree_list.taxon_set)): self.assertDistinctButEqualTree(self.ref_tree_list[idx], test_tree, distinct_taxa=False)
def testNewickDistinctTaxa(self): stream = pathmap.tree_source_stream(datagen.reference_trees_filename(schema="newick")) for idx, test_tree in enumerate(dataio.tree_source_iter(stream=stream, schema='nexus/newick')): self.assertDistinctButEqualTree(self.ref_tree_list[idx], test_tree, distinct_taxa=True, ignore_taxon_order=True)
def main(): tlist = dendropy.TreeList(stream=pathmap.tree_source_stream(datagen.reference_trees_filename("nexus")), schema="nexus") for idx, t in enumerate(tlist): t.label = "Tree%02d" % (idx+1) t.assign_node_labels_from_taxon_or_oid() result = [] result.append("def reference_tree_list_postorder_node_labels():") result.append(" return [") for t in tlist: nodes = [("'" + nd.label + "'") for nd in t.postorder_node_iter()] result.append(" [%s]," % (",".join(nodes))) result.append(" ]") result.append("") result.append("def reference_tree_list_newick_string(taxon_set=None):") result.append(' return """\\') for t in tlist: result.append(' %s;' % t.as_newick_string(include_internal_labels=True)) result.append(' """') result.append("") result.append("def reference_tree_list_node_relationships():") result.append(" treelist_node_references = [") for t in tlist: result.append(" {") for nd in t: if nd.parent_node is not None: pn_label = "'" + nd.parent_node.label + "'" else: pn_label = 'None' if nd.taxon is not None: t_label = "'" + nd.taxon.label + "'" else: t_label = 'None' result.append(" '%s' : NodeRelationship(parent_label=%s, child_labels=[%s], edge_length=%s, taxon_label=%s)," % \ (nd.label, pn_label, ",".join(["'"+c.label+"'" for c in nd.child_nodes()]), nd.edge.length, t_label)) result.append(" },") result.append(" ]") result.append(" return treelist_node_references") result.append("") tree_list_name = 'tree_list' src_lines = tlist.as_python_source(tree_list_name=tree_list_name, oids=True).split("\n") result.append("def reference_tree_list(taxon_set=None):") src_lines[0] = re.sub("(dendropy\.TreeList\(label\=.*)\)", "\g<1>, taxon_set=taxon_set)", src_lines[0]) for s in src_lines: result.append(" %s" % s) result.append("""\ # set labels of nodes with taxa to taxon label, else oid (for consistent # identification in debugging) for t in %s: t.assign_node_labels_from_taxon_or_oid() return %s """ % (tree_list_name, tree_list_name)) result.append("") sys.stdout.write("\n".join(result))
def main(): tlist = dendropy.TreeList(stream=pathmap.tree_source_stream( datagen.reference_trees_filename("nexus")), schema="nexus") for idx, t in enumerate(tlist): t.label = "Tree%02d" % (idx + 1) t.assign_node_labels_from_taxon_or_oid() result = [] result.append("def reference_tree_list_postorder_node_labels():") result.append(" return [") for t in tlist: nodes = [("'" + nd.label + "'") for nd in t.postorder_node_iter()] result.append(" [%s]," % (",".join(nodes))) result.append(" ]") result.append("") result.append("def reference_tree_list_newick_string(taxon_set=None):") result.append(' return """\\') for t in tlist: result.append(' %s;' % t.as_newick_string(include_internal_labels=True)) result.append(' """') result.append("") result.append("def reference_tree_list_node_relationships():") result.append(" treelist_node_references = [") for t in tlist: result.append(" {") for nd in t: if nd.parent_node is not None: pn_label = "'" + nd.parent_node.label + "'" else: pn_label = 'None' if nd.taxon is not None: t_label = "'" + nd.taxon.label + "'" else: t_label = 'None' result.append(" '%s' : NodeRelationship(parent_label=%s, child_labels=[%s], edge_length=%s, taxon_label=%s)," % \ (nd.label, pn_label, ",".join(["'"+c.label+"'" for c in nd.child_nodes()]), nd.edge.length, t_label)) result.append(" },") result.append(" ]") result.append(" return treelist_node_references") result.append("") tree_list_name = 'tree_list' src_lines = tlist.as_python_source(tree_list_name=tree_list_name, oids=True).split("\n") result.append("def reference_tree_list(taxon_set=None):") src_lines[0] = re.sub("(dendropy\.TreeList\(label\=.*)\)", "\g<1>, taxon_set=taxon_set)", src_lines[0]) for s in src_lines: result.append(" %s" % s) result.append("""\ # set labels of nodes with taxa to taxon label, else oid (for consistent # identification in debugging) for t in %s: t.assign_node_labels_from_taxon_or_oid() return %s """ % (tree_list_name, tree_list_name)) result.append("") sys.stdout.write("\n".join(result))
def testFromPathFactoryDistinctTaxa(self): tree_list1 = datagen.reference_tree_list() s = pathmap.tree_source_path(datagen.reference_trees_filename(schema="nexus")) tree_list2 = dendropy.TreeList.get_from_path(s, "nexus") self.assertDistinctButEqual(tree_list1, tree_list2, distinct_taxa=True)
def testBasicDocumentFromInit(self): test_dataset = dendropy.DataSet(stream=pathmap.tree_source_stream(datagen.reference_trees_filename(schema="newick")), schema="newick") self.assertDistinctButEqual(self.reference_dataset, test_dataset, ignore_taxon_order=True)
def testBasicDocumentParseFromReader(self): reader = newick.NewickReader() test_dataset = reader.read(stream=pathmap.tree_source_stream(datagen.reference_trees_filename(schema="newick"))) self.assertDistinctButEqual(self.reference_dataset, test_dataset, ignore_taxon_order=True)
def testFromPathFactorySameTaxa(self): tree_list = datagen.reference_tree_list() s = pathmap.tree_source_path(datagen.reference_trees_filename(schema="nexus")) tree = dendropy.Tree.get_from_path(s, "nexus", tree_offset=2, taxon_set=tree_list.taxon_set) self.assertDistinctButEqual(tree_list[2], tree, distinct_taxa=False)
def testFromFileFactoryDistinctTaxa(self): tree_list = datagen.reference_tree_list() s = pathmap.tree_source_path(datagen.reference_trees_filename(schema="nexus")) tree = dendropy.Tree.get_from_stream(open(s, "rU"), "nexus", tree_offset=2) self.assertDistinctButEqual(tree_list[2], tree, distinct_taxa=True)