def test_prob_birth_death1(self): """Sampling and PDF for birth-death from single lineage.""" t = 1.0 birth = 0.5 death = 0.2 counts = [birthdeath.sample_birth_death_count(1, t, birth, death) for i in xrange(10000)] eq_sample_pmf( counts, lambda i: birthdeath.prob_birth_death1(i, t, birth, death), pval=0.01)
def test_prob_birth_death1_eq(self): """ Sampling and PDF for birth-death from single lineage birth=death rate. """ t = 1.0 birth = 0.5 death = 0.5 counts = [ birthdeath.sample_birth_death_count(1, t, birth, death) for i in xrange(10000) ] eq_sample_pmf( counts, lambda i: birthdeath.prob_birth_death1(i, t, birth, death))
def test_rannala1996_prob_birth_death1(self): t = 1.0 birth = 0.5 death = 0.2 counts = [birthdeath.sample_birth_death_count(1, t, birth, death) for i in xrange(10000)] # original equation should fail try: eq_sample_pmf( counts, lambda i: rannala1996_prob_birth_death1(i, t, birth, death)) except: pass else: raise AssertionError eq_sample_pmf( counts, lambda i: rannala1996_prob_birth_death1_fix(i, t, birth, death))
def test_rannala1996_prob_birth_death1(self): t = 1.0 birth = 0.5 death = 0.2 counts = [ birthdeath.sample_birth_death_count(1, t, birth, death) for i in xrange(10000) ] # original equation should fail try: eq_sample_pmf( counts, lambda i: rannala1996_prob_birth_death1(i, t, birth, death)) except: pass else: raise AssertionError eq_sample_pmf( counts, lambda i: rannala1996_prob_birth_death1_fix(i, t, birth, death))