Exemple #1
0
    def test_neutral_mtdna(self):
        """test of neutrality, different genetic code"""
        from cogent3.app.composable import NotCompleted

        opt = dict(max_evaluations=2, limit_action="ignore")
        aln = load_aligned_seqs("data/ENSG00000198712.fa", moltype="dna")
        neutral = evo_app.natsel_neutral("MG94HKY", opt_args=opt, gc=2)
        result = neutral(aln)
        self.assertEqual(result.df, 1)
        # not completed if wrong gc
        neutral = evo_app.natsel_neutral("MG94HKY", opt_args=opt, gc=1)
        result = neutral(aln)
        self.assertIsInstance(result, NotCompleted)
Exemple #2
0
 def test_neutral(self):
     """test of neutrality, one omega != 1"""
     opt = dict(max_evaluations=20, limit_action="ignore")
     aln = load_aligned_seqs("data/primate_brca1.fasta", moltype="dna")
     neutral = evo_app.natsel_neutral("MG94HKY",
                                      tree="data/primate_brca1.tree",
                                      opt_args=opt)
     result = neutral(aln)
     self.assertEqual(result.df, 1)
     self.assertTrue("MG94HKY-null" in result)
     self.assertTrue("MG94HKY-alt" in result)
     # fails if not a codon model
     with self.assertRaises(ValueError):
         _ = evo_app.natsel_neutral("F81", tree="data/primate_brca1.tree")
Exemple #3
0
    def test_neutral_mprobs(self):
        """test of neutrality, optimise_motif_probs setting should work"""
        opt = dict(max_evaluations=2, limit_action="ignore")
        aln = load_aligned_seqs("data/ENSG00000198712.fa", moltype="dna")
        # default, not optimising root probs
        natsel = evo_app.natsel_neutral("MG94HKY", opt_args=opt, gc=2)
        result = natsel(aln)
        self.assertEqual(result.null.lf.nfp, 4)

        # optimising root probs
        natsel = evo_app.natsel_neutral(
            "MG94HKY", opt_args=opt, gc=2, optimise_motif_probs=True
        )
        result = natsel(aln)
        self.assertEqual(result.null.lf.nfp, 7)
Exemple #4
0
 def test_neutral_nstat_model(self):
     """test of neutrality, non-stationary codon model"""
     opt = dict(max_evaluations=2, limit_action="ignore")
     aln = load_aligned_seqs("data/ENSG00000198712.fa", moltype="dna")
     neutral = evo_app.natsel_neutral("GNC", opt_args=opt, gc=2)
     result = neutral(aln)
     # 11 rate matrix params for GNC (omega omitted in null), 3 edges
     self.assertEqual(result.null.lf.nfp, 3 + 11)