def test_taxtree_builder(self): cfg = EpacConfig() testfile_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "testfiles") tax_fname = os.path.join(testfile_dir, "test.tax") tax = Taxonomy(EpacConfig.REF_SEQ_PREFIX, tax_fname) tree_fname = os.path.join(testfile_dir, "taxtree.nw") expected_tree = Tree(tree_fname, format=8) tb = TaxTreeBuilder(cfg, tax) tax_tree, seq_ids = tb.build() self.assertEqual(seq_ids, tax.get_map().keys()) self.assertEqual(tax_tree.write(format=8), expected_tree.write(format=8))
class TaxTreeHelperTests(unittest.TestCase): def setUp(self): self.testfile_dir = os.path.join( os.path.dirname(os.path.abspath(__file__)), "testfiles") self.tax_fname = os.path.join(self.testfile_dir, "test_clean.tax") self.taxonomy = Taxonomy(EpacConfig.REF_SEQ_PREFIX, self.tax_fname) tax_map = self.taxonomy.get_map() cfg = EpacConfig() self.taxtree_helper = TaxTreeHelper(cfg, tax_map) outgr_fname = os.path.join(self.testfile_dir, "outgroup.nw") self.expected_outgr = Tree(outgr_fname) def tearDown(self): self.taxonomy = None self.taxtree_helper = None def test_outgroup(self): mfu_tree_fname = os.path.join(self.testfile_dir, "taxtree.nw") mfu_tree = Tree(mfu_tree_fname) self.taxtree_helper.set_mf_rooted_tree(mfu_tree) outgr = self.taxtree_helper.get_outgroup() self.assertEqual(outgr.get_leaf_names(), self.expected_outgr.get_leaf_names()) def test_branch_labeling(self): bfu_tree_fname = os.path.join(self.testfile_dir, "resolved_tree.nw") bfu_tree = Tree(bfu_tree_fname) map_fname = os.path.join(self.testfile_dir, "bid_tax_map.txt") self.expected_map = {} with open(map_fname) as inf: for line in inf: bid, rank_id, rdiff, brlen = line.strip().split("\t") self.expected_map[bid] = (rank_id, int(rdiff), float(brlen)) self.taxtree_helper.set_outgroup(self.expected_outgr) self.taxtree_helper.set_bf_unrooted_tree(bfu_tree) bid_tax_map = self.taxtree_helper.get_bid_taxonomy_map() self.assertEqual(len(bid_tax_map), 2 * len(bfu_tree) - 3) for bid in self.expected_map.iterkeys(): e_rec = self.expected_map[bid] rec = bid_tax_map[bid] self.assertEqual(e_rec[0], rec[0]) self.assertEqual(e_rec[1], rec[1]) self.assertAlmostEqual(e_rec[2], rec[2], 6)
class TaxTreeHelperTests(unittest.TestCase): def setUp(self): self.testfile_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "testfiles") self.tax_fname = os.path.join(self.testfile_dir, "test_clean.tax") self.taxonomy = Taxonomy(EpacConfig.REF_SEQ_PREFIX, self.tax_fname) tax_map = self.taxonomy.get_map() cfg = EpacConfig() self.taxtree_helper = TaxTreeHelper(cfg, tax_map) outgr_fname = os.path.join(self.testfile_dir, "outgroup.nw") self.expected_outgr = Tree(outgr_fname) def tearDown(self): self.taxonomy = None self.taxtree_helper = None def test_outgroup(self): mfu_tree_fname = os.path.join(self.testfile_dir, "taxtree.nw") mfu_tree = Tree(mfu_tree_fname) self.taxtree_helper.set_mf_rooted_tree(mfu_tree) outgr = self.taxtree_helper.get_outgroup() self.assertEqual(outgr.get_leaf_names(), self.expected_outgr.get_leaf_names()) def test_branch_labeling(self): bfu_tree_fname = os.path.join(self.testfile_dir, "resolved_tree.nw") bfu_tree = Tree(bfu_tree_fname) map_fname = os.path.join(self.testfile_dir, "bid_tax_map.txt") self.expected_map = {} with open(map_fname) as inf: for line in inf: bid, rank_id, rdiff, brlen = line.strip().split("\t") self.expected_map[bid] = (rank_id, int(rdiff), float(brlen)) self.taxtree_helper.set_outgroup(self.expected_outgr) self.taxtree_helper.set_bf_unrooted_tree(bfu_tree) bid_tax_map = self.taxtree_helper.get_bid_taxonomy_map() self.assertEqual(len(bid_tax_map), 2 * len(bfu_tree) - 3) for bid in self.expected_map.iterkeys(): e_rec = self.expected_map[bid] rec = bid_tax_map[bid] self.assertEqual(e_rec[0], rec[0]) self.assertEqual(e_rec[1], rec[1]) self.assertAlmostEqual(e_rec[2], rec[2], 6)