예제 #1
0
 def test_check_contrib_phy_vars_ignore_ancestral(self):
     # should not find C, T5A is explained by 'A'
     # self.cons.append(['C', 0.1])
     self.obs.obs_tab[4]['A'] = 1
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual(self.cons, res)
예제 #2
0
 def test_check_contrib_phy_vars_rm_shared(self):
     # Should remove E, A4T already seen in A, does not count for E.
     self.obs.obs_tab[6]['T'] = 0
     self.obs.obs_tab[2]['T'] = 0
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual(self.cons[0:1], res)
예제 #3
0
 def test_check_contrib_phy_vars_high_min_fraction_requirement(self):
     self.args.var_fraction = 0.9
     self.cons.append(['C', 0.1])
     self.obs.obs_tab[4]['A'] = 1
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual(self.cons[0:2], res)
예제 #4
0
    def test_check_contrib_phy_vars_rm_none(self):
        self.cons.append(['C', 0.1])
        res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                               self.args)

        self.assertNotEqual(self.cons, res)
        self.assertEqual(self.cons[0:2], res)
예제 #5
0
 def test_check_contrib_phy_vars_check_ancestral(self):
     # should pass if A isn't present than 4 can be ancestral evidence
     self.cons.append(['C', 0.1])
     self.obs.obs_tab[4]['A'] = 1
     self.obs.obs_tab[1]['T'] = 0
     self.obs.obs_tab[3]['T'] = 0
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual(self.cons[1:], res)
예제 #6
0
 def test_check_contrib_phy_vars_high_var_count_requirement(self):
     # required number of variants too high.
     self.args.var_count = 1
     self.args.var_fraction = 0.9
     self.cons.append(['C', 0.1])
     self.obs.obs_tab[5]['T'] = 1
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual(self.cons, res)
예제 #7
0
 def test_check_contrib_phy_vars_high_min_reads(self):
     # required number of reads too high.
     self.args.min_var_reads = 10
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual([], res)
예제 #8
0
 def test_check_contrib_phy_vars_empty_obs(self):
     # no observations, no keepers.
     self.obs.obs_tab = collections.defaultdict(collections.Counter)
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual([], res)
예제 #9
0
 def test_check_contrib_phy_vars_no_rm_one_base(self):
     self.cons.append(['C', 0.1])
     self.obs.obs_tab[5]['T'] = 1
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual(self.cons, res)
예제 #10
0
 def test_check_contrib_phy_vars_no_rm(self):
     res = assemble._check_contrib_phy_vars(self.phy, self.obs, self.cons,
                                            self.args)
     self.assertEqual(self.cons, res)