Re: [AMBER] bug with nmropt and ntr group restraints

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

one more note:

the last two tricks in my previous email (i.e., "&qmmm /“ and “/“) don’t work in sander.
Adding these in sander’s input returns the same silent bug as described for pmemd.

> On 9 Oct 2023, at 18:32, Antoine MARION via AMBER <amber.ambermd.org> wrote:
>
> 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


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