- Reorder parameters in
Q[A]Col(quality, amount).
- New parameters for flexible plotting of
QALegend(). ConcordanceTable()gainsplotparameter.
- Implements the methods of Smith (forthcoming) via
ClusteringConcordance(), with visualization functionsConcordanceTable(),QACol()andQALegend(). QuartetConcordance()gainsreturnparameter and fast C++ implementation.- Fix regression in
MaximumLength().
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)- Support single-character matrices in
ClusteringConcordance() - Fix
DoNothing(x)to returnx(notNULL) - Remove unused
delete_rawdata()due to implementation issues. - Port
MaximumLength()to C++ to handle more characters, more efficiently.
- Handle invariant characters in
PolEscapa() - Handle challenging root positions in
PlotCharacter() - Fix character state colours in app legend
- Tweak documentation
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
- Buttons to download consensus trees in app
- Fix display of state labels in app
- Require R 4.0 (to simplify maintenance)
- 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
.tfiles
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
phylotrees 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
throwwithstopin 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
nTipparameter 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
messagein 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