Version 3.1.0 fixes a bug in the simulation code that caused trait changes during speciation to not be tracked appropriately. This could, for instance, interfere with conditioning and this bug especially impacted ClaSSE-type simulations.
- Added explicit check of the order of states, states are no longer assumed to be numerically or alphabetically sorted.
- Added multiple additional simulation checks
Version 3.0.1 patches some inaccuracies in simulation functions, and deprecates expand_q_matrix, as this was making some incorrect assumptions.
- The function expand_q_matrix is now deprecated, please use q_doubletrans
- Added conditioning of simulation of complete trees on complete tree size
- Fixed some issues with setting
pool_init_states
- Added option to return a histogram of simulated tree sizes, across all successful and failed trees.
Version 3.0.0 extends the C++ code base used for the standard likelihood to the "cla_" likelihood, harnessing the same computation improvement.
- Function name changes:
create_lambda_matrices()
is now calledcreate_lambda_list()
create_transition_matrix()
is now calledcreate_q_matrix()
create_mus()
is now calledcreate_mu_vector()
create_default_q_list()
is now calledcreate_default_shift_matrix()
create_default_lambda_list ()
is now calledcreate_default_lambda_transition_matrix()
create_default_q_list()
is now calledcreate_default_shift_matrix()
- Package data files renamed:
phylo_Vign
is now calledphylo_vignette
traitinfo
is now calledtraits
phy
is now calledexample_phy_GeoSSE
plot_state_exact()
argumentsteps
renamed tonum_steps
and argumentfocal_tree
renamed tophy
for consistency with other functions.
- Vastly improve the computational speed of "cla_" likelihood calculation.
- Optimization of parallelization resulting in better scaling with more threads and faster run time for standard secsse and cla_secsse likelihood calculations.
- Added a
NEWS.md
file to track changes to the package. - Documentation reworked into
default_params_doc()
. - Several documentation formatting improvements and linking. Documentation now follows and allows for roxygen2 markdown.
- A new vignette:
- Using secsse with complete phylogenies (with extinction)
vignette("complete_tree", package = "secsse")
- Using secsse with complete phylogenies (with extinction)
- A new pkgdown
website!
- It contains all the documentation and vignettes of the package, along with additional interesting information like the Secsse versions article with details on performance and the development history of secsse.
- Revise, combine and simplify the Using SecSSE ML search and
Setting up a secsse analysis into the Starting secsse vignette
vignette("starting_secsse", package = "secsse")
. secsse_sim()
argumentconditioning
now defaults to"obs_states"
from"none"
.- No longer Import package 'stringr' and Suggest package 'testit'.
- New organisation of code in .R, .cpp and .h files. (Developer side).
- Start archiving in Zenodo, with new .zenodo.json metadata file.
secsse_sim()
fix bug causing error when simulating trees with extinct species.
- C++ code base for the standard likelihood, making smarter use of parallelization, this marks another 10-fold increase in speed.
- Add a number of helper functions:
fill_in()
,create_default_q_list()
,create_default_transition_list()
,create_mus()
- Implemented necessary changes to comply with CRAN clang16 build and solve issue with the boost odeint library uninitialized variable (see boostorg/odeint#59 and more details at rsetienne/DAISIE#158)
- Updated Copyright license to the Boost Software License, Version 1.0 for included C++ code (R code remains GPL>=3).
- Fix memory leaks
Version 2.5.0 appeared in 2021 on GitHub and was published in May 2023
on CRAN. Version 2.5.0 marks the first version using C++ to perform the
integration, and it used tbb (from the RcppParallel package) to perform
multithreading. This marks a ten fold increase in speed over previous
versions. Secondly, 2.5.0 introduces the function secsse_sim()
to
simulate a diversification process using the (cla) secsse framework.
Lastly, in version 2.5.0 functions were added to allow visualisation of
inferred rates of speciation across the tree (e.g. plot_state_exact()
and secsse_loglik_eval()
).
Version 2.0.0 appeared in June of 2019 on CRAN and extended the package with the cla framework, e.g. including state shifts during speciation / asymmetric inheritance during speciation.
The first version of secsse appeared in January of 2019 on CRAN. It used the package deSolve to solve all integrations, and could switch between either using a fully R based evaluation, or use FORTRAN to speed up calculations. Furthermore, using the foreach package, within-R parallelization was implemented. However, parallelization only situationally improved computation times, and generally, computation was relatively slow.