Exemplo n.º 1
0
 def test_count_column_freqs(self):
     columns = aligned_columns_to_rows(self.aln, 1)
     obs = count_column_freqs(columns)
     expect = {'A C G' : 4, 'C G T' : 3, 'G T A' : 3, 'T A C' : 3}
     assert obs == expect, (obs, expect)
     
     columns = aligned_columns_to_rows(self.aln[:-1], 2)
     obs = count_column_freqs(columns)
     expect = {'AA CC GG': 1, 'AC CG GT': 1, 'CC GG TT':1, 'GG TT AA':1,
               'GT TA AC':1, 'TT AA CC':1}
     self.assertEqual(obs, expect)
Exemplo n.º 2
0
 def test_count_column_freqs(self):
     columns = aligned_columns_to_rows(self.aln, 1)
     obs = count_column_freqs(columns)
     expect = {'A C G' : 4, 'C G T' : 3, 'G T A' : 3, 'T A C' : 3}
     self.assertEqual(obs, expect)
     
     columns = aligned_columns_to_rows(self.aln[:-1], 2)
     obs = count_column_freqs(columns)
     expect = {'AA CC GG': 1, 'AC CG GT': 1, 'CC GG TT':1, 'GG TT AA':1,
               'GT TA AC':1, 'TT AA CC':1}
     self.assertEqual(obs, expect)
Exemplo n.º 3
0
 def test_get_ML_probs(self):
     columns = aligned_columns_to_rows(self.aln, 1)
     obs = get_ML_probs(columns, with_patterns=True)
     expect = {'A C G' : 4/13.0, 'C G T' : 3/13.0, 'G T A' : 3/13.0, 'T A C' : 3/13.0}
     sum = 0
     for pattern, lnL, freq in obs:
         self.assertFloatEqual(lnL, expect[pattern])
         sum += lnL
         assert lnL >= 0
     self.assertFloatEqual(sum, 1)
Exemplo n.º 4
0
 def test_get_ML_probs(self):
     columns = aligned_columns_to_rows(self.aln, 1)
     obs = get_ML_probs(columns, with_patterns=True)
     expect = {'A C G' : 4/13.0, 'C G T' : 3/13.0, 'G T A' : 3/13.0, 'T A C' : 3/13.0}
     sum = 0
     for pattern, lnL, freq in obs:
         self.assertFloatEqual(lnL, expect[pattern])
         sum += lnL
         self.assertTrue(lnL >= 0)
     self.assertFloatEqual(sum, 1)
Exemplo n.º 5
0
 def test_aligned_columns_to_rows(self):
     obs = aligned_columns_to_rows(self.aln[:-1], 3)
     expect = [['AAA','CCC','GGG'],['CCC','GGG','TTT'],
               ['GGG','TTT','AAA'], ['TTT','AAA','CCC']]
     assert obs == expect, (obs, expect)
     
     obs = aligned_columns_to_rows(self.aln, 1)
     expect =  [['A','C','G'],['A','C','G'],['A','C','G'],
                ['C','G','T'],['C','G','T'],['C','G','T'],
                ['G','T','A'],['G','T','A'],['G','T','A'],
                ['T','A','C'],['T','A','C'],['T','A','C'],
                ['A','C','G']]
     assert obs == expect, (obs, expect)
     obs = aligned_columns_to_rows(self.gapped_aln[:-1], 3)
     expect = [['TTT','TAT','TTT']]
     assert obs == expect, (obs, expect)
     
     obs = aligned_columns_to_rows(self.ambig_aln, 2, IUPAC_DNA_ambiguities)
     expect = [['AA','CC','CA'],['CC','CC','CC'],['TT','TT','TG']]
     assert obs == expect, (obs, expect)
Exemplo n.º 6
0
 def test_aligned_columns_to_rows(self):
     obs = aligned_columns_to_rows(self.aln[:-1], 3)
     expect = [['AAA','CCC','GGG'],['CCC','GGG','TTT'],
               ['GGG','TTT','AAA'], ['TTT','AAA','CCC']]
     assert obs == expect, (obs, expect)
     
     obs = aligned_columns_to_rows(self.aln, 1)
     expect =  [['A','C','G'],['A','C','G'],['A','C','G'],
                ['C','G','T'],['C','G','T'],['C','G','T'],
                ['G','T','A'],['G','T','A'],['G','T','A'],
                ['T','A','C'],['T','A','C'],['T','A','C'],
                ['A','C','G']]
     self.assertEqual(obs, expect)
     obs = aligned_columns_to_rows(self.gapped_aln[:-1], 3, allowed_chars='ACGT')
     expect = [['TTT','TAT','TTT']]
     self.assertEqual(obs, expect)
     
     obs = aligned_columns_to_rows(self.ambig_aln, 2, exclude_chars=IUPAC_DNA_ambiguities)
     expect = [['AA','CC','CA'],['CC','CC','CC'],['TT','TT','TG']]
     self.assertEqual(obs, expect)
Exemplo n.º 7
0
    def test_aligned_columns_to_rows(self):
        obs = aligned_columns_to_rows(self.aln[:-1], 3)
        expect = [['AAA', 'CCC', 'GGG'], ['CCC', 'GGG', 'TTT'],
                  ['GGG', 'TTT', 'AAA'], ['TTT', 'AAA', 'CCC']]
        assert obs == expect, (obs, expect)

        obs = aligned_columns_to_rows(self.aln, 1)
        expect = [['A', 'C', 'G'], ['A', 'C', 'G'], ['A', 'C', 'G'],
                  ['C', 'G', 'T'], ['C', 'G', 'T'], ['C', 'G', 'T'],
                  ['G', 'T', 'A'], ['G', 'T', 'A'], ['G', 'T', 'A'],
                  ['T', 'A', 'C'], ['T', 'A', 'C'], ['T', 'A', 'C'],
                  ['A', 'C', 'G']]
        assert obs == expect, (obs, expect)
        obs = aligned_columns_to_rows(self.gapped_aln[:-1], 3)
        expect = [['TTT', 'TAT', 'TTT']]
        assert obs == expect, (obs, expect)

        obs = aligned_columns_to_rows(self.ambig_aln, 2, IUPAC_DNA_ambiguities)
        expect = [['AA', 'CC', 'CA'], ['CC', 'CC', 'CC'], ['TT', 'TT', 'TG']]
        assert obs == expect, (obs, expect)
Exemplo n.º 8
0
 def test_aligned_columns_to_rows(self):
     obs = aligned_columns_to_rows(self.aln[:-1], 3)
     expect = [['AAA','CCC','GGG'],['CCC','GGG','TTT'],
               ['GGG','TTT','AAA'], ['TTT','AAA','CCC']]
     assert obs == expect, (obs, expect)
     
     obs = aligned_columns_to_rows(self.aln, 1)
     expect =  [['A','C','G'],['A','C','G'],['A','C','G'],
                ['C','G','T'],['C','G','T'],['C','G','T'],
                ['G','T','A'],['G','T','A'],['G','T','A'],
                ['T','A','C'],['T','A','C'],['T','A','C'],
                ['A','C','G']]
     self.assertEqual(obs, expect)
     obs = aligned_columns_to_rows(self.gapped_aln[:-1], 3, allowed_chars='ACGT')
     expect = [['TTT','TAT','TTT']]
     self.assertEqual(obs, expect)
     
     obs = aligned_columns_to_rows(self.ambig_aln, 2, exclude_chars=IUPAC_DNA_ambiguities)
     expect = [['AA','CC','CA'],['CC','CC','CC'],['TT','TT','TG']]
     self.assertEqual(obs, expect)
Exemplo n.º 9
0
 def test_get_G93_lnL_from_array(self):
     columns = aligned_columns_to_rows(self.aln, 1)
     obs = get_G93_lnL_from_array(columns)
     expect = math.log(math.pow(4/13.0, 4)) + 3*math.log(math.pow(3/13.0, 3))
     self.assertFloatEqual(obs, expect)
Exemplo n.º 10
0
 def test_get_G93_lnL_from_array(self):
     columns = aligned_columns_to_rows(self.aln, 1)
     obs = get_G93_lnL_from_array(columns)
     expect = math.log(math.pow(4 / 13.0,
                                4)) + 3 * math.log(math.pow(3 / 13.0, 3))
     self.assertFloatEqual(obs, expect)