def _get_all_composables(tmp_dir_name): test_model1 = evo.model("HKY85") test_model2 = evo.model("GN") test_hyp = evo.hypothesis(test_model1, test_model2) test_num_reps = 100 applications = [ align.align_to_ref(), align.progressive_align(model="GY94"), evo.ancestral_states(), evo.bootstrap(hyp=test_hyp, num_reps=test_num_reps), evo.hypothesis(test_model1, test_model2), evo.model("GN"), evo.tabulate_stats(), sample.fixed_length(100), sample.min_length(100), io.write_db(tmp_dir_name, create=True), io.write_json(tmp_dir_name, create=True), io.write_seqs(tmp_dir_name, create=True), sample.omit_bad_seqs(), sample.omit_degenerates(), sample.omit_duplicated(), sample.take_codon_positions(1), sample.take_named_seqs(), sample.trim_stop_codons(gc=1), translate.select_translatable(), tree.quick_tree(), tree.scale_branches(), tree.uniformize_tree(), ] return applications
def test_scale_tree_lengths(self): """correctly scales tree lengths""" with self.assertRaises(AssertionError): _ = tree_app.scale_branches(nuc_to_codon=True, codon_to_nuc=True) scale_to_codon = tree_app.scale_branches(nuc_to_codon=True) tree = make_tree(treestring="(a:3,b:6,c:9)") scale_to_codon = tree_app.scale_branches(nuc_to_codon=True) d = scale_to_codon(tree) got = {e.name: e.length for e in d.get_edge_vector(include_root=False)} expect = {"a": 1.0, "b": 2.0, "c": 3.0} self.assertEqual(got, expect) scale_from_codon = tree_app.scale_branches(codon_to_nuc=True) d = scale_from_codon(d) got = {e.name: e.length for e in d.get_edge_vector(include_root=False)} expect = {"a": 3.0, "b": 6.0, "c": 9.0} self.assertEqual(got, expect) by_scalar = tree_app.scale_branches(scalar=0.5) d = by_scalar(tree) got = {e.name: e.length for e in d.get_edge_vector(include_root=False)} expect = {"a": 6.0, "b": 12.0, "c": 18.0} self.assertEqual(got, expect) # handle case where a length is not defined, setting to minimum min_length = tree_app.scale_branches(min_length=66) tree = make_tree(treestring="(a:3,b:6,c)") new = min_length(tree) got = { e.name: e.length for e in new.get_edge_vector(include_root=False) } expect = {"a": 3.0, "b": 6.0, "c": 66.0} self.assertEqual(got, expect)