TiPS: Rapidly simulating trajectories and phylogenies from compartmental models
Danesh G., Saulnier E., Gascuel O., Choisy M., Alizon S.
Stochastic population dynamics simulations are essential for many ecological and epidemiological studies to generate time series and genealogies that capture the relatedness between individuals. Many software packages allow one to simulate phylogenetic trees but these tend to suffer from one or two major limitations. First, the underlying population dynamics model is often simplistic (e.g. constant population size or exponential growth). Second, the software packages are not appropriate to simulate a large number of trees. We introduce TiPS, an R package to generate trajectories and phylogenetic trees associated with a compartmental model. Trajectories are simulated using Gillespie's exact or approximate stochastic simulation algorithm, or a newly proposed mixed version of the two. Phylogenetic trees are simulated from a trajectory under a backwards-in-time approach (i.e. coalescent). TiPS is based on the Rcpp package, allowing to combine the flexibility of R for model definition and the speed of C++ for simulations execution. The model is defined in R with a set of reactions, which allow capturing heterogeneity in life cycles or any sort of population structure. TiPS converts the model into C++ code and compiles it into a simulator that is interfaced in R via a function. TiPS is flexible, easy-to-use and available on the CRAN at https://cran.r-project.org/package=TiPS. Plus, benchmarking analyses show that TiPS is faster than existing packages. This package is particularly well suited for population genetics and phylodynamics studies that need to generate a large number of phylogenies used for population dynamics studies.