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
216 stars 64 forks source link

[Question]: Problems in multicomponent systems #201

Closed 9527567 closed 2 years ago

9527567 commented 2 years ago

Bug summary

For the protein RNA membrane system I simulated, I want to calculate the binding energy between protein and RNA, but when I refer to the Multicomponent Systems tutorial, ligand's mol2 file is necessary. When the RNA mol2 file is added, I get an error. When I use the protein DNA tutorial, I also get an error, so I want to know how to calculate the binding energy between protein and RNA in the multicomponent system.

Terminal output

[INFO   ] Starting gmx_MMPBSA v1.5.1
[INFO   ] Command-line
  gmx_MMPBSA -O -i mmpbsa.in -cs ../step7_1.tpr -ci ../index.ndx -cg 1 20 -ct md_noPBC.xtc

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

[INFO   ] Checking external programs...
[INFO   ] cpptraj found! Using /home/jack/.app/amber20/bin/cpptraj
[INFO   ] tleap found! Using /home/jack/.app/amber20/bin/tleap
[INFO   ] parmchk2 found! Using /home/jack/.app/amber20/bin/parmchk2
[INFO   ] sander found! Using /home/jack/.app/amber20/bin/sander
[INFO   ] Using GROMACS version > 5.x.x!
[INFO   ] gmx found! Using /home/jack/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 1_20 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 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 20 in _GMXMMPBSA_COM_index.ndx file as _GMXMMPBSA_LIG.pdb
[INFO   ] Checking the structures consistency...
[INFO   ]
[INFO   ] Generating AMBER Compatible PDB Files...
[INFO   ] Changing the Complex residues name format from GROMACS to AMBER...
[INFO   ] Changing the Receptor residues name format from GROMACS to AMBER...
[INFO   ] Changing the Ligand residues name format from GROMACS to AMBER...
[INFO   ] Splitting  receptor and ligand in PDB files..
[INFO   ] Building tleap input files...
[ERROR  ] MMPBSA_Error /home/jack/.app/amber20/bin/tleap failed when querying _GMXMMPBSA_leap.in.
           Check the gmx_MMPBSA.log file to report the problem.
  File "/home/jack/.app/amber20/bin/gmx_MMPBSA", line 8, in <module>
    sys.exit(gmxmmpbsa())
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/app.py", line 101, in gmxmmpbsa
    app.make_prmtops()
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/main.py", line 533, in make_prmtops
    self.FILES.mutant_receptor_prmtop, self.FILES.mutant_ligand_prmtop) = maketop.buildTopology()
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 121, in buildTopology
    tops = self.makeToptleap()
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 1325, in makeToptleap
    self._run_tleap(tleap, 'leap.in', data_path)
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 1451, in _run_tleap
    GMXMMPBSA_ERROR('%s failed when querying %s' % (tleap, self.FILES.prefix + arg1))
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/exceptions.py", line 169, in __init__
    raise exc(msg + '\nCheck the gmx_MMPBSA.log file to report the problem.')
MMPBSA_Error: /home/jack/.app/amber20/bin/tleap failed when querying _GMXMMPBSA_leap.in
Check the gmx_MMPBSA.log file to report the problem.
Exiting. All files have been retained.

gmx_MMPBSA.log

gmx_MMPBSA.log leap.log

Operating system

Ubuntu20

gmx_MMPBSA Version

gmx_MMPBSA v1.5.1 based on MMPBSA version 16.0 and AmberTools 20

Python version

Python 3.8.12

Installation

AmberTools compilation + pip

marioernestovaldes commented 2 years ago

Hi there! There two things to take into account in this particular system:

-First of all, when working with this kind of systems more complex, defining the topology with '-cp' flag is recommended. If you are going to use structures, then you need to define the force fields. In this case I noticed you defined the force field for the protein ("leaprc.protein.ff19SB") but there is no force field defined for the RNA. You can check the "forcefields" variable in https://valdes-tresanco-ms.github.io/gmx_MMPBSA/input_file/#parameter-options and see how the force fields are defined. The recommended for RNA is "leaprc.RNA.OL3". But again, all this can be skipped if you just define the topology with the '-cp' flag.

-Considering that is a Protein (I assume embedded in a membrane) - RNA system, if you want to perform the calculations in similar conditions to that of the MD simulation (this includes take into account the effect of the membrane) you may want to check this tutorial if you ran your system with amber force fields or this tutorial if you ran your system with charmm force fields. Note that when using implicit membrane condition, only PB can be used.

hope this helps!

9527567 commented 2 years ago

According to your suggestion, I used the - cp option and canceled the force field setting and the mmpbsa.in in the Protein-ligand embedded in membrane ,there are new problems here.Thank you very much for your reply.

gmx_MMPBSA -O -i mmpbsa.in -cs ../step7_1.tpr -ci ../index.ndx -cg 1 20 -ct md_noPBC.xtc -cp ../topol.top
[INFO   ] Starting gmx_MMPBSA v1.5.1
[INFO   ] Command-line
  gmx_MMPBSA -O -i mmpbsa.in -cs ../step7_1.tpr -ci ../index.ndx -cg 1 20 -ct md_noPBC.xtc -cp ../topol.top

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

[INFO   ] Checking external programs...
[INFO   ] cpptraj found! Using /home/jack/.app/amber20/bin/cpptraj
[INFO   ] tleap found! Using /home/jack/.app/amber20/bin/tleap
[INFO   ] parmchk2 found! Using /home/jack/.app/amber20/bin/parmchk2
[INFO   ] sander found! Using /home/jack/.app/amber20/bin/sander
[INFO   ] Using GROMACS version > 5.x.x!
[INFO   ] gmx found! Using /home/jack/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 1_20 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 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 20 in _GMXMMPBSA_COM_index.ndx file as _GMXMMPBSA_LIG.pdb
[INFO   ] Checking the structures consistency...
[INFO   ]
[INFO   ] Using topology conversion. Setting radiopt = 0...
[INFO   ] Building Normal Complex Amber topology...
  File "/home/jack/.app/amber20/bin/gmx_MMPBSA", line 8, in <module>
    sys.exit(gmxmmpbsa())
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/app.py", line 101, in gmxmmpbsa
    app.make_prmtops()
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/main.py", line 533, in make_prmtops
    self.FILES.mutant_receptor_prmtop, self.FILES.mutant_ligand_prmtop) = maketop.buildTopology()
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 118, in buildTopology
    tops = self.gmxtop2prmtop()
  File "/home/jack/.app/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 460, in gmxtop2prmtop
    com_amb_prm = parmed.amber.AmberParm.from_structure(com_top)
  File "/home/jack/.app/amber20/lib/python3.8/site-packages/parmed/amber/_amberparm.py", line 317, in from_structure
    raise TypeError('AmberParm does not support all of the parameters '
TypeError: AmberParm does not support all of the parameters defined in the input Structure. Try ChamberParm
Exiting. All files have been retained.
marioernestovaldes commented 2 years ago

Did you installed this ParmEd version?

amber.python -m pip install git+https://github.com/ParmEd/ParmEd.git@16fb236

9527567 commented 2 years ago

Yes, it solved the problem perfectly. Thank you again for your patience and reply. Anyway, gmx_ MMPBSA is really a great project!