Nothing
context("Testing aanma()")
test_that("aanma based all-atom NMA works", {
skip_on_cran()
# skip_on_travis()
"mysign" <- function(a,b) {
if(all(sign(a)==sign(b)))
return(1)
else
return(-1)
}
## Simple test with PDB ID 1HEL
file <- system.file("examples/1hel.pdb",package="bio3d")
invisible(capture.output(pdb <- read.pdb(file)))
## Calculate modes with default arguments
invisible(capture.output(modes <- aanma(pdb, pfc.fun=load.enmff('aaenm2'),
mass=TRUE, temp=300.0)))
## Check first eigenvector
U7 <- c(-0.066793729, -0.053883268, 0.001891979,
-0.036738304, -0.047565978, 0.001753576)
nowU7 <- head(modes$U[,7])
expect_that(nowU7 * mysign(U7, nowU7), equals(U7, tolerance=1e-4))
## Check second eigenvector
U8 <- c(-0.0006820437, -0.0063015252, -0.0172583581,
-0.0208773865, -0.0077078236, -0.0197741642)
nowU8 <- head(modes$U[,8])
expect_that(nowU8 * mysign(U8, nowU8), equals(U8, tolerance=1e-4))
## Check eigenvalues
eival <- c(0.012147, 0.016651, 0.025490, 0.034212, 0.040073, 0.048434)
nowEival <- modes$L[7:12]
expect_that(nowEival, equals(eival, tolerance=1e-4))
## Dimensions
expect_that(dim(modes$U), equals(c(387, 387)))
expect_that(dim(modes$modes), equals(c(387, 387)))
expect_that(length(modes$L), equals(387))
expect_that(length(modes$frequencies), equals(387))
expect_that(length(modes$mass), equals(129))
expect_that(modes$natoms, equals(129))
expect_that(modes$temp, equals(300))
## Orthognals
tmpU <- crossprod(modes$U, modes$U)
expect_true(all(round(diag(tmpU), 6)==1))
expect_true(all(round(tmpU[upper.tri(tmpU)], 6)==0))
expect_that(all(round(c(modes$L[1:6]), 6)==0), equals(TRUE))
###################################################################
#
# Test with reduced = TRUE
#
###################################################################
## Calculate modes
invisible(capture.output(modes <- aanma(pdb, pfc.fun=load.enmff('aaenm2'),
mass=TRUE, temp=300.0, reduced=TRUE)))
## Check first eigenvector
U7 <- c(-0.059992473, -0.053860808, 0.002632462,
-0.038492062, -0.060252657, 0.002212016)
nowU7 <- head(modes$U[,7])
expect_that(nowU7 * mysign(U7, nowU7), equals(U7, tolerance=1e-4))
## Check second eigenvector
U8 <- c(-0.008837969, -0.003401558, 0.018160517,
0.018834639, -0.002279249, 0.022343009)
nowU8 <- head(modes$U[,8])
expect_that(nowU8 * mysign(U8, nowU8), equals(U8, tolerance=1e-4))
## Check eigenvalues
eival <- c(0.005865, 0.007781, 0.010644, 0.015755, 0.019162, 0.020037)
nowEival <- modes$L[7:12]
expect_that(nowEival, equals(eival, tolerance=1e-4))
## Orthognals
tmpU <- crossprod(modes$U, modes$U)
expect_true(all(round(diag(tmpU), 6)==1))
expect_true(all(round(tmpU[upper.tri(tmpU)], 6)==0))
expect_that(all(round(c(modes$L[1:6]), 6)==0), equals(TRUE))
###################################################################
#
# Test with rtb = TRUE
#
###################################################################
## Calculate modes
invisible(capture.output(modes <- aanma(pdb, pfc.fun=load.enmff('aaenm2'),
mass=TRUE, temp=300.0, rtb=TRUE)))
## Check first eigenvector
U7 <- c(0.067011206, 0.053922543, -0.001093240,
0.036319837, 0.047227389, -0.001719102)
nowU7 <- head(modes$U[,7])
expect_that(nowU7 * mysign(U7, nowU7), equals(U7, tolerance=1e-4))
## Check second eigenvector
U8 <- c(0.0007543764, 0.0061986220, 0.0164859315,
0.0207461840, 0.0078183773, 0.0195714639)
nowU8 <- head(modes$U[,8])
expect_that(nowU8 * mysign(U8, nowU8), equals(U8, tolerance=1e-4))
## Check eigenvalues
eival <- c(0.012450, 0.017159, 0.026374, 0.037100, 0.041601, 0.050559)
nowEival <- modes$L[7:12]
expect_that(nowEival, equals(eival, tolerance=1e-4))
## Orthognals
tmpU <- crossprod(modes$U, modes$U)
expect_true(all(round(diag(tmpU), 6)==1))
expect_true(all(round(tmpU[upper.tri(tmpU)], 6)==0))
expect_that(all(round(c(modes$L[1:6]), 6)==0), equals(TRUE))
###################################################################
#
# Test with outmodes = 'noh'
#
###################################################################
## Calculate modes
invisible(capture.output(modes <- aanma(pdb, pfc.fun=load.enmff('aaenm2'),
mass=TRUE, temp=300.0, outmodes='noh')))
## Check first eigenvector
U7 <- c(0.0218632, 0.02019693, -0.002396826,
0.01873891, 0.01699585, -0.001568454)
nowU7 <- head(modes$U[,7])
expect_that(nowU7 * mysign(U7, nowU7), equals(U7, tolerance=1e-4))
## Check second eigenvector
U8 <- c(0.009318529, 0.001879826, -0.005183737,
0.007078334, 0.0008036141, -0.003830362)
nowU8 <- head(modes$U[,8])
expect_that(nowU8 * mysign(U8, nowU8), equals(U8, tolerance=1e-4))
## Check eigenvalues
eival <- c(0.011278, 0.013931, 0.01582, 0.023749, 0.030427, 0.039051)
nowEival <- modes$L[7:12]
expect_that(nowEival, equals(eival, tolerance=1e-4))
## Dimensions
expect_that(dim(modes$U), equals(c(3003, 3003)))
expect_that(dim(modes$modes), equals(c(3003, 3003)))
expect_that(length(modes$L), equals(3003))
expect_that(length(modes$frequencies), equals(3003))
expect_that(length(modes$mass), equals(1001))
expect_that(modes$natoms, equals(1001))
expect_that(modes$temp, equals(300))
## Orthognals
tmpU <- crossprod(modes$U[, 1:300], modes$U[, 1:300])
expect_true(all(round(diag(tmpU), 6)==1))
expect_true(all(round(tmpU[upper.tri(tmpU)], 6)==0))
expect_that(all(round(c(modes$L[1:6]), 6)==0), equals(TRUE))
###################################################################
#
# Test with outmodes = 'noh' and rtb = TRUE
#
###################################################################
## Calculate modes
invisible(capture.output(modes <- aanma(pdb, pfc.fun=load.enmff('aaenm2'),
mass=TRUE, temp=300.0, outmodes='noh', rtb=TRUE)))
## Check first eigenvector
U7 <- c(-0.0229911, -0.02044615, 0.002491489,
-0.01944523, -0.01711079, 0.001397449)
nowU7 <- head(modes$U[,7])
expect_that(nowU7 * mysign(U7, nowU7), equals(U7, tolerance=1e-4))
## Check second eigenvector
U8 <- c(-0.005763786, -8.247862e-06, 0.00534345,
-0.003811432, 0.000763913, 0.003948311)
nowU8 <- head(modes$U[,8])
expect_that(nowU8 * mysign(U8, nowU8), equals(U8, tolerance=1e-4))
## Check eigenvalues
eival <- c(0.011579, 0.014595, 0.016808, 0.024449, 0.032666, 0.040224)
nowEival <- modes$L[7:12]
expect_that(nowEival, equals(eival, tolerance=1e-4))
## Orthognals
tmpU <- crossprod(modes$U[, 1:300], modes$U[, 1:300])
expect_true(all(round(diag(tmpU), 6)==1))
expect_true(all(round(tmpU[upper.tri(tmpU)], 6)==0))
expect_that(all(round(c(modes$L[1:6]), 6)==0), equals(TRUE))
})
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.