Nothing
context("NBLAST v2")
testneurons <- readRDS('testdata/testneurons.rds')
test_that("nblast v2 produces expected scores", {
scores <- nblast(testneurons[[1]], testneurons, version=2)
scores.expected <- structure(c(43518.2468824115, -34509.2778341796, -36608.1290149345, -18366.0246697251, -36782.7167494325), .Names = c("5HT1bMARCM-F000001_seg001", "5HT1bMARCM-F000002_seg001", "5HT1bMARCM-F000003_seg001", "5HT1bMARCM-F000004_seg001", "5HT1bMARCM-F000005_seg001"))
expect_equal(scores, scores.expected)
})
test_that("nblast v2 with alpha produces expected scores", {
scores <- nblast(testneurons[[1]], testneurons, version=2, UseAlpha=TRUE)
scores.expected <- structure(c(22393.1456610767, -33103.620929615, -35603.5457297204, -18717.4612913414, -35799.9999942706), .Names = c("5HT1bMARCM-F000001_seg001", "5HT1bMARCM-F000002_seg001", "5HT1bMARCM-F000003_seg001", "5HT1bMARCM-F000004_seg001", "5HT1bMARCM-F000005_seg001"))
expect_equal(scores, scores.expected)
})
test_that("nblast v2 handles a neuronlist as query", {
scores <- nblast(testneurons[1:2], testneurons, version=2)
scores.expected <- structure(c(43518.2468824115, -34509.2778341796, -36608.1290149345, -18366.0246697251, -36782.7167494325, -14764.1401323446, 30648.4172626457, -22373.118229109, -22772.3018332237, -22918.5324546932), .Dim = c(5L, 2L), .Dimnames = list(c("5HT1bMARCM-F000001_seg001", "5HT1bMARCM-F000002_seg001", "5HT1bMARCM-F000003_seg001", "5HT1bMARCM-F000004_seg001", "5HT1bMARCM-F000005_seg001"), c("5HT1bMARCM-F000001_seg001", "5HT1bMARCM-F000002_seg001")))
expect_equal(scores, scores.expected)
})
test_that("we can calculate scores for non square matrices", {
expect_equal(scoresaba <- nblast_allbyall(testneurons, version=2),
nblast(testneurons, testneurons, version=2))
expect_equal(nblast(testneurons[1:2], testneurons[3:5], version=2),
scoresaba[3:5, 1:2])
})
test_that("we can calculate normalised nblast v2 scores", {
expect_is(scores <- nblast(testneurons[1:2], testneurons, version=2), 'matrix')
expect_is(scores.norm <-
scale(scores, scale=c(scores[1,1],scores[2,2]), center = FALSE),
'matrix')
expect_equivalent(nblast(testneurons[1:2], testneurons, normalised=TRUE), scores.norm)
expect_equal(scoresaba <- nblast_allbyall(testneurons,
version=2,
normalisation = 'normalised'),
nblast(testneurons, testneurons, version=2, normalised = TRUE))
scores.rect <- nblast(testneurons[1:2], testneurons[3:5], version = 2)
scores.rect.norm <-
nblast(testneurons[1:2],
testneurons[3:5],
version = 2,
normalised = T)
expect_equal(scores.rect.norm,
scale(
scores.rect,
center = FALSE,
scale = attr(scores.rect.norm, 'scaled:scale')
))
# the simple subset will drop the scaled attribute
baseline=scores.rect.norm[, 1, drop = FALSE]
attr(baseline, 'scaled:scale')=attr(scores.rect.norm, 'scaled:scale')[1]
expect_equal(nblast(testneurons[1], testneurons[3:5], version = 2, normalised = T),
baseline)
})
test_that("we can calculate scores for regular neurons",{
expect_is(nblast_allbyall(Cell07PNs[1:4]), 'matrix')
})
test_that("we can calculate scores using getOption('nat.default.neuronlist')", {
op=options(nat.default.neuronlist='testneurons')
on.exit(options(op))
scores <- nblast(testneurons[1:2], testneurons, version=2)
expect_equal(nblast(testneurons[1:2], version=2), scores)
options(nat.default.neuronlist='testneuronsrhubarb')
expect_error(nblast(testneurons[1:2], version=2))
})
test_that("we can handle OmitFailures", {
testneurons.err=testneurons
testneurons.err[[2]]='rhubarb'
expect_error(nblast(testneurons.err[1:2], testneurons))
scores <- nblast(testneurons[1:2], testneurons, version=2)
scores.err=scores
scores.err[,2]=NA_real_
expect_equal(nblast(testneurons.err[1:2], testneurons, OmitFailures = FALSE),
scores.err)
expect_error(nblast(testneurons.err[1:2], testneurons, OmitFailures = TRUE),
"not yet implemented")
})
test_that("we can handle all combinations of dotprops and neurons, both as neuronlists and singly", {
expect_is(nblast(testneurons[[1]], Cell07PNs[1:3]), 'numeric')
expect_is(nblast(testneurons[1:3], Cell07PNs[1:3]), 'matrix')
expect_is(nblast(testneurons[[1]], Cell07PNs[[1]]), 'numeric')
expect_is(nblast(testneurons[1:3], Cell07PNs[[1]]), 'numeric')
expect_is(nblast(Cell07PNs[[1]], testneurons[1:3]), 'numeric')
expect_is(nblast(Cell07PNs[1:3], testneurons[1:3]), 'matrix')
expect_is(nblast(Cell07PNs[[1]], testneurons[[1]]), 'numeric')
expect_is(nblast(Cell07PNs[1:3], testneurons[[1]]), 'numeric')
})
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.