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))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.