def test_prob_vec_parameter(self): f, s = MutableFloatParameter(.5), MutableFloatParameter(.5) h = ProbabilityVectorParameter([f, s]) f.value = .4 self.assertAlmostEqual(s.value, 0.6, places=5) self.assertRaises(ValueError, f.set_value, 1.1) self.assertRaises(ValueError, f.set_value, -.1)
def test_change_kappa(self): mp = MutableFloatParameter(2.0) m = Kimura2ParameterModel(mp) nc, ti, tv = 0.951679099289, 0.0239356129609, 0.0121926438748 assert_list_of_mat_eq(self, m.prob_matrices(0.05), [[[nc, tv, ti, tv], [tv, nc, tv, ti], [ti, tv, nc, tv], [tv, ti, tv, nc]]]) mp.value = 1.0 nc, ti, tv = 0.951630238774, 0.0161232537421, 0.0161232537421 assert_list_of_mat_eq(self, m.prob_matrices(0.05), [[[nc, tv, ti, tv], [tv, nc, tv, ti], [ti, tv, nc, tv], [tv, ti, tv, nc]]]) assert_list_of_mat_eq(self, m.prob_matrices(0.05), [[[nc, tv, ti, tv], [tv, nc, tv, ti], [ti, tv, nc, tv], [tv, ti, tv, nc]]])
def test_simple(self): fp = FloatParameter(1.0) self.assertRaises(AttributeError, fp.set_value, 3) mfp = MutableFloatParameter(1.0) self.assertEqual(mfp.value, 1.0) mfp.value = 2.5 self.assertEqual(mfp.value, 2.5) self.assertRaises(ValueError, mfp.set_value, "bogus") x = ProbabilityVectorParameter([0.5, 0.5]) self.assertRaises(ValueError, ProbabilityVectorParameter, [1]) self.assertRaises(ValueError, ProbabilityVectorParameter, "hi") self.assertRaises(ValueError, ProbabilityVectorParameter, [.7, .2]) self.assertRaises(ValueError, ProbabilityVectorParameter, [MutableFloatParameter(.5), .5])