DSSP bad lexical cast
Hello,
I was trying to obtain the SSE of my pdb, but the execution failed with the following error
sse <- dssp(pdb2, verbose = TRUE)
.. 1488 atom(s) from 'string' selection
.. 1488 atom(s) in final combined selection
.. 6149 atom(s) from 'string' selection
.. 6149 atom(s) in final combined selection
.. 127579 atom(s) in inversed selection
Running command:
dssp /tmp/RtmpNGAMkZ/file23603f5e7008 /tmp/RtmpNGAMkZ/file236013e8661d
DSSP could not be created due to an error:
bad lexical cast: source type value could not be interpreted as target
Error in dssp.pdb(pdb2, verbose = TRUE) :
An error occurred while running command
'dssp /tmp/RtmpNGAMkZ/file23603f5e7008 /tmp/RtmpNGAMkZ/file236013e8661d'
In addition: Warning message:
In dssp.pdb(pdb2, verbose = TRUE) :
Non-protein residues detected in input PDB: CLA, SOD, CYP, POPC, TIP3
the files on the tmp are the pdb I'm using for the evaluations, and outside R the dssp generates the output without problems, but nevertheless I regenerated the pdb saving a new file using pymol.
I'm stuck and I hope you could help me
the system info is the following
R version 3.5.2 (2018-12-20)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 9 (stretch)
Matrix products: default
BLAS: /usr/local/lib/R/lib/libRblas.so
LAPACK: /usr/local/lib/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] bio3d_2.3-4
loaded via a namespace (and not attached):
[1] compiler_3.5.2 parallel_3.5.2 tools_3.5.2 Rcpp_1.0.0 grid_3.5.2
[6] lattice_0.20-38
Comments (5)
-
-
Hello, now it run the program
had as well fix the chains and aa... and trim the pdb before it worked fine, since I had a non-standard residue of palmitoyl cysteine.
on a side note, I'm trying to plot the evolution of the SSE content along the MD frames, but can't figure out how to access the data hold in the output matrix of
dssp.xyz(xyz[frames,], pdb)
. I was thinking in parse the sse result frame by frame to count the letters and then plot the percentage, but I couldn't figure out how to get a single frame output at a timeAny suggestions???
-
The return value of
dssp.xyz()
is a list. You can access its components by using the dollar ($) sign. For example,sse <- dssp(xyz, pdb) sse$helix sse$helix$start sse$helix$end
Hope it helps.
-
Question not a bug
-
- changed status to resolved
- Log in to comment
Hi,
It seems you have water and ligands in the pdb file, which may break dssp. Delete those molecules using e.g.
clean.pdb(rm.wat=TRUE, rm.lig=TRUE)
will help solve the problem.