i2bc / SURFMAP

Other
20 stars 3 forks source link

Rscript execution error: No such file or directory #9

Open DennisDannecker opened 9 months ago

DennisDannecker commented 9 months ago

Hello,

Currently I am trying to run the new version of SURFMAP (v. 2.0).

Once I have fixed issues that have risen from my system being set up with SURFMAP v. 1.0, I was able to install and execute it. However, when I execute it on a first example I get the following error:

Begin of command/code:

(myenv_for_surfmap) dennis@dennis-desktop:~/myenv_for_surfmap/src/surfmap/surfmap/examples$ surfmap -pdb 1g3n_A.pdb -tomap stickiness -verbose 2

SURFMAP: Projection of protein surface features on 2D map Copyright (C) 2021 H. Schweke Version: 2.0.0

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

SURFMAP relies on the use of MSMS (version 2.6.1) - Copyright (c) M. F. Sanner, 1994.

As a corollary of MSMS's license terms and conditions, by using SURFMAP, you agree to acknowledge the use of the MSMS software that results in any published work, including scientific papers, films and videotapes by citing the following reference:

Sanner, M.F., Spehner, J.-C., and Olson, A.J. (1996) Reduced surface:
an efficient way to compute molecular surfaces. Biopolymers, Vol. 38.,
(3), 305-320.

MSMS is free for academic use. For commercial use please contact M. F. Sanner at sanner@scripps.edu.

If you use SURFMAP for your research, please cite the following papers:

2023-09-28 16:09:39 — INFO — surfmap.lib.core.surfmap_from_pdb ........................ SURFACE MAPPING OF THE STICKINESS PROPERTY 2023-09-28 16:09:39 — INFO — surfmap.lib.core.surfmap_from_pdb ........................ Step 1: computing a shell around the protein surface 2023-09-28 16:09:39 — DEBUG — surfmap.tools.compute_shell.run ........................... Convert pdb to xyzr format (expected MSMS input) 2023-09-28 16:09:39 — DEBUG — surfmap.tools.compute_shell.run ........................... Running MSMS command: /home/dennis/myenv_for_surfmap/src/surfmap/surfmap/utils/MSMS/msms -if output_SURFMAP_1g3n_A_stickiness/shells/1g3n_A.xyzr -of output_SURFMAP_1g3n_A_stickiness/shells/1g3n_A 2023-09-28 16:09:39 — DEBUG — surfmap.tools.compute_shell.run ........................... Convert MSMS .vert file into CSV format 2023-09-28 16:09:39 — DEBUG — surfmap.tools.compute_shell.run ........................... Convert CSV into PDB format 2023-09-28 16:09:39 — INFO — surfmap.lib.core.surfmap_from_pdb ........................ Step 2: computing the property values and/or assign it to the shell particles 2023-09-28 16:09:39 — DEBUG — surfmap.tools.SurfmapTools.run_particles_mapping ........................... Get dictionary of the PDB structure from 1g3n_A.pdb 2023-09-28 16:09:39 — DEBUG — surfmap.tools.SurfmapTools.run_particles_mapping ........................... Get dictionary of the shell structure from output_SURFMAP_1g3n_A_stickiness/shells/1g3n_A_shell.pdb 2023-09-28 16:09:39 — DEBUG — surfmap.tools.SurfmapTools.run_particles_mapping ........................... Retrieving the center of mass of the pdb structure 2023-09-28 16:09:41 — INFO — surfmap.lib.core.surfmap_from_pdb ........................ Step 3: computing the 2D sinusoidal projection coordinates of each shell particle 2023-09-28 16:09:41 — DEBUG — surfmap.lib.core.compute_coords_list ........................... Running the command: Rscript /home/dennis/myenv_for_surfmap/src/surfmap/surfmap/scripts/computeCoordList.R -f output_SURFMAP_1g3n_A_stickiness/1g3n_A_stickiness_partlist.out -s 5 -P sinusoidal -o output_SURFMAP_1g3n_A_stickiness Rscript execution error: No such file or directory 2023-09-28 16:09:41 — ERROR — surfmap.lib.core.compute_coords_list ........................... Error occured during the computation of spherical coordinates of particles, the process will stop.

End of command/code/output

I run this locally on a Ubuntu 16.04 machine. I have installed SURFMAP as a package in a virtual environment. On this machine I have installed R v. 4.3.1 and APBS 3.0. Prior to this I tried it with the provided docker image. Here, however, I get the following error:

Begin of command/code:

(myenv_for_surfmap) dennis@dennis-desktop:~/myenv_for_surfmap/src/surfmap/surfmap/examples$ surfmap -pdb 1g3n_A.pdb -tomap stickiness -verbose 2 --docker

docker run -it --rm -v /home/dennis/myenv_for_surfmap/src/surfmap/surfmap/examples/1g3n_A.pdb:/home/surfmap/input/1g3n_A.pdb -v /home/dennis/myenv_for_surfmap/src/surfmap/surfmap/examples/output_SURFMAP_1g3n_A_stickiness:/home/surfmap/output:rw lopesi2bc/surfmap:2.0.0 surfmap -pdb /home/surfmap/input/1g3n_A.pdb -tomap stickiness -verbose 2 -d /home/surfmap/output

OpenBLAS blas_thread_init: pthread_create failed for thread 1 of 4: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max OpenBLAS blas_thread_init: pthread_create failed for thread 2 of 4: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max OpenBLAS blas_thread_init: pthread_create failed for thread 3 of 4: Operation not permitted OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max Traceback (most recent call last): File "/surfmap/.env/bin/surfmap", line 33, in sys.exit(load_entry_point('surfmap', 'console_scripts', 'surfmap')()) File "/surfmap/.env/bin/surfmap", line 25, in importlib_load_entry_point return next(matches).load() File "/usr/lib/python3.10/importlib/metadata/init.py", line 171, in load module = import_module(match.group('module')) File "/usr/lib/python3.10/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1050, in _gcd_import File "", line 1027, in _find_and_load File "", line 1006, in _find_and_load_unlocked File "", line 688, in _load_unlocked File "", line 883, in exec_module File "", line 241, in _call_with_frames_removed File "/surfmap/surfmap/bin/surfmap.py", line 5, in from surfmap.lib.core import surfmap_from_pdb, surfmap_from_matrix File "/surfmap/surfmap/lib/core.py", line 13, in from surfmap.tools.SurfmapTools import run_particles_mapping File "/surfmap/surfmap/tools/SurfmapTools.py", line 8, in from surfmap.tools import Structure File "/surfmap/surfmap/tools/Structure.py", line 5, in import os, os.path, sys, string, re, math, numpy File "/surfmap/.env/lib/python3.10/site-packages/numpy/init.py", line 141, in from . import core File "/surfmap/.env/lib/python3.10/site-packages/numpy/core/init.py", line 23, in from . import multiarray File "/surfmap/.env/lib/python3.10/site-packages/numpy/core/multiarray.py", line 10, in from . import overrides File "/surfmap/.env/lib/python3.10/site-packages/numpy/core/overrides.py", line 6, in from numpy.core._multiarray_umath import ( KeyboardInterrupt

End of command/code/output

It says Keyboard interrupt, but I do not manually interrupt the process, it just says that. Maybe someone can help me or point me towards a solution.

Thanks, and thank you very much for developing SURFMAP. A very interesting tool with great potential especially now with the additions and flexibilities.

Cheers Dennis

DennisDannecker commented 9 months ago

While using my locally installed SURFMAP v. 2.0 I was able to do mapping with stickiness, electrostatics did not work, probably an issue with APBS. Since I wish to do electrostatics, I think I really should go with the docker image. However, as posted above I do get this error message. Maybe we can focus on this during troubleshooting.

nchenche commented 9 months ago

Hello Dennis,

Thank you for using SURFMAP.

Unfortunately, the errors you mentionned does not really make sense to me at the first glance. Also, I wasn't able to reproduce them (it works for on my computer - ubuntu 22.04, R 4.1.2). Did you use a new virtual env for the installation? Alse are you using conda?

I would say it does not come from SURFMAP itself, especially for the 2nd error you mentionned OpenBLAS blas_thread_init: pthread_create failed for thread 1 of 4: Operation not permitted. For this one i'd redirect you to this link that might help: OpenBLAS issue.

Could you please post the result of this command run on a terminal ? ulimit -a

And i confirm you should use the docker image to perform electrostatics computation. Let me know if you have solved your issue, I really think it comes from your system...

Nicolas

DennisDannecker commented 9 months ago

Hello Nicolas,

thank you for your quick response. In fact I could fix the issue. Apparently there was an issue with privileges. Once I added the privilige flag to the docker command, SURFMAP works fine via the docker image. Maybe this is more of a dirty fix (security-wise, containers running with enhanced privileges is not necessarily the safest thing to do) however I think for my purposes this is tolerable.

Because you asked:

dennis@dennis-desktop:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31477 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 31477 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited

Cheers Dennis