Esempio n. 1
0
 def test_toCounts(self):
     """Probs toCounts should return counts object w/ right numbers"""
     a = Alphabet('abc')**2
     m = Probs([0.5, 0.25, 0.25, 0.1, 0.8, 0.1, 0.3, 0.6, 0.1], a)
     obs = m.toCounts(30)
     assert isinstance(obs, Counts)
     exp = Counts([[5., 2.5, 2.5, 1, 8, 1, 3, 6, 1]], a)
     self.assertEqual(obs, exp)
Esempio n. 2
0
 def test_toProbs(self):
     """Counts toProbs should return valid prob matrix."""
     c = Counts([1, 2, 3, 4, 2, 2, 2, 2, 0.2, 0.4, 0.6, 0.8, 1, 0, 0, 0],
                RnaPairs)
     p = c.toProbs()
     assert isinstance(p, Probs)
     self.assertEqual(p, Probs([0.1,0.2,0.3,0.4,0.25,0.25,0.25,0.25, \
         0.1,0.2,0.3,0.4,1.0,0.0,0.0,0.0], RnaPairs))
     self.assertEqual(p['U', 'U'], 0.1)
     self.assertEqual(p['G', 'U'], 1.0)
     self.assertEqual(p['G', 'G'], 0.0)
Esempio n. 3
0
 def test_counts_to_probs(self):
     """counts_to_probs should skip cases with zero rows"""
     counts = {
         (0,1): Counts(array([[0,1],[1,0]]), ABPairs),
         (1,2): Counts(array([[0,0],[1,0]]), ABPairs),           #bad row
         (0,3): Counts(array([[0,0],[0,0]]), ABPairs),           #bad row
         (0,4): Counts(array([[0.0,0.0],[0.0,0.0]]), ABPairs),   #bad row
         (0,5): Counts(array([[0.1,0.3],[0.0,0.0]]), ABPairs),   #bad row
         (3,4): Counts(array([[0.1,0.3],[0.4,0.1]]), ABPairs),
         (2,1): Counts(array([[0,5],[1,0]]), ABPairs),
         }
     result = counts_to_probs(counts)
     self.assertEqual(len(result), 3)
     self.assertFloatEqual(result[(0,1)]._data, array([[0,1],[1,0]]))
     self.assertFloatEqual(result[(3,4)]._data, \
         array([[0.25,0.75],[0.8,0.2]]))
     self.assertFloatEqual(result[(2,1)]._data, array([[0,1],[1,0]]))