Introduction
This vignette briefly demonstrates multiple features of
babette
, without going into much detail.
First, load the library:
This vignette shows how to:
- Let
babette
run ‘BEAST2’
- Plot the posterior estimates
- Show the effective sample sizes (ESS)
- Show the summary statistics
- Plot the posterior phylogenies
In all cases, this is done for a short MCMC chain length of 10K:
inference_model <- create_test_inference_model()
Also, in all cases, we use the same BEAST2 options:
beast2_options <- create_beast2_options(verbose = TRUE)
Let babette
run ‘BEAST2’
For an alignment, we’ll use a babette
example
alignment.
if (is_beast2_installed()) {
out <- bbt_run_from_model(
fasta_filename = get_babette_path("anthus_aco_sub.fas"),
inference_model = inference_model,
beast2_options = beast2_options
)
bbt_delete_temp_files(
inference_model = inference_model,
beast2_options = beast2_options
)
}
Plot the posterior estimates
if (is_beast2_installed()) {
library(ggplot2)
p <- ggplot(
data = out$estimates,
aes(x = Sample)
)
p + geom_line(aes(y = TreeHeight), color = "green")
p + geom_line(aes(y = YuleModel), color = "red")
p + geom_line(aes(y = birthRate), color = "blue")
}
Show the effective sample sizes (ESS)
Effective sample sizes, with 20% burn-in removed:
if (is_beast2_installed()) {
traces <- remove_burn_ins(
traces = out$estimates,
burn_in_fraction = 0.2
)
esses <- t(
calc_esses(
traces,
sample_interval = inference_model$mcmc$tracelog$log_every
)
)
colnames(esses) <- "ESS"
knitr::kable(esses)
}
For a reliable inference, use an ESS of at least 200.
Plot the posterior phylogenies
if (is_beast2_installed()) {
plot_densitree(out$anthus_aco_sub_trees, width = 2)
}