Exemple #1
0
 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)
Exemple #2
0
 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)
Exemple #5
0
 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)
Exemple #6
0
 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)
Exemple #7
0
 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)
Exemple #8
0
 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)
Exemple #9
0
 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)
Exemple #10
0
 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)
Exemple #11
0
 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)
Exemple #13
0
 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)
Exemple #14
0
 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)
Exemple #15
0
 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)
Exemple #17
0
 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)
Exemple #18
0
 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)
Exemple #19
0
 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))
Exemple #21
0
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)
Exemple #23
0
 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)
Exemple #24
0
 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)
 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)