model { # allele frequencies into genotype frequenices p.SS <- p.s*p.s + f*p.s*(1-p.s) p.SM <- 2*p.s*p.m*(1-f) p.SF <- 2*p.s*p.f*(1-f) p.SO <- 2*p.s*p.o*(1-f) p.MM <- p.m*p.m + f*p.m*(1-p.m) p.MF <- 2*p.m*p.f*(1-f) p.MO <- 2*p.m*p.o*(1-f) p.FF <- p.f*p.f + f*p.f*(1-p.f) p.FO <- 2*p.f*p.o*(1-f) p.OO <- p.o*p.o + f*p.o*(1-p.o) # genotype frequencies into phenotype frequencies pi[1] <- p.SS + p.SO pi[2] <- p.SM pi[3] <- p.SF pi[4] <- p.MM + p.MO pi[5] <- p.MF pi[6] <- p.FF + p.FO pi[7] <- p.OO # The likelihood n[1:7] ~ dmulti(pi[], N) # priors # allele frequencies for (i in 1:4) { phi[i] ~ dgamma(1, 1) } p.s <- phi[1]/sum(phi[]) p.m <- phi[2]/sum(phi[]) p.f <- phi[3]/sum(phi[]) p.o <- phi[4]/sum(phi[]) # f w ~ dunif(0,1); s.f <- max(-p.s/(1-p.s), -(1-p.s)/p.s) m.f <- max(-p.m/(1-p.m), -(1-p.m)/p.m) f.f <- max(-p.f/(1-p.f), -(1-p.f)/p.f) o.f <- max(-p.o/(1-p.o), -(1-p.o)/p.o) min.f.1 <- max(s.f, m.f) min.f.2 <- max(f.f, o.f) f.min <- max(min.f.1, min.f.2) f <- w*(1 - f.min) + f.min # sample size N <- sum(n[]) } # data list(n=c(1149, 336, 203, 36, 25, 17, 20))