Learn R Programming

paleotree: Paleontological and Phylogenetic Analyses of Evolution

paleotree is an R package for transforming, 'a posteriori' time-scaling, and modifying phylogenies containing extinct (i.e. fossil) lineages. In particular, most users are interested in the functions timePaleoPhy, bin_timePaleoPhy, cal3TimePaleoPhy and bin_cal3TimePaleoPhy, which a posteriori time-scale cladograms of fossil taxa into dated phylogenies. This package also contains a large number of likelihood functions for estimating sampling and diversification rates from different types of data available from the fossil record (e.g. range data, occurrence data, etc).

paleotree users can also simulate diversification and sampling in the fossil record using the function simFossilRecord, which is a detailed simulator for branching birth-death-sampling processes composed of discrete taxonomic units arranged in ancestor-descendant relationships. Users can use simFossilRecord to simulate diversification in incompletely sampled fossil records, under various models of morphological differentiation (i.e. the various patterns by which morphotaxa originate from one another), and with time-dependent, longevity-dependent and/or diversity-dependent rates of diversification, extinction and sampling.

Additional functions allow users to translate simulated ancestor-descendant data from simFossilRecord into standard time-scaled phylogenies or unscaled cladograms that reflect the relationships among taxon units.

The most recent public release of the code is on CRAN at:

You can install the most recent public release version of paleotree in R from CRAN using:

install.packages("paleotree")

The latest pre-release version of paleotree can be found at github:

https://github.com/dwbapst/paleotree

You can install this latest development version using the R function install_github in the package devtools:

devtools::install_github("dwbapst/paleotree")

The above command will install the master branch (as the default option), which should be the most recent stable release (ideally the CRAN release, and thus should be identical to installing paleotree from CRAN). There will also generally be an in-development branch where the code may be in a state of change, with new features and bug-fixes. For example, the current development branch is named developmentBranch and can be specified with the ref = argument:

devtools::install_github("dwbapst/paleotree", ref="developmentBranch")

Once installed, you can check the version number of your paleotree install using the R function packageVersion:

packageVersion("paleotree")

If you use paleotree in your research, you can cite my paper describing paleotree in Methods in Ecology and Evolution:

Bapst, D.W. 2012. `paleotree`: an R package for paleontological and phylogenetic analyses of evolution. Methods in Ecology and Evolution. 3: 803-807. doi: 10.1111/j.2041-210X.2012.00223.x

http://onlinelibrary.wiley.com/doi/10.1111/j.2041-210X.2012.00223.x/abstract

You can also call the citation for paleotree from within R, using the citation function:

citation("paleotree")

This code is mainly authored by David Bapst, with some functions authored by Peter Wagner, and offered under CC0. Some functions are strongly based on code from Rich Fitzjohn's diversitree package, while others are greatly inspired by code written by Graeme Lloyd and Gene Hunt.

The current total number of downloads of the paleotree package from the RStudio CRAN mirror is:

Trying out using GitHub actions instead of Travis CI:

Copy Link

Version

Install

install.packages('paleotree')

Monthly Downloads

958

Version

3.4.7

License

CC0

Issues

Pull Requests

Stars

Forks

Maintainer

David Bapst

Last Published

July 6th, 2024

Functions in paleotree (3.4.7)

cladogeneticTraitCont

Simulate Cladogenetic Trait Evolution
binTimeData

Bin Simulated Temporal Ranges in Discrete Intervals
SongZhangDicrano

Cladistic Data for Dicranograptid Graptolites from Song and Zhang (2014)
DiversityCurves

Diversity Curves
compareTimescaling

Comparing the Time-Scaling of Trees
communityEcology

Miscellaneous Functions for Community Ecology
cal3TimePaleoPhy

Three Rate Calibrated a posteriori Dating of Paleontological Phylogenies
branchClasses

Partitions the branch lengths of a tree into several classes based on their placement.
SamplingConv

Converting Sampling Estimates
RaiaCopesRule

Dated Trees and Trait Data for Ammonites, Ceratopsians and Cervids from Raia et al. 2015
constrainParPaleo

Constrain Parameters for a Model Function from paleotree
depthRainbow

Paint Tree Branch Depth by Color
createMrBayesTipCalibrations

Construct A Block of Tip Age Calibrations for Use with Tip-Dating Analyses in MrBayes
dateTaxonTreePBDB

Date a Taxon-Topology from the Paleobiology Database Using Appearance Data from the API
divCurveFossilRecordSim

Diversity-Curve Plotting for Simulations of Diversification and Sampling In the Fossil Record
createMrBayesConstraints

Transform a Topology into a Set of Constraint Commands for MrBayes
dateNodes

Absolute Dates for Nodes of a Time-Scaled Phylogeny
degradeTree

Randomly Collapse a Portion of Nodes on a Phylogeny
durationFreq

Models of Sampling and Extinction for Taxonomic Duration Datasets
createMrBayesTipDatingNexus

Construct a Fully Formatted NEXUS Script for Performing Tip-Dating Analyses With MrBayes
graptDisparity

Morphlogical Character and Range Data for late Ordovician and Early Silurian Graptoloidea
getDataPBDB

Obtaining Data for Taxa or Occurrences From Paleobiology Database API
equation2function

Turn a Character String of the Right-Hand Side of an Equation into an R Function
fixRootTime

Modify, Drop or Bind Terminal Branches of Various Types (Mainly for Paleontological Phylogenies)
footeValues

Calculates Values for Foote's Inverse Survivorship Analyses
freqRat

Frequency Ratio Method for Estimating Sampling Probability
expandTaxonTree

Extrapolating Lower-Level Taxon Phylogenies from Higher-Level Taxon Trees
exhaustionFunctions

Analyses of the exhaustion of Character States Over Evolutionary History
horizonSampRate

Estimate Sampling Rate from Sampling Horizon Data (Solow and Smith, 1997)
graptPBDB

Example Occurrence and Taxonomic Datasets of the Graptolithina from the Paleobiology Database
modelMethods

Model Function Methods: Parameter Names, Bounds and Initial Values
nearestNeighborDist

Nearest Neighbor Distances for Morphological Disparity Studies
minBranchLength

Scales Edge Lengths of a Phylogeny to a Minimum Branch Length
minCharChange

Estimating the Minimum Number of Character Transitions Using Maximum Parsimony
multiDiv

Calculating Diversity Curves Across Multiple Datasets
inverseSurv

Inverse Survivorship Models in the Fossil Record
macroperforateForam

Ancestor-Descendant Relationships for Macroperforate Foraminifera, from Aze et al. (2011)
modifyTerminalBranches

Modify, Drop or Bind Terminal Branches of Various Types (Mainly for Paleontological Phylogenies)
makePBDBtaxonTree

Creating a Taxon-Tree from Taxonomic Data Downloaded from the Paleobiology Database
kanto

Example Species Abundances Tables
occData2timeList

Converting Occurrences Data to a timeList Data Object
perCapitaRates

Instantaneous per-Capita Rates of Origination and Extinction from the Fossil Record
plotOccData

Plotting Occurrence Data Across Taxa
nodeDates2branchLengths

Obtaining Edge Lengths for Undated Phylogenies Using Known Branching Node and Tip Ages
optimPaleo

Simplified Optimizer for paleotree Likelihood Functions
perfectParsCharTree

Simulate a Set of Parsimony-Informative Characters for a Phylogeny
obtainDatedPosteriorTreesMrB

Get the Sample of Posterior Trees from a Dated Phylogenetic Analysis with MrBayes (Or a Summary Tree, such as the MCCT)
parentChild2taxonTree

Create a Taxonomy-Based Phylogeny ('Taxon Tree') from a Table of Parent-Child Taxon Relationships
paleotree-package

paleotree: Paleontological and Phylogenetic Analyses of Evolution
plotPhyloPicTree

Plot a Phylogeny with Organismal Silhouettes from PhyloPic, Called Via the Paleobiology Database API
seqTimeList

Construct a Stochastic Sequenced Time-List from an Unsequenced Time-List
retiolitinae

Cladogram and Range Data for the Retiolitinae
setRootAge

Place a Non-Ultrametric Tree of Fossil Taxa on Absolute Time
probAnc

Probability of being a sampled ancestor of another sampled taxon
pqr2Ps

Joint Probability of A Clade Surviving Infinitely or Being Sampled Once
plotTraitgram

Plot a Traitgram for Continuous Traits
rootSplit

Split Tip Taxa by Root Divergence
reverseList

Reverse List Structure
resolveTreeChar

Resolve Polytomies Using Parsimony-Based Reconstruction of a Discrete Character
sampleRanges

Sampling Taxon Ranges
taxa2phylo

Convert Simulated Taxon Data into a Phylogeny
simFossilRecordMethods

Methods for Editing or Converting Output from Simulated Fossil Record Objects
timeList2fourDate

Converting Datasets of Taxon Ranges in Intervals Between timeList format and fourDate format
termTaxa

Simulating Extinct Clades of Monophyletic Taxa
simFossilRecord

Full-Scale Simulations of the Fossil Record with Birth, Death and Sampling of Morphotaxa
timeLadderTree

Resolve Polytomies by Order of First Appearance
taxonSortPBDBocc

Sorting Unique Taxa of a Given Rank from Paleobiology Database Occurrence Data
taxa2cladogram

Convert Simulated Taxon Data into a Cladogram
taxonTable2taxonTree

Create a Taxonomy-Based Phylogeny ('Taxon Tree') from a Hierarchical Table of Taxonomy Memberships
testEdgeMat

Test the Edge Matrix of a 'phylo' Phylogeny Object for Inconsistencies
unitLengthTree

Scale Tree to Unit-Length
timeSliceTree

Time-Slicing a Phylogeny
tipDatingCompatabilitySummaryMrB

Get the Compatibility Summary Topology From a Tip-Dating Analysis with MrBayes
twoWayEcologyCluster

R-Mode vs Q-Mode Two-Way Cluster Analyses and Abundance Plot for Community Ecology Data
treeContradiction

Measure the Contradiction Difference Between Two Phylogenetic Topologies
timePaleoPhy

Simplistic a posteriori Dating Approaches For Paleontological Phylogenies