Nothing
library("TreeTools", warn.conflicts = FALSE, quietly = TRUE)
test_that("RogueTaxa() handles bad input", {
sameNamed <- BalancedTree(c(letters[c(1:5, 5, 6:7)]))
bal8 <- BalancedTree(8)
expect_error(RogueTaxa(c(sameNamed, sameNamed)))
expect_error(RogueTaxa(c(bal8, BalancedTree(9), PectinateTree(8))))
expect_error(RogueTaxa(c(bal8, PectinateTree(1:8))))
expect_equal(RogueTaxa(c(bal8, bal8)), RogueTaxa(bal8))
})
test_that("Rogues found", {
trees <- AddTipEverywhere(BalancedTree(8), 'Rogue')
if (!inherits(trees, 'multiPhylo')) {
if (inherits(trees, 'phylo')) return (NA)
trees <- structure(trees, class = 'multiPhylo')
}
expect_equal('Rogue', RogueTaxa(trees[2:13], info = 'rbic', dropsetSize = 1L,
labelPenalty = 0,
verbose = FALSE)[2, 'taxon'])
expect_equal('Rogue', RogueTaxa(trees, info = 'rbic', labelPenalty = 0,
verbose = FALSE)[2, 'taxon'])
trees <- lapply(trees, AddTip, 'Rogue', 'Rogue2')
# Interesting aside: Majority rule consensus favours balanced splits!
bc <- RogueTaxa(trees, info = 'rbic',
labelPenalty = 0, verbose = FALSE)
expect_equal(1, nrow(bc))
bc <- RogueTaxa(trees[-11], info = 'rb',
labelPenalty = 0, verbose = FALSE, dropset = 2)
expect_equal(2, nrow(bc)) # Row 1 contains a 2-taxon dropset.
trees <- read.tree(system.file('example/150.bs', package = 'Rogue'))[1:50]
expect_lt(1, nrow(RogueTaxa(trees, info = 'R', mreOptimization = TRUE)))
expect_lt(1, nrow(RogueTaxa(trees, info = 'rBi', threshold = 100)))
})
test_that("Wilkinson & Crotti's examples are satisfied", {
scaffold <- BalancedTree(c(6:4, 1:3))
fig2 <- list(AddTip(scaffold, '3', 'X'),
AddTip(scaffold, '4', 'X'))
trees <- fig2
expect_equal("X", RogueTaxa(fig2, info = 'rbic', verbose = FALSE)[2, 'taxon'])
expect_equal("X", RogueTaxa(fig2)[2, 'taxon'])
fig2b <- fig2[rep(1:2, c(67, 33))]
expect_equal(1, nrow(RogueTaxa(fig2b, info = 'rbic',
labelPenalty = 0, verbose = FALSE)))
expect_equal(1, nrow(RogueTaxa(fig2b)))
fig3 <- lapply(list(AddTip(scaffold, '1', 'X'),
AddTip(scaffold, '6', 'X')), AddTip, 'X', 'Y')
trees <- fig3
expect_equal(1, nrow(RogueTaxa(fig3, info = 'rbic', verbose = FALSE)))
expect_equal(1, nrow(RogueTaxa(fig3)))
fig3b <- fig3[rep(1:2, c(60, 40))]
expect_equal(1, nrow(RogueTaxa(fig3b, info = 'rbic', verbose = FALSE)))
expect_equal(1, nrow(RogueTaxa(fig3b)))
})
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.