{
  "_id": "6a2074e1cd65a98ecbd12c2b",
  "Package": "TreeTools",
  "Title": "Create, Modify and Analyse Phylogenetic Trees",
  "Version": "2.4.0.9000",
  "Authors@R": "c(\nperson(\"Martin R.\", 'Smith', role = c(\"aut\", \"cre\", \"cph\"),\nemail = \"martin.smith@durham.ac.uk\",\ncomment = c(ORCID = \"0000-0001-5660-1727\")),\nperson(given = \"Emmanuel\", family = \"Paradis\", role = c(\"cph\"),\ncomment = c(ORCID = \"0000-0003-3092-2199\", \"ape library\")),\nperson(given = \"Robert\", family = \"Noble\", role = c(\"cph\"),\ncomment = c(ORCID = \"0000-0002-8057-4252\", \"RUtreebalance\"))\n)",
  "License": "GPL (>= 3)",
  "Copyright": "Incorporates C/C++ code from 'ape' by Emmanuel Paradis\n<doi:10.1093/bioinformatics/bty633> and 'RUtreebalance' by\nRobert Noble <doi:10.5281/zenodo.5873857>.",
  "Description": "Efficient implementations of functions for the creation,\nmodification and analysis of phylogenetic trees. Applications\ninclude: generation of trees with specified shapes; tree\nrearrangement; analysis of tree shape; rooting of trees and\nextraction of subtrees; calculation and depiction of split\nsupport; plotting the position of rogue taxa (Klopfstein &\nSpasojevic 2019) <doi:10.1371/journal.pone.0212942>;\ncalculation of ancestor-descendant relationships, of\n'stemwardness' (Asher & Smith, 2022)\n<doi:10.1093/sysbio/syab072>, and of tree balance (Mir et al.\n2013, Lemant et al. 2022) <doi:10.1016/j.mbs.2012.10.005>,\n<doi:10.1093/sysbio/syac027>; artificial extinction (Asher &\nSmith, 2022) <doi:10.1093/sysbio/syab072>; import and export of\ntrees from Newick, Nexus (Maddison et al. 1997)\n<doi:10.1093/sysbio/46.4.590>, and TNT\n<https://www.lillo.org.ar/phylogeny/tnt/> formats; and analysis\nof splits and cladistic information.",
  "URL": "https://ms609.github.io/TreeTools/,\nhttps://github.com/ms609/TreeTools/",
  "BugReports": "https://github.com/ms609/TreeTools/issues/",
  "SystemRequirements": "C++17",
  "Config/Needs/benchmark": "bench, TreeDist",
  "Config/Needs/check": "rcmdcheck, testthat",
  "Config/Needs/coverage": "covr",
  "Config/Needs/memcheck": "pkgdown, testthat",
  "Config/Needs/metadata": "codemeta",
  "Config/Needs/revdeps": "revdepcheck",
  "Config/Needs/website": "pkgdown",
  "Config/roxygen2/version": "8.0.0",
  "Config/testthat/parallel": "false",
  "Config/testthat/edition": "3",
  "RdMacros": "Rdpack",
  "LazyData": "true",
  "ByteCompile": "true",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "VignetteBuilder": "knitr",
  "Roxygen": "list(markdown = TRUE)",
  "Repository": "https://ms609.r-universe.dev",
  "Date/Publication": "2026-06-03 15:03:58 UTC",
  "RemoteUrl": "https://github.com/ms609/treetools",
  "RemoteRef": "HEAD",
  "RemoteSha": "74dcf97658794766b3a6d01e83bee7e88058f86b",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-03 18:29:55 UTC",
    "User": "root"
  },
  "Author": "Martin R. Smith [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0001-5660-1727>),\nEmmanuel Paradis [cph] (ORCID: <https://orcid.org/0000-0003-3092-2199>,\nape library),\nRobert Noble [cph] (ORCID: <https://orcid.org/0000-0002-8057-4252>,\nRUtreebalance)",
  "Maintainer": "Martin R. Smith <martin.smith@durham.ac.uk>",
  "MD5sum": "bce11c36cc6d6c86cad225ac18330974",
  "_user": "ms609",
  "_type": "src",
  "_file": "TreeTools_2.4.0.9000.tar.gz",
  "_fileid": "6bdad96ac58b0852900fc28d427dbbdab125febaccfe67ff88f1c924f1a3aae7",
  "_filesize": 1664441,
  "_sha256": "6bdad96ac58b0852900fc28d427dbbdab125febaccfe67ff88f1c924f1a3aae7",
  "_created": "2026-06-03T18:29:55.000Z",
  "_published": "2026-06-03T18:39:29.357Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79367194184,
      "time": 244,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7393492589"
    },
    {
      "job": 79367194238,
      "time": 197,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7393474697"
    },
    {
      "job": 79367194209,
      "time": 218,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7393483099"
    },
    {
      "job": 79367194323,
      "time": 223,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7393484449"
    },
    {
      "job": 79367194235,
      "time": 154,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7393461626"
    },
    {
      "job": 79367194304,
      "time": 490,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7393582886"
    },
    {
      "job": 79367194189,
      "time": 150,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7393463629"
    },
    {
      "job": 79367194283,
      "time": 393,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7393549529"
    },
    {
      "job": 79366196922,
      "time": 303,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7393398623"
    },
    {
      "job": 79367194148,
      "time": 150,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7393456670"
    },
    {
      "job": 79367194335,
      "time": 330,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7393522215"
    },
    {
      "job": 79367194210,
      "time": 329,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7393522353"
    },
    {
      "job": 79367194320,
      "time": 281,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7393505276"
    }
  ],
  "_buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/ms609/treetools",
  "_commit": {
    "id": "74dcf97658794766b3a6d01e83bee7e88058f86b",
    "author": "Martin R. Smith <1695515+ms609@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Faster majority consensus & RenumberTips; Jansson evaluated (not implemented) (#274)\n\n* Defer split materialisation in hashed consensus counter\n\nMajority/threshold Consensus() and SplitFrequency() built every distinct split's packed bit pattern eagerly on first sighting. At high tip counts most distinct splits never reach the consensus threshold, so that work was wasted. Each distinct split now keeps a 12-byte (tree, L, R) witness; the pattern is materialised only for splits that survive thresholding (consensus) or for all splits (SplitFrequency).\n\nResults are unchanged: split sets/counts identical to the deterministic exact path, verified at n up to 5000 (dev/profiling/correctness-gate.R, 590 checks; test-consensus 8/8; test-Support 6/6). Up to ~13x faster for large/tall trees, median 1.23x, no change at small sizes.\n\nAdds dev/profiling/ harness (correctness gate, benchmark grid, Jansson lower-bound analysis + DECISION.md explaining why the full deterministic Jansson algorithm is not implemented).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* Relabel unlabelled forests in C++ in RenumberTips()\n\nRenumberTips() on an unlabelled multiPhylo or list previously relabelled each tree with a separate R call (RenumberTips.phylo per element). It now relabels the whole forest in a single C++ pass (renumber_tips_to), deriving each tree's permutation from one hash of the target labels, with a no-op pass-through for trees already in target order.\n\nThe C++ helper returns NULL to fall back to the existing per-tree R path for anything it would not handle identically: numeric tipOrder (per-tree target), a label set differing from the target (different length, unknown/NA label, or non-bijection), duplicate/NA target labels, or non-phylo list elements. List names are preserved. Results are unchanged.\n\n1.8-9x faster (9x at high-k/low-n: 5000 trees of 30 tips, 0.335s -> 0.037s); Consensus() and every other RenumberTips() caller share the win. Full test suite green; new equi",
    "time": 1780499038
  },
  "_maintainer": {
    "name": "Martin R. Smith",
    "email": "martin.smith@durham.ac.uk",
    "login": "ms609",
    "bluesky": "@palaeosmith.bsky.social",
    "orcid": "0000-0001-5660-1727",
    "description": "Professor in palaeontology, interested in phylogenetic methods ",
    "uuid": 1695515
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.6.0",
      "role": "Depends"
    },
    {
      "package": "ape",
      "version": ">= 5.6",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "bit64",
      "role": "Imports"
    },
    {
      "package": "fastmatch",
      "version": ">= 1.1.3",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "PlotTools",
      "role": "Imports"
    },
    {
      "package": "Rdpack",
      "version": ">= 2.6.6",
      "role": "Imports"
    },
    {
      "package": "RCurl",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "phangorn",
      "version": ">= 2.2.1",
      "role": "Suggests"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.8",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0",
      "role": "Suggests"
    },
    {
      "package": "TreeDist",
      "role": "Suggests"
    },
    {
      "package": "TreeSearch",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "version": ">= 1.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "ms609",
  "_selfowned": true,
  "_usedby": 23,
  "_updates": [
    {
      "week": "2025-23",
      "n": 1
    },
    {
      "week": "2025-25",
      "n": 4
    },
    {
      "week": "2025-26",
      "n": 3
    },
    {
      "week": "2025-28",
      "n": 16
    },
    {
      "week": "2025-29",
      "n": 11
    },
    {
      "week": "2025-31",
      "n": 54
    },
    {
      "week": "2025-32",
      "n": 43
    },
    {
      "week": "2025-34",
      "n": 45
    },
    {
      "week": "2025-35",
      "n": 10
    },
    {
      "week": "2025-36",
      "n": 11
    },
    {
      "week": "2025-37",
      "n": 20
    },
    {
      "week": "2025-38",
      "n": 34
    },
    {
      "week": "2025-39",
      "n": 13
    },
    {
      "week": "2025-40",
      "n": 5
    },
    {
      "week": "2025-45",
      "n": 4
    },
    {
      "week": "2025-47",
      "n": 4
    },
    {
      "week": "2025-48",
      "n": 2
    },
    {
      "week": "2025-51",
      "n": 2
    },
    {
      "week": "2026-02",
      "n": 4
    },
    {
      "week": "2026-05",
      "n": 1
    },
    {
      "week": "2026-06",
      "n": 25
    },
    {
      "week": "2026-07",
      "n": 14
    },
    {
      "week": "2026-08",
      "n": 7
    },
    {
      "week": "2026-10",
      "n": 4
    },
    {
      "week": "2026-11",
      "n": 10
    },
    {
      "week": "2026-12",
      "n": 16
    },
    {
      "week": "2026-13",
      "n": 2
    },
    {
      "week": "2026-14",
      "n": 3
    },
    {
      "week": "2026-17",
      "n": 5
    },
    {
      "week": "2026-19",
      "n": 2
    },
    {
      "week": "2026-20",
      "n": 9
    },
    {
      "week": "2026-21",
      "n": 5
    },
    {
      "week": "2026-22",
      "n": 1
    },
    {
      "week": "2026-23",
      "n": 15
    }
  ],
  "_tags": [
    {
      "name": "1.15.0",
      "date": "2025-07-18"
    },
    {
      "name": "1.16.0",
      "date": "2025-08-22"
    },
    {
      "name": "1.16.1",
      "date": "2025-08-24"
    },
    {
      "name": "2.0.0",
      "date": "2025-09-23"
    },
    {
      "name": "2.1.0",
      "date": "2026-02-10"
    },
    {
      "name": "2.2.0",
      "date": "2026-03-19"
    },
    {
      "name": "2.3.0",
      "date": "2026-04-22"
    },
    {
      "name": "2.4.0",
      "date": "2026-06-02"
    }
  ],
  "_topics": [
    "cladistics",
    "evolutionary-biology",
    "phylogenetic-trees",
    "phylogenetics",
    "cpp"
  ],
  "_stars": 24,
  "_contributors": [
    {
      "user": "ms609",
      "count": 888,
      "uuid": 1695515
    },
    {
      "user": "copilot",
      "count": 14,
      "uuid": 198982749
    },
    {
      "user": "hadley",
      "count": 1,
      "uuid": 4196
    }
  ],
  "_userbio": {
    "uuid": 1695515,
    "type": "user",
    "name": "Martin R. Smith",
    "description": "Professor in palaeontology, interested in phylogenetic methods "
  },
  "_downloads": {
    "count": 4066,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/TreeTools"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/ms609/treetools",
  "_pkgdown": "https://ms609.github.io/TreeTools/",
  "_searchresults": 214,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/TreeTools.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/ms609/treetools",
  "_realowner": "ms609",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.2",
      "date": "2019-12-18"
    },
    {
      "version": "0.1.3",
      "date": "2019-12-19"
    },
    {
      "version": "0.1.4",
      "date": "2020-03-04"
    },
    {
      "version": "1.0.0",
      "date": "2020-06-08"
    },
    {
      "version": "1.1.0",
      "date": "2020-07-07"
    },
    {
      "version": "1.2.0",
      "date": "2020-08-03"
    },
    {
      "version": "1.3.0",
      "date": "2020-09-22"
    },
    {
      "version": "1.3.1",
      "date": "2020-10-03"
    },
    {
      "version": "1.4.0",
      "date": "2020-10-19"
    },
    {
      "version": "1.4.1",
      "date": "2020-12-09"
    },
    {
      "version": "1.4.2",
      "date": "2021-01-26"
    },
    {
      "version": "1.4.3",
      "date": "2021-04-12"
    },
    {
      "version": "1.4.4",
      "date": "2021-04-20"
    },
    {
      "version": "1.4.5",
      "date": "2021-06-23"
    },
    {
      "version": "1.5.0",
      "date": "2021-09-08"
    },
    {
      "version": "1.5.1",
      "date": "2021-10-06"
    },
    {
      "version": "1.6.0",
      "date": "2022-01-12"
    },
    {
      "version": "1.7.0",
      "date": "2022-03-21"
    },
    {
      "version": "1.7.1",
      "date": "2022-03-25"
    },
    {
      "version": "1.7.2",
      "date": "2022-05-24"
    },
    {
      "version": "1.7.3",
      "date": "2022-07-20"
    },
    {
      "version": "1.8.0",
      "date": "2022-09-15"
    },
    {
      "version": "1.9.0",
      "date": "2022-11-28"
    },
    {
      "version": "1.9.1",
      "date": "2023-03-20"
    },
    {
      "version": "1.9.2",
      "date": "2023-04-27"
    },
    {
      "version": "1.10.0",
      "date": "2023-08-19"
    },
    {
      "version": "1.11.0",
      "date": "2024-06-05"
    },
    {
      "version": "1.11.1",
      "date": "2024-06-07"
    },
    {
      "version": "1.12.0",
      "date": "2024-07-25"
    },
    {
      "version": "1.13.0",
      "date": "2025-01-10"
    },
    {
      "version": "1.13.1",
      "date": "2025-04-07"
    },
    {
      "version": "1.14.0",
      "date": "2025-05-13"
    },
    {
      "version": "1.15.0",
      "date": "2025-07-21"
    },
    {
      "version": "1.16.0",
      "date": "2025-08-22"
    },
    {
      "version": "1.16.1",
      "date": "2025-08-24"
    },
    {
      "version": "2.0.0",
      "date": "2025-09-23"
    },
    {
      "version": "2.1.0",
      "date": "2026-02-16"
    },
    {
      "version": "2.2.0",
      "date": "2026-03-20"
    },
    {
      "version": "2.3.0",
      "date": "2026-04-23"
    },
    {
      "version": "2.4.0",
      "date": "2026-06-02"
    }
  ],
  "_exports": [
    ".CompatibleRaws",
    ".CompatibleSplit",
    ".RandomParent",
    ".UnrootedKeys",
    "%in%",
    "AddTip",
    "AddTipEverywhere",
    "AddUnconstrained",
    "AllAncestors",
    "AllTipLabels",
    "AncestorEdge",
    "ApePostorder",
    "ApeTime",
    "ArtEx",
    "ArtificialExtinction",
    "as.ClusterTable",
    "as.MixedBase",
    "as.multiPhylo",
    "as.Newick",
    "as.Splits",
    "as.TreeNumber",
    "BalancedTree",
    "CharacterInformation",
    "Cherries",
    "CladeSizes",
    "Cladewise",
    "CladisticInfo",
    "CladisticInformation",
    "CollapseEdge",
    "CollapseNode",
    "CompatibleSplits",
    "Consensus",
    "ConsensusWithout",
    "ConstrainedNJ",
    "Decompose",
    "DescendantEdges",
    "DescendantTips",
    "DoubleFactorial",
    "DoubleFactorial64",
    "doubleFactorials",
    "DropTip",
    "DropTipPhylo",
    "edge_to_splits",
    "EdgeAncestry",
    "EdgeDistances",
    "EdgeRatio",
    "EndSentence",
    "ExtractTaxa",
    "FirstMatchingSplit",
    "Hamming",
    "IC1Spr",
    "ImposeConstraint",
    "is.TreeNumber",
    "J1Index",
    "JQIndex",
    "KeepTip",
    "KeepTipPostorder",
    "KeepTipPreorder",
    "KeptPaths",
    "KeptVerts",
    "LabelSplits",
    "LeafLabelInterchange",
    "ListAncestors",
    "LnDoubleFactorial",
    "LnDoubleFactorial.int",
    "LnRooted",
    "LnRooted.int",
    "LnSplitMatchProbability",
    "LnTreesMatchingSplit",
    "LnTreesMatchingTree",
    "LnUnrooted",
    "LnUnrooted.int",
    "LnUnrootedMult",
    "LnUnrootedSplits",
    "LnUnrootedTreesMatchingSplit",
    "Log2DoubleFactorial",
    "Log2Rooted",
    "Log2Rooted.int",
    "Log2TreesMatchingSplit",
    "Log2TreesMatchingTree",
    "Log2Unrooted",
    "Log2Unrooted.int",
    "Log2UnrootedMult",
    "Log2UnrootedSplits",
    "Log2UnrootedTreesMatchingSplit",
    "LogDoubleFactorial",
    "LogDoubleFactorial.int",
    "logDoubleFactorials",
    "LongBranch",
    "MakeTreeBinary",
    "MarkMissing",
    "match",
    "MatchEdges",
    "MatchNodes",
    "MatchStrings",
    "MatrixToPhyDat",
    "MorphoBankDecode",
    "MrBayesTrees",
    "MRCA",
    "MSTEdges",
    "MSTLength",
    "MultiSplitInformation",
    "N1Spr",
    "NDescendants",
    "NewickTree",
    "NeworderPhylo",
    "NeworderPruningwise",
    "NexusTokens",
    "NexusTokensToInteger",
    "NJTree",
    "NodeDepth",
    "NodeNumbers",
    "NodeOrder",
    "NPartitionPairs",
    "NPartitions",
    "NRooted",
    "NRooted64",
    "NRootedShapes",
    "NSplits",
    "NTip",
    "NUnrooted",
    "NUnrooted64",
    "NUnrootedMult",
    "NUnrootedShapes",
    "NUnrootedSplits",
    "PaintTree",
    "PairwiseDistances",
    "PathLengths",
    "PectinateTree",
    "PhyDat",
    "PhyDatToMatrix",
    "PhydatToString",
    "PhyDatToString",
    "PhyToString",
    "PolarizeSplits",
    "Postorder",
    "PostorderOrder",
    "Preorder",
    "Pruningwise",
    "RandomTree",
    "ReadAsPhyDat",
    "ReadCharacters",
    "ReadMrBayes",
    "ReadMrBayesTrees",
    "ReadNotes",
    "ReadTntAsPhyDat",
    "ReadTNTAsPhyDat",
    "ReadTntCharacters",
    "ReadTNTCharacters",
    "ReadTntTree",
    "Renumber",
    "RenumberEdges",
    "RenumberTips",
    "RenumberTree",
    "replicate64",
    "Reweight",
    "RightmostCharacter",
    "RoguePlot",
    "root_on_node",
    "RootedTreeShape",
    "RootedTreeWithShape",
    "RootNode",
    "RootNodeDist",
    "RootNodeDistance",
    "RootOnNode",
    "RootTree",
    "SampleOne",
    "sapply64",
    "SingleTaxonTree",
    "SisterSize",
    "SortTree",
    "SplitConflicts",
    "SplitConsistent",
    "SplitFrequency",
    "SplitImbalance",
    "SplitInformation",
    "SplitMatchProbability",
    "SplitsInBinaryTree",
    "StarTree",
    "Stemminess",
    "StringToPhyDat",
    "Subsplit",
    "Subtree",
    "SupportColor",
    "SupportColour",
    "TCIContext",
    "TipLabels",
    "TipsInSplits",
    "TipTimedTree",
    "TntOrder",
    "TNTOrder",
    "TntText2Tree",
    "TNTText2Tree",
    "TopologyOnly",
    "TotalCopheneticIndex",
    "TreeIsRooted",
    "Treeness",
    "TreesMatchingSplit",
    "TreesMatchingTree",
    "TrivialSplits",
    "Unquote",
    "UnrootedKeys",
    "UnrootedTreeKey",
    "UnrootedTreeShape",
    "UnrootedTreesMatchingSplit",
    "UnrootedTreeWithKey",
    "UnrootedTreeWithShape",
    "UnrootTree",
    "UnshiftTree",
    "vapply64",
    "WithoutTrivialSplits",
    "WriteTntCharacters",
    "xor",
    "YuleTree",
    "ZeroTaxonTree"
  ],
  "_datasets": [
    {
      "name": "brewer",
      "title": "Brewer palettes",
      "object": "brewer",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "Lobo.data",
      "title": "Data from Zhang et al. 2016",
      "object": "Lobo",
      "class": [
        "list"
      ],
      "fields": [],
      "table": true,
      "tojson": true
    },
    {
      "name": "Lobo.phy",
      "title": "Data from Zhang et al. 2016",
      "object": "Lobo",
      "class": [
        "phyDat"
      ],
      "fields": [],
      "table": true,
      "tojson": false
    },
    {
      "name": "nRootedShapes",
      "title": "Number of rooted / unrooted tree shapes",
      "object": "nRootedShapes",
      "class": [
        "integer64"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "nUnrootedShapes",
      "title": "Number of rooted / unrooted tree shapes",
      "object": "nUnrootedShapes",
      "class": [
        "integer64"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "unrootedKeys",
      "title": "Integer representing shape of a tree",
      "object": "unrootedKeys",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "AddTip",
      "title": "Add a tip to a phylogenetic tree",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "AddTip",
        "AddTipEverywhere"
      ]
    },
    {
      "page": "ApeTime",
      "title": "Read modification time from \"ape\" Nexus file",
      "topics": [
        "ApeTime"
      ]
    },
    {
      "page": "ArtificialExtinction",
      "title": "Artificial Extinction",
      "topics": [
        "ArtEx",
        "ArtificialExtinction",
        "ArtificialExtinction.matrix",
        "ArtificialExtinction.phyDat"
      ]
    },
    {
      "page": "as.multiPhylo",
      "title": "Convert object to 'multiPhylo' class",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "as.multiPhylo",
        "as.multiPhylo.list",
        "as.multiPhylo.phyDat",
        "as.multiPhylo.phylo",
        "as.multiPhylo.Splits"
      ]
    },
    {
      "page": "as.Newick",
      "title": "Write a phylogenetic tree in Newick format",
      "topics": [
        "as.Newick",
        "as.Newick.list",
        "as.Newick.multiPhylo",
        "as.Newick.phylo"
      ]
    },
    {
      "page": "brewer",
      "title": "Brewer palettes",
      "topics": [
        "brewer"
      ]
    },
    {
      "page": "CharacterInformation",
      "title": "Character information content",
      "concept": [
        "split information functions"
      ],
      "topics": [
        "CharacterInformation"
      ]
    },
    {
      "page": "Cherries",
      "title": "Count cherries in a tree",
      "concept": [
        "tree properties"
      ],
      "topics": [
        "Cherries",
        "Cherries.numeric",
        "Cherries.phylo"
      ]
    },
    {
      "page": "CladeSizes",
      "title": "Clade sizes",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "CladeSizes"
      ]
    },
    {
      "page": "CladisticInfo",
      "title": "Cladistic information content of a tree",
      "concept": [
        "tree characterization functions",
        "tree information functions"
      ],
      "topics": [
        "CladisticInfo",
        "CladisticInfo.list",
        "CladisticInfo.multiPhylo",
        "CladisticInfo.phylo",
        "CladisticInfo.Splits",
        "CladisticInformation"
      ]
    },
    {
      "page": "ClusterTable",
      "title": "Convert phylogenetic tree to 'ClusterTable'",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "as.ClusterTable",
        "as.ClusterTable.list",
        "as.ClusterTable.multiPhylo",
        "as.ClusterTable.phylo",
        "ClusterTable"
      ]
    },
    {
      "page": "ClusterTable-methods",
      "title": "S3 methods for 'ClusterTable' objects",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "as.matrix.ClusterTable",
        "ClusterTable-methods",
        "print.ClusterTable",
        "summary.ClusterTable"
      ]
    },
    {
      "page": "CollapseNode",
      "title": "Collapse nodes on a phylogenetic tree",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "CollapseEdge",
        "CollapseNode",
        "CollapseNode.phylo"
      ]
    },
    {
      "page": "Consensus",
      "title": "Construct consensus trees",
      "concept": [
        "consensus tree functions",
        "tree characterization functions"
      ],
      "topics": [
        "Consensus"
      ]
    },
    {
      "page": "ConsensusWithout",
      "title": "Reduced consensus, omitting specified taxa",
      "concept": [
        "consensus tree functions",
        "tree manipulation",
        "tree properties"
      ],
      "topics": [
        "ConsensusWithout",
        "ConsensusWithout.list",
        "ConsensusWithout.multiPhylo",
        "ConsensusWithout.phylo",
        "MarkMissing"
      ]
    },
    {
      "page": "ConstrainedNJ",
      "title": "Constrained neighbour-joining tree",
      "concept": [
        "tree generation functions"
      ],
      "topics": [
        "ConstrainedNJ"
      ]
    },
    {
      "page": "Decompose",
      "title": "Decompose additive (ordered) phylogenetic characters",
      "concept": [
        "phylogenetic matrix conversion functions"
      ],
      "topics": [
        "Decompose"
      ]
    },
    {
      "page": "DescendantEdges",
      "title": "Identify descendant edges",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "DescendantEdges",
        "DescendantTips"
      ]
    },
    {
      "page": "DoubleFactorial",
      "title": "Double factorial",
      "concept": [
        "double factorials"
      ],
      "topics": [
        "DoubleFactorial",
        "DoubleFactorial64",
        "LnDoubleFactorial",
        "LnDoubleFactorial.int",
        "Log2DoubleFactorial",
        "LogDoubleFactorial",
        "LogDoubleFactorial.int"
      ]
    },
    {
      "page": "doubleFactorials",
      "title": "Double factorials",
      "concept": [
        "double factorials"
      ],
      "topics": [
        "doubleFactorials"
      ]
    },
    {
      "page": "DropTip",
      "title": "Drop leaves from tree",
      "concept": [
        "split manipulation functions",
        "tree manipulation"
      ],
      "topics": [
        "DropTip",
        "DropTip.list",
        "DropTip.multiPhylo",
        "DropTip.NULL",
        "DropTip.phylo",
        "DropTip.Splits",
        "DropTipPhylo",
        "KeepTip",
        "KeepTip.list",
        "KeepTip.multiPhylo",
        "KeepTip.NULL",
        "KeepTip.phylo",
        "KeepTip.Splits",
        "KeepTipPostorder",
        "KeepTipPreorder"
      ]
    },
    {
      "page": "edge_to_splits",
      "title": "Efficiently convert edge matrix to splits",
      "concept": [
        "C++ wrappers"
      ],
      "topics": [
        "edge_to_splits"
      ]
    },
    {
      "page": "EdgeAncestry",
      "title": "Ancestors of an edge",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "EdgeAncestry"
      ]
    },
    {
      "page": "EdgeDistances",
      "title": "Distance between edges",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "EdgeDistances"
      ]
    },
    {
      "page": "EdgeRatio",
      "title": "Ratio of external:internal edge length",
      "concept": [
        "tree properties"
      ],
      "topics": [
        "EdgeRatio",
        "EdgeRatio.phylo"
      ]
    },
    {
      "page": "EndSentence",
      "title": "Add full stop to end of a sentence",
      "concept": [
        "string parsing functions"
      ],
      "topics": [
        "EndSentence"
      ]
    },
    {
      "page": "GenerateTree",
      "title": "Generate pectinate, balanced or random trees",
      "concept": [
        "tree generation functions"
      ],
      "topics": [
        "BalancedTree",
        "GenerateTree",
        "PectinateTree",
        "RandomTree",
        "StarTree",
        "YuleTree"
      ]
    },
    {
      "page": "Hamming",
      "title": "Hamming distance between taxa in a phylogenetic dataset",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "Hamming"
      ]
    },
    {
      "page": "ImposeConstraint",
      "title": "Force a tree to match a constraint",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "AddUnconstrained",
        "ImposeConstraint"
      ]
    },
    {
      "page": "is.TreeNumber",
      "title": "Is an object a 'TreeNumber' object?",
      "concept": [
        "'TreeNumber' utilities"
      ],
      "topics": [
        "is.TreeNumber"
      ]
    },
    {
      "page": "J1Index",
      "title": "Robust universal tree balance index",
      "concept": [
        "tree characterization functions"
      ],
      "topics": [
        "J1Index",
        "JQIndex"
      ]
    },
    {
      "page": "KeptPaths",
      "title": "Paths present in reduced tree",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "KeptPaths",
        "KeptPaths.data.frame",
        "KeptPaths.matrix"
      ]
    },
    {
      "page": "KeptVerts",
      "title": "Identify vertices retained when leaves are dropped",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "KeptVerts",
        "KeptVerts.numeric",
        "KeptVerts.phylo"
      ]
    },
    {
      "page": "LabelSplits",
      "title": "Label splits",
      "concept": [
        "Splits operations"
      ],
      "topics": [
        "LabelSplits"
      ]
    },
    {
      "page": "LeafLabelInterchange",
      "title": "Leaf label interchange",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "LeafLabelInterchange"
      ]
    },
    {
      "page": "ListAncestors",
      "title": "List ancestors",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "AllAncestors",
        "ListAncestors"
      ]
    },
    {
      "page": "Lobo.data",
      "title": "Data from Zhang et al. 2016",
      "topics": [
        "Lobo.data",
        "Lobo.phy"
      ]
    },
    {
      "page": "logDoubleFactorials",
      "title": "Natural logarithms of double factorials",
      "concept": [
        "double factorials"
      ],
      "topics": [
        "logDoubleFactorials"
      ]
    },
    {
      "page": "LongBranch",
      "title": "Identify taxa with long branches",
      "concept": [
        "tree properties"
      ],
      "topics": [
        "LongBranch"
      ]
    },
    {
      "page": "MakeTreeBinary",
      "title": "Generate binary tree by collapsing polytomies",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "MakeTreeBinary"
      ]
    },
    {
      "page": "match.multiPhylo",
      "title": "Tree matching",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "%in%,multiPhylo,multiPhylo-method",
        "%in%,multiPhylo,phylo-method",
        "%in%,phylo,multiPhylo-method",
        "%in%,phylo,phylo-method",
        "match,multiPhylo,multiPhylo-method",
        "match,multiPhylo,phylo-method",
        "match,phylo,multiPhylo-method",
        "match,phylo,phylo-method"
      ]
    },
    {
      "page": "match.Splits",
      "title": "Split matching",
      "concept": [
        "Splits operations"
      ],
      "topics": [
        "%in%,Splits,Splits-method",
        "FirstMatchingSplit",
        "match",
        "match,Splits,Splits-method"
      ]
    },
    {
      "page": "MatchEdges",
      "title": "Match nodes and edges between trees",
      "concept": [
        "tree navigation",
        "tree properties"
      ],
      "topics": [
        "MatchEdges",
        "MatchNodes"
      ]
    },
    {
      "page": "MatchStrings",
      "title": "Check for mismatch between character vectors",
      "concept": [
        "string parsing functions"
      ],
      "topics": [
        "MatchStrings"
      ]
    },
    {
      "page": "MatrixToPhyDat",
      "title": "Convert between matrices and 'phyDat' objects",
      "concept": [
        "phylogenetic matrix conversion functions"
      ],
      "topics": [
        "MatrixToPhyDat",
        "PhyDatToMatrix"
      ]
    },
    {
      "page": "MorphoBankDecode",
      "title": "Decode MorphoBank text",
      "concept": [
        "string parsing functions"
      ],
      "topics": [
        "MorphoBankDecode"
      ]
    },
    {
      "page": "MRCA",
      "title": "Most recent common ancestor",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "MRCA"
      ]
    },
    {
      "page": "MSTEdges",
      "title": "Minimum spanning tree",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "MSTEdges",
        "MSTLength"
      ]
    },
    {
      "page": "N1Spr",
      "title": "Number of trees one SPR step away",
      "topics": [
        "IC1Spr",
        "N1Spr"
      ]
    },
    {
      "page": "NDescendants",
      "title": "Count descendants for each node in a tree",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "NDescendants"
      ]
    },
    {
      "page": "NewickTree",
      "title": "Write Newick Tree",
      "topics": [
        "NewickTree"
      ]
    },
    {
      "page": "NexusTokensToInteger",
      "title": "Convert Nexus token matrix to integer",
      "concept": [
        "phylogenetic matrix conversion functions"
      ],
      "topics": [
        "NexusTokensToInteger"
      ]
    },
    {
      "page": "NJTree",
      "title": "Generate a neighbour joining tree",
      "concept": [
        "tree generation functions"
      ],
      "topics": [
        "NJTree"
      ]
    },
    {
      "page": "NodeDepth",
      "title": "Distance of each node from tree exterior",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "NodeDepth"
      ]
    },
    {
      "page": "NodeNumbers",
      "title": "Numeric index of each node in a tree 'NodeNumbers()' returns a sequence corresponding to the nodes in a tree",
      "concept": [
        "tree navigation",
        "tree properties"
      ],
      "topics": [
        "NodeNumbers"
      ]
    },
    {
      "page": "NodeOrder",
      "title": "Number of edges incident to each node in a tree",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "NodeOrder"
      ]
    },
    {
      "page": "NPartitionPairs",
      "title": "Distributions of tips consistent with a partition pair",
      "topics": [
        "NPartitionPairs"
      ]
    },
    {
      "page": "NRooted",
      "title": "Number of trees",
      "concept": [
        "split information function",
        "tree information functions"
      ],
      "topics": [
        "LnRooted",
        "LnRooted.int",
        "LnUnrooted",
        "LnUnrooted.int",
        "LnUnrootedMult",
        "LnUnrootedSplits",
        "Log2Rooted",
        "Log2Rooted.int",
        "Log2Unrooted",
        "Log2Unrooted.int",
        "Log2UnrootedMult",
        "Log2UnrootedSplits",
        "NRooted",
        "NRooted64",
        "NUnrooted",
        "NUnrooted64",
        "NUnrootedMult",
        "NUnrootedSplits"
      ]
    },
    {
      "page": "nRootedShapes",
      "title": "Number of rooted / unrooted tree shapes",
      "topics": [
        "nRootedShapes",
        "nUnrootedShapes"
      ]
    },
    {
      "page": "NSplits",
      "title": "Number of distinct splits",
      "concept": [
        "Splits operations",
        "tree properties"
      ],
      "topics": [
        "NPartitions",
        "NSplits",
        "NSplits.character",
        "NSplits.ClusterTable",
        "NSplits.list",
        "NSplits.multiPhylo",
        "NSplits.NULL",
        "NSplits.numeric",
        "NSplits.phylo",
        "NSplits.Splits"
      ]
    },
    {
      "page": "NTip",
      "title": "Number of leaves in a phylogenetic tree",
      "concept": [
        "Splits operations",
        "tree properties"
      ],
      "topics": [
        "NTip",
        "NTip.default",
        "NTip.list",
        "NTip.matrix",
        "NTip.multiPhylo",
        "NTip.phyDat",
        "NTip.phylo",
        "NTip.Splits"
      ]
    },
    {
      "page": "PaintTree",
      "title": "Colour a tree by topology",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "PaintTree"
      ]
    },
    {
      "page": "PairwiseDistances",
      "title": "Distances between each pair of trees",
      "concept": [
        "pairwise tree distances"
      ],
      "topics": [
        "PairwiseDistances"
      ]
    },
    {
      "page": "PathLengths",
      "title": "Calculate length of paths between each pair of vertices within tree",
      "concept": [
        "tree properties"
      ],
      "topics": [
        "PathLengths"
      ]
    },
    {
      "page": "PolarizeSplits",
      "title": "Polarize splits on a single taxon",
      "concept": [
        "Splits operations"
      ],
      "topics": [
        "PolarizeSplits"
      ]
    },
    {
      "page": "print.TreeNumber",
      "title": "Print 'TreeNumber' object",
      "concept": [
        "'TreeNumber' utilities"
      ],
      "topics": [
        "print.TreeNumber"
      ]
    },
    {
      "page": "ReadCharacters",
      "title": "Read phylogenetic characters from file",
      "topics": [
        "PhyDat",
        "ReadAsPhyDat",
        "ReadCharacters",
        "ReadNotes",
        "ReadTNTAsPhyDat",
        "ReadTntAsPhyDat",
        "ReadTNTCharacters",
        "ReadTntCharacters"
      ]
    },
    {
      "page": "ReadMrBayesTrees",
      "title": "Read posterior tree sample produced by MrBayes",
      "concept": [
        "tree import functions"
      ],
      "topics": [
        "MrBayesTrees",
        "ReadMrBayes",
        "ReadMrBayesTrees"
      ]
    },
    {
      "page": "ReadTntTree",
      "title": "Parse TNT Tree",
      "concept": [
        "tree import functions"
      ],
      "topics": [
        "ReadTntTree",
        "TNTText2Tree",
        "TntText2Tree"
      ]
    },
    {
      "page": "Renumber",
      "title": "Renumber a tree's nodes and tips",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "Renumber"
      ]
    },
    {
      "page": "RenumberTips",
      "title": "Renumber a tree's tips",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "RenumberTips",
        "RenumberTips.list",
        "RenumberTips.multiPhylo",
        "RenumberTips.NULL",
        "RenumberTips.phylo",
        "RenumberTips.Splits"
      ]
    },
    {
      "page": "Reweight",
      "title": "Re-weight phylogenetic characters",
      "concept": [
        "phylogenetic matrix conversion functions"
      ],
      "topics": [
        "Reweight"
      ]
    },
    {
      "page": "RightmostCharacter",
      "title": "Rightmost character of string",
      "concept": [
        "string parsing functions"
      ],
      "topics": [
        "RightmostCharacter"
      ]
    },
    {
      "page": "RoguePlot",
      "title": "Visualize position of rogue taxa",
      "concept": [
        "consensus tree functions"
      ],
      "topics": [
        "RoguePlot"
      ]
    },
    {
      "page": "RootNode",
      "title": "Which node is a tree's root?",
      "concept": [
        "tree navigation"
      ],
      "topics": [
        "RootNode"
      ]
    },
    {
      "page": "RootTree",
      "title": "Root or unroot a phylogenetic tree",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "RootOnNode",
        "RootTree",
        "UnrootTree"
      ]
    },
    {
      "page": "SampleOne",
      "title": "Select element at random",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "SampleOne"
      ]
    },
    {
      "page": "sapply64",
      "title": "Apply a function that returns 64-bit integers over a list or vector",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "replicate64",
        "sapply64",
        "vapply64"
      ]
    },
    {
      "page": "sort.multiPhylo",
      "title": "Sort a list of phylogenetic trees",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "<.MixedBase",
        "<.phylo",
        "==.MixedBase",
        "==.phylo",
        ">.MixedBase",
        ">.phylo",
        "sort.multiPhylo"
      ]
    },
    {
      "page": "SortTree",
      "title": "Sort tree",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "SortTree",
        "SortTree.list",
        "SortTree.multiPhylo",
        "SortTree.phylo"
      ]
    },
    {
      "page": "SplitConsistent",
      "title": "Identify consistent / conflicting splits",
      "concept": [
        "split manipulation functions"
      ],
      "topics": [
        "SplitConflicts",
        "SplitConsistent"
      ]
    },
    {
      "page": "SplitFrequency",
      "title": "Frequency of splits",
      "concept": [
        "Splits operations"
      ],
      "topics": [
        "SplitFrequency"
      ]
    },
    {
      "page": "SplitInformation",
      "title": "Phylogenetic information content of splitting leaves into two partitions",
      "concept": [
        "split information functions"
      ],
      "topics": [
        "MultiSplitInformation",
        "SplitInformation",
        "SplitInformation.numeric",
        "SplitInformation.phylo",
        "SplitInformation.Splits"
      ]
    },
    {
      "page": "SplitMatchProbability",
      "title": "Probability of matching this well",
      "concept": [
        "split information functions"
      ],
      "topics": [
        "LnSplitMatchProbability",
        "SplitMatchProbability"
      ]
    },
    {
      "page": "Splits",
      "title": "Convert object to 'Splits'",
      "concept": [
        "Splits operations"
      ],
      "topics": [
        "as.logical.Splits",
        "as.Splits",
        "as.Splits.character",
        "as.Splits.integer",
        "as.Splits.list",
        "as.Splits.logical",
        "as.Splits.matrix",
        "as.Splits.multiPhylo",
        "as.Splits.numeric",
        "as.Splits.phylo",
        "as.Splits.Splits",
        "Splits"
      ]
    },
    {
      "page": "SplitsInBinaryTree",
      "title": "Maximum splits in an _n_-leaf tree",
      "concept": [
        "Splits operations",
        "tree properties"
      ],
      "topics": [
        "SplitsInBinaryTree",
        "SplitsInBinaryTree.default",
        "SplitsInBinaryTree.list",
        "SplitsInBinaryTree.multiPhylo",
        "SplitsInBinaryTree.NULL",
        "SplitsInBinaryTree.numeric",
        "SplitsInBinaryTree.phylo",
        "SplitsInBinaryTree.Splits"
      ]
    },
    {
      "page": "Stemwardness",
      "title": "\"Stemwardness\" of a leaf",
      "concept": [
        "tree characterization functions"
      ],
      "topics": [
        "RootNodeDist",
        "RootNodeDistance",
        "RootNodeDistance.character",
        "RootNodeDistance.numeric",
        "SisterSize",
        "SisterSize.character",
        "SisterSize.numeric",
        "Stemwardness"
      ]
    },
    {
      "page": "PhyToString",
      "title": "Convert between strings and 'phyDat' objects",
      "concept": [
        "phylogenetic matrix conversion functions"
      ],
      "topics": [
        "PhyDatToString",
        "PhydatToString",
        "PhyToString",
        "StringToPhyDat",
        "StringToPhydat"
      ]
    },
    {
      "page": "Subsplit",
      "title": "Subset of a split on fewer leaves",
      "concept": [
        "split manipulation functions"
      ],
      "topics": [
        "Subsplit"
      ]
    },
    {
      "page": "Subtree",
      "title": "Extract a subtree",
      "concept": [
        "tree manipulation"
      ],
      "topics": [
        "Subtree"
      ]
    },
    {
      "page": "SupportColour",
      "title": "Colour for node support value",
      "topics": [
        "SupportColor",
        "SupportColour"
      ]
    },
    {
      "page": "TipLabels",
      "title": "Extract tip labels",
      "concept": [
        "Splits operations",
        "tree properties"
      ],
      "topics": [
        "AllTipLabels",
        "AllTipLabels.list",
        "AllTipLabels.matrix",
        "AllTipLabels.multiPhylo",
        "AllTipLabels.phylo",
        "AllTipLabels.Splits",
        "AllTipLabels.TreeNumber",
        "TipLabels",
        "TipLabels.character",
        "TipLabels.default",
        "TipLabels.list",
        "TipLabels.logical",
        "TipLabels.matrix",
        "TipLabels.MixedBase",
        "TipLabels.multiPhylo",
        "TipLabels.numeric",
        "TipLabels.phyDat",
        "TipLabels.phylo",
        "TipLabels.Splits",
        "TipLabels.TreeNumber"
      ]
    },
    {
      "page": "TipsInSplits",
      "title": "Tips contained within splits",
      "concept": [
        "Splits operations"
      ],
      "topics": [
        "SplitImbalance",
        "SplitImbalance.phylo",
        "SplitImbalance.Splits",
        "TipsInSplits",
        "TipsInSplits.phylo",
        "TipsInSplits.Splits"
      ]
    },
    {
      "page": "TipTimedTree",
      "title": "Display time-calibrated tree using tip information only",
      "concept": [
        "tree manipulation",
        "utility functions"
      ],
      "topics": [
        "TipTimedTree"
      ]
    },
    {
      "page": "TopologyOnly",
      "title": "Remove metadata from trees",
      "topics": [
        "TopologyOnly"
      ]
    },
    {
      "page": "TotalCopheneticIndex",
      "title": "Total Cophenetic Index",
      "concept": [
        "tree characterization functions"
      ],
      "topics": [
        "TCIContext",
        "TCIContext.numeric",
        "TotalCopheneticIndex"
      ]
    },
    {
      "page": "TreeIsRooted",
      "title": "Is tree rooted?",
      "concept": [
        "tree properties"
      ],
      "topics": [
        "TreeIsRooted"
      ]
    },
    {
      "page": "Treeness",
      "title": "Relative length of internal branches",
      "concept": [
        "tree properties"
      ],
      "topics": [
        "Stemminess",
        "Treeness"
      ]
    },
    {
      "page": "TreeNumber",
      "title": "Unique integer indices for bifurcating tree topologies",
      "concept": [
        "'TreeNumber' utilities",
        "tree generation functions"
      ],
      "topics": [
        "as.MixedBase",
        "as.MixedBase.integer64",
        "as.MixedBase.MixedBase",
        "as.MixedBase.multiPhylo",
        "as.MixedBase.numeric",
        "as.MixedBase.phylo",
        "as.MixedBase.TreeNumber",
        "as.phylo.MixedBase",
        "as.phylo.numeric",
        "as.phylo.TreeNumber",
        "as.TreeNumber",
        "as.TreeNumber.character",
        "as.TreeNumber.MixedBase",
        "as.TreeNumber.multiPhylo",
        "as.TreeNumber.phylo",
        "as.TreeNumber.TreeNumber",
        "TreeNumber"
      ]
    },
    {
      "page": "TreesMatchingSplit",
      "title": "Number of trees matching a bipartition split",
      "concept": [
        "split information functions"
      ],
      "topics": [
        "LnTreesMatchingSplit",
        "Log2TreesMatchingSplit",
        "TreesMatchingSplit"
      ]
    },
    {
      "page": "TreesMatchingTree",
      "title": "Number of trees containing a tree",
      "concept": [
        "tree information functions"
      ],
      "topics": [
        "LnTreesMatchingTree",
        "Log2TreesMatchingTree",
        "TreesMatchingTree"
      ]
    },
    {
      "page": "TrivialSplits",
      "title": "Identify and remove trivial splits",
      "concept": [
        "split manipulation functions"
      ],
      "topics": [
        "TrivialSplits",
        "WithoutTrivialSplits"
      ]
    },
    {
      "page": "TrivialTree",
      "title": "Generate trivial trees",
      "concept": [
        "tree generation functions",
        "tree manipulation"
      ],
      "topics": [
        "SingleTaxonTree",
        "TrivialTree",
        "ZeroTaxonTree"
      ]
    },
    {
      "page": "Unquote",
      "title": "Remove quotation marks from a string",
      "concept": [
        "string parsing functions"
      ],
      "topics": [
        "Unquote"
      ]
    },
    {
      "page": "UnrootedTreesMatchingSplit",
      "title": "Number of trees consistent with split",
      "concept": [
        "split information functions"
      ],
      "topics": [
        "LnUnrootedTreesMatchingSplit",
        "Log2UnrootedTreesMatchingSplit",
        "UnrootedTreesMatchingSplit"
      ]
    },
    {
      "page": "UnshiftTree",
      "title": "Add tree to start of list",
      "concept": [
        "utility functions"
      ],
      "topics": [
        "UnshiftTree"
      ]
    },
    {
      "page": "WriteTntCharacters",
      "title": "Write morphological character matrix to TNT file",
      "topics": [
        "WriteTntCharacters",
        "WriteTntCharacters.matrix",
        "WriteTntCharacters.phyDat"
      ]
    },
    {
      "page": "xor",
      "title": "Exclusive OR operation",
      "concept": [
        "Splits operations"
      ],
      "topics": [
        "xor",
        "xor,Splits,Splits-method"
      ]
    }
  ],
  "_readme": "https://github.com/ms609/treetools/raw/HEAD/README.md",
  "_rundeps": [
    "ape",
    "bit",
    "bit64",
    "digest",
    "fastmatch",
    "lattice",
    "nlme",
    "PlotTools",
    "rbibutils",
    "Rcpp",
    "Rdpack"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "filesystem-navigation.Rmd",
      "filename": "filesystem-navigation.html",
      "title": "File system navigation in R",
      "author": "Martin R. Smith martin.smith@durham.ac.uk",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What next?"
      ],
      "created": "2019-10-18 14:07:57",
      "modified": "2025-01-10 16:17:46",
      "commits": 6
    },
    {
      "source": "load-data.Rmd",
      "filename": "load-data.html",
      "title": "Loading phylogenetic data into R",
      "author": "Martin R. Smith martin.smith@durham.ac.uk",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Load raw data",
        "From an Excel spreadsheet",
        "From a text or CSV (comma separated values) file",
        "From a Nexus file",
        "From a TNT file",
        "Processing raw data",
        "Store processed data",
        "What next?",
        "References"
      ],
      "created": "2019-10-18 14:07:57",
      "modified": "2025-05-13 14:54:01",
      "commits": 20
    },
    {
      "source": "load-trees.Rmd",
      "filename": "load-trees.html",
      "title": "Loading phylogenetic trees into R",
      "author": "Martin R. Smith martin.smith@durham.ac.uk",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Manual entry",
        "From a file",
        "Nexus files",
        "Newick files",
        "Trees from TNT",
        "Other formats",
        "Export (write) trees",
        "What next?"
      ],
      "created": "2019-10-18 14:07:57",
      "modified": "2023-07-03 14:10:35",
      "commits": 19
    }
  ],
  "_score": 11.167241651861989,
  "_indexed": true,
  "_nocasepkg": "treetools",
  "_universes": [
    "ms609"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:33:30.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "1200ff0623807d92e6d0156520cd47f8d316697e4c0479eba5e9951da581fc4e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:32:41.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "1564a8fc04dc0f7f929b9dd9b8fd4f28c86203978de9a87a8afaf3d9565e6632",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:33:02.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "07deb381eaa791d529b092564630a37bb1727086ee8a2b59a41460d0c5bcfdd1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:33:01.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "32c71c088f399282de7d552f53ba6835b749387a3ccd4721d1dbef118707aa22",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:32:23.000Z",
      "arch": "aarch64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "009a1b205fb7c1eb216535e8ede3c29155736c620afe485265e718b3dff186de",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:35:24.000Z",
      "arch": "x86_64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "2213f45e485d84948cd33bd98664fe7807ea5006443ba84d7ab75a60b4b8e947",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:32:36.000Z",
      "arch": "aarch64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "31e19fb9cb9d83eee1aaba01c8fc6fbf2337565e3f13fec2ca3ea33b603b680b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:34:44.000Z",
      "arch": "x86_64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "fa1472120dcdefa2408fe7c4ce6cbc6f5a66fef739db5208dedbad6e0813acf6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:32:53.000Z",
      "arch": "emscripten",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "941762a7a4a5030d1edaaa0b63039aa08f7692f251631a17687995014addfd43",
      "status": "success",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:33:20.000Z",
      "arch": "x86_64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "ffba9ce4ab4bba9e05cf11d1c91718ab50b1c7918bcb3867f95e77dd0716af65",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:33:22.000Z",
      "arch": "x86_64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "27ed0f9983b6921d5b7dc7a79833ea6ef1cd3bf8afc2fdb8265b5a5b9696f9ee",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "2.4.0.9000",
      "date": "2026-06-03T18:32:39.000Z",
      "arch": "x86_64",
      "commit": "74dcf97658794766b3a6d01e83bee7e88058f86b",
      "fileid": "bec96a19f3dd55fd91b8d10725ebf15ec07325a1d918119593b1bb7caadb4a7c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ms609/actions/runs/26904656350"
    }
  ]
}