New methods and functions

Enhancements

  • Set random seed and increase tolerance to avoid false negatives on tests.

New methods and functions

Enhancements

New methods and functions

Improvements

Deprecations and breaking changes

New methods and functions

Improvements

  • Handle TipLabels(0) and BalancedTree(0).

  • Support zero-leaf trees in as.Splits() and duplicated.Splits().

  • Support non-identical tip labels in as.Splits().

  • Try Latin-1 encoding if ReadCharacters() family fail under UTF-8.

New methods and functions

  • TntOrder() renumbers a tree’s nodes to match TNT’s convention.

  • head() and tail() methods for Splits objects.

  • Set names of splits object with names(splits) <- ....

  • as.Splits() support character vectors in the form “…***“.

Improvements

  • RenumberTips() drops “preorder” attribute, as reordering tip labels may break edge ordering guarantee.

  • Native implementation of ClusterTable class.

  • Replace throw with stop in C++ scripts.

  • AddTip(): Fix bug when adding tip to root of weighted tree.

New methods and functions

  • rev.Splits() reverses order in which splits are listed.

  • KeepTip.Splits() is a faster alternative to SubSplit().

  • %in%.Splits() retains names when comparing small splits (#40).

  • sort.multiPhylo() sorts lists of trees according to their mixed base representation (#84).

  • Bitwise manipulation of splits with |, &, xor.

  • as.MixedBase() uniquely represents binary trees as a mixed-base vector.

  • PathLengths() describes all paths within a tree.

  • KeptVerts() and KeptPaths() identify elements in reduced trees.

  • PostorderOrder() describes a sequence of edges corresponding to a postorder traversal of a tree.

  • SpectrumLegend() adds gradients to plot legends.

Improvements

  • Improve handling of zero-split trees.

  • DropTip() no longer adds a root to unrooted trees, and retains edge lengths.

  • Improve speed of DropTip(), by an order of magnitude in some cases.

  • Support edge lengths in Preorder(), RootTree(), UnrootTree() and Postorder() (#49, #89).

  • Fix bug when tree is rooted on a discontinuous outgroup.

  • SortTree() handles weighted and non-binary trees (#25, #25), and gains option to sort by tip labels.

  • TipsInSplits(smallest = TRUE) counts tips in smaller bipartition.

  • Fix a bug with phyDat objects in ArtificialExtinction().

  • RenumberTips() allows tipOrder to contain elements not present in tree.

  • Use lighter Rcpp headers.

  • Small improvements to computational efficiency.

Deprecations

  • Remove deprecated function PostorderEdges() (#35).

New functions

Improvements

  • DropTip() gains check parameter to allow slightly faster operation where input is guaranteed to be valid.

  • RandomTree() gains nodes parameter allow the inclusion of polytomies.

  • Infer tips parameter if missing in StringToPhyDat().

  • Remove dependency on “phangorn” (allowing use on R < 4.1)

  • Improve parsing of information from nexus files.

  • Export DropTipPhylo() as wrapper to DropTip.phylo().

New functions

Improved functions

Optimization

  • Fast matching functions from “fastmatch”.

  • Improve efficiency of Preorder() and Postorder(), and lift limit on tree size.

  • Correct calculation of minimum value in TCIContext().
  • Extract tip labels from objects in StringToPhyDat().
  • Support AddTip(tree, where = "tip name").
  • SplitFrequency() supports four-leaf trees.
  • Add RootTree.matrix() method for edge matrices.
  • Add TipLabels.phyDat() method.
  • Add NULL methods for tree reordering functions.
  • Additions and improvements to text parsing functions.
  • MSTEdges() supports distance matrices with > 256 entries.
  • Package ‘vdiffr’ used conditionally.

New functions

  • MSTLength() reports length of minimum spanning tree.
  • AllTipLabels() returns all labels from all trees in a list.
  • PairwiseDistances() (from ‘TreeDistData’) computes distances between all pairs of trees in a list.
  • ArtificialExtinction() gains replaceAll option.
  • WriteTntCharacters(types = ...) writes different character types to TNT file.
  • Tree characterization S3 methods: add .default and .NULL.

Enhancements

  • MSTEdges() implemented in C++, improving runtime by orders of magnitude.
  • Improved parsing of TNT character files.
  • Improved parsing of TNT files.
  • Fix misspecified C++ linkage.

New functions

Enhancements

  • TNTReadTree() handles additional punctuation characters.

  • Import RdMacros package ‘Rdpack’.

  • C++ implementation of TipsInSplits().

  • Export C++ functions preorder_edges_and_nodes() and postorder_edges().

  • Remove obsolete copy of C++ code from ‘phangorn’.

New functions

Enhancements

New functions

Deprecations

Enhancements

  • Improve support for unrooted trees in as.Splits().
  • Use methods so Reorder functions can handle multiPhylo objects and edges.
  • Handle funny node orders.
  • Support continuous characters in ReadCharacters().
  • Improve performance of as.logical.Splits() and related functions.
  • Fail nicely when trees are too large for memory.
  • Fix memory leak in as.Splits().
  • Various under-the-hood improvements to functions.
  • Documentation improvements.
  • RootOnNode(): Quickly root a tree on a specified node.
  • Improve portability of C++ code.
  • as.Newick: Fast conversion to Newick format.
  • as.TreeNumber: Tree shape enumeration.
  • Add functions to translate trees to mixed base integers.
  • RenumberTips can extract tip order from phylo and Splits objects.
  • Documentation changes to satisfy CRAN submission requirements.
  • Pre-release version spun out of ‘TreeSearch’ package. Some functionality is subject to change.