Beispiel #1
0
 def test_distance_pair(self):
     """get distances dict"""
     calc = TN93Pair(DNA, alignment=self.alignment)
     calc.run(show_progress=False)
     dists = calc.get_pairwise_distances()
     dists = dists.to_dict()
     dist = 0.2554128119
     expect = {("s1", "s2"): dist, ("s2", "s1"): dist}
     self.assertEqual(list(dists.keys()), list(expect.keys()))
     assert_allclose(list(dists.values()), list(expect.values()))
Beispiel #2
0
    def test_tn93_from_matrix(self):
        """compute TN93 distances"""
        calc = TN93Pair(DNA, alignment=self.alignment)
        calc.run(show_progress=False)
        self.assertEqual(calc.lengths["s1", "s2"], 10)
        self.assertEqual(calc.proportions["s1", "s2"], 0.2)
        # value from OSX MEGA 5
        assert_allclose(calc.dists["s1", "s2"], 0.2554128119)
        # value**2 from OSX MEGA 5
        assert_allclose(calc.variances["s1", "s2"], 0.04444444445376601)
        # value from OSX MEGA 5
        assert_allclose(calc.stderr["s1", "s2"], 0.2108185107)

        # same answer when using ambiguous alignment
        calc.run(self.ambig_alignment, show_progress=False)
        assert_allclose(calc.dists["s1", "s2"], 0.2554128119)

        # but different answer if subsequent alignment is different
        calc.run(self.diff_alignment, show_progress=False)
        self.assertTrue(calc.dists["s1", "s2"] != 0.2554128119)