Fix bug when comparing a “multiPhylo” object containing a single tree.

Documentation clarification: finding non-matching leaves.

- Support non-square matrices in
`LAPJV()`

.

`StopParallel()`

gains`quietly`

argument to suppress unnecessary messages.Use “PlotTools” package for spectrum legends.

Minor documentation tweaks.

Support comparison of trees with different tips.

Fix caching errors in

`MapDist()`

(#98).Update tests for compatibility with ape 5.7.

New functions to measure cluster sizes (see

`?"cluster-statistics"`

).`KMeansPP()`

conducts clustering using K-means++, replacing K-means in app.New vignette on tree landscape analysis.

New vignette on how to compare tree sets.

`PathVector()`

now treats trees with a root node as rooted.Fix plot layout in treespace vignette.

Informative failure when not enough memory for

`consensus_info()`

.Replace

`throw`

with`stop`

in C++.

Correct calculation of trustworthiness and continuity metrics.

Depict strain in minimum spanning trees with

`StrainCol()`

and helper function`MSTSegments()`

.Update tests for consistency with “TreeTools” v1.7.

Use lighter Rcpp headers.

Support

`ConsensusInfo(p > 0.5)`

.Address hypervolume comparison in vignettes.

Support uniform manifold approximation and projection in app.

Speed improvements, using optimizations suggested by Alexis Stamatakis’ Bioinformatics group.

Support for parallel computation via

`StartParallel()`

.Progress bars.

Solaris compatibility.

Modest vignette improvements.

spic/scic abbreviation recognition.

`ConsensusInfo()`

quickly calculates the splitwise information content of the consensus of a set of trees, after Smith (forthcoming).`SplitwiseInfo()`

and`ClusteringInfo()`

gain a`p`

parameter to reflect the reduced information content of splits with lower support values, and a`sum`

parameter to allow return of individual split information content.`KCDiameter()`

approximates the diameter of the Kendall-Colijn metric.`Plot3()`

(experimental) provides pseudo-3D plotting.

`Project()`

/`ProjectionQuality()`

re-named to`MapTrees()`

/`MappingQuality()`

.`SpectralClustering()`

re-named to`SpectralEigens()`

.

Add self-organizing map example to treespace vignette.

Allow the specification of custom vectors in the Kendall–Colijn metric.

Faster all-to-all tree distance calculation.

Diagnose and fix memory leaks, including over-long reported matchings.

Explicitly import shiny/shinyjs functions.

`Project()`

launches ‘shiny’ app for projection and analysis of tree space.`ProjectionQuality()`

calculates trustworthiness and continuity of tree space mappings.Faster calculation of Robinson–Foulds distance (using algorithm of Day (1985)) and clustering information distance.

New class

`ClusterTable`

to allow faster distance computation with Day (1985) algorithm.Improve error messages in

`CalculateTreeDist()`

.Improvements to vignettes.

Use package ‘vdiffr’ conditionally.

- Import RdMacros package ‘RdPack’.

`TreeDistance()`

and related functions now return a`dist`

object when computing all distances between all pairs of trees in a list.Improve floating-point arithmetic in

`TreeDistance()`

functions.`TreeDistance()`

now returns a distance (as documented), rather than a similarity.Fix rounding error in NNI ‘Li’ upper estimate, and improve NNI performance.

Reduce precision of LAPJV so rounding errors do not result in interminable run times.

- Fix range errors when calculating tree distances.

Improvements to

`NNIDist()`

in light of Fack*et al.*(2002).Add

`NNIDiameter()`

: approximate diameter of NNI distance.Remove vignette ‘Interpreting tree distances’: duplicates https://ms609.github.io/TreeDistData/articles/09-expected-similarity.html.

Remove redundant data object

`oneOverlap`

.Fix an issue when installing on R 3.x (require C++11 to ensure declaration of

`UINT_FAST16_MAX`

).Fix memory-handling bug in

`lapjv()`

.

- Initial release, building on some draft functions included in ‘TreeSearch’ 0.3.2.9005.