tests/testthat/test_pdb_dataframe.R

context("Rpdb object to dataframe")

test_that("pdb_dataframe converts the Rpdb object to a tibble", {
x <- data_frame(recname ="ATOM",eleid= as.integer(7584),elename="N",alt = "",resname ="THR", chainid = "A", resid = as.integer(1038),insert = "",x1=85.730, x2=97.747,x3=55.352,occ=1.00,temp=20.29, segid = "")
attr(x, "basis") <- "xyz"

write("ATOM   7584  N   THR A1038      85.730  97.747  55.352  1.00 20.29           N", file ="test.pdb")

y <- Rpdb::read.pdb("test.pdb")

expect_identical(pdb_dataframe(y),x)
expect_equal(class(pdb_dataframe(y)),class(x))
})

test_that("Important column names should be defaults", {

x <- data_frame(recname ="ATOM",eleid= as.integer(7584),elename="N",alt = "",resname ="THR", chainid = "A", resid = as.integer(1038),insert = "",x1=85.730, x2=97.747,x3=55.352,occ=1.00,temp=20.29, segid = "")
attr(x, "basis") <- "xyz"

write("ATOM   7584  N   THR A1038      85.730  97.747  55.352  1.00 20.29           N", file ="test.pdb")

y <- Rpdb::read.pdb("test.pdb")

expect_match(colnames(pdb_dataframe(y), do.NULL = TRUE, prefix = "col"),"recname", all=FALSE)
expect_match(colnames(pdb_dataframe(y), do.NULL = TRUE, prefix = "col"),"eleid", all=FALSE)

})

test_that("make sure we have not retained extra elements from pdb file",{
x <- data_frame(recname ="ATOM",eleid= as.integer(7584),elename="N",alt = "",resname ="THR", chainid = "A", resid = as.integer(1038),insert = "",x1=85.730, x2=97.747,x3=55.352,occ=1.00,temp=20.29, segid = "")
attr(x, "basis") <- "xyz"

write("ATOM   7584  N   THR A1038      85.730  97.747  55.352  1.00 20.29           N", file ="test.pdb")

y <- Rpdb::read.pdb("test.pdb")


expect_equal(length(x),length(pdb_dataframe(y)))
expect_equal(class(x),class(pdb_dataframe(y)))
expect_warning(class(x)==class(y))
})
zalperst/visualizeprot documentation built on May 4, 2019, 9:08 p.m.