[AMBER] bug with nmropt and ntr group restraints

From: Antoine MARION via AMBER <amber.ambermd.org>
Date: Mon, 9 Oct 2023 18:32:49 +0200

Hi everyone,

I guess I came across a bug in pmemd that does not seem to be present in sander.
Unfortunately I cannot share my files at the moment, but I hope the description bellow will help you reproducing it.

I need to set both nmr and cartesian restraints.
For my purpose, group restraints are more suitable than those set with ambermask (I call it group restraints, it might not be the right naming; I mean the restraints set the old fashioned way at the end of the input).

The problematic section of my input looks like this:


nmropt = 1
ntr = 1
/
&wt type=“END” /
DISANG=../prep/nmr.in
Group00000
3.00
RES 1 4
END
Group00001
3.00
RES 18 33
END


With this input, all groups seem to be read “correctly” (see bellow for the reason behind the quotes) when inspecting the output.
However, the first group is not subject to the restraint in pmemd (serial or cuda) somehow.
In sander it is treated as expected.

All other groups are restrained as expected.

When I delete the line with nmropt, &wt, and DISANG, I get the expected behaviour and the first group is also restrained.

I tried adding some space between DISANG and the first group, but as you can guess it didn’t change anything.

I found a dirty trick to make it work with both types of restraints: I add a “fake” empty group before the one I called Group00000 and it works fine.
Working input with both nmr restaints and groups looks like this:

nmropt = 1
ntr = 1
/
&wt type=“END” /
DISANG=../prep/nmr.in
Group99999
3.00
RES 0 0
END
Group00000
3.00
RES 1 4
END
Group00001
3.00
RES 18 33
END


Alternatively, adding an empty namelist or event just a “/“ also does the trick.
Both inputs bellow work as expected.


nmropt = 1
ntr = 1
/
&wt type=“END” /
DISANG=../prep/nmr.in
&qmmm /
Group00000
3.00
RES 1 4
END
Group00001
3.00
RES 18 33
END



nmropt = 1
ntr = 1
/
&wt type=“END” /
DISANG=../prep/nmr.in
/
Group00000
3.00
RES 1 4
END
Group00001
3.00
RES 18 33
END



Finally, I think there is a route for figuring out what is happening:

With the first or second sample input that I give above, the first group is read and nicely output in the output file.
However, the group title that is read is wrong.
The group title given is "DISANG=../prep/nmr.in”.
This does not occur in sander where the group title is correctly read and printed.

I made sure that the nmr restraints were read and applied properly in all inputs I shared above.
Everything seems fine on that side.

Maybe I missed something fundamental in the syntax of the groups (which I have to admit I had trouble to get running the first time).

I hope this report is enough for you to get an idea of what is going on.
I would be happy to hear your thoughts on that.

All the best,
Antoine






_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon Oct 09 2023 - 10:00:02 PDT
Custom Search