tests/testthat/test_distance_matrix.R

context("Calculating distance matrices")

test_that("Simulating sequences works",{
  nwk <- "((((((((((((KU820897:0.00028,KX087102:0):9e-05,KX247646:9e-05):0.00057,((KX156776:9e-05,KX156774:0.00019):0,KX156775:0.00028):0.00038):0.00019,KX198135:0.00057):0.00019,(KU922960:0.00038,KU647676:0):0.00076):0.00076,(KU497555:0.00182,KU991811:0.00095):9e-05):0.00019,(((((((KX101061:0.00067,((KU940228:0,KX101067:0):0,KU940224:0.0001):0.00014):0,((KX101063:0,KU940227:0):0,KX101062:0.00067):0.00032):0.00021,KX101065:0):0,KX101064:0.0003):0.00022,KX101066:0.00115):0.00027,KX101060:0.00046):0.00117,KU729218:0.00124):9e-05):0,((KU853012:0.00182,KU729217:0.00145):0.00018,KU926310:0.0019):0.0003):0,(((((((KX087101:9e-05,KU501215:0):0.00114,KU365778:0.00114):0,KU937936:0.00115):0.00019,((KU820898:0.00023,(KU740184:0,KU761564:0):0.00015):0.00067,(KU955590:0.00019,KX056898:0):0.00073):0.00109):9e-05,KU312312:0.00127):0.00019,(((KU365780:0.00019,KU365777:0):0.00038,KU365779:0):0,KU707826:0):0.00086):0.00048,((KX262887:0.00057,(KX247632:0.00104,((KU501216:0.0001,KU501217:0):0.00088,KU870645:0.00133):0):0):0.00076,KU926309:0.00143):9e-05):9e-05):9e-05,((KU527068:0.00181,KX051563:0):0.00076,((KX197192:0.00028,KU321639:0):0.00047,KU509998:0):0.00028):0.00047):0.00064,(((KX185891:0,KU820899:9e-05):0,(KU963796:0.00019,(KX253996:0,KU955589:0):0.00019):0):0.00019,KX117076:0):0.00222):0.00019,KJ776791:0.00019):1;"
  tr <- read.tree(text=nwk)
  aln <- simSeq(tr,l=10617,type="DNA")
  aln <- as.DNAbin(aln)
  expect_is(aln,"DNAbin")
})

test_that("Building a distance matrix works",{
  nwk <- "((((((((((((KU820897:0.00028,KX087102:0):9e-05,KX247646:9e-05):0.00057,((KX156776:9e-05,KX156774:0.00019):0,KX156775:0.00028):0.00038):0.00019,KX198135:0.00057):0.00019,(KU922960:0.00038,KU647676:0):0.00076):0.00076,(KU497555:0.00182,KU991811:0.00095):9e-05):0.00019,(((((((KX101061:0.00067,((KU940228:0,KX101067:0):0,KU940224:0.0001):0.00014):0,((KX101063:0,KU940227:0):0,KX101062:0.00067):0.00032):0.00021,KX101065:0):0,KX101064:0.0003):0.00022,KX101066:0.00115):0.00027,KX101060:0.00046):0.00117,KU729218:0.00124):9e-05):0,((KU853012:0.00182,KU729217:0.00145):0.00018,KU926310:0.0019):0.0003):0,(((((((KX087101:9e-05,KU501215:0):0.00114,KU365778:0.00114):0,KU937936:0.00115):0.00019,((KU820898:0.00023,(KU740184:0,KU761564:0):0.00015):0.00067,(KU955590:0.00019,KX056898:0):0.00073):0.00109):9e-05,KU312312:0.00127):0.00019,(((KU365780:0.00019,KU365777:0):0.00038,KU365779:0):0,KU707826:0):0.00086):0.00048,((KX262887:0.00057,(KX247632:0.00104,((KU501216:0.0001,KU501217:0):0.00088,KU870645:0.00133):0):0):0.00076,KU926309:0.00143):9e-05):9e-05):9e-05,((KU527068:0.00181,KX051563:0):0.00076,((KX197192:0.00028,KU321639:0):0.00047,KU509998:0):0.00028):0.00047):0.00064,(((KX185891:0,KU820899:9e-05):0,(KU963796:0.00019,(KX253996:0,KU955589:0):0.00019):0):0.00019,KX117076:0):0.00222):0.00019,KJ776791:0.00019):1;"
  tr <- read.tree(text=nwk)
  aln <- simSeq(tr,l=10617,type="DNA")
  aln <- as.DNAbin(aln)
  distmat <- compute.distance.matrix(aln)
  expect_is(distmat,"matrix")
})

test_that("Pairwise distances work",{
  nwk <- "((((((((((((KU820897:0.00028,KX087102:0):9e-05,KX247646:9e-05):0.00057,((KX156776:9e-05,KX156774:0.00019):0,KX156775:0.00028):0.00038):0.00019,KX198135:0.00057):0.00019,(KU922960:0.00038,KU647676:0):0.00076):0.00076,(KU497555:0.00182,KU991811:0.00095):9e-05):0.00019,(((((((KX101061:0.00067,((KU940228:0,KX101067:0):0,KU940224:0.0001):0.00014):0,((KX101063:0,KU940227:0):0,KX101062:0.00067):0.00032):0.00021,KX101065:0):0,KX101064:0.0003):0.00022,KX101066:0.00115):0.00027,KX101060:0.00046):0.00117,KU729218:0.00124):9e-05):0,((KU853012:0.00182,KU729217:0.00145):0.00018,KU926310:0.0019):0.0003):0,(((((((KX087101:9e-05,KU501215:0):0.00114,KU365778:0.00114):0,KU937936:0.00115):0.00019,((KU820898:0.00023,(KU740184:0,KU761564:0):0.00015):0.00067,(KU955590:0.00019,KX056898:0):0.00073):0.00109):9e-05,KU312312:0.00127):0.00019,(((KU365780:0.00019,KU365777:0):0.00038,KU365779:0):0,KU707826:0):0.00086):0.00048,((KX262887:0.00057,(KX247632:0.00104,((KU501216:0.0001,KU501217:0):0.00088,KU870645:0.00133):0):0):0.00076,KU926309:0.00143):9e-05):9e-05):9e-05,((KU527068:0.00181,KX051563:0):0.00076,((KX197192:0.00028,KU321639:0):0.00047,KU509998:0):0.00028):0.00047):0.00064,(((KX185891:0,KU820899:9e-05):0,(KU963796:0.00019,(KX253996:0,KU955589:0):0.00019):0):0.00019,KX117076:0):0.00222):0.00019,KJ776791:0.00019):1;"
  tr <- read.tree(text=nwk)
  aln <- simSeq(tr,l=10617,type="DNA")
  aln <- as.DNAbin(aln)
  s1 <- aln[1,]
  s2 <- aln[2,]
  pd <- pairwise.distance(s1,s2)
  expect_is(pd,"numeric")
})

test_that("Expanding a distance matrix works",{
  nwk <- "((((((((((((KU820897:0.00028,KX087102:0):9e-05,KX247646:9e-05):0.00057,((KX156776:9e-05,KX156774:0.00019):0,KX156775:0.00028):0.00038):0.00019,KX198135:0.00057):0.00019,(KU922960:0.00038,KU647676:0):0.00076):0.00076,(KU497555:0.00182,KU991811:0.00095):9e-05):0.00019,(((((((KX101061:0.00067,((KU940228:0,KX101067:0):0,KU940224:0.0001):0.00014):0,((KX101063:0,KU940227:0):0,KX101062:0.00067):0.00032):0.00021,KX101065:0):0,KX101064:0.0003):0.00022,KX101066:0.00115):0.00027,KX101060:0.00046):0.00117,KU729218:0.00124):9e-05):0,((KU853012:0.00182,KU729217:0.00145):0.00018,KU926310:0.0019):0.0003):0,(((((((KX087101:9e-05,KU501215:0):0.00114,KU365778:0.00114):0,KU937936:0.00115):0.00019,((KU820898:0.00023,(KU740184:0,KU761564:0):0.00015):0.00067,(KU955590:0.00019,KX056898:0):0.00073):0.00109):9e-05,KU312312:0.00127):0.00019,(((KU365780:0.00019,KU365777:0):0.00038,KU365779:0):0,KU707826:0):0.00086):0.00048,((KX262887:0.00057,(KX247632:0.00104,((KU501216:0.0001,KU501217:0):0.00088,KU870645:0.00133):0):0):0.00076,KU926309:0.00143):9e-05):9e-05):9e-05,((KU527068:0.00181,KX051563:0):0.00076,((KX197192:0.00028,KU321639:0):0.00047,KU509998:0):0.00028):0.00047):0.00064,(((KX185891:0,KU820899:9e-05):0,(KU963796:0.00019,(KX253996:0,KU955589:0):0.00019):0):0.00019,KX117076:0):0.00222):0.00019,KJ776791:0.00019):1;"
  tr <- read.tree(text=nwk)
  aln <- simSeq(tr,l=10617,type="DNA")
  aln <- as.DNAbin(aln)
  a <- aln[1:57,]
  s <- aln[58,]
  m <- compute.distance.matrix(a)
  m2 <- expand.distance.matrix(a,s,m)
  truem <- compute.distance.matrix(aln)
  expect_is(m2$distmat,"matrix")
})
Hackout3/saphy documentation built on May 6, 2019, 10:52 p.m.