protocaller/ProtoCaller

ions.mdp missing

Closed this issue · 2 comments

Hi there,

When trying to run the code here https://protocaller.readthedocs.io/en/latest/Examples.T4-lysosyme.html I get the following error message (I'm using gromacs 2020.1):

INFO:root:Running gmx grompp...
Traceback (most recent call last):
  File "/usr/local/Caskroom/miniconda/base/envs/protocaller/lib/python3.7/site-packages/ProtoCaller/Utils/runexternal.py", line 30, in runExternal
    _subprocess.check_call(commands, shell=True, stdout=stdout, stderr=stderr)
  File "/usr/local/Caskroom/miniconda/base/envs/protocaller/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '('/Users/nmartin/software/gromacs-2020.1/build/bin/gmx grompp -f ions.mdp -p complex_waters.top -c complex_waters.gro -o "complex_solvated.tpr"',)' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "prepare.py", line 34, in <module>
    system.prepareComplexes()
  File "/usr/local/Caskroom/miniconda/base/envs/protocaller/lib/python3.7/site-packages/ProtoCaller/Ensemble/__init__.py", line 242, in prepareComplexes
    centre=self.centre, work_dir=curdir.path, filebase="complex")]
  File "/usr/local/Caskroom/miniconda/base/envs/protocaller/lib/python3.7/site-packages/ProtoCaller/Solvate/__init__.py", line 146, in solvate
    _runexternal.runExternal(command, procname="gmx grompp")
  File "/usr/local/Caskroom/miniconda/base/envs/protocaller/lib/python3.7/site-packages/ProtoCaller/Utils/runexternal.py", line 33, in runExternal
    raise OSError("Error while calling command '%s'" % procname)
OSError: Error while calling command 'gmx grompp'

ions.mdp is missing from my current folder but it seems odd not to specify any path to it or integrate it directly in the code.

Hope this helps, thanks a lot for the initiative !

Hi @niko97320

Thank you for letting us know about this, and we will work on it.

Meantime you can use GROMACS 2019.1 for your testing.
I see you are running ProtoCaller in a conda environment. So just install conda version of GROMACS into your conda env
conda install -c bioconda -c conda-forge gromacs=2019.1

Hi @niko97320 ,

Thanks for the report. It turns out that the issue is due to GROMACS 2020 no longer supporting group neighbourlists. This is not a problem for genion, and I fixed it now but it does make me wonder whether running simulations in vacuum without periodic boundary conditions is no longer possible in GROMACS 2020? Because Verlet neighbourlists need periodic boundary conditions even in GROMACS 2020.

You can update ProtoCaller now. I am currently pushing the latest development versions to the main Conda channel, since the Protein Data Bank had a recent overhaul and and some of the functionality was broken and I will be relying on "nightly" builds until they fix that. You can always access older versions from the protocaller/label/dev channel, if you need to. For most cases it should be fine, though.