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

trjconv failed when querying md.tpr #33

Closed gayatripanda5 closed 3 years ago

gayatripanda5 commented 3 years ago

This is in reference to issue #15 .
I also facing the same issue. gmx_MMPBSA worked perfectly fine with files in Protein-DNA examples but failed while running it for my files.

Command used: gmx_MMPBSA -O -i mmpbsa_onlygbsa.in -cs md_0-900ns-1000ns_nodt_nocpmact.tpr -ci index_prot.ndx -cg 1 12 -ct md_0-900ns-1000ns_nodt_nocpmact.xtc

Error reported: File "/home/gayatrip/miniconda3/envs/amber/lib/python3.9/site-packages/GMXMMPBSA/exceptions.py", line 169, in init raise exc(msg + '. Check the gmx_MMPBSA.log file to report the problem.') MMPBSA_Error: /home/gayatrip/gromacs-2020/build/bin/gmx trjconv failed when querying md_0-900ns-1000ns_nodt_nocpmact.tpr. Check the gmx_MMPBSA.log file to report the problem.

Could you please tell me where am I going wrong?

Thanks in advance

gayatripanda5 commented 3 years ago

Also, as suggested by you, I have shared with you the required files.

Valdes-Tresanco-MS commented 3 years ago

Do not worry, you have not created any inconvenience, in this way both you and we do a better follow-up of the problem.

About the error The error associated with tpr is due to several possible factors, among them and the most common is that a version of Gromacs incompatible with tpr is used. I am using version 2020.6 and it works correctly, however with no version lower than 2020 it works. As the error says, check the log file gmx_MMPBSA.log to know if it is this error

About your system. Your system in the tpr is inconsistent, this does not mean that it is wrong. We have already discussed the topic several times, once in the group and even created an issue (#18) related to this. To summarize: based on the tests I did and my experience, if your system is longer than one of the edges of the box that you defined, then you can get an inconsistent structure in the tpr, even if you try to remove the PBC. This means that if you use this tpr, to adjust the trajectory then you will get inconsistent or broken structures in some cases. Since gmx_MMPBSA gets the structure from the tpr file, must be consistent or use another structure as I mention below. In your case, the trajectory is not fitted, you make sure that you fitting the trajectory before performer the calculation with gmx_MMPBSA since you can get inconsistent energy and take a long time to finish the calculation. Fortunately, the adjusted trajectory obtained using this tpr is consistent. This means that in order to use gmx_MMPBSA consistently you must extract a structure from the trajectory that is consistent. Check this before running gmx_MMPBSA through a visual inspection. You can do it as follows:

  1. Generate a group that contains both molecules
      gmx make_ndx -n index_prot.ndx -o index.ndx
      input: 1 | 12
      input q
  2. remove the PBC
      gmx trjconv -s md_30_280.tpr -f md_990ns-1000ns_nodt_nocpmact.xtc -o md_noPBC.xtc -pbc mol -center -n
      center: 20 (in my case)
      output: 0
  3. remove the rotation and translation with respect to the reference structure (optional)
      gmx trjconv -s md_30_280.tpr -f md_noPBC.xtc -o md_fit.xtc -n -fit rot + trans
      fit: 20 (in my case)
      output: 0
  4. extract a frame from the dynamics (in my case I extracted the first one)
      gmx trjconv -f md_fit.xtc -s md_30_280.tpr -dump 0 -o sys.pdb
  5. run gmx_MMPBSA (with MPI)
      mpirun -np 15 gmx_MMPBSA MPI -O -i mmpbsa.in -cs sys.pdb -ci index.ndx -cg 1 12 -ct md_fit.xtc

    This worked as expected Best! Mario S.

gayatripanda5 commented 3 years ago

Dear Mario S.,

As suggested by you, I have grouped the Protein and RNA, and then removed PBC, and fitted the trajectory. It has been running for the last 3 hrs. I am hoping that your suggestion worked. Thanks for your valuable support and comments.

Thanks and regards

On Tue, Apr 13, 2021 at 1:03 AM Mario Sergio Valdés Tresanco < @.***> wrote:

Do not worry, you have not created any inconvenience, in this way both you and we do a better follow-up of the problem.

About the error The error associated with tpr is due to several possible factors, among them and the most common is that a version of Gromacs incompatible with tpr is used. I am using version 2020.6 and it works correctly, however with no version lower than 2020 it works. As the error says, check the log file gmx_MMPBSA.log to know if it is this error

About your system. Your system in the tpr is inconsistent, this does not mean that it is wrong. We have already discussed the topic several times, once in the group https://groups.google.com/g/gmx_mmpbsa/c/j9SWumiAesQ/m/-VceHhDiCAAJ and even created an issue (#18 https://github.com/Valdes-Tresanco-MS/gmx_MMPBSA/issues/18) related to this. To summarize: based on the tests I did and my experience, if your system is longer than one of the edges of the box that you defined, then you can get an inconsistent structure in the tpr, even if you try to remove the PBC. This means that if you use this tpr, to adjust the trajectory then you will get inconsistent or broken structures in some cases. Since gmx_MMPBSA gets the structure from the tpr file, must be consistent or use another structure as I mention below. In your case, the trajectory is not fitted, you make sure that you fitting the trajectory before performer the calculation with gmx_MMPBSA since you can get inconsistent energy and take a long time to finish the calculation. Fortunately, the adjusted trajectory obtained using this tpr is consistent. This means that in order to use gmx_MMPBSA consistently you must extract a structure from the trajectory that is consistent. Check this before running gmx_MMPBSA through a visual inspection. You can do it as follows:

  1. Generate a group that contains both molecules

    gmx make_ndx -n index_prot.ndx -o index.ndx input: 1 | 12 input q

  2. remove the PBC

    gmx trjconv -s md_30_280.tpr -f md_990ns-1000ns_nodt_nocpmact.xtc -o md_noPBC.xtc -pbc mol -center -n center: 20 (in my case) output: 0

  3. remove the rotation and translation with respect to the reference structure (optional)

    gmx trjconv -s md_30_280.tpr -f md_noPBC.xtc -o md_fit.xtc -n -fit rot + trans fit: 20 (in my case) output: 0

  4. extract a frame from the dynamics (in my case I extracted the first one)

    gmx trjconv -f md_fit.xtc -s md_30_280.tpr -dump 0 -o sys.pdb

  5. run gmx_MMPBSA (with MPI)

    mpirun -np 15 gmx_MMPBSA MPI -O -i mmpbsa.in -cs sys.pdb -ci index.ndx -cg 1 12 -ct md_fit.xtc

This worked as expected Best! Mario S.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Valdes-Tresanco-MS/gmx_MMPBSA/issues/33#issuecomment-818077437, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSH3U4QEPTTTA6FV6CLTV3TINDIPANCNFSM42ZTBJXQ .

-- Gayatri Panda PhD19206 (Computational Biology)

gayatripanda5 commented 3 years ago

gmx_MMPBSA ran successfully but failed while running gmx_MMPBSA_ana. ValueError: arrays must all be same length [ERROR ] Unable to start gmx_MMPBSA_ana... [INFO ] Finalized...

Could you please suggest how to resolve it? Thanks in advance

Valdes-Tresanco-MS commented 3 years ago

Can you send me the screenshot with the error information?

gayatripanda5 commented 3 years ago

I don't have the screenshot now, I could probably rerun and send it to you.

On Tue, Apr 13, 2021, 19:32 Mario Sergio Valdés Tresanco < @.***> wrote:

Can you send me the screenshot with the error information?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Valdes-Tresanco-MS/gmx_MMPBSA/issues/33#issuecomment-818761343, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSH3U4464P66GT6NPFGGSDTIRFIPANCNFSM42ZTBJXQ .

Valdes-Tresanco-MS commented 3 years ago

Run a chunk of the trajectory, something like 10-20 frames. This way it takes less time and you can check if it works correctly

gayatripanda5 commented 3 years ago

Thanks, I'll check it out and get back to you.

On Tue, Apr 13, 2021, 20:26 Mario Sergio Valdés Tresanco < @.***> wrote:

Run a chunk of the trajectory, something like 10-20 frames. This way it takes less time and you can check if it works correctly

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Valdes-Tresanco-MS/gmx_MMPBSA/issues/33#issuecomment-818802539, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSH3U3TGW3K2PT7FYG5RTTTIRLRXANCNFSM42ZTBJXQ .

gayatripanda5 commented 3 years ago

This error was generated. Since I was running in my local system with 4 cores only, so I considered only 6 frames for gmx_MMPBSA analysis. This error occurred and gmx_MMPBSA_ana stopped. [image: image.png]

On Tue, Apr 13, 2021 at 8:40 PM Gayatri Panda @.***> wrote:

Thanks, I'll check it out and get back to you.

On Tue, Apr 13, 2021, 20:26 Mario Sergio Valdés Tresanco < @.***> wrote:

Run a chunk of the trajectory, something like 10-20 frames. This way it takes less time and you can check if it works correctly

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Valdes-Tresanco-MS/gmx_MMPBSA/issues/33#issuecomment-818802539, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSH3U3TGW3K2PT7FYG5RTTTIRLRXANCNFSM42ZTBJXQ .

-- Gayatri Panda PhD19206 (Computational Biology)

Valdes-Tresanco-MS commented 3 years ago

The image not appear

gayatripanda5 commented 3 years ago

image

Valdes-Tresanco-MS commented 3 years ago

Please can you show me which version are you using? We recently fixed a similar bug Can you run gmx_MMPBSA_ana to check if the error is reproduced?

 gmx_MMPBSA_ana -f. (if you are in the same folder, but the whole path to the _GMXMMPBSA_info file)

It works for me correctly with the latest version, so I suggest you update from Github

amber.python -m pip install git+https: //github.com/Valdes-Tresanco-MS/gmx_MMPBSA --upgrade

PS: you don't need to run gmx_MMPBSA again since the analysis of the results is carried out with gmx_MMPBSA_ana, which is an independent application. Best!

gayatripanda5 commented 3 years ago

Please can you show me which version are you using? MMPBSA.py version16.0

gmx_MMPBSA_ana -f. (if you are in the same folder, but the whole path to the _GMXMMPBSA_info file) gave same error.

I tried pip3 install gmx_MMPBSA --upgrade. It gave Requirement already satisfied.

Requirement already satisfied: gmx_MMPBSA in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (1.4.1) Requirement already satisfied: mpi4py>=3.0.3 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from gmx_MMPBSA) (3.0.3) Requirement already satisfied: seaborn>=0.11.1 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from gmx_MMPBSA) (0.11.1) Requirement already satisfied: pandas>=1.2.2 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from gmx_MMPBSA) (1.2.3) Requirement already satisfied: python-dateutil>=2.7.3 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from pandas>=1.2.2->gmx_MMPBSA) (2.8.1) Requirement already satisfied: pytz>=2017.3 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from pandas>=1.2.2->gmx_MMPBSA) (2021.1) Requirement already satisfied: numpy>=1.16.5 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from pandas>=1.2.2->gmx_MMPBSA) (1.20.2) Requirement already satisfied: six>=1.5 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from python-dateutil>=2.7.3->pandas>=1.2.2->gmx_MMPBSA) (1.15.0) Requirement already satisfied: scipy>=1.0 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from seaborn>=0.11.1->gmx_MMPBSA) (1.6.2) Requirement already satisfied: matplotlib>=2.2 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from seaborn>=0.11.1->gmx_MMPBSA) (3.4.1) Requirement already satisfied: kiwisolver>=1.0.1 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from matplotlib>=2.2->seaborn>=0.11.1->gmx_MMPBSA) (1.3.1) Requirement already satisfied: pillow>=6.2.0 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from matplotlib>=2.2->seaborn>=0.11.1->gmx_MMPBSA) (8.1.2) Requirement already satisfied: cycler>=0.10 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from matplotlib>=2.2->seaborn>=0.11.1->gmx_MMPBSA) (0.10.0) Requirement already satisfied: pyparsing>=2.2.1 in /home/gayatri/anaconda3/envs/AmberTools20/lib/python3.9/site-packages (from matplotlib>=2.2->seaborn>=0.11.1->gmx_MMPBSA) (2.4.7)

Valdes-Tresanco-MS commented 3 years ago

This is very strange since we tested it a lot of times and work well for me Please, send me the gmx_MMPBSA.log and _GMXMMPBSA_info files

gayatripanda5 commented 3 years ago

I have mailed you these files. Kindly check.

Valdes-Tresanco-MS commented 3 years ago

I didn't find anything wrong, so if you can send me the complete folder. Zip the folder where you ran this test so I can check all the files

gayatripanda5 commented 3 years ago

Here it is. 990-1000ns_traj.tar.gz https://drive.google.com/file/d/1VtmVW3yAX4A_gn5vET4HqydZ0Gm-dOh5/view?usp=drive_web

On Wed, Apr 14, 2021 at 1:46 AM Mario Sergio Valdés Tresanco < @.***> wrote:

I didn't find anything wrong, so if you can send me the complete folder. Zip the folder where you ran this test so you can check all the files

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Valdes-Tresanco-MS/gmx_MMPBSA/issues/33#issuecomment-819023968, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSH3UZAM3I6GPRTFU2PDADTISRAVANCNFSM42ZTBJXQ .

-- Gayatri Panda PhD19206 (Computational Biology)

Valdes-Tresanco-MS commented 3 years ago

Finally, I found the error and it is very simple. You defined the variable startframe = 0, however the value must be >=1. We already fixed it through ba730587887ab28a28cf8ae75b3bcb2707d1023f To solve it you just have to modify the follow variables in the _GMXMMPBSA_info file: startframe = 1 and numframes = 5 and works as expected

Tell me if it worked for you! Best! Mario

gayatripanda5 commented 3 years ago

Yes, after changing the startframe number to 1, gmx_MMPBSA_ana worked. Thanks a ton!

Valdes-Tresanco-MS commented 3 years ago

Excellent. I close this issue. Best!