Nothing
TestFile <- function(filename = "") {
system.file("extdata", "tests", filename, package = "TreeTools")
}
test_that("ReadTntCharacter()", {
testFile <- TestFile("tnt-trees-and-matrix.tnt")
expect_equal(
structure(c("0", "0", "1", "1", "1", "1", "-", "-", "0", "0",
"0", "0", "-", "-", "0", "0", "1", "1", "-", "-", "-", "-", "0",
"1", "-", "-", "1", "1", "1", "0", "-", "-", "0", "0", "1", "-",
"-", "-", "0", "1", "0", "-"), .Dim = 6:7,
.Dimnames = list(c("a", "b", "c", "d", "e", "f"), NULL)),
ReadTntCharacters(testFile)
)
dnaTest <- TestFile("tnt-dna.tnt")
expect_equal(ReadTntCharacters(dnaTest),
cbind(ReadTntCharacters(dnaTest, type = "num"),
ReadTntCharacters(dnaTest, type = "dna")))
expect_equal(ReadTntCharacters(dnaTest),
ReadTntCharacters(dnaTest, type = c("NUM", "Dna")))
expect_message(expect_null(ReadTntCharacters(dnaTest, type = "NONE")))
skip_if_not_installed("phangorn")
expect_equal(
phangorn::as.phyDat(
ReadTntCharacters(testFile),
type = "USER",
contrast = structure(c(0, 0, 1, 1, 0, 0, 0, 1, 0), .Dim = c(3L, 3L),
.Dimnames = list(c("0", "1", "-"), c("-", "0", "1")))
),
ReadTntAsPhyDat(testFile))
})
test_that("TntTextToTree()", {
expect_equal(TNTText2Tree("(A (B (C (D E ))));"),
ape::read.tree(text = "(A, (B, (C, (D, E))));"))
})
test_that("ReadTntTree() NULL return", {
expect_null(ReadTntTree(TestFile("ape-tree.nex")))
})
test_that("TNT trees parsed correctly", {
expect_message(expect_warning(expect_warning(
trees <- ReadTntTree(
filepath = TestFile("tnt-tree.tre"),
relativePath = TestFile()
),
"Multiple tree blocks"),
"Expected `ttags \\*N`; applying tags to first tree"),
"Ignoring tag on leaf 1: .Origin."
)
expect_equal(length(trees), 3)
expect_equal(trees[[3]]$tip.label[2], "Novocrania")
expect_equal(trees[[3]][["node.label"]][37:41 - NTip(trees[[3]])],
c("Nov+1", "Nov+2", "Nov+3",
"Nov +4", # Concatenated from Nov & +4
"Nov+5"))
expect_equal(trees[[3]][["node.label"]][69 - NTip(trees[[3]])], "Nis+1")
tipLabels <- c("Dailyatia", "Novocrania", "Craniops", "Ussunia", "Gasconsia",
"Heliomedusa_orienta", "Micrina", "Mickwitzia_muralensis",
"Micromitra", "Askepasma_toddense", "Pelagodiscus_atlanticus",
"Lingula", "Eoobolus", "Clupeafumosus_socialis", "Phoronis",
"Eccentrotheca", "Yuganotheca_elegans",
"Longtancunella_chengjiangensis", "Paterimitra",
"Lingulellotreta_malongensis", "Acanthotretella",
"Lingulosacculus", "Pedunculotheca_diania",
"Haplophrentis_carinatus", "Tomteluva_perturbata",
"Salanygolina", "Mummpikia_nuda", "Alisina", "Coolinia_pecten",
"Antigonambonites_planus", "Kutorgina_chengjiangensis",
"Nisusia_sulcata", "Glyptoria", "Orthis", "Terebratulina")
expect_warning(
fromLabels <- suppressMessages(
ReadTntTree(TestFile("tnt-tree.tre"), tipLabels = tipLabels)),
"Expected `ttags .N`;"
)
expect_identical(trees, fromLabels)
trees[[2]][["node.label"]] <- NULL
trees[[3]][["node.label"]] <- NULL
expect_equal(trees[[2]], trees[[3]])
expect_equal(ConsensusWithout(trees, "Paterimitra")$Nnode, 32)
namedLabels <- ReadTntTree(TestFile("tnt-namedtree.tre"))[[1]]$tip.label
expect_equal("Flustra_sp.", namedLabels[1])
expect_equal(74L, length(namedLabels))
tam <- ReadTntTree(TestFile("tnt-trees-and-matrix.tnt"))
expect_equal(length(tam), 4L)
expect_equal(tam[[1]],
TNTOrder(
RenumberTips(
ape::read.tree(text = "(a, (b, (c, (f, (d, e )))));"),
letters[1:6])
)
)
expect_equal(tam[[4]],
TntOrder(ape::read.tree(text = "(a, (b, (c, (d, e, f))));")))
oldWD <- getwd()
setwd(system.file(package = "TreeTools"))
expect_equal(paste0("taxon_", letters[1:5]),
ReadTntTree("extdata/output/numbered.tre", "./extdata", 2)[[1]]$tip.label)
expect_equal(paste0("taxon_", letters[1:5]),
ReadTntTree("extdata/output/named.tre")$tip.label)
setwd(oldWD)
})
test_that("ReadTntTree() reads bare tree", {
bareTree <- TestFile("tnt-bare-tree.tnt")
expect_warning(
expect_equal(ReadTntTree(bareTree),
ReadTntTree(bareTree, tipLabels = as.character(0:5))),
"does not link to taxon names")
})
test_that("ReadTntTree() follows TNT node numbering conventions", {
a..e <- paste("taxon", letters[1:5], sep = "_")
namedTree <- system.file("extdata/output/named.tre", package = "TreeTools")
expect_equal(
ReadTntTree(namedTree),
ReadTntTree(namedTree, tipLabels = a..e)
)
expect_equal(ReadTntTree(namedTree)$edge,
Postorder(ReadTntTree(namedTree))$edge)
expect_equal(
# NB this is not a perfect test, as the order in which edges are listed
# is not stipulated by the ReadTntTree documentation.
ReadTntTree(namedTree, tipLabels = rev(a..e))$edge,
cbind(rep(c(7, 8, 9, 6), each = 2), c(2, 1, 7, 3, 8, 4, 9, 5))
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.