- Fix display of state labels in app
- Fix SPR behaviour when move is close to root
- Fix calls to
DescendantEdges()
MaximumLength()
calculates maximum possible length of characters, including with inapplicable tokensConsistency()
now returns retention index and rescaled consistency index
TaxonInfluence()
calculates influence of individual taxa on phylogenetic inference
- Default to use equal weighting during ratchet iterations
- Support null constraints in
AdditionTree()
- Exclude taxa from search in app
- Allow search to continue when loading a new file with different taxon names into the app
- Update calls to
DescendantEdges()
for compatibility with 'TreeTools' 1.10.0
- Use
PlotTools::SpectrumLegend()
for continuous scales in app - Restore auto-termination of
.t
files
PlotCharacter()
now returns invisibly- Fix missing character in Wills 2012 dataset
- Search by character text in GUI
- Call C functions using symbols
- 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
- Support reading characters from Excel spreadsheets
- Allow retention of suboptimal trees
- Use K-means++ clustering
-
'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
- Check tree order & rootedness before scoring (#133)
- Improve error handling
- Replace
throw
withstop
in C++ - Remove test of elapsed times, for CRAN compliance
- 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
- Improvements to 'shiny' GUI
- Better integration of rogue taxon exploration
- New vignette describing profile parsimony
MinimumLength()
fully supports ambiguous applicability
- Memory management with invalid input
- Corrections to metadata
EasyTrees()
'shiny' graphical user interface for tree searchAdditionTree()
adds each taxon in sequence to the most parsimonious place on the tree, generating a more parsimonious starting tree than neighbour-joiningPlotCharacter()
reconstructs character distributions on treesConstrainedNJ()
constructs starting trees that respect a constraintImposeConstraint()
reconciles a tree with a constraintSiteConcordance()
calculates exact site concordanceConcordantInformation()
evaluates signal:noise of dataset implied by a given treePrepareDataProfile()
simplifies dataset to allow partial search when multiple applicable tokens are presentResample()
conducts bootstrap and jackknife resamplingConsistency()
calculates consistency and retention 'indices'MinimumLength()
calculates minimum length of character in a dataset on any tree.
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 inRandomTreeScore()
(infer frommorphyObj
) - C implementations of rearrangement functions
- Improved command line interface for search progress messaging
- Remove redundant internal function
LogisticPoints()
- Update tests for compatibility with 'TreeTools' v1.1.0
- Improve memory and pointer handling
- Update tests for compatibility with 'TreeTools' v1.1.0
- Compatibility with 'TreeTools' v1.0.0
PhyDatToMatrix()
, complementingMatrixToPhyDat()
- Documentation with 'pkgdown'
JackLabels()
helper function
- Move tree distance measures to new package 'TreeDist'
- Move tree utility functions to new package 'TreeTools'
- Rename functions
MinimumSteps()
→MinimumLength()
andFitchSteps()
→CharacterLength()
- Improve speed of tests (by increasing probability of false positives)
- Use
message
in place ofcat
, to allow use ofsuppressMessages()
- Improve text, content and build speed of vignettes
NyeTreeSimilarity()
function implements the tree similarity metric of Nye et al. (2006)MatchingSplitDistance()
function implementing the Matching Split distance of Bogdanowicz & Giaro (2012)
- Check whether input tree is bifurcating before attempting rearrangements, to avoid crashes on unsupported input
- Implement an information theoretic tree distance measure (Smith, 2020)
- Prepare for new random number generator in R3.6.0
- Function
TreeSplits()
is deprecated; useas.Splits()
instead
- Correct some mistakes in the documentation
- Correct vignette titles
CollapseNodes()
andCollapseEdges()
allow the creation of polytomiesTree2Splits()
lists the bipartition splits implied by a tree topology
SplitFrequency()
now supports larger trees- Can specify tip labels directly to
ReadTntTree()
, to avoid reliance on generative file
- Export missing functions
RootTree()
allows rooting of tree on incompletely specified or single-taxon outgroupAllTBR()
returns all trees one TBR rearrangement awayTBRMoves()
reports all possible TBR rearrangementsJackknife()
conducts Jackknife resamplingSplitFrequency()
reports frequency of clades in a forestSupportColour()
allows visual marking of support valuesApeTime()
reports the creation date of an ape-exported treeSortTree()
flips nodes into a consistent left-right orderAsBinary()
supports 0
[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()
[IW]MultiRatchet()
now considers trees identical even if they've been hit a different number of times
- 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
- Helper functions to read Nexus and TNT data and trees
- Brewer palette in local data to allow easier colouring
- Allow additional parameters to be passed to
consensus()
viaConsensusWithout()
- C11 compliance
IWRatchetConsensus()
now relays concavity value to subsequent functionsReadCharacters()
returns labels for all characters and states ifcharacter_num = NULL
- 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
- 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
- [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
- Integrated with this package (previously in
inapplicable
) - Handle inapplicable data via API to Martin Brazeau's Morphy Phylogenetic Library
- Integrated with this package (previously in
ProfileParsimony
) - Faster calculation of concavity profiles in C
- Persistent memoization with R.cache
- First CRAN submission