Valdes-Tresanco-MS / gmx_MMPBSA

gmx_MMPBSA is a new tool based on AMBER's MMPBSA.py aiming to perform end-state free energy calculations with GROMACS files.
https://valdes-tresanco-ms.github.io/gmx_MMPBSA/
GNU General Public License v3.0
226 stars 65 forks source link

[Bug-gmx_MMPBSA]: gmx_MMPBSA does not support water/ions molecules in any structure, but we found 1 molecules in the complex. #404

Closed aizatzaini closed 1 year ago

aizatzaini commented 1 year ago

Bug summary

Hi, I am unable to understand what is wrong with my input. It stated that 1 water/ion molecule was found, but there isn't any. I had ran gmx_MMPBSA on a different complex (same protein, different ligand), and it ran smoothly with no error. I think something is wrong with the ligand but need help troubleshooting. I had updated to the latest version of gmx_MMPBSA. Please help!

Terminal output

[INFO   ] Starting gmx_MMPBSA v1.6.1+16.gc99f0b4
[INFO   ] Command-line
  gmx_MMPBSA -O -i mmpbsa.in -cs md_0_100.tpr -ci index.ndx -cg 1 13 -ct md_0_100_center.xtc -cp topol.top

tets
[INFO   ] Checking mmpbsa.in input file...
[INFO   ] Checking mmpbsa.in input file...Done.

[INFO   ] Checking external programs...
[INFO   ] cpptraj found! Using /home/aizatzaini/miniconda3/envs/gmxMMPBSA/bin/cpptraj
[INFO   ] tleap found! Using /home/aizatzaini/miniconda3/envs/gmxMMPBSA/bin/tleap
[INFO   ] parmchk2 found! Using /home/aizatzaini/miniconda3/envs/gmxMMPBSA/bin/parmchk2
[INFO   ] sander found! Using /home/aizatzaini/miniconda3/envs/gmxMMPBSA/bin/sander
[INFO   ] Using GROMACS version > 5.x.x!
[INFO   ] gmx found! Using /usr/local/gromacs/bin/gmx
[INFO   ] Checking external programs...Done.

[INFO   ] Building AMBER topologies from GROMACS files...
[INFO   ] Get PDB files from GROMACS structures files...
[INFO   ] Making gmx_MMPBSA index for complex...
[INFO   ] Normal Complex: Saving group Protein_POT (1_13) in _GMXMMPBSA_COM_index.ndx file as _GMXMMPBSA_COM.pdb
[INFO   ] No receptor structure file was defined. Using ST approach...
[INFO   ] Using receptor structure from complex to generate AMBER topology
[INFO   ] Normal Receptor: Saving group Protein (1) in _GMXMMPBSA_COM_index.ndx file as _GMXMMPBSA_REC.pdb
[INFO   ] No ligand structure file was defined. Using ST approach...
[INFO   ] Using ligand structure from complex to generate AMBER topology
[INFO   ] Normal Ligand: Saving group POT (13) in _GMXMMPBSA_COM_index.ndx file as _GMXMMPBSA_LIG.pdb
[ERROR  ] MMPBSA_Error

gmx_MMPBSA does not support water/ions molecules in any structure, but we found 1 molecules in the complex.

Check the gmx_MMPBSA.log file to report the problem.
  File "/home/aizatzaini/miniconda3/envs/gmxMMPBSA/bin/gmx_MMPBSA", line 8, in <module>
    sys.exit(gmxmmpbsa())
  File "/home/aizatzaini/miniconda3/envs/gmxMMPBSA/lib/python3.9/site-packages/GMXMMPBSA/app.py", line 98, in gmxmmpbsa
    app.make_prmtops()
  File "/home/aizatzaini/miniconda3/envs/gmxMMPBSA/lib/python3.9/site-packages/GMXMMPBSA/main.py", line 682, in make_prmtops
    self.FILES.mutant_receptor_prmtop, self.FILES.mutant_ligand_prmtop) = maketop.buildTopology()
  File "/home/aizatzaini/miniconda3/envs/gmxMMPBSA/lib/python3.9/site-packages/GMXMMPBSA/make_top.py", line 123, in buildTopology
    self.gmx2pdb()
  File "/home/aizatzaini/miniconda3/envs/gmxMMPBSA/lib/python3.9/site-packages/GMXMMPBSA/make_top.py", line 509, in gmx2pdb
    self.check4water()
  File "/home/aizatzaini/miniconda3/envs/gmxMMPBSA/lib/python3.9/site-packages/GMXMMPBSA/make_top.py", line 531, in check4water
    GMXMMPBSA_ERROR(f'gmx_MMPBSA does not support water/ions molecules in any structure, but we found'
  File "/home/aizatzaini/miniconda3/envs/gmxMMPBSA/lib/python3.9/site-packages/GMXMMPBSA/exceptions.py", line 171, in __init__
    raise exc('\n\n' + msg + '\n\nCheck the gmx_MMPBSA.log file to report the problem.')
MMPBSA_Error:

gmx_MMPBSA does not support water/ions molecules in any structure, but we found 1 molecules in the complex.

Check the gmx_MMPBSA.log file to report the problem.
Exiting. All files have been retained.

gmx_MMPBSA.log

gmx_MMPBSA.log

Operating system

Window Subsystem for Linux (Ubuntu 22)

gmx_MMPBSA Version

gmx_MMPBSA v1.6.1+16.gc99f0b4 based on MMPBSA version 16.0 and AmberTools 20

Python version

Python 3.9.12

Installation

conda AmberTools + pip

marioernestovaldes commented 1 year ago

Please, attach the gmx_MMPBSA.log file

aizatzaini commented 1 year ago

gmx_MMPBSA.log Thank Dr Valdes, I hereby reattach the log file for the above process. Really appreciate your input on this, thank you.

marioernestovaldes commented 1 year ago

Please, rerun the calculation and send the gmx_MMPBSA.log file

aizatzaini commented 1 year ago

I had rerun the process, and the problem still persist. The log file as follows gmx_MMPBSA.log

The process seemed to stuck at producing output from processing ligand's AMBER topology, claiming that there is 1 water/ion molecule when there isn't any. The ligand consist of only Carbon, Hydrogen and Oxygen. Nothing that resemble water/ion.

Valdes-Tresanco-MS commented 1 year ago

This can happen because the ligand contains some atoms listed as ions. Please, send me the files (only 5 or 10 frames of the trajectory) to verify them

aizatzaini commented 1 year ago

trajectory frame 91-100ns.zip Here are the 10 frames (91ns-100ns) of the simulation in xtc form. I chose this timeframe as it had shown least backbone RMSD. I've also included the mol2 file of my ligand, in case it's helpful.

Valdes-Tresanco-MS commented 1 year ago

Please, remove the PBCs and select a few frames in xtc format. Also, attach the rest of the files used for the calculation to reproduce the error.

Command line to extract 10 frames

gmx trjconv -f md.xtc -e 100 -o md_10f.xtc
aizatzaini commented 1 year ago

Thanks for the tip on frame extraction, Dr. I've included the 10 frames without PBC the in md_10f_center.xtc file. Trajectory Files.zip

I hereby attach the other files used in the command:

mmpbsa.in -from your tutorial .tpr file. .ndx file (group 1 Protein group 13 Ligand) topology file

marioernestovaldes commented 1 year ago

What's happening is that the ligand is named "POT" which turns out it's also an abbreviation for an ion (potassium). Please change the name to something else (for example "LIG") and it should work... make sure to change the name in all instances i.e. topology, structure files...

aizatzaini commented 1 year ago

That's amusing. Thanks Dr Valdes, will try it out.