Package: TreeSearch 1.8.0.9001

TreeSearch: Phylogenetic Analysis with Discrete Character Data

Reconstruct phylogenetic trees from discrete data. Inapplicable character states are handled using the algorithm of Brazeau, Guillerme and Smith (2019) <doi:10.1093/sysbio/syy083> 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) <doi:10.1093/sysbio/syab099>, <doi:10.1093/sysbio/syab100>. Profile Parsimony (Faith and Trueman, 2001) <doi:10.1080/10635150118627>, Successive Approximations (Farris, 1969) <doi:10.2307/2412182> and custom optimality criteria are implemented.

Authors:Martin R. Smith [aut, cre, cph], Martin Brazeau [cph]

TreeSearch_1.8.0.9001.tar.gz
TreeSearch_1.8.0.9001.zip(r-4.7)TreeSearch_1.8.0.9001.zip(r-4.6)TreeSearch_1.8.0.9001.zip(r-4.5)
TreeSearch_1.8.0.9001.tgz(r-4.6-x86_64)TreeSearch_1.8.0.9001.tgz(r-4.6-arm64)TreeSearch_1.8.0.9001.tgz(r-4.5-x86_64)TreeSearch_1.8.0.9001.tgz(r-4.5-arm64)
TreeSearch_1.8.0.9001.tar.gz(r-4.7-arm64)TreeSearch_1.8.0.9001.tar.gz(r-4.7-x86_64)TreeSearch_1.8.0.9001.tar.gz(r-4.6-arm64)TreeSearch_1.8.0.9001.tar.gz(r-4.6-x86_64)
TreeSearch_1.8.0.9001.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
TreeSearch/json (API)
NEWS

# Install 'TreeSearch' in R:
install.packages('TreeSearch', repos = c('https://ms609.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/ms609/treesearch/issues

Pkgdown/docs site:https://ms609.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3
Datasets:

On CRAN:

Conda:

bioinformaticsmorphological-analysisphylogeneticsresearch-tooltree-searchcpp

8.27 score 9 stars 44 scripts 936 downloads 3 mentions 115 exports 58 dependencies

Last updated from:30bd4ba77a. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK211
linux-devel-x86_64OK217
source / vignettesOK342
linux-release-arm64OK198
linux-release-x86_64OK211
macos-release-arm64OK154
macos-release-x86_64OK418
macos-oldrel-arm64OK145
macos-oldrel-x86_64OK284
windows-develOK246
windows-releaseOK220
windows-oldrelOK222
wasm-releaseOK150

Exports:.NonDuplicateRoot.UniqueExceptHitsAdditionTreeC_MorphyLengthCarter1CharacterLengthClusteringConcordanceClusterStringscNNIConcordanceTableConcordantInfoConcordantInformationConsistencycSPRDoNothingEasyTreesEasyTreesyEdgeListSearchEmptyPhyDatEvaluateExpectedLengthFitchFitchStepsGapHandlerGetMorphyLengthis.morphyPtrIWScoreIWTreeSearchJackknifeJackLabelsLengthAddedLog2Carter1LogCarter1MaximizeParsimonyMaximumLengthMinimumLengthMorphyBootstrapMorphyErrorCheckMorphyLengthMorphyTreeLengthMorphyWeightsMostContradictedFreqmpl_apply_tipdatampl_attach_rawdatampl_attach_symbolsmpl_delete_Morphympl_first_down_reconmpl_first_up_reconmpl_get_charac_weightmpl_get_gaphandlmpl_get_num_characmpl_get_num_internal_nodesmpl_get_numtaxampl_get_symbolsmpl_init_Morphympl_new_Morphympl_second_down_reconmpl_second_up_reconmpl_set_charac_weightmpl_set_gaphandlmpl_set_num_internal_nodesmpl_set_parsim_tmpl_translate_errormpl_update_lower_rootmpl_update_tipMultiRatchetMutualClusteringConcordanceNNINNISwapPhyDat2MorphyPhylogeneticConcordancePlotCharacterPolEscapaPrepareDataIWPrepareDataProfilePresContQAColQALegendQColQuartetConcordanceQuartetResolutionRandomMorphyTreeRandomTreeScoreRatchetRatchetConsensusRearrangeEdgesResampleRootedNNIRootedNNISwapRootedSPRRootedSPRSwapRootedTBRRootedTBRSwapSetMorphyWeightsSharedPhylogeneticConcordanceSingleCharMorphySPRSPRMovesSPRSwapSPRWarningStepInformationStopUnlessBifurcatingSuboptimalitySuccessiveApproximationsSuccessiveWeightsTaxonInfluenceTBRTBRMovesTBRSwapTBRWarningTreeLengthTreeSearchUnloadMorphyWhenFirstHitWithOneExtraStep

Dependencies:abindapebase64encbitbit64bslibcachemcliclustercodetoolscolorspacecommonmarkdigestfastmapfastmatchfontawesomefsfutureglobalsgluehtmltoolshttpuvjquerylibjsonlitelaterlatticelifecyclelistenvmagrittrmatrixStatsmemoisemimenlmeotelparallellyPlotToolspromisesprotoclustR6rappdirsrbibutilsRcppRcppArmadilloRcppParallelRdpackRfastrlangRoguesassshinyshinyjssourcetoolsstringiTreeDistTreeToolswithrxtablezigg

Getting started: Exploring tree space

Rendered fromtree-space.Rmdusingknitr::rmarkdownon Jun 09 2026.

Last update: 2025-07-10
Started: 2022-08-15

Getting started: Installing R and TreeSearch

Rendered fromgetting-started.Rmdusingknitr::rmarkdownon Jun 09 2026.

Last update: 2025-02-07
Started: 2018-02-21

Getting started: Simple tree searches

Rendered fromtree-search.Rmdusingknitr::rmarkdownon Jun 09 2026.

Last update: 2026-01-16
Started: 2021-05-14

Profile parsimony

Rendered fromprofile-scores.Rmdusingknitr::rmarkdownon Jun 09 2026.

Last update: 2023-07-17
Started: 2018-02-21

Tree search with custom optimality criteria

Rendered fromcustom.Rmdusingknitr::rmarkdownon Jun 09 2026.

Last update: 2025-07-10
Started: 2021-04-14

Tree search with Profile parsimony

Rendered fromprofile.Rmdusingknitr::rmarkdownon Jun 09 2026.

Last update: 2025-07-10
Started: 2018-02-21

Readme and manuals

Help Manual

Help pageTopics
Addition treeAdditionTree
All SPR treesAllSPR
Number of trees with _m_ stepsCarter1 Log2Carter1 LogCarter1
Character lengthCharacterLength FastCharacterLength
Cluster similar stringsClusterStrings
Plot concordance tableConcordanceTable
Evaluate the concordance of information between a tree and a datasetConcordantInfo ConcordantInformation Evaluate
100 simulated data matricescongreveLamsdellMatrices
Consistency and retention "indices"Consistency
'cSPR()' expects a tree rooted on a single tip.cSPR
Expected lengthExpectedLength
Read how a Morphy Object handles the inapplicable tokenGapHandler
Thirty datasets with inapplicable datainapplicable.citations inapplicable.datasets inapplicable.phyData inapplicable.trees
Is an object a valid Morphy object?is.morphyPtr
Calculate the parsimony score of a tree given a datasetFitch IWScore TreeLength TreeLength.list TreeLength.multiPhylo TreeLength.numeric TreeLength.phylo
Jackknife resamplingJackknife
Label nodes with jackknife support valuesJackLabels
Contribution of character to leaf instabilityLengthAdded PolEscapa
Find most parsimonious treesEasyTrees EasyTreesy MaximizeParsimony Resample
Minimum and Maximum lengths possible for a characterMaximumLength MaximumLength.character MaximumLength.numeric MinimumLength MinimumLength.character MinimumLength.numeric MinimumLength.phyDat MinimumSteps
Parsimony RatchetMorphyBootstrap MultiRatchet Ratchet RatchetConsensus
Set and get the character weightings associated with a Morphy object.MorphyWeights SetMorphyWeights
Frequency of most common contradictory splitMostContradictedFreq
Nearest neighbour interchange (NNI)cNNI NNI NNISwap RootedNNI RootedNNISwap
Initialize a Morphy object from a 'phyDat' objectPhyDat2Morphy
Plot the distribution of a character on a treePlotCharacter PlotCharacter.list PlotCharacter.multiPhylo PlotCharacter.phylo
Prepare data for Profile ParsimonyPrepareDataIW PrepareDataProfile
Group present or contradicted scorePresCont
Empirically counted profiles for small treesprofiles
Generate colour to depict the amount and quality of observationsQACol QALegend QCol
Relationship between four taxaQuartetResolution
Random postorder treeRandomMorphyTree
Parsimony score of random postorder treeRandomTreeScore
Rearrange edges of a phylogenetic treeRearrangeEdges
Tree topology for matrix simulationreferenceTree
Morphy object from single characterSingleCharMorphy
Concordance factorsClusteringConcordance MutualClusteringConcordance PhylogeneticConcordance QuartetConcordance SharedPhylogeneticConcordance SiteConcordance
Subtree pruning and rearrangement (SPR)RootedSPR RootedSPRSwap SPR SPRMoves SPRMoves.matrix SPRMoves.phylo SPRSwap
Information content of a character known to contain _e_ stepsStepInformation
Details the attributes of a morphy objectsummary.morphyPtr
Rank taxa by their influence on phylogenetic resultsTaxonInfluence
Tree bisection and reconnection (TBR)RootedTBR RootedTBRSwap TBR TBRMoves TBRMoves.matrix TBRMoves.phylo TBRSwap
Destroy a Morphy objectUnloadMorphy
When was a tree topology first hit?WhenFirstHit
Number of trees with one extra stepWithOneExtraStep