galaxycomputationalchemistry / galaxy-tools-compchem

:mega: Galaxy Tools for Computational Chemistry
Apache License 2.0
14 stars 16 forks source link

Specify terms for gmx_energy using names rather than numbers #149

Closed thepineapplepirate closed 2 years ago

thepineapplepirate commented 2 years ago

'Bond' is supposed to be the first option in the 'gmx energy' program. This was missing, and 'angle' was the first option instead, so the rest of the options were off by one, giving the wrong data when a user chose a specific term to extract. This should now be fixed and the correct data sets should be generated. Cheers!

simonbray commented 2 years ago

@thepineapplepirate can you clarify please? This is what I see on the command line:

(gmx) simon@simon-notebook:~/GitRepos/galaxy-tools-compchem/tools/gromacs/test-data$ gmx energy -f outp.edr
                 :-) GROMACS - gmx energy, 2022-conda_forge (-:

Executable:   /home/simon/miniconda3/envs/gmx/bin.AVX2_256/gmx
Data prefix:  /home/simon/miniconda3/envs/gmx
Working dir:  /media/simon/Elements/GitRepos/galaxy-tools-compchem/tools/gromacs/test-data
Command line:
  gmx energy -f outp.edr

Opened outp.edr as single precision energy file

Select the terms you want from the following list by
selecting either (part of) the name or the number or a combination.
End your selection with an empty line or a zero.
-------------------------------------------------------------------
  1  Angle            2  Proper-Dih.      3  Ryckaert-Bell.   4  LJ-14         
  5  Coulomb-14       6  LJ-(SR)          7  Disper.-corr.    8  Coulomb-(SR)  
  9  Coul.-recip.    10  Potential       11  Kinetic-En.     12  Total-Energy  
 13  Conserved-En.   14  Temperature     15  Pres.-DC        16  Pressure      
 17  Constr.-rmsd    18  Box-X           19  Box-Y           20  Box-Z         
 21  Volume          22  Density         23  pV              24  Enthalpy      
 25  Vir-XX          26  Vir-XY          27  Vir-XZ          28  Vir-YX        
 29  Vir-YY          30  Vir-YZ          31  Vir-ZX          32  Vir-ZY        
 33  Vir-ZZ          34  Pres-XX         35  Pres-XY         36  Pres-XZ       
 37  Pres-YX         38  Pres-YY         39  Pres-YZ         40  Pres-ZX       
 41  Pres-ZY         42  Pres-ZZ         43  #Surf*SurfTen   44  Box-Vel-XX    
 45  Box-Vel-YY      46  Box-Vel-ZZ      47  T-Protein       48  T-non-Protein 
 49  Lamb-Protein                        50  Lamb-non-Protein                

Also, we use the energy tool in our tutorials and the results look sensible (e.g. temperature converging on 300K).

I really hope this is not wrong, it would be a terrible mistake if so...

thepineapplepirate commented 2 years ago

Ok so i see you're running gmx 2022? this is what the command options are in gmx 2021.3, which i believe most of the tools are still using? that would explain why i had this issue, and why one of the users also did (as seen in the computational-chemistry_htmd-analysis slack) Screen Shot 2022-03-18 at 11 09 46 AM

simonbray commented 2 years ago

Yes, but the tool was written back in 2019, and it has never changed since then. I checked 2020.6 and 2021.3 and get the same for them as well:

-------------------------------------------------------------------
  1  Angle            2  Proper-Dih.      3  Ryckaert-Bell.   4  LJ-14         
  5  Coulomb-14       6  LJ-(SR)          7  Disper.-corr.    8  Coulomb-(SR)  
  9  Coul.-recip.    10  Potential       11  Kinetic-En.     12  Total-Energy  
 13  Conserved-En.   14  Temperature     15  Pres.-DC        16  Pressure      
 17  Constr.-rmsd    18  Box-X           19  Box-Y           20  Box-Z         
 21  Volume          22  Density         23  pV              24  Enthalpy      
 25  Vir-XX          26  Vir-XY          27  Vir-XZ          28  Vir-YX        
 29  Vir-YY          30  Vir-YZ          31  Vir-ZX          32  Vir-ZY        
 33  Vir-ZZ          34  Pres-XX         35  Pres-XY         36  Pres-XZ       
 37  Pres-YX         38  Pres-YY         39  Pres-YZ         40  Pres-ZX       
 41  Pres-ZY         42  Pres-ZZ         43  #Surf*SurfTen   44  Box-Vel-XX    
 45  Box-Vel-YY      46  Box-Vel-ZZ      47  T-Protein       48  T-non-Protein 
 49  Lamb-Protein                        50  Lamb-non-Protein                 

You are using the conda install I assume?

simonbray commented 2 years ago

You are using the conda install I assume?

ok, I can see you are from the screenshot.

This is very weird :fearful:

thepineapplepirate commented 2 years ago

Screen Shot 2022-03-18 at 10 59 28 AM

this is what it looks like in galaxy.

bgruening commented 2 years ago

Gromacs moved to conda-forge... different packages due to different channel prios?

thepineapplepirate commented 2 years ago

Gromacs moved to conda-forge... different packages due to different channel prios?

ok, so i guess this tool needs to be written to be compatible with whatever version of gromacs is coming with galaxy?

simonbray commented 2 years ago

Gromacs moved to conda-forge... different packages due to different channel prios?

I agree it is something to do with conda dependencies or containers, but I doubt it is that specifically, as the command-line output is the same on my machine for versions going back to 2019. Investigating now.

However, it seems gromacs allows the component to be specified by name as well as number:

Select the terms you want from the following list by
selecting either (part of) the name or the number or a combination.

I tested with Volume and it seems to work. I think this would be the most robust solution, whatever the cause of the problem.

If you agree maybe you can update the PR @thepineapplepirate?

thepineapplepirate commented 2 years ago

Gromacs moved to conda-forge... different packages due to different channel prios?

I agree it is something to do with conda dependencies or containers, but I doubt it is that specifically, as the command-line output is the same on my machine for versions going back to 2019. Investigating now.

However, it seems gromacs allows the component to be specified by name as well as number:

Select the terms you want from the following list by
selecting either (part of) the name or the number or a combination.

I tested with Volume and it seems to work. I think this would be the most robust solution, whatever the cause of the problem.

If you agree maybe you can update the PR @thepineapplepirate?

OK, so if this works for you, i will update the tool so there are no numbers, just the names themselves.

simonbray commented 2 years ago

Yes please! We still need to find what is wrong here, this is pretty bad. But at least using the names should be safe.

thepineapplepirate commented 2 years ago

ok great, will do :).