Learn R Programming

TreeSearch (version 1.6.1)

Phylogenetic Analysis with Discrete Character Data

Description

Reconstruct phylogenetic trees from discrete data. Inapplicable character states are handled using the algorithm of Brazeau, Guillerme and Smith (2019) with the "Morphy" library, under equal or implied step weights. Contains a "shiny" user interface for interactive tree search and exploration of results, including character visualization, rogue taxon detection, tree space mapping, and cluster consensus trees (Smith 2022a, b) , . Profile Parsimony (Faith and Trueman, 2001) , Successive Approximations (Farris, 1969) and custom optimality criteria are implemented.

Copy Link

Version

Install

install.packages('TreeSearch')

Monthly Downloads

647

Version

1.6.1

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Martin R. Smith

Last Published

June 10th, 2025

Functions in TreeSearch (1.6.1)

Carter1

Number of trees with m steps
NNI

Nearest neighbour interchange (NNI)
MaximizeParsimony

Find most parsimonious trees
LengthAdded

Contribution of character to leaf instability
PhyDat2Morphy

Initialize a Morphy object from a phyDat object
Jackknife

Jackknife resampling
MorphyWeights

Set and get the character weightings associated with a Morphy object.
MorphyErrorCheck

Check for error whilst modifying Morphy object
PlotCharacter

Plot the distribution of a character on a tree
MorphyTreeLength

Calculate parsimony score from Morphy object
MinimumLength

Minimum and Maximum lengths possible for a character
SPR

Subtree pruning and rearrangement (SPR)
RearrangeEdges

Rearrange edges of a phylogenetic tree
MorphyBootstrap

Parsimony Ratchet
QuartetResolution

Relationship between four taxa
PrepareDataProfile

Prepare data for Profile Parsimony
SingleCharMorphy

Morphy object from single character
StopUnlessBifurcating

Check that all nodes in a tree are bifurcating.
IWScore

Calculate the parsimony score of a tree given a dataset
StepInformation

Information content of a character known to contain e steps
SiteConcordance

Calculate site concordance factor
RandomMorphyTree

Random postorder tree
RandomTreeScore

Parsimony score of random postorder tree
congreveLamsdellMatrices

100 simulated data matrices
.CombineResults

Combine two edge matrices
TaxonInfluence

Rank taxa by their influence on phylogenetic results
.GapHandler

Translate a gap treatment into a string in the format expected by Morphy
Suboptimality

Tree suboptimality
EdgeListSearch

Search for most parsimonious trees
SPRWarning

TBR Warning Print a warning and return given tree
UnloadMorphy

Destroy a Morphy object
WhenFirstHit

When was a tree topology first hit?
is.morphyPtr

Is an object a valid Morphy object?
mpl_apply_tipdata

Commits parameters prior to nodal set calculations.
TBR

Tree bisection and reconnection (TBR)
inapplicable.datasets

Thirty datasets with inapplicable data
mpl_first_down_recon

Reconstructs the first (downpass) nodal reconstructions
mpl_get_num_charac

Retrieve the number of character (columns) in the dataset.
SuccessiveApproximations

Tree search using successive approximations
.NonDuplicateRoot

Non-duplicate root
WithOneExtraStep

Number of trees with one extra step
.UniqueExceptHits

Unique trees (ignoring "hits" attribute)
mpl_attach_symbols

Attach a caller-specified list of symbols.
mpl_attach_rawdata

Attach raw character state data (i.e. tip data).
mpl_get_gaphandl

Get / set gap handler from a Morphy object.
cSPR

cSPR() expects a tree rooted on a single tip.
mpl_first_up_recon

Reconstructs the second (uppass) nodal reconstructions.
mpl_get_charac_weight

Retrieve the weight of a character in the dataset
mpl_second_down_recon

Performs the second nodal reconstructions for characters with inapplicability.
mpl_delete_Morphy

Destroys an instance of a Morphy object.
summary.morphyPtr

Details the attributes of a morphy object
mpl_set_parsim_t

Sets a character's parsimony function type
mpl_second_up_recon

Finalises the ancestral state reconstructions for characters with inapplicable values.
mpl_update_tip

Initial update of tip values following uppass reconstruction.
mpl_update_lower_root

Updates the nodal sets for a lower ("dummy") root node
mpl_get_num_internal_nodes

Gets the number of internal nodal reconstruction sets being used by MorphyLib.
mpl_init_Morphy

Sets up the dimensions of the dataset.
mpl_set_charac_weight

Set the weight of a character in the dataset
mpl_translate_error

Converts a numeric error code to human-readable format
mpl_set_num_internal_nodes

Sets the number of internal nodes in the dataset
mpl_delete_rawdata

Deletes the caller-input data.
referenceTree

Tree topology for matrix simulation
mpl_get_symbols

Retrieves the current list of symbols.
mpl_get_numtaxa

Retrieve the number of taxa (rows) in the dataset.
mpl_new_Morphy

Creates a new instance of a Morphy object
profiles

Empirically counted profiles for small trees
ConcordantInformation

Evaluate the concordance of information between a tree and a dataset
JackLabels

Label nodes with jackknife support values
ClusterStrings

Cluster similar strings
AdditionTree

Addition tree
DoubleNNI

Double NNI
GapHandler

Read how a Morphy Object handles the inapplicable token
CharacterLength

Character length
Consistency

Consistency / retention "indices"
AllSPR

All SPR trees