C++ Implementations of Phylogenetic Cladogenesis Calculations

Various cladogenesis-related calculations that are slow in pure R are implemented in C++ with Rcpp. These include the calculation of the probability of various scenarios for the inheritance of geographic range at the divergence events on a phylogenetic tree, and other calculations necessary for models which are not continuous-time markov chains (CTMC), but where change instead occurs instantaneously at speciation events. Typically these models must assess the probability of every possible combination of (ancestor state, left descendent state, right descendent state). This means that there are up to (# of states)^3 combinations to investigate, and in biogeographical models, there can easily be hundreds of states, so calculation time becomes an issue. C++ implementation plus clever tricks (many combinations can be eliminated a priori) can greatly speed the computation time over naive R implementations. CITATION INFO: This package is the result of my Ph.D. research, please cite the package if you use it! Type: citation(package="cladoRcpp") to get the citation information.


News

CHANGES in cladoRcpp VERSION 0.15.1 -- 2018-11-21

NEW FEATURES

o none

BUG FIXES

o none

OTHER CHANGES

o Added R documentation file 00-cladoRcpp-package.Rd, which got lost somewhere
  in the updates. This contains aliases so that ?cladoRcpp brings up the package
  information, and also should fix CRAN warnings for BioGeoBEARS like:
  checking Rd cross-references ... WARNING
  Missing link or links in documentation object 'BioGeoBEARS-package.Rd':
  '[cladoRcpp]{cladoRcpp}'

CHANGES in cladoRcpp VERSION 0.15 -- 2018-10-03

NEW FEATURES

o added modifications for trait-dependent dispersal model variants (basically, 
  the cladogenetic transition matrix can be doubled-up, e.g. if a 2-state
  trait is influencing dispersal. Dispersal multipliers (m1, m2, etc.) are 
  multiplied by the base j value. This takes place as a last step (after
  j has been used to modify the per-event cladogenetic weights for y, s, and
  v (narrow sympatry, subset sympatry, and vicariance per-event weights). 

BUG FIXES

o none

OTHER CHANGES

o Code hosted on GitHub as well. (https://github.com/nmatzke/cladoRcpp )
o Changed Maintainer email to [email protected] (more permanent)

CHANGES in cladoRcpp VERSION 0.14.4 -- 2014-05-17

NEW FEATURES

o none

BUG FIXES

o Commented out references to citation("rexpokit") and citation("BioGeoBEARS") in 
  examples -- these create unnecessary dependencies in the examples.
o Also removed within-documentation hot-links to rexpokit, for the same reason.

OTHER CHANGES

o none

CHANGES in cladoRcpp VERSION 0.14.3 -- 2014-05-16

NEW FEATURES

o none

BUG FIXES

o These were not material bugs, these were issues noted by CRAN due to 
  updates to R / R CMD check:
o removed an 'extern "C"' from basics.h (not needed on a C++ function)
o updated DESCRIPTION file as methods/Rcpp/RcppArmadillo do not need to be 
  dependencies; just LinkingTo for Rcpp/RcppArmadillo (to access their C++ 
  headers) and Imports: for Rcpp, so that importFrom(Rcpp, evalCpp) in the
  NAMESPACE file generated by Rcpp.package.skeleton works after I have used it
  to build the package source.

OTHER CHANGES

o added CITATION file and information
o updated CITATION file to refer to first publication citing CladoRcpp &
  BioGeoBEARS: Matzke, Nicholas J. (2013). Probabilistic historical biogeography: 
  new models for founder-event speciation, imperfect detection, and fossils allow 
  improved accuracy and model-testing. Frontiers of Biogeography, 5(4), 242-248. 
  http://escholarship.org/uc/item/44j7n141
o changed \link{Rcpp} to Rcpp in the roxygen2 documentation files (which 
  roxygen2 changes into .Rd (R documentation files). Links in documentation
  didn't work after removing Rcpp from Depends: field.

CHANGES in cladoRcpp VERSION 0.14.2

NEW FEATURES

o Version 0.14.2 of package cladoRcpp fixes an AddressSanitizer error found when 
  compiling under gcc48, and some notes found by Uwe Ligges's WinBuilder website, due
  unused variables, or comparison of int to unsigned int in e.g. for loops. (For
  the latter, the vector object's .size() function returns an unsigned int, so
  the forloop should start with for (unsigned int i, ...etc.)  )

BUG FIXES

o none

OTHER CHANGES

o none


  CHANGES in cladoRcpp VERSION 0.14.1

NEW FEATURES

o Version 0.14.1 of package cladoRcpp adds to the function rcpp_states_list_to_DEmat
  (and thus C++ functions cpp_states_list_to_DEmat_COO and cpp_states_list_to_DEmat) 
  the input of "amat", a matrix of anagenetic transition probabilities for e.g. 
  instantaneous switching from A->B.  This allows cladoRcpp users to implement 
  "standard" character transition models, as used in e.g. DNA, morphology 
  characters, etc., as well as in biogeography.  Additional of this parameter allows 
  increased modeling capabilities in BioGeoBEARS.  I have also added a NEWS file.

BUG FIXES

o none

OTHER CHANGES

o none

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("cladoRcpp")

0.15.1 by Nicholas J. Matzke, 10 months ago


http://phylo.wikidot.com/biogeobears


Browse source code at https://github.com/cran/cladoRcpp


Authors: Nicholas J. Matzke [aut, cre, cph]


Documentation:   PDF Manual  


GPL (>= 2) license


Imports Rcpp

Linking to Rcpp, RcppArmadillo


See at CRAN