Time Calibrated Phylogenies
Construction and evaluation of time calibrated trees for each serotype
Serotype A
Check tree model statistics the get_tracer_stats() function calculates similar summary statistics as the Tracer software typically used with BEAST.
Hide code
<- get_tracer_stats(here("local/beast/a_1/sero_a.log.txt"))
check_stats
<- c("joint", "prior", "likelihood", "treeModel.rootHeight", "age.root.",
keep_stats "treeLength", "tmrca.fmd_a_rev.", "clock.rate")
%>%
check_stats filter(Parameter %in% keep_stats) %>%
gt() %>%
tab_header(
title = md("Serotype A Stats")) %>%
cols_width(starts_with("Parameter") ~ px(200),
starts_with("label") ~ px(60),
everything() ~ px(95)) %>%
tab_options(table.font.size = "small",
row_group.font.size = "small",
stub.font.size = "small",
column_labels.font.size = "medium",
heading.title.font.size = "large",
data_row.padding = px(2),
heading.title.font.weight = "bold",
column_labels.font.weight = "bold") %>%
opt_stylize(style = 6, color = 'gray')
Serotype A Stats | |||||
Parameter | Mean | Median | Q_0.025 | Q_0.975 | ESS |
---|---|---|---|---|---|
Load MCC tree
Hide code
<- read.nexus(here("local/beast/a_1/sero_a.mcc.tre"))
sero_A.tree
plot_time_tree(sero_A.tree, check_stats)
FMDV Effective Population Size
Trees were run using several different clock and prior choices, all showed flat-line Ne. The one here was the simplest, coalescent with contant population size.
Hide code
phylodynamic_process(sero_A.tree, check_stats, x_limits = c("2011-01-01", "2013-01-01"))
*** inla.core.safe: rerun to try to solve negative eigenvalue(s) in the Hessian
Serotype Asia1
Hide code
<- get_tracer_stats(here("local/beast/asia1_1/sero_asia1.log.txt"))
check_stats
<- c("joint", "prior", "likelihood", "treeModel.rootHeight", "age.root.",
keep_stats "treeLength", "tmrca.fmd_a_rev.", "clock.rate")
%>%
check_stats filter(Parameter %in% keep_stats) %>%
gt() %>%
tab_header(
title = md("Serotype Asia1 Stats")) %>%
cols_width(starts_with("Parameter") ~ px(200),
starts_with("label") ~ px(60),
everything() ~ px(95)) %>%
tab_options(table.font.size = "small",
row_group.font.size = "small",
stub.font.size = "small",
column_labels.font.size = "medium",
heading.title.font.size = "large",
data_row.padding = px(2),
heading.title.font.weight = "bold",
column_labels.font.weight = "bold") %>%
opt_stylize(style = 6, color = 'gray')
Serotype Asia1 Stats | |||||
Parameter | Mean | Median | Q_0.025 | Q_0.975 | ESS |
---|---|---|---|---|---|
Load MCC tree
Hide code
<- read.nexus(here("local/beast/asia1_1/sero_asia1.mcc.tre"))
sero_Asia1.tree plot_time_tree(sero_Asia1.tree, check_stats, legend_pos = c(0.2, 0.5))
FMDV Effective Population Size
Flat Ne, like the other serotypes
Hide code
phylodynamic_process(sero_Asia1.tree, check_stats, x_limits = c("2011-01-01", "2013-01-01"))
*** inla.core.safe: rerun to try to solve negative eigenvalue(s) in the Hessian
Serotype O
Hide code
<- get_tracer_stats(here("local/beast/o_1/sero_o.log.txt"))
check_stats
<- c("joint", "prior", "likelihood", "treeModel.rootHeight", "age.root.",
keep_stats "treeLength", "tmrca.fmd_a_rev.", "clock.rate")
%>%
check_stats filter(Parameter %in% keep_stats) %>%
gt() %>%
tab_header(
title = md("Serotype O Stats")) %>%
cols_width(starts_with("Parameter") ~ px(200),
starts_with("label") ~ px(60),
everything() ~ px(95)) %>%
tab_options(table.font.size = "small",
row_group.font.size = "small",
stub.font.size = "small",
column_labels.font.size = "medium",
heading.title.font.size = "large",
data_row.padding = px(2),
heading.title.font.weight = "bold",
column_labels.font.weight = "bold") %>%
opt_stylize(style = 6, color = 'gray')
Serotype O Stats | |||||
Parameter | Mean | Median | Q_0.025 | Q_0.975 | ESS |
---|---|---|---|---|---|
Load MCC tree
Hide code
<- read.nexus(here("local/beast/o_1/sero_o.mcc.tre"))
sero_O.tree
plot_time_tree(sero_O.tree, check_stats, legend_pos = c(0.2, 0.5))
FMDV Effective Population Size
Flat Ne, like the other serotypes
Hide code
phylodynamic_process(sero_O.tree, check_stats, x_limits = c("2011-01-01", "2013-01-01"))
*** inla.core.safe: rerun to try to solve negative eigenvalue(s) in the Hessian