Project

General

Profile

Bug #2301

Group cut-off scheme grompp error: Could not find energy term named 'Xi-0-Protein_LIG'

Added by Yu Du about 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
preprocessing (pdb2gmx,grompp)
Target version:
-
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

I want to choose the last N frames from nvt-normal2.trr as starting coordinates and velocities.

gmx grompp -quiet -f nvt.mdp -c nvt-normal2.gro -t nvt-normal2.trr -time 8 -e nvt-normal2.edr -p topol.top -n index.ndx -o nvt-8.tpr

I didn't change the thermostat and grompp errors are shown below.

NOTE 1 [file nvt.mdp]:
The group cutoff scheme is deprecated since GROMACS 5.0 and will be
removed in a future release when all interaction forms are supported for
the verlet scheme. The verlet scheme already scales better, and it is
compatible with GPUs and other accelerators.

Setting the LD random seed to -1655106643
Generated 2628 of the 2628 non-bonded parameter combinations
Generating 1-4 interactions: fudge = 0.5
Generated 2628 of the 2628 1-4 parameter combinations
Excluding 3 bonded neighbours molecule type 'LIG'
turning H bonds into constraints...
Excluding 3 bonded neighbours molecule type 'Protein_chain_A'
turning H bonds into constraints...
Excluding 2 bonded neighbours molecule type 'SOL'
turning H bonds into constraints...
Excluding 1 bonded neighbours molecule type 'NA'
turning H bonds into constraints...
Number of degrees of freedom in T-Coupling group Protein_LIG is 15018.52
Number of degrees of freedom in T-Coupling group Water_and_ions is 79806.48
Reading Coordinates, Velocities and Box size from old trajectory
Will read till time 8
trr version: GMX_trn_file (single precision)
Reading frame 8 time 8.000 Using frame at t = 8 ps
Starting time for run is 0 ps
Opened nvt-normal2.edr as single precision energy file
Reading energy frame 8 time 8.000

-------------------------------------------------------
Program: gmx grompp, version 2016.4
Source file: src/gromacs/fileio/enxio.cpp (line 1146)

Fatal error:
Could not find energy term named 'Xi-0-Protein_LIG'

For more information and tips for troubleshooting, please check the GROMACS
website at http://www.gromacs.org/Documentation/Errors
-------------------------------------------------------

P.S. nvt.mdp:

; Run parameters
integrator = md-vv
tinit = 0
nsteps = 5000 ; 10ps
dt = 0.002

; Output parameters
nstxout = 500
nstvout = 500
nstfout = 500
nstenergy = 500
nstlog = 500
nstxout-compressed = 500
energygrps = Protein LIG

; Neighbor searching
nstlist = 5
ns-type = grid
pbc = xyz
rlist = 1.1
cutoff-scheme = group

; Electrostatics and VdW
coulombtype = pme
rcoulomb = 1.1
vdwtype = cut-off
rvdw = 1.1

; Temperature coupling
Tcoupl = nose-hoover
tc-grps = Protein_LIG Water_and_ions
tau_t = 1.0 1.0
ref_t = 300 300

; Pressure coupling
Pcoupl = no

; Velocity generation
gen_vel = no

; Bond parameters
continuation = yes
constraints = h-bonds
constraint-algorithm = lincs
lincs-order = 6
lincs-iter = 2

group_grompp_NH_energy_error.rar (2.13 MB) group_grompp_NH_energy_error.rar Yu Du, 11/26/2017 02:52 AM
group_nh_bug.rar (20.7 MB) group_nh_bug.rar Yu Du, 11/26/2017 11:16 AM

Associated revisions

Revision a61e5a26 (diff)
Added by Berk Hess about 2 years ago

Extend grompp missing energy term message

Fixes #2301

Change-Id: Ie28dcdb1d9f4100a9b4389f8d060b0f0749ec401

Revision f8c70b1d (diff)
Added by Berk Hess about 2 years ago

Update documention of Nose-Hoover output

The documentation of Nose-Hoover chain variable printing was
(long) outdated.

Refs #2301

Change-Id: I2ef02e676141000937fedecf096b635ee2e69281

History

#1 Updated by Berk Hess about 2 years ago

  • Status changed from New to Rejected

gmx grompp -h tells that -e is for read temperature (and pressure) coupling variables. Because you change the temperature coupling algorithm the variables changes (the types, not values), so you get an error.

#2 Updated by Berk Hess about 2 years ago

  • Status changed from Rejected to Feedback wanted

Sorry, I misread the sentence about temperature coupling groups.
Could you please upload all files needed to run the grompp command you reported?

#3 Updated by Berk Hess about 2 years ago

And could you also add the mdp and/or the log file for the run that generated the exe file?

#4 Updated by Yu Du about 2 years ago

RAR file is attached. The program procedure is in the txt file.

#5 Updated by Berk Hess about 2 years ago

The .edr file is not part of the rar file. I need that to see what is wrong.

#6 Updated by Yu Du about 2 years ago

Berk Hess wrote:

The .edr file is not part of the rar file. I need that to see what is wrong.

Sorry for making things complicated.
I reproduced the error and packed all the files and program procedure is in this new rar file.

You won't miss the error.

#7 Updated by Justin Lemkul about 2 years ago

Indeed, the NH chain terms are not there. But this is the default behavior as these quantities are typically not useful to most users, so they are not written to the .edr file (but they are written to .cpt files). Note from the manual:

nh-chain-length
(10) The number of chained Nose-Hoover thermostats for velocity Verlet integrators, the leap-frog integrator=md integrator only supports 1. Data for the NH chain variables is not printed to the edr file, but can be using the GMX_NOSEHOOVER_CHAINS environment variable

If you set that environnment variable (e.g. export GMX_NOSEHOOVER_CHAINS=1) then you should get the chain terms written to the .edr file, allowing you to continue the run in this manner.

#8 Updated by Yu Du about 2 years ago

Justin Lemkul wrote:

Indeed, the NH chain terms are not there. But this is the default behavior as these quantities are typically not useful to most users, so they are not written to the .edr file (but they are written to .cpt files). Note from the manual:

nh-chain-length
(10) The number of chained Nose-Hoover thermostats for velocity Verlet integrators, the leap-frog integrator=md integrator only supports 1. Data for the NH chain variables is not printed to the edr file, but can be using the GMX_NOSEHOOVER_CHAINS environment variable

If you set that environnment variable (e.g. export GMX_NOSEHOOVER_CHAINS=1) then you should get the chain terms written to the .edr file, allowing you to continue the run in this manner.

Hi, Justin

The background is that I run a 1ns nvt nh-chain simulation, then take coordinates and velocities per N steps as starting comformations for following nvt production simulations. This bug makes me take a workaround (i.e. stop simulation per N steps and continue with previous .gro and .cpt files), then I get the starting comformation from .gro and .cpt files.

Thanks for the other workaround that you offered. But the simulation is not under NH chain.

By the way, this error occurs also in the verlet cut-off scheme, so it is a bug for both group and verlet cut-off scheme. This bug makes grompp not work in continuing NH chain simulation with the three options (-e, -t and -time).

The difference between nh-chain-length !=1 and ==1 reminds me of the previous Issue #2286, I hope the bug doesn't relate to the underground NH chain calculation. Please ensure me.

Thanks for Justin's reply.

#9 Updated by Justin Lemkul about 2 years ago

Yu Du wrote:

Justin Lemkul wrote:

Indeed, the NH chain terms are not there. But this is the default behavior as these quantities are typically not useful to most users, so they are not written to the .edr file (but they are written to .cpt files). Note from the manual:

nh-chain-length
(10) The number of chained Nose-Hoover thermostats for velocity Verlet integrators, the leap-frog integrator=md integrator only supports 1. Data for the NH chain variables is not printed to the edr file, but can be using the GMX_NOSEHOOVER_CHAINS environment variable

If you set that environnment variable (e.g. export GMX_NOSEHOOVER_CHAINS=1) then you should get the chain terms written to the .edr file, allowing you to continue the run in this manner.

Hi, Justin

The background is that I run a 1ns nvt nh-chain simulation, then take coordinates and velocities per N steps as starting comformations for following nvt production simulations. This bug makes me take a workaround (i.e. stop simulation per N steps and continue with previous .gro and .cpt files), then I get the starting comformation from .gro and .cpt files.

Thanks for the other workaround that you offered. But the simulation is not under NH chain.

By the way, this error occurs also in the verlet cut-off scheme, so it is a bug for both group and verlet cut-off scheme. This bug makes grompp not work in continuing NH chain simulation with the three options (-e, -t and -time).

The difference between nh-chain-length !=1 and ==1 reminds me of the previous Issue #2286, I hope the bug doesn't relate to the underground NH chain calculation. Please ensure me.

Thanks for Justin's reply.

Can you please try my proposed solution? Irrespective of the number of chains, the only way to get NH thermostat variables (xi and vxi) is to use that environment variable. It should solve your issue so I would ask that you try it and see if it provides you with a possible solution. Issue #2286 is, as Berk said, not a thermostat issue, but a problem in PME-User, so I don't see how it is related.

#10 Updated by Yu Du about 2 years ago

Justin Lemkul wrote:

Can you please try my proposed solution? Irrespective of the number of chains, the only way to get NH thermostat variables (xi and vxi) is to use that environment variable. It should solve your issue so I would ask that you try it and see if it provides you with a possible solution. Issue #2286 is, as Berk said, not a thermostat issue, but a problem in PME-User, so I don't see how it is related.

Hi, Justin

I tried your suggestion.
For this command, gmx grompp -quiet -f nvt.mdp -c nvt_NHCHAIN1.gro -t nvt_NHCHAIN1.trr -time 8 -e nvt_NHCHAIN1.edr -p topol.top -n index.ndx -o nvt_NHCHAIN1-8.tpr

Both 1) nh-chain-length=1 in .mdp file without setenv GMX_NOSEHOOVER_CHAINS 1 and 2) setenv GMX_NOSEHOOVER_CHAINS 1 with default nh-chain-length=10 in .mdp file don't work.

#11 Updated by Justin Lemkul about 2 years ago

Yu Du wrote:

Justin Lemkul wrote:

Can you please try my proposed solution? Irrespective of the number of chains, the only way to get NH thermostat variables (xi and vxi) is to use that environment variable. It should solve your issue so I would ask that you try it and see if it provides you with a possible solution. Issue #2286 is, as Berk said, not a thermostat issue, but a problem in PME-User, so I don't see how it is related.

Hi, Justin

I tried your suggestion.
For this command, gmx grompp -quiet -f nvt.mdp -c nvt_NHCHAIN1.gro -t nvt_NHCHAIN1.trr -time 8 -e nvt_NHCHAIN1.edr -p topol.top -n index.ndx -o nvt_NHCHAIN1-8.tpr

Both 1) nh-chain-length=1 in .mdp file without setenv GMX_NOSEHOOVER_CHAINS 1 and 2) setenv GMX_NOSEHOOVER_CHAINS 1 with default nh-chain-length=10 in .mdp file don't work.

The environment variable doesn't affect grompp. You need to set it prior to executing mdrun, so that the NH thermostat variables are written to the .edr file.

#12 Updated by Yu Du about 2 years ago

Justin Lemkul wrote:

Yu Du wrote:

Justin Lemkul wrote:

Can you please try my proposed solution? Irrespective of the number of chains, the only way to get NH thermostat variables (xi and vxi) is to use that environment variable. It should solve your issue so I would ask that you try it and see if it provides you with a possible solution. Issue #2286 is, as Berk said, not a thermostat issue, but a problem in PME-User, so I don't see how it is related.

Hi, Justin

I tried your suggestion.
For this command, gmx grompp -quiet -f nvt.mdp -c nvt_NHCHAIN1.gro -t nvt_NHCHAIN1.trr -time 8 -e nvt_NHCHAIN1.edr -p topol.top -n index.ndx -o nvt_NHCHAIN1-8.tpr

Both 1) nh-chain-length=1 in .mdp file without setenv GMX_NOSEHOOVER_CHAINS 1 and 2) setenv GMX_NOSEHOOVER_CHAINS 1 with default nh-chain-length=10 in .mdp file don't work.

The environment variable doesn't affect grompp. You need to set it prior to executing mdrun, so that the NH thermostat variables are written to the .edr file.

Yes, exactly done as you said. I don't think you can miss error if you try yourself.

#13 Updated by Berk Hess about 2 years ago

  • Status changed from Feedback wanted to In Progress

Extracting the Nose-Hoover state from an energy file is not supported with Nose-Hoover chains, but there is no check for that. I will add one.
I think you should be able to achieve what you want by not supplying any data from your run to grompp for generating the tpr and instead passing the checkpoint file to mdrun with -cp, as well as using -noappend.

#14 Updated by Gerrit Code Review Bot about 2 years ago

Gerrit received a related patchset '1' for Issue #2301.
Uploader: Berk Hess ()
Change-Id: gromacs~release-2016~Ie28dcdb1d9f4100a9b4389f8d060b0f0749ec401
Gerrit URL: https://gerrit.gromacs.org/7244

#15 Updated by Berk Hess about 2 years ago

  • Status changed from In Progress to Fix uploaded

The terms would be in the energy file when you set print-nose-hoover-chain-variables=yes in your mdp file. But I think passing the checkpoint file to mdrun is the better solution.
I extended the error message.

#16 Updated by Justin Lemkul about 2 years ago

Berk Hess wrote:

The terms would be in the energy file when you set print-nose-hoover-chain-variables=yes in your mdp file. But I think passing the checkpoint file to mdrun is the better solution.
I extended the error message.

Then we have a documentation problem, as well. Apparently the GMX_NOSEHOOVER_CHAINS env var no longer functions (it used to, as I made use of it) and instead one needs to use this .mdp option. The env var is still referred to in the manual, but this .mdp option is not.

#17 Updated by Berk Hess about 2 years ago

  • Status changed from Fix uploaded to Resolved

#18 Updated by Gerrit Code Review Bot about 2 years ago

Gerrit received a related patchset '1' for Issue #2301.
Uploader: Berk Hess ()
Change-Id: gromacs~release-2016~I2ef02e676141000937fedecf096b635ee2e69281
Gerrit URL: https://gerrit.gromacs.org/7247

#19 Updated by Erik Lindahl almost 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF