def prop(motif): if random.random() < 0.5: motif_p = mutate_motif_p(motif, p) # probability of mutation per basepair return motif_p else: motif_p = [site for site in motif] i, j = random.choice((choose2(range(n)))) k = random.randrange(L) site_ip = motif[i][:k / 2] + motif[j][k / 2:] site_jp = motif[j][:k / 2] + motif[i][k / 2:] motif_p[i] = site_ip motif_p[j] = site_jp return motif_p
def proposal(motif): p = 4.0/(n*L) return mutate_motif_p(motif,p)
def mutate(motif): p = 0.5 return mutate_motif_p(motif,p/(n*L))
def proposal(motif): p = 4.0 / (n * L) return mutate_motif_p(motif, p)
def mutate(motif): p = 0.5 return mutate_motif_p(motif, p / (n * L))
def Q(motif): return mutate_motif_p(motif, p)
def prop(motif): motif_p = mutate_motif_p(motif, p) # probability of mutation per basepair return motif_p
def prop(motif): #return mutate_motif_p(motif,1) # on average, 1 mutation per motif, (binomially distributed) return mutate_motif_p( motif, 4) # on average, 4 mutation per motif, (binomially distributed)
def prop((motif, mu)): motif_p = mutate_motif_p(motif, p) # probability of mutation per basepair mu_p = mu + random.gauss(0, 0.1) return motif_p, mu_p