Hi Mario,
I’ve been able to successfully run gmx_MMPBSA on three of my systems, which all have protein-ligand complexes where the protein is a monomer. However, I have another system in which the protein is a dimer and the topology (.top) file calls two position restraint files (.itp), one for each chain (A and B) but I get the following error.
$ gmx_MMPBSA -O -i
mmpbsa.in -cs md_9_1.tpr -ci index.ndx -cg 1 13 -ct md_10ns1.xtc -cp topol.top
[INFO ] Starting
[WARNING] protein_forcefield and ligand_forcefield variables are deprecate since version 1.4.1 and will be remove in the next version. Please, use forcefield instead.
[INFO ] Checking external programs...
[INFO ] cpptraj found! Using /home/xxxx/amber20/bin/cpptraj
[INFO ] tleap found! Using /home/xxxx/amber20/bin/tleap
[INFO ] parmchk2 found! Using /home/xxxx/amber20/bin/parmchk2
[INFO ] sander found! Using /home/xxxx/amber20/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 ] Checking if supported force fields exists in Amber data...
[INFO ] Get PDB files from GROMACS structures files...
[INFO ] Making gmx_MMPBSA index for complex...
[INFO ] Running command: echo name 1 GMXMMPBSA_REC\n name 13 GMXMMPBSA_LIG\n 1 | 13\n q\n | /usr/local/gromacs/bin/gmx make_ndx -n index.ndx -o _GMXMMPBSA_COM_index.ndx
[INFO ] Normal Complex: Saving group 1_13 in _GMXMMPBSA_COM_index.ndx file as _GMXMMPBSA_COM.pdb
[INFO ] Running command: echo GMXMMPBSA_REC_GMXMMPBSA_LIG | /usr/local/gromacs/bin/gmx editconf -f md_9_1.tpr -o _GMXMMPBSA_COM.pdb -n _GMXMMPBSA_COM_index.ndx
[INFO ] No receptor structure file was defined. Using ST approach...
[INFO ] Using receptor structure from complex to generate AMBER topology
[INFO ] Normal Complex: Saving group 1 in _GMXMMPBSA_COM_index.ndx file as _GMXMMPBSA_REC.pdb
[INFO ] Running command: echo 1 | /usr/local/gromacs/bin/gmx editconf -f md_9_1.tpr -o _GMXMMPBSA_REC.pdb -n _GMXMMPBSA_COM_index.ndx
[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 13 in _GMXMMPBSA_COM_index.ndx file as _GMXMMPBSA_LIG.pdb
[INFO ] Running command: echo 13 | /usr/local/gromacs/bin/gmx editconf -f md_9_1.tpr -o _GMXMMPBSA_LIG.pdb -n _GMXMMPBSA_COM_index.ndx
[INFO ] Building Normal Complex Amber Topology...
File "/home/xxxx/amber20/miniconda/bin/gmx_MMPBSA", line 8, in <module>
sys.exit(gmxmmpbsa())
File "/home/xxxx/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/app.py", line 97, in gmxmmpbsa
app.make_prmtops()
File "/home/xxxx/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/main.py", line 579, in make_prmtops
self.FILES.mutant_receptor_prmtop, self.FILES.mutant_ligand_prmtop) = maketop.buildTopology()
File "/home/xxxx/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 112, in buildTopology
tops = self.gmxtop2prmtop()
File "/home/xxxx/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 313, in gmxtop2prmtop
com_top = self.cleantop(self.FILES.complex_top, self.indexes[0] + self.indexes[1])
File "/home/xxxx/amber20/miniconda/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 591, in cleantop
rtemp_top = parmed.gromacs.GromacsTopologyFile(ttp_file.as_posix())
File "/home/xxxx/amber20/lib/python3.8/site-packages/parmed/gromacs/gromacstop.py", line 251, in __init__
self.read(fname, defines, parametrize)
File "/home/xxxx/amber20/lib/python3.8/site-packages/parmed/gromacs/gromacstop.py", line 289, in read
for line in f:
File "/home/xxxx/amber20/lib/python3.8/site-packages/parmed/gromacs/_gromacsfile.py", line 44, in __iter__
for line in self._handle:
File "/home/xxxx/amber20/lib/python3.8/site-packages/parmed/gromacs/_cpp.py", line 178, in __iter__
for line in self._includefile:
File "/home/xxxx/amber20/lib/python3.8/site-packages/parmed/gromacs/_cpp.py", line 193, in __iter__
raise PreProcessorError('EOF: Unterminated #if(def)')
PreProcessorError: EOF: Unterminated #if(def)
Exiting. All files have been retained.
Does this have anything to do with my input files and the fact that the protein is a dimer?
Your help is greatly appreciated
Pedro