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
225 stars 65 forks source link

PDBError: Coordinate mismatch in model 1 #13

Closed dimkol94 closed 3 years ago

dimkol94 commented 3 years ago

Hi,

I am running a heterodimeric membrane protein (2 chains) with a ligand. I have tried with both a .gro and a .tpr file as input. I installed AmberTools20 with conda and then did pip install gmx_MMPBSA in the conda environment. This is after I realised that Amber18 package does not work with this tool (python3 issue raised before here) I am using this command:

gmx_MMPBSA -i MMPBSA_input -cs ../pr_200ns.tpr -ci index.ndx -cg 1 13 -ct ../pr_200ns_whole_nojump_center_rotxy-transxy.xtc --overwrite

Can you provide more info as to what is wrong with my files? The error message I am receiving is not very enlightening as to what the problem is...

OUTPUT:

Loading and checking parameter files for compatibility...

cpptraj found! Using /sansom/s152/bras4549/anaconda3/envs/AmberTools20/bin/cpptraj gmx found! Using /sbcb/packages/opt/Linux_x86_64/gromacs/2020.3_GCC6.2_CUDA10.1.AVX2/bin/gmx tleap found! Using /sansom/s152/bras4549/anaconda3/envs/AmberTools20/bin/tleap parmchk2 found! Using /sansom/s152/bras4549/anaconda3/envs/AmberTools20/bin/parmchk2 sander found! Using /sansom/s152/bras4549/anaconda3/envs/AmberTools20/bin/sander Normal Complex: Save group 1_13 in index.ndx (gromacs index) file as _GMXMMPBSA_COM.pdb Clear normal complex trajectories... Using receptor structure from complex to make amber topology Normal Complex: Save group 1 in _GMXMMPBSA_COM_index.ndx (gromacs index) file as _GMXMMPBSA_REC.pdb Using ligand structure from complex to make amber topology Save group 13 in _GMXMMPBSA_COM_index.ndx (gromacs index) file as _GMXMMPBSA_LIG.pdb File "/sansom/s152/bras4549/anaconda3/bin/gmx_MMPBSA", line 8, in sys.exit(gmxmmpbsa()) File "/sansom/s152/bras4549/anaconda3/lib/python3.8/site-packages/GMXMMPBSA/app.py", line 92, in gmxmmpbsa app.loadcheck_prmtops() File "/sansom/s152/bras4549/anaconda3/lib/python3.8/site-packages/GMXMMPBSA/main.py", line 590, in loadcheck_prmtops maketop = CheckMakeTop(FILES, INPUT, self.external_progs) File "/sansom/s152/bras4549/anaconda3/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 99, in init self.checkPDB() File "/sansom/s152/bras4549/anaconda3/lib/python3.8/site-packages/GMXMMPBSA/make_top.py", line 294, in checkPDB self.complex_str = parmed.read_PDB(self.complex_pdb) # can always be initialized File "/sansom/s152/bras4549/anaconda3/lib/python3.8/site-packages/parmed/formats/pdb.py", line 376, in parse inst._parse_open_file(fileobj) File "/sansom/s152/bras4549/anaconda3/lib/python3.8/site-packages/parmed/formats/pdb.py", line 430, in _parse_open_file method_dispatchrec File "/sansom/s152/bras4549/anaconda3/lib/python3.8/site-packages/parmed/formats/pdb.py", line 703, in _end_model raise PDBError('Coordinate mismatch in model %d' % self._current_model_number) PDBError: Coordinate mismatch in model 1 Exiting. All files have been retained.

Valdes-Tresanco-MS commented 3 years ago

I think the error is related to the protein, which is a dimer. We have not tested a system similar to this. Can you send me a sample of the files that you want to process? (tpr, 2-10 dynamic frames, mol2 ligand, index, etc.)

Regardless of this error, when you want to perform a protein-ligand (small molecule) analysis, you need to provide the ligand mol2 file.

Valdes-Tresanco-MS commented 3 years ago

After reviewing and doing several tests, I realized that the problem is in the parmed module. GROMACS merges the chains into a single moleculetype. Any PDB file obtained from this topology will contain a single chain. This has the disadvantage that the chain can contain duplicate amino acids.parmed records this data according to atoms info (atom name, number, res name, chain, etc) as a key. In this case, ALA 201 is in the two chains that you merged, so parmed will record this amino acid once but its coordinates twice. That's why it gives the error.

I will try some tests to see if it can solve this problem.

Valdes-Tresanco-MS commented 3 years ago

Options: