require(IgGeneUsage)
require(rstan)
require(knitr)
require(ggplot2)
require(ggforce)
require(ggrepel)
require(reshape2)
require(patchwork)
Decoding the properties of immune receptor repertoires (IRRs) is key to understanding how our adaptive immune system responds to challenges, such as viral infection or cancer. One important quantitative property of IRRs is their immunoglobulin (Ig) gene usage, i.e. how often are the differnt Igs that make up the immune receptors used in a given IRR. Furthermore, we may ask: is there differential gene usage (DGU) between IRRs from different biological conditions (e.g. healthy vs tumor).
Both of these questions can be answered quantitatively by are answered by IgGeneUsage.
The main input of IgGeneUsage is a data.frame that has the following columns:
IgGeneUsage transforms the input data as follows.
First, given R repertoires with G genes each, IgGeneUsage generates a gene usage matrix YR × G. Row sums in Y define the total usage (N) in each repertoire.
Second, for the analysis of DGU between biological conditions, we use a Bayesian model (M) for zero-inflated beta-binomial regression. Empirically, we know that Ig gene usage data can be noisy also not exhaustive, i.e. some Ig genes that are systematically rearranged at low probability might not be sampled, and certain Ig genes are not encoded (or dysfunctional) in some individuals. M can fit over-dispersed and zero-inflated Ig gene usage data.
In the output of IgGeneUsage, we report the mean effect size (es or γ) and its 95% highest density interval (HDI). Genes with γ ≠ 0 (e.g. if 95% HDI of γ excludes 0) are most likely to experience differential usage. Additionally, we report the probability of differential gene usage (π): with π = 1 for genes with strong differential usage, and π = 0 for genes with negligible differential gene usage. Both metrics are computed based on the posterior distribution of γ, and are thus related.
IgGeneUsage has a couple of built-in Ig gene usage datasets. Some were obtained from studies and others were simulated.
Lets look into the simulated dataset d_zibb_3
. This
dataset was generated by a zero-inflated beta-binomial (ZIBB) model, and
IgGeneUsage
was designed to fit ZIBB-distributed data.
individual_id | gene_name | gene_usage_count | condition |
---|---|---|---|
I_1 | G_1 | 29 | C_1 |
I_1 | G_2 | 135 | C_1 |
I_1 | G_3 | 6 | C_1 |
I_1 | G_4 | 52 | C_1 |
I_1 | G_5 | 68 | C_1 |
I_1 | G_6 | 41 | C_1 |
We can also visualize d_zibb_3
with ggplot:
ggplot(data = d_zibb_3)+
geom_point(aes(x = gene_name, y = gene_usage_count, col = condition),
position = position_dodge(width = .7), shape = 21)+
theme_bw(base_size = 11)+
ylab(label = "Gene usage [count]")+
xlab(label = '')+
theme(legend.position = "top")+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.4))
As main input IgGeneUsage
uses a data.frame formatted as e.g. d_zibb_3
. Other input
parameters allow you to configure specific settings of the rstan
sampler.
In this example, we analyze d_zibb_3
with 3 MCMC chains,
1500 iterations each including 500 warm-ups using a single CPU core
(Hint: for parallel chain execution set parameter
mcmc_cores
= 3). We report for each model parameter its
mean and 95% highest density interval (HDIs).
Important remark: you should run DGU analyses using default IgGeneUsage parameters. If warnings or errors are reported with regard to the MCMC sampling, please consult the Stan manual1 and adjust the inputs accordingly. If the warnings persist, please submit an issue with a reproducible script at the Bioconductor support site or on Github2.
M <- DGU(ud = d_zibb_3, # input data
mcmc_warmup = 300, # how many MCMC warm-ups per chain (default: 500)
mcmc_steps = 1500, # how many MCMC steps per chain (default: 1,500)
mcmc_chains = 3, # how many MCMC chain to run (default: 4)
mcmc_cores = 1, # how many PC cores to use? (e.g. parallel chains)
hdi_lvl = 0.95, # highest density interval level (de fault: 0.95)
adapt_delta = 0.8, # MCMC target acceptance rate (default: 0.95)
max_treedepth = 10) # tree depth evaluated at each step (default: 12)
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 0.000133 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 1.33 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1500 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1500 [ 3%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1500 [ 6%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1500 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1500 [ 13%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1500 [ 16%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1500 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 301 / 1500 [ 20%] (Sampling)
FALSE Chain 1: Iteration: 350 / 1500 [ 23%] (Sampling)
FALSE Chain 1: Iteration: 400 / 1500 [ 26%] (Sampling)
FALSE Chain 1: Iteration: 450 / 1500 [ 30%] (Sampling)
FALSE Chain 1: Iteration: 500 / 1500 [ 33%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1500 [ 36%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1500 [ 40%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1500 [ 43%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1500 [ 46%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1500 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1500 [ 53%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1500 [ 56%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1500 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1500 [ 63%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1500 [ 66%] (Sampling)
FALSE Chain 1: Iteration: 1050 / 1500 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 1100 / 1500 [ 73%] (Sampling)
FALSE Chain 1: Iteration: 1150 / 1500 [ 76%] (Sampling)
FALSE Chain 1: Iteration: 1200 / 1500 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 1250 / 1500 [ 83%] (Sampling)
FALSE Chain 1: Iteration: 1300 / 1500 [ 86%] (Sampling)
FALSE Chain 1: Iteration: 1350 / 1500 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 1400 / 1500 [ 93%] (Sampling)
FALSE Chain 1: Iteration: 1450 / 1500 [ 96%] (Sampling)
FALSE Chain 1: Iteration: 1500 / 1500 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.14 seconds (Warm-up)
FALSE Chain 1: 2.986 seconds (Sampling)
FALSE Chain 1: 4.126 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 2).
FALSE Chain 2:
FALSE Chain 2: Gradient evaluation took 8.5e-05 seconds
FALSE Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0.85 seconds.
FALSE Chain 2: Adjust your expectations accordingly!
FALSE Chain 2:
FALSE Chain 2:
FALSE Chain 2: Iteration: 1 / 1500 [ 0%] (Warmup)
FALSE Chain 2: Iteration: 50 / 1500 [ 3%] (Warmup)
FALSE Chain 2: Iteration: 100 / 1500 [ 6%] (Warmup)
FALSE Chain 2: Iteration: 150 / 1500 [ 10%] (Warmup)
FALSE Chain 2: Iteration: 200 / 1500 [ 13%] (Warmup)
FALSE Chain 2: Iteration: 250 / 1500 [ 16%] (Warmup)
FALSE Chain 2: Iteration: 300 / 1500 [ 20%] (Warmup)
FALSE Chain 2: Iteration: 301 / 1500 [ 20%] (Sampling)
FALSE Chain 2: Iteration: 350 / 1500 [ 23%] (Sampling)
FALSE Chain 2: Iteration: 400 / 1500 [ 26%] (Sampling)
FALSE Chain 2: Iteration: 450 / 1500 [ 30%] (Sampling)
FALSE Chain 2: Iteration: 500 / 1500 [ 33%] (Sampling)
FALSE Chain 2: Iteration: 550 / 1500 [ 36%] (Sampling)
FALSE Chain 2: Iteration: 600 / 1500 [ 40%] (Sampling)
FALSE Chain 2: Iteration: 650 / 1500 [ 43%] (Sampling)
FALSE Chain 2: Iteration: 700 / 1500 [ 46%] (Sampling)
FALSE Chain 2: Iteration: 750 / 1500 [ 50%] (Sampling)
FALSE Chain 2: Iteration: 800 / 1500 [ 53%] (Sampling)
FALSE Chain 2: Iteration: 850 / 1500 [ 56%] (Sampling)
FALSE Chain 2: Iteration: 900 / 1500 [ 60%] (Sampling)
FALSE Chain 2: Iteration: 950 / 1500 [ 63%] (Sampling)
FALSE Chain 2: Iteration: 1000 / 1500 [ 66%] (Sampling)
FALSE Chain 2: Iteration: 1050 / 1500 [ 70%] (Sampling)
FALSE Chain 2: Iteration: 1100 / 1500 [ 73%] (Sampling)
FALSE Chain 2: Iteration: 1150 / 1500 [ 76%] (Sampling)
FALSE Chain 2: Iteration: 1200 / 1500 [ 80%] (Sampling)
FALSE Chain 2: Iteration: 1250 / 1500 [ 83%] (Sampling)
FALSE Chain 2: Iteration: 1300 / 1500 [ 86%] (Sampling)
FALSE Chain 2: Iteration: 1350 / 1500 [ 90%] (Sampling)
FALSE Chain 2: Iteration: 1400 / 1500 [ 93%] (Sampling)
FALSE Chain 2: Iteration: 1450 / 1500 [ 96%] (Sampling)
FALSE Chain 2: Iteration: 1500 / 1500 [100%] (Sampling)
FALSE Chain 2:
FALSE Chain 2: Elapsed Time: 1.217 seconds (Warm-up)
FALSE Chain 2: 2.956 seconds (Sampling)
FALSE Chain 2: 4.173 seconds (Total)
FALSE Chain 2:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 3).
FALSE Chain 3:
FALSE Chain 3: Gradient evaluation took 9.2e-05 seconds
FALSE Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0.92 seconds.
FALSE Chain 3: Adjust your expectations accordingly!
FALSE Chain 3:
FALSE Chain 3:
FALSE Chain 3: Iteration: 1 / 1500 [ 0%] (Warmup)
FALSE Chain 3: Iteration: 50 / 1500 [ 3%] (Warmup)
FALSE Chain 3: Iteration: 100 / 1500 [ 6%] (Warmup)
FALSE Chain 3: Iteration: 150 / 1500 [ 10%] (Warmup)
FALSE Chain 3: Iteration: 200 / 1500 [ 13%] (Warmup)
FALSE Chain 3: Iteration: 250 / 1500 [ 16%] (Warmup)
FALSE Chain 3: Iteration: 300 / 1500 [ 20%] (Warmup)
FALSE Chain 3: Iteration: 301 / 1500 [ 20%] (Sampling)
FALSE Chain 3: Iteration: 350 / 1500 [ 23%] (Sampling)
FALSE Chain 3: Iteration: 400 / 1500 [ 26%] (Sampling)
FALSE Chain 3: Iteration: 450 / 1500 [ 30%] (Sampling)
FALSE Chain 3: Iteration: 500 / 1500 [ 33%] (Sampling)
FALSE Chain 3: Iteration: 550 / 1500 [ 36%] (Sampling)
FALSE Chain 3: Iteration: 600 / 1500 [ 40%] (Sampling)
FALSE Chain 3: Iteration: 650 / 1500 [ 43%] (Sampling)
FALSE Chain 3: Iteration: 700 / 1500 [ 46%] (Sampling)
FALSE Chain 3: Iteration: 750 / 1500 [ 50%] (Sampling)
FALSE Chain 3: Iteration: 800 / 1500 [ 53%] (Sampling)
FALSE Chain 3: Iteration: 850 / 1500 [ 56%] (Sampling)
FALSE Chain 3: Iteration: 900 / 1500 [ 60%] (Sampling)
FALSE Chain 3: Iteration: 950 / 1500 [ 63%] (Sampling)
FALSE Chain 3: Iteration: 1000 / 1500 [ 66%] (Sampling)
FALSE Chain 3: Iteration: 1050 / 1500 [ 70%] (Sampling)
FALSE Chain 3: Iteration: 1100 / 1500 [ 73%] (Sampling)
FALSE Chain 3: Iteration: 1150 / 1500 [ 76%] (Sampling)
FALSE Chain 3: Iteration: 1200 / 1500 [ 80%] (Sampling)
FALSE Chain 3: Iteration: 1250 / 1500 [ 83%] (Sampling)
FALSE Chain 3: Iteration: 1300 / 1500 [ 86%] (Sampling)
FALSE Chain 3: Iteration: 1350 / 1500 [ 90%] (Sampling)
FALSE Chain 3: Iteration: 1400 / 1500 [ 93%] (Sampling)
FALSE Chain 3: Iteration: 1450 / 1500 [ 96%] (Sampling)
FALSE Chain 3: Iteration: 1500 / 1500 [100%] (Sampling)
FALSE Chain 3:
FALSE Chain 3: Elapsed Time: 1.2 seconds (Warm-up)
FALSE Chain 3: 2.969 seconds (Sampling)
FALSE Chain 3: 4.169 seconds (Total)
FALSE Chain 3:
In the output of DGU, we provide the following objects:
dgu
and dgu_prob
(main results of IgGeneUsage):
quantitative DGU summary on a log- and probability-scale,
respectively.gu
: condition-specific relative gene usage (GU) of each
genetheta
: probabilities of gene usage in each sampleppc
: posterior predictive checks data (see section
‘Model checking’)ud
: processed Ig gene usage datafit
: rstan (‘stanfit’) object of the fitted model → used for model checks (see section ‘Model
checking’)FALSE Length Class Mode
FALSE dgu 9 data.frame list
FALSE dgu_prob 9 data.frame list
FALSE gu 8 data.frame list
FALSE theta 12 data.frame list
FALSE ppc 2 -none- list
FALSE ud 24 -none- list
FALSE fit 1 stanfit S4
Check your model fit. For this, you can use the object glm.
The model used by IgGeneUsage is generative, i.e. with the model we can generate usage of each Ig gene in a given repertoire (y-axis). Error bars show 95% HDI of mean posterior prediction. The predictions can be compared with the observed data (x-axis). For points near the diagonal → accurate prediction.
ggplot(data = M$ppc$ppc_rep)+
facet_wrap(facets = ~individual_id, ncol = 5)+
geom_abline(intercept = 0, slope = 1, linetype = "dashed", col = "darkgray")+
geom_errorbar(aes(x = observed_count, y = ppc_mean_count,
ymin = ppc_L_count, ymax = ppc_H_count), col = "darkgray")+
geom_point(aes(x = observed_count, y = ppc_mean_count), size = 1)+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
xlab(label = "Observed usage [counts]")+
ylab(label = "PPC usage [counts]")
Prediction of generalized gene usage within a biological condition is also possible. We show the predictions (y-axis) of the model, and compare them against the observed mean usage (x-axis). If the points are near the diagonal → accurate prediction. Errors are 95% HDIs of the mean.
ggplot(data = M$ppc$ppc_condition)+
geom_errorbar(aes(x = gene_name, ymin = ppc_L_prop*100,
ymax = ppc_H_prop*100, col = condition),
position = position_dodge(width = 0.65), width = 0.1)+
geom_point(aes(x = gene_name, y = ppc_mean_prop*100,col = condition),
position = position_dodge(width = 0.65))+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
xlab(label = "Observed usage [%]")+
ylab(label = "PPC usage [%]")+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.4))
Each row of glm
summarizes the degree of DGU observed
for specific Igs. Two metrics are reported:
es
(also referred to as γ): effect size on DGU, where
contrast
gives the direction of the effect (e.g. tumor -
healthy or healthy - tumor)pmax
(also referred to as π): probability of DGU (parameter
π from model M)For es
we also have the mean, median standard error
(se), standard deviation (sd), L (low bound of 95% HDI), H (high bound
of 95% HDI)
es_mean | es_mean_se | es_sd | es_median | es_L | es_H | contrast | gene_name | pmax |
---|---|---|---|---|---|---|---|---|
0.18 | 0.01 | 0.30 | 0.12 | -0.25 | 0.98 | C_1-vs-C_2 | G_1 | 0.48 |
-0.01 | 0.00 | 0.21 | -0.01 | -0.47 | 0.43 | C_1-vs-C_2 | G_4 | 0.05 |
-0.07 | 0.00 | 0.23 | -0.05 | -0.60 | 0.36 | C_1-vs-C_2 | G_3 | 0.25 |
-0.06 | 0.00 | 0.17 | -0.05 | -0.45 | 0.26 | C_1-vs-C_2 | G_2 | 0.27 |
0.06 | 0.00 | 0.17 | 0.04 | -0.28 | 0.44 | C_1-vs-C_2 | G_5 | 0.26 |
-0.03 | 0.00 | 0.19 | -0.02 | -0.46 | 0.34 | C_1-vs-C_2 | G_8 | 0.11 |
We know that the values of \gamma
and \pi
are related to each other. Lets visualize them for all genes (shown as a
point). Names are shown for genes associated with π ≥ 0.95. Dashed horizontal line
represents null-effect (γ = 0).
Notice that the gene with π ≈ 1 also has an effect size whose 95% HDI (error bar) does not overlap the null-effect. The genes with high degree of differential usage are easy to detect with this figure.
# format data
stats <- M$dgu
stats <- stats[order(abs(stats$es_mean), decreasing = FALSE), ]
stats$gene_fac <- factor(x = stats$gene_name, levels = unique(stats$gene_name))
ggplot(data = stats)+
geom_hline(yintercept = 0, linetype = "dashed", col = "gray")+
geom_errorbar(aes(x = pmax, y = es_mean, ymin = es_L, ymax = es_H),
col = "darkgray")+
geom_point(aes(x = pmax, y = es_mean, col = contrast))+
geom_text_repel(data = stats[stats$pmax >= 0.95, ],
aes(x = pmax, y = es_mean, label = gene_fac),
min.segment.length = 0, size = 2.75)+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
xlab(label = expression(pi))+
xlim(c(0, 1))+
ylab(expression(gamma))
Lets visualize the observed data of the genes with high probability of differential gene usage (π ≥ 0.95). Here we show the gene usage in %.
promising_genes <- stats$gene_name[stats$pmax >= 0.95]
ppc_gene <- M$ppc$ppc_condition
ppc_gene <- ppc_gene[ppc_gene$gene_name %in% promising_genes, ]
ppc_rep <- M$ppc$ppc_rep
ppc_rep <- ppc_rep[ppc_rep$gene_name %in% promising_genes, ]
ggplot()+
geom_point(data = ppc_rep,
aes(x = gene_name, y = observed_prop*100, col = condition),
size = 1, fill = "black",
position = position_jitterdodge(jitter.width = 0.1,
jitter.height = 0,
dodge.width = 0.35))+
geom_errorbar(data = ppc_gene,
aes(x = gene_name, ymin = ppc_L_prop*100,
ymax = ppc_H_prop*100, group = condition),
position = position_dodge(width = 0.35), width = 0.15)+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.4))+
ylab(label = "PPC usage [%]")+
xlab(label = '')
Lets also visualize the predicted gene usage counts in each repertoire.
ggplot()+
geom_point(data = ppc_rep,
aes(x = gene_name, y = observed_count, col = condition),
size = 1, fill = "black",
position = position_jitterdodge(jitter.width = 0.1,
jitter.height = 0,
dodge.width = 0.5))+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
ylab(label = "PPC usage [count]")+
xlab(label = '')+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.4))
IgGeneUsage
also reports the inferred gene usage (GU) probability of individual
genes in each condition. For a given gene we report its mean GU
(prob_mean
) and the 95% (for instance) HDI
(prob_L
and prob_H
).
ggplot(data = M$gu)+
geom_errorbar(aes(x = gene_name, y = prob_mean, ymin = prob_L,
ymax = prob_H, col = condition),
width = 0.1, position = position_dodge(width = 0.4))+
geom_point(aes(x = gene_name, y = prob_mean, col = condition), size = 1,
position = position_dodge(width = 0.4))+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
ylab(label = "GU [probability]")+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.4))
To assert the robustness of the probability of DGU (π) and the effect size (γ), IgGeneUsage has a built-in procedure for fully Bayesian leave-one-out (LOO) analysis.
During each step of LOO, we discard the data of one of the R repertoires, and use the remaining data to analyze for DGU. In each step we record π and γ for all genes, including the mean and 95% HDI of γ. We assert quantitatively the robustness of π and γ by evaluating their variability for a specific gene.
This analysis can be computationally demanding.
L <- LOO(ud = d_zibb_3, # input data
mcmc_warmup = 500, # how many MCMC warm-ups per chain (default: 500)
mcmc_steps = 1000, # how many MCMC steps per chain (default: 1,500)
mcmc_chains = 1, # how many MCMC chain to run (default: 4)
mcmc_cores = 1, # how many PC cores to use? (e.g. parallel chains)
hdi_lvl = 0.95, # highest density interval level (de fault: 0.95)
adapt_delta = 0.8, # MCMC target acceptance rate (default: 0.95)
max_treedepth = 10) # tree depth evaluated at each step (default: 12)
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.2e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.82 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.456 seconds (Warm-up)
FALSE Chain 1: 1.154 seconds (Sampling)
FALSE Chain 1: 2.61 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.9e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.89 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.506 seconds (Warm-up)
FALSE Chain 1: 1.136 seconds (Sampling)
FALSE Chain 1: 2.642 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 9.6e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.96 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.742 seconds (Warm-up)
FALSE Chain 1: 1.141 seconds (Sampling)
FALSE Chain 1: 2.883 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.7e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.87 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.476 seconds (Warm-up)
FALSE Chain 1: 1.141 seconds (Sampling)
FALSE Chain 1: 2.617 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.7e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.87 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.54 seconds (Warm-up)
FALSE Chain 1: 2.128 seconds (Sampling)
FALSE Chain 1: 3.668 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.8 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.657 seconds (Warm-up)
FALSE Chain 1: 1.162 seconds (Sampling)
FALSE Chain 1: 2.819 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.1e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.81 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.622 seconds (Warm-up)
FALSE Chain 1: 1.161 seconds (Sampling)
FALSE Chain 1: 2.783 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.9e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.89 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.732 seconds (Warm-up)
FALSE Chain 1: 1.154 seconds (Sampling)
FALSE Chain 1: 2.886 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 0.000104 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 1.04 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.523 seconds (Warm-up)
FALSE Chain 1: 1.16 seconds (Sampling)
FALSE Chain 1: 2.683 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.6e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.86 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.613 seconds (Warm-up)
FALSE Chain 1: 1.162 seconds (Sampling)
FALSE Chain 1: 2.775 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.9e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.89 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 2.189 seconds (Warm-up)
FALSE Chain 1: 1.159 seconds (Sampling)
FALSE Chain 1: 3.348 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.7e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.87 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.781 seconds (Warm-up)
FALSE Chain 1: 1.164 seconds (Sampling)
FALSE Chain 1: 2.945 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.7e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.87 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.573 seconds (Warm-up)
FALSE Chain 1: 1.151 seconds (Sampling)
FALSE Chain 1: 2.724 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.4e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.84 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.635 seconds (Warm-up)
FALSE Chain 1: 1.152 seconds (Sampling)
FALSE Chain 1: 2.787 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 8.5e-05 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.85 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1000 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1000 [ 5%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1000 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1000 [ 15%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1000 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1000 [ 25%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1000 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1000 [ 35%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1000 [ 40%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1000 [ 45%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1000 [ 50%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1000 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1000 [ 55%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1000 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1000 [ 65%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1000 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1000 [ 75%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1000 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1000 [ 85%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1000 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1000 [ 95%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1000 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 1.586 seconds (Warm-up)
FALSE Chain 1: 1.155 seconds (Sampling)
FALSE Chain 1: 2.741 seconds (Total)
FALSE Chain 1:
Next, we collected the results (GU and DGU) from each LOO iteration:
L_gu <- do.call(rbind, lapply(X = L, FUN = function(x){return(x$gu)}))
L_dgu <- do.call(rbind, lapply(X = L, FUN = function(x){return(x$dgu)}))
… and plot them:
ggplot(data = L_dgu)+
facet_wrap(facets = ~contrast, ncol = 1)+
geom_hline(yintercept = 0, linetype = "dashed", col = "gray")+
geom_errorbar(aes(x = gene_name, y = es_mean, ymin = es_L,
ymax = es_H, col = contrast, group = loo_id),
width = 0.1, position = position_dodge(width = 0.75))+
geom_point(aes(x = gene_name, y = es_mean, col = contrast,
group = loo_id), size = 1,
position = position_dodge(width = 0.75))+
theme_bw(base_size = 11)+
theme(legend.position = "none")+
ylab(expression(gamma))
ggplot(data = L_dgu)+
facet_wrap(facets = ~contrast, ncol = 1)+
geom_point(aes(x = gene_name, y = pmax, col = contrast,
group = loo_id), size = 1,
position = position_dodge(width = 0.5))+
theme_bw(base_size = 11)+
theme(legend.position = "none")+
ylab(expression(pi))
ggplot(data = L_gu)+
geom_hline(yintercept = 0, linetype = "dashed", col = "gray")+
geom_errorbar(aes(x = gene_name, y = prob_mean, ymin = prob_L,
ymax = prob_H, col = condition,
group = interaction(loo_id, condition)),
width = 0.1, position = position_dodge(width = 1))+
geom_point(aes(x = gene_name, y = prob_mean, col = condition,
group = interaction(loo_id, condition)), size = 1,
position = position_dodge(width = 1))+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
ylab("GU [probability]")+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.4))
individual_id | condition | gene_name | replicate | gene_usage_count |
---|---|---|---|---|
I_1 | C_1 | G_1 | R_1 | 29 |
I_1 | C_1 | G_2 | R_1 | 66 |
I_1 | C_1 | G_3 | R_1 | 285 |
I_1 | C_1 | G_4 | R_1 | 20 |
I_1 | C_1 | G_5 | R_1 | 38 |
I_1 | C_1 | G_6 | R_1 | 709 |
We can also visualize d_zibb_4
with ggplot:
ggplot(data = d_zibb_4)+
geom_point(aes(x = gene_name, y = gene_usage_count, col = condition,
shape = replicate), position = position_dodge(width = 0.8))+
theme_bw(base_size = 11)+
ylab(label = "Gene usage [count]")+
xlab(label = '')+
theme(legend.position = "top")+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.4))
M <- DGU(ud = d_zibb_4, # input data
mcmc_warmup = 500, # how many MCMC warm-ups per chain (default: 500)
mcmc_steps = 1500, # how many MCMC steps per chain (default: 1,500)
mcmc_chains = 2, # how many MCMC chain to run (default: 4)
mcmc_cores = 1, # how many PC cores to use? (e.g. parallel chains)
hdi_lvl = 0.95, # highest density interval level (de fault: 0.95)
adapt_delta = 0.8, # MCMC target acceptance rate (default: 0.95)
max_treedepth = 10) # tree depth evaluated at each step (default: 12)
FALSE
FALSE SAMPLING FOR MODEL 'dgu_rep' NOW (CHAIN 1).
FALSE Chain 1:
FALSE Chain 1: Gradient evaluation took 0.000284 seconds
FALSE Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 2.84 seconds.
FALSE Chain 1: Adjust your expectations accordingly!
FALSE Chain 1:
FALSE Chain 1:
FALSE Chain 1: Iteration: 1 / 1500 [ 0%] (Warmup)
FALSE Chain 1: Iteration: 50 / 1500 [ 3%] (Warmup)
FALSE Chain 1: Iteration: 100 / 1500 [ 6%] (Warmup)
FALSE Chain 1: Iteration: 150 / 1500 [ 10%] (Warmup)
FALSE Chain 1: Iteration: 200 / 1500 [ 13%] (Warmup)
FALSE Chain 1: Iteration: 250 / 1500 [ 16%] (Warmup)
FALSE Chain 1: Iteration: 300 / 1500 [ 20%] (Warmup)
FALSE Chain 1: Iteration: 350 / 1500 [ 23%] (Warmup)
FALSE Chain 1: Iteration: 400 / 1500 [ 26%] (Warmup)
FALSE Chain 1: Iteration: 450 / 1500 [ 30%] (Warmup)
FALSE Chain 1: Iteration: 500 / 1500 [ 33%] (Warmup)
FALSE Chain 1: Iteration: 501 / 1500 [ 33%] (Sampling)
FALSE Chain 1: Iteration: 550 / 1500 [ 36%] (Sampling)
FALSE Chain 1: Iteration: 600 / 1500 [ 40%] (Sampling)
FALSE Chain 1: Iteration: 650 / 1500 [ 43%] (Sampling)
FALSE Chain 1: Iteration: 700 / 1500 [ 46%] (Sampling)
FALSE Chain 1: Iteration: 750 / 1500 [ 50%] (Sampling)
FALSE Chain 1: Iteration: 800 / 1500 [ 53%] (Sampling)
FALSE Chain 1: Iteration: 850 / 1500 [ 56%] (Sampling)
FALSE Chain 1: Iteration: 900 / 1500 [ 60%] (Sampling)
FALSE Chain 1: Iteration: 950 / 1500 [ 63%] (Sampling)
FALSE Chain 1: Iteration: 1000 / 1500 [ 66%] (Sampling)
FALSE Chain 1: Iteration: 1050 / 1500 [ 70%] (Sampling)
FALSE Chain 1: Iteration: 1100 / 1500 [ 73%] (Sampling)
FALSE Chain 1: Iteration: 1150 / 1500 [ 76%] (Sampling)
FALSE Chain 1: Iteration: 1200 / 1500 [ 80%] (Sampling)
FALSE Chain 1: Iteration: 1250 / 1500 [ 83%] (Sampling)
FALSE Chain 1: Iteration: 1300 / 1500 [ 86%] (Sampling)
FALSE Chain 1: Iteration: 1350 / 1500 [ 90%] (Sampling)
FALSE Chain 1: Iteration: 1400 / 1500 [ 93%] (Sampling)
FALSE Chain 1: Iteration: 1450 / 1500 [ 96%] (Sampling)
FALSE Chain 1: Iteration: 1500 / 1500 [100%] (Sampling)
FALSE Chain 1:
FALSE Chain 1: Elapsed Time: 27.154 seconds (Warm-up)
FALSE Chain 1: 45.589 seconds (Sampling)
FALSE Chain 1: 72.743 seconds (Total)
FALSE Chain 1:
FALSE
FALSE SAMPLING FOR MODEL 'dgu_rep' NOW (CHAIN 2).
FALSE Chain 2:
FALSE Chain 2: Gradient evaluation took 0.000224 seconds
FALSE Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 2.24 seconds.
FALSE Chain 2: Adjust your expectations accordingly!
FALSE Chain 2:
FALSE Chain 2:
FALSE Chain 2: Iteration: 1 / 1500 [ 0%] (Warmup)
FALSE Chain 2: Iteration: 50 / 1500 [ 3%] (Warmup)
FALSE Chain 2: Iteration: 100 / 1500 [ 6%] (Warmup)
FALSE Chain 2: Iteration: 150 / 1500 [ 10%] (Warmup)
FALSE Chain 2: Iteration: 200 / 1500 [ 13%] (Warmup)
FALSE Chain 2: Iteration: 250 / 1500 [ 16%] (Warmup)
FALSE Chain 2: Iteration: 300 / 1500 [ 20%] (Warmup)
FALSE Chain 2: Iteration: 350 / 1500 [ 23%] (Warmup)
FALSE Chain 2: Iteration: 400 / 1500 [ 26%] (Warmup)
FALSE Chain 2: Iteration: 450 / 1500 [ 30%] (Warmup)
FALSE Chain 2: Iteration: 500 / 1500 [ 33%] (Warmup)
FALSE Chain 2: Iteration: 501 / 1500 [ 33%] (Sampling)
FALSE Chain 2: Iteration: 550 / 1500 [ 36%] (Sampling)
FALSE Chain 2: Iteration: 600 / 1500 [ 40%] (Sampling)
FALSE Chain 2: Iteration: 650 / 1500 [ 43%] (Sampling)
FALSE Chain 2: Iteration: 700 / 1500 [ 46%] (Sampling)
FALSE Chain 2: Iteration: 750 / 1500 [ 50%] (Sampling)
FALSE Chain 2: Iteration: 800 / 1500 [ 53%] (Sampling)
FALSE Chain 2: Iteration: 850 / 1500 [ 56%] (Sampling)
FALSE Chain 2: Iteration: 900 / 1500 [ 60%] (Sampling)
FALSE Chain 2: Iteration: 950 / 1500 [ 63%] (Sampling)
FALSE Chain 2: Iteration: 1000 / 1500 [ 66%] (Sampling)
FALSE Chain 2: Iteration: 1050 / 1500 [ 70%] (Sampling)
FALSE Chain 2: Iteration: 1100 / 1500 [ 73%] (Sampling)
FALSE Chain 2: Iteration: 1150 / 1500 [ 76%] (Sampling)
FALSE Chain 2: Iteration: 1200 / 1500 [ 80%] (Sampling)
FALSE Chain 2: Iteration: 1250 / 1500 [ 83%] (Sampling)
FALSE Chain 2: Iteration: 1300 / 1500 [ 86%] (Sampling)
FALSE Chain 2: Iteration: 1350 / 1500 [ 90%] (Sampling)
FALSE Chain 2: Iteration: 1400 / 1500 [ 93%] (Sampling)
FALSE Chain 2: Iteration: 1450 / 1500 [ 96%] (Sampling)
FALSE Chain 2: Iteration: 1500 / 1500 [100%] (Sampling)
FALSE Chain 2:
FALSE Chain 2: Elapsed Time: 22.79 seconds (Warm-up)
FALSE Chain 2: 51.008 seconds (Sampling)
FALSE Chain 2: 73.798 seconds (Total)
FALSE Chain 2:
ggplot(data = M$ppc$ppc_rep)+
facet_wrap(facets = ~individual_id, ncol = 3)+
geom_abline(intercept = 0, slope = 1, linetype = "dashed", col = "darkgray")+
geom_errorbar(aes(x = observed_count, y = ppc_mean_count,
ymin = ppc_L_count, ymax = ppc_H_count), col = "darkgray")+
geom_point(aes(x = observed_count, y = ppc_mean_count), size = 1)+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
xlab(label = "Observed usage [counts]")+
ylab(label = "PPC usage [counts]")
The top panel shows the average gene usage (GU) in different biological conditions. The bottom panels shows the differential gene usage (DGU) between pairs of biological conditions.
g1 <- ggplot(data = M$gu)+
geom_errorbar(aes(x = gene_name, y = prob_mean, ymin = prob_L,
ymax = prob_H, col = condition),
width = 0.1, position = position_dodge(width = 0.4))+
geom_point(aes(x = gene_name, y = prob_mean, col = condition), size = 1,
position = position_dodge(width = 0.4))+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
ylab(label = "GU [probability]")+
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.4))
stats <- M$dgu
stats <- stats[order(abs(stats$es_mean), decreasing = FALSE), ]
stats$gene_fac <- factor(x = stats$gene_name, levels = unique(stats$gene_name))
g2 <- ggplot(data = stats)+
facet_wrap(facets = ~contrast)+
geom_hline(yintercept = 0, linetype = "dashed", col = "gray")+
geom_errorbar(aes(x = pmax, y = es_mean, ymin = es_L, ymax = es_H),
col = "darkgray")+
geom_point(aes(x = pmax, y = es_mean, col = contrast))+
geom_text_repel(data = stats[stats$pmax >= 0.95, ],
aes(x = pmax, y = es_mean, label = gene_fac),
min.segment.length = 0, size = 2.75)+
theme_bw(base_size = 11)+
theme(legend.position = "top")+
xlab(label = expression(pi))+
xlim(c(0, 1))+
ylab(expression(gamma))
FALSE R version 4.4.2 (2024-10-31)
FALSE Platform: x86_64-pc-linux-gnu
FALSE Running under: Ubuntu 24.04.2 LTS
FALSE
FALSE Matrix products: default
FALSE BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
FALSE LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
FALSE
FALSE locale:
FALSE [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
FALSE [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
FALSE [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
FALSE [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
FALSE [9] LC_ADDRESS=C LC_TELEPHONE=C
FALSE [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
FALSE
FALSE time zone: Etc/UTC
FALSE tzcode source: system (glibc)
FALSE
FALSE attached base packages:
FALSE [1] stats graphics grDevices utils datasets methods base
FALSE
FALSE other attached packages:
FALSE [1] patchwork_1.3.0 reshape2_1.4.4 ggrepel_0.9.6
FALSE [4] ggforce_0.4.2 ggplot2_3.5.1 knitr_1.49
FALSE [7] rstan_2.32.6 StanHeaders_2.32.10 IgGeneUsage_1.21.0
FALSE [10] BiocStyle_2.35.0
FALSE
FALSE loaded via a namespace (and not attached):
FALSE [1] tidyselect_1.2.1 dplyr_1.1.4
FALSE [3] farver_2.1.2 loo_2.8.0
FALSE [5] fastmap_1.2.0 tweenr_2.0.3
FALSE [7] digest_0.6.37 lifecycle_1.0.4
FALSE [9] magrittr_2.0.3 compiler_4.4.2
FALSE [11] rlang_1.1.5 sass_0.4.9
FALSE [13] tools_4.4.2 yaml_2.3.10
FALSE [15] S4Arrays_1.7.3 labeling_0.4.3
FALSE [17] pkgbuild_1.4.6 curl_6.2.1
FALSE [19] DelayedArray_0.33.6 plyr_1.8.9
FALSE [21] abind_1.4-8 withr_3.0.2
FALSE [23] purrr_1.0.4 BiocGenerics_0.53.6
FALSE [25] sys_3.4.3 grid_4.4.2
FALSE [27] polyclip_1.10-7 stats4_4.4.2
FALSE [29] colorspace_2.1-1 inline_0.3.21
FALSE [31] scales_1.3.0 MASS_7.3-65
FALSE [33] SummarizedExperiment_1.37.0 cli_3.6.4
FALSE [35] rmarkdown_2.29 crayon_1.5.3
FALSE [37] generics_0.1.3 RcppParallel_5.1.10
FALSE [39] httr_1.4.7 cachem_1.1.0
FALSE [41] stringr_1.5.1 parallel_4.4.2
FALSE [43] BiocManager_1.30.25 XVector_0.47.2
FALSE [45] matrixStats_1.5.0 vctrs_0.6.5
FALSE [47] V8_6.0.1 Matrix_1.7-2
FALSE [49] jsonlite_1.9.0 IRanges_2.41.3
FALSE [51] S4Vectors_0.45.4 maketools_1.3.2
FALSE [53] jquerylib_0.1.4 tidyr_1.3.1
FALSE [55] glue_1.8.0 codetools_0.2-20
FALSE [57] stringi_1.8.4 gtable_0.3.6
FALSE [59] GenomeInfoDb_1.43.4 QuickJSR_1.6.0
FALSE [61] GenomicRanges_1.59.1 UCSC.utils_1.3.1
FALSE [63] munsell_0.5.1 tibble_3.2.1
FALSE [65] pillar_1.10.1 htmltools_0.5.8.1
FALSE [67] GenomeInfoDbData_1.2.13 R6_2.6.1
FALSE [69] evaluate_1.0.3 lattice_0.22-6
FALSE [71] Biobase_2.67.0 bslib_0.9.0
FALSE [73] rstantools_2.4.0 Rcpp_1.0.14
FALSE [75] gridExtra_2.3 SparseArray_1.7.6
FALSE [77] xfun_0.51 MatrixGenerics_1.19.1
FALSE [79] buildtools_1.0.0 pkgconfig_2.0.3