pdbsplit is broken in bio3d_2.3-1
I found some sort of error whereby pdbsplit is broken in bio3d_2.3-1
if I load and use bi3d_2.2-2 the same command works.
The error is: Error in eval(substitute(expr), envir, enclos) : basic_string Calls: pdbsplit ... withVisible -> eval -> eval -> read.pdb -> .read_pdb -> .Call
Comments (7)
-
-
reporter Here is the version that Does not work:
R version 3.3.1 (2016-06-21) Platform: x86_64-apple-darwin13.4.0 (64-bit) Running under: OS X 10.12.1 (Sierra)
locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages: [1] stats graphics grDevices utils datasets methods base
other attached packages: [1] bio3d_2.3-1
loaded via a namespace (and not attached): [1] parallel_3.3.1 Rcpp_0.12.7 grid_3.3.1
This version does work:
R version 3.3.1 (2016-06-21) Platform: x86_64-redhat-linux-gnu (64-bit) Running under: CentOS Linux 7 (Core)
locale: [1] LC_CTYPE=en_US.utf8 LC_NUMERIC=C [3] LC_TIME=en_US.utf8 LC_COLLATE=en_US.utf8 [5] LC_MONETARY=en_US.utf8 LC_MESSAGES=en_US.utf8 [7] LC_PAPER=en_US.utf8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
attached base packages: [1] stats graphics grDevices utils datasets methods base
other attached packages: [1] bio3d_2.2-2
loaded via a namespace (and not attached): [1] parallel_3.3.1 grid_3.3.1
-
I can't reproduce this error on the same Mac OS sierra and package versions. Can I ask what file you were actually trying to split at the time of the error please? Thanks!
-
Seems
read.pdb()
didn't work. Can you find out which pdb file that caused the problem? (For example, usingpdbsplit(pdb.files, verbose=TRUE, ncore=1)
and pay attention to the message). Then, you may tryread.pdb("the_problem_pdb_file")
to see if it works.Also, it would be good to know if the version 2.3-1 works on your Linux system.
-
reporter Here is one version of what I did:
library(bio3d) pdb <- read.pdb("2OWB.pdb") seq <- pdbseq(pdb) blast <- blast.pdb(seq) hits <- plot.blast(blast, cluster=TRUE) files <- get.pdb(hits, path="all_pdbs", split = FALSE) chainsplit <- pdbsplit(files, path = "split") pdbs <- pdbaln(chainsplit) pdbs <- pdbfit(pdbs, outpath="aligned/") quit()
Here is the other version where I protonated them before splitting. I get the same error as the other script:
library(bio3d) seq <- pdbseq(pdb) blast <- blast.pdb(seq) hits <- plot.blast(blast, cluster=TRUE) files <- get.pdb(hits, path="all_pdbs", split = FAL cmd_base <- "reduce" outfiles <- paste0(files,"_H.pdb") out <- paste0(" > ") cmds <- paste(cmd_base, files, out, outfiles) for(i in 1:length(cmds)) { system(cmds[i]) ## you will likely want to catch errors with 'try()'' etc. } chainsplit <- pdbsplit(outfiles, path = "split_chain") pdbs <- pdbaln(chainsplit) pdbs <- pdbfit(pdbs, outpath="H_aligned/") quit()
-
Hi Jonathan, I tested your script, and it seems to be working fine here.
Note that pdbfit outputs only the coordinates and not the full pdbs object. Thus, you last command here will make pdbs to an xyz object . which is possibly not what you want. Use
pdbs$xyz <- pdbfit(pdbs, outpath="aligned/")
instead -
- changed status to resolved
not a bug
- Log in to comment
Thanks for reporting Jonathan - we will check it out. Could you provide the information returned by
sessionInfo()
please. This will tell us your OS flavor and various other things we find useful for tracking down these things.