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)
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)
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)
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)
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)
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)
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)
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)
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)
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)