dat <- read.table(fin)
x <- dat; x <- as.vector(x); x <- as.numeric(x);
x <- round(x,digits=0)
dataList <- list(
N = length(x),
x = as.vector(x),
as = 1, bs = 0.001,
akon = 1, bkon = 0.001,
akoff = 1, bkoff = 0.001
)
excode <- '
data {
int<lower=0> N; # number of cells
int<lower=0> x[N]; # expression
real<lower=0> as; # expression
real<lower=0> bs; # expression
real<lower=0> akon; # expression
real<lower=0> bkon; # expression
real<lower=0> akoff; # expression
real<lower=0> bkoff; # expression
# real spj[N];
}
parameters {
real<lower=1e-100> s;
real<lower=1e-100> kon;
real<lower=1e-100> koff;
real<lower=1e-100,upper=1> pj[N];
# vector[N] mu;
# vector[N] delta;
# real delta_new;
}
transformed parameters {
real spj[N];
for (j in 1:N){
spj[j] <- s*pj[j];
}
}
model {
kon ~ gamma(akon, bkon);
koff ~ gamma(akoff, bkoff);
s ~ gamma(as,bs);
for( i in 1:N){
pj[i] ~ beta(kon, koff);
x[i] ~ poisson(spj[i]);
}
}
'
for (i in 1:N) {
pj[i] ~ beta(kon,koff)
x[i] ~ poisson(spj[i])
}
pj ~ beta(kon, koff)
x ~ poisson(spj)