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
.t
files
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
phylo
trees 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
throw
with stop
in 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
nTip
parameter in RandomTreeScore()
(infer from morphyObj
)
- 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()
and
FitchSteps()
→CharacterLength()
Enhancements
- Improve speed of tests (by increasing probability of false
positives)
- Use
message
in place of cat
, to allow use
of suppressMessages()
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; use
as.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()
via ConsensusWithout()
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 of edgeLists
- [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