Dihedral_restraints options is broken for 5.X versions in GROMPP
When applying the dihedral_restraints option in my topology file, it yields a grompp fatal error.
Topology insertion (after [dihedrals] ):
; Include forcefield parameters #include "./chalc.ff/forcefield.itp" [ moleculetype ] ; Name nrexcl 1PE 3 [ atoms ] ... [ bonds ] ... [ dihedral_restraints ] ; ai aj ak al phi dphi kfac 5 1 2 3 90 0 1
Fatal error: Incorrect number of parameters - found 2, expected 3 or 6 for Dih. Rest..
I have also tried the insertion with 6 parameters, but grompp just finds 5.
Fix parameter description for dihedral_restraints
The force-constant parameter for dihedral_restraints was not
documented in the table of interaction types.
Improve grompp missing-parameters error message
If an interaction entry had parameters but not the function type, then
the error message has been confusing. Note that even when only one
function type is implemented, the field is still required, which makes
for ready extensibility.
#3 Updated by Mark Abraham about 3 years ago
- Status changed from New to Feedback wanted
- Target version set to 2016.4
I think this input is ill-formed. The following snippet from our regression tests works:
[ dihedral_restraints ] ; i j k l type phiA dphiA kfacA phiB dphiB kfacB 1410 1393 1391 2610 1 38 0 0.00 38 0 41.84 1393 1391 2610 2604 1 111 0 0.00 111 0 41.84 1391 2610 2604 2606 1 -39 0 0.00 -39 0 41.84
The type column is required, even though only one function type is currently implemented. With your input, grompp is interpreting 90 as the function type and then being unable to find all 3 of phi, dphi and kfac, nor two such sets of 3 for a dual-topology setup.
Table 5.5 of http://manual.gromacs.org/documentation/5.1.4/manual-5.1.4.pdf doesn't correctly document kfac, so I will fix that.
#6 Updated by Mark Abraham about 3 years ago
Marcelo Depolo Poleto wrote:
What is the use for two dihedral restraints (A and B)?
As I hinted, in a dual-topology setup used for free-energy calculations, the same .mdp describes two topologies for the same system. Even if the configurations don't change, you can simply change parameters (or e.g. morph one halide to another, etc.)
The error message is also confusing: it says it expects 3 or 6 parameters, but with TYPE required, they become 4 or 7 respectively.
Yeah I see how that could be confusing. The parameters are specific to the function type, though, which is consistent with the organization of Table 5.5 in the manual. I'll think about what might be improved in the error message