TreeSearch 1.7.0 (2025-08-22)
- PresCont()implements the Group Present / Contradicted
measure of Goloboff et al. (2003).
- Consistency()also returns the relative homoplasy index
of Steell et al.  (2023).
- JackLabels()supports multiple trees per iteration
(#197)[https://github.com/ms609/TreeSearch/discussions/197]
- Support single-character matrices in
ClusteringConcordance()
- Fix DoNothing(x)to returnx(notNULL)
- Remove unused delete_rawdata()due to implementation
issues.
TreeSearch 1.6.1 (2025-06-10)
- Handle invariant characters in PolEscapa()
- Handle challenging root positions in
PlotCharacter()
- Fix character state colours in app legend
- Tweak documentation
TreeSearch 1.6.0 (2025-04-09)
Improvements
- PlotCharacter()performs ancestral state reconstruction
on consensus trees (#179)
- Improve support for constraints in AdditionTree()(#173)
- Support for ordered (additive) characters via
TreeTools::Decompose()
- Fix SPR behaviour when move is close to root
App improvements
- Buttons to download consensus trees in app
- Fix display of state labels in app
Housekeeping
- Require R 4.0 (to simplify maintenance)
TreeSearch 1.5.1 (2024-05-23)
- Fix calls to DescendantEdges()
TreeSearch 1.5.0 (2024-04-03)
- MaximumLength()calculates maximum possible length of
characters, including with inapplicable tokens
- Consistency()now returns retention index and rescaled
consistency index
TreeSearch 1.4.0 (2023-08-18)
New features
- TaxonInfluence()calculates influence of individual
taxa on phylogenetic inference
Search improvements
- Default to use equal weighting during ratchet iterations
- Support null constraints in AdditionTree()
App improvements
- Exclude taxa from search in app
- Allow search to continue when loading a new file with different
taxon names into the app
Housekeeping
- Update calls to DescendantEdges()for compatibility
with ‘TreeTools’ 1.10.0
TreeSearch 1.3.2 (2023-04-27)
- Use PlotTools::SpectrumLegend()for continuous scales
in app
- Restore auto-termination of .tfiles
TreeSearch 1.3.1 (2023-03-29)
- PlotCharacter()now returns invisibly
- Fix missing character in Wills 2012 dataset
- Search by character text in GUI
- Call C functions using symbols
TreeSearch 1.3.0 (2023-02-20)
New features
- New function LengthAdded()tests which characters
contribute to taxon instability, per Pol & Escapa (2009),
doi:10.1111/j.1096-0031.2009.00258.x
- WhenFirstHit()recovers tree search information from
tree names
- New vignette
on tree space mapping
- Support phylotrees as constraints
GUI improvements
- Support reading characters from Excel spreadsheets
- Allow retention of suboptimal trees
- Use K-means++ clustering
TreeSearch 1.2.0 (2022-07-35)
- ‘shiny’ GUI improvements:
- Export log of tree search commands
- Export R scripts to reproduce figures
- Simplify layout
- Misc bug fixes
 
- New function QuartetResolution()evaluates how a
quartet is resolved in each of a list of trees
TreeSearch 1.1.2 (2022-05-11)
- Check tree order & rootedness before scoring (#133)
- Improve error handling
- Replace throwwithstopin C++
- Remove test of elapsed times, for CRAN compliance
TreeSearch 1.1.1 (2022-03-22)
- GUI allows selection of subset of trees, for easier analysis of
Bayesian tree sets
- Miscellaneous fixes and improvements in ‘shiny’ GUI
- Test suite for ‘shiny’ GUI
- Update tests for TreeSearch 1.7
TreeSearch 1.1.0 (2022-01-17)
- Improvements to ‘shiny’ GUI
- Better integration of rogue taxon exploration
- New vignette describing profile parsimony
- MinimumLength()fully supports ambiguous
applicability
TreeSearch 1.0.1 (2021-09-27)
- Memory management with invalid input
- Corrections to metadata
TreeSearch 1.0.0 (2021-09-21)
New functions
- EasyTrees()‘shiny’ graphical user interface for tree
search
- AdditionTree()adds each taxon in sequence to the most
parsimonious place on the tree, generating a more parsimonious starting
tree than neighbour-joining
- PlotCharacter()reconstructs character distributions on
trees
- ConstrainedNJ()constructs starting trees that respect
a constraint
- ImposeConstraint()reconciles a tree with a
constraint
- SiteConcordance()calculates exact site
concordance
- ConcordantInformation()evaluates signal:noise of
dataset implied by a given tree
- PrepareDataProfile()simplifies dataset to allow
partial search when multiple applicable tokens are present
- Resample()conducts bootstrap and jackknife
resampling
- Consistency()calculates consistency and retention
‘indices’
- MinimumLength()calculates minimum length of character
in a dataset on any tree.
Improvements
- TreeLength()supports lists of trees
- Set handling of ‘gap’ token (-) when creating Morphy object with
gap =
- Label nodes with split frequencies using
JackLabels(plot = FALSE)
- Support for topological constraints during tree search
- Remove redundant function AsBinary()
- Drop nTipparameter inRandomTreeScore()(infer frommorphyObj)
- C implementations of rearrangement functions
- Improved command line interface for search progress messaging
Deprecations
- Remove redundant internal function
LogisticPoints()
TreeSearch 0.4.3 (2020-07-09)
- Update tests for compatibility with ‘TreeTools’ v1.1.0
- Improve memory and pointer handling
TreeSearch 0.4.2 (2020-07-07)
- Update tests for compatibility with ‘TreeTools’ v1.1.0
TreeSearch 0.4.1 (2020-06-09)
- Compatibility with ‘TreeTools’ v1.0.0
TreeSearch 0.4.0 (2020-02-06)
New features
- PhyDatToMatrix(), complementing- MatrixToPhyDat()
- Documentation with ‘pkgdown’
- JackLabels()helper function
Changes
- Move tree distance measures to new package ‘TreeDist’
- Move tree utility functions to new package ‘TreeTools’
- Rename functions
MinimumSteps()→MinimumLength()andFitchSteps()→CharacterLength()
Enhancements
- Improve speed of tests (by increasing probability of false
positives)
- Use messagein place ofcat, to allow use
ofsuppressMessages()
TreeSearch 0.3.2 (2019-06-03)
- Improve text, content and build speed of vignettes
TreeSearch 0.3.1
New features
- NyeTreeSimilarity()function implements the tree
similarity metric of Nye et al. (2006)
- MatchingSplitDistance()function implementing the
Matching Split distance of Bogdanowicz & Giaro (2012)
Bug fixes
- Check whether input tree is bifurcating before attempting
rearrangements, to avoid crashes on unsupported input
TreeSearch 0.3.0 (2019-03-21)
New features
- Implement an information theoretic tree distance measure (Smith,
2020)
- Prepare for new random number generator in R3.6.0
Deprecations
- Function TreeSplits()is deprecated; useas.Splits()instead
Bug fixes
- Correct some mistakes in the documentation
TreeSearch 0.2.2 (2019-01-02)
TreeSearch 0.2.1 (2018-12-07)
New features
- CollapseNodes()and- CollapseEdges()allow
the creation of polytomies
- Tree2Splits()lists the bipartition splits implied by a
tree topology
Enhancements
- SplitFrequency()now supports larger trees
- Can specify tip labels directly to ReadTntTree(), to
avoid reliance on generative file
Bug fixes
TreeSearch 0.2.0 (2018-09-10)
New features
- RootTree()allows rooting of tree on incompletely
specified or single-taxon outgroup
- AllTBR()returns all trees one TBR rearrangement
away
- TBRMoves()reports all possible TBR rearrangements
- Jackknife()conducts Jackknife resampling
- SplitFrequency()reports frequency of clades in a
forest
- SupportColour()allows visual marking of support
values
- ApeTime()reports the creation date of an ape-exported
tree
- SortTree()flips nodes into a consistent left-right
order
- AsBinary()supports 0
Enhancements
- [IW]RatchetConsensus()renamed to- [IW]MultiRatchet(), giving a better description of the
function’s purpose
- Don’t warn about missing EOL when reading Nexus or TNT files
- Add new 12-colour colourblind-friendly palette
- FitchSteps()now supports datasets with tips not found
in tree
- Improve portability of function ReadTntTree()
Bug fixes
- [IW]MultiRatchet()now considers trees identical even
if they’ve been hit a different number of times
TreeSearch 0.1.2 (2018-03-20)
- Update MorphyLib library to fix C warnings
- Remove non-ASCII characters from data
- Disable slow-building and problematic vignette
- Use local copy of citation style when building vignettes
TreeSearch 0.1.0 (2018-03-14)
New features
- Helper functions to read Nexus and TNT data and trees
- Brewer palette in local data to allow easier colouring
Enhancements
- Allow additional parameters to be passed to consensus()viaConsensusWithout()
Bug fixes
- C11 compliance
- IWRatchetConsensus()now relays concavity value to
subsequent functions
- ReadCharacters()returns labels for all characters and
states if- character_num = NULL
TreeSearch 0.0.8
New features
- Added NJTree()function as shortcut to generate
Neighbour-Joining tree from a dataset
- Add functions to allow recovery of all trees one rearrangement from
that input
Efficiency gains
- Separate out NNISwap()functions to allow more
efficient rearrangement ofedgeLists
- [9002] Improve efficiency by using three-pass algorithm in place of
four-pass precursor
- [9004] Bootstrap search improvements
Bug fixes
- [9003] User now able to specify value of concavity constant (was
overridden to k = 4)
- [9003] Bootstrap replicates now scored correctly (and without
warning) under implied weights
TreeSearch 0.0.7
Inapplicable tokens:
- Integrated with this package (previously in
inapplicable)
- Handle inapplicable data via API to Martin Brazeau’s Morphy
Phylogenetic Library
Profile Parsimony:
- Integrated with this package (previously in
ProfileParsimony)
- Faster calculation of concavity profiles in C
- Persistent memoization with R.cache
TreeSearch 0.0.6