Rate variation adds considerable complexity to divergence time estimation in molecular phylogenies. Here, we evaluate the impact of lineage-specific rates—which we define as among-branch-rate-variation that acts consistently across the entire genome. We compare its impact to residual rates—defined as among-branch-rate-variation that shows a different pattern of rate variation at each sampled locus, and gene-specific rates—defined as variation in the average rate across all branches at each sampled locus. We show that lineage-specific rates lead to erroneous divergence time estimates, regardless of how many loci are sampled. Further, we show that stronger lineage-specific rates lead to increasing error. This contrasts to residual rates and gene-specific rates, where sampling more loci significantly reduces error. If divergence times are inferred in a Bayesian framework, we highlight that error caused by lineage-specific rates significantly reduces the probability that the 95% highest posterior density includes the correct value, and leads to sensitivity to the prior. Use of a more complex rate prior—which has recently been proposed to model rate variation more accurately—does not affect these conclusions. Finally, we show that the scale of lineage-specific rates used in our simulation experiments is comparable to that of an empirical data set for the angiosperm genus Ipomoea. Taken together, our findings demonstrate that lineage-specific rates cause error in divergence time estimates, and that this error is not overcome by analyzing genomic scale multilocus data sets.
ALT_inference_loop
Rev bayes script for divergence time accounting for gene-specific rates
ALT_simple_heterogeneity_script
Rev bayes script for divergence time accounting for gene-specific rates
ALT_simulation_study_version_five
Python script for simulation
ALT_three_taxon_tree
Three taxon start tree
COMP_dirichlet_heterogeneity
revbayes script for inferring divergence time with dirichlet rate prior
COMP_inference_loop
revbayes script for integrating multiple inference scripts for prior comparison experiment
COMP_inference_loop_dirichlet
revbayes script for integrating several inference scripts
COMP_simulation_loop
r script for integration simulation scripts
COMP_simulation_study_version_five
python script for integrating entire experiment
COMP_standard_simple_heterogeneity_script
simple heterogeneity script for prior comparison
DOU_heterogeneity_script_rate_prior_variance_doubled
rev bayes heterogeneity script UCLN sd doubled
DOU_inference_loop
revbayes loop for integration inference scripts
DOU_simple_clock_script
stript clock script for heterogeneity doubled
DOU_simple_heterogeneity_script
UCLN with sd fixed for lineage specific rates simulated as doubled
DOU_simulation_loop
simulation loop, r script, lineage-specific rates doubled
DOU_simulation_study_version_five
python script for integrating entire experiment with lineage specific rates doubled
QUAD_heterogeneity_script_rate_prior_variance_doubled
UCLN relaxed clock script with sd quadrupled
QUAD_inference_loop
revbayes loop for integrating inference
QUAD_simple_clock_script
strict clock script with sequences simulated with heterogeneity quadrupled
QUAD_simple_heterogeneity_script
QUAD_simulation_loop
simulatie sequences with lineage specific rates quadrupled
QUAD_simulation_study_version_five
python script for integrating experiment with heterogeneity quadrupled
SUMM_inference_loop
revbayes inference lop to integrate inference in summary experiment
SUMM_simple_clock_script
strict clock script for summary experiment
SUMM_simple_heterogeneity_script
UCLN relaxed clock script for summary experiment
SUMM_simulation_loop
simulate sequences for summary experiment
SUMM_simulation_study_version_five
python script for summary experiment
READ_ME
Instructions for simulation experiments
SISTER_GROUP_COMPARISON_OF_TREE
Sister group comparison script for estimation of lineage specific rates
Python_shell_for_eight_taxon_simulation
Script to integrate analyses for eight taxon trees
simulation_study_version_five.py
simulate_tree
simulate eight taxon trees
simulate_sequences
simulate sequences for eight taxon trees
inference_loop
overall inference script for eight taxon trees
simple_clock_script
inference script for eight taxon trees with a strict clock
simple_heterogeneity_script
inference script for eight taxon trees relaxed clock
Supplementary Appendix, Tables, Figure.docx