Re: [AMBER] cpptraj donor/acceptor definitions

From: Gustaf Olsson <gustaf.olsson.lnu.se>
Date: Mon, 23 Nov 2020 08:11:56 +0000

Hello Dan

This is actually what I ran, expecting hbond to behave as if not defining any donor/acceptor pairs.

    donormask :XXX \
    acceptormask :YYY \

This seems to have applied to any atoms meeting the criteria, detecting hydrogen bonds between C-H---H and other strange pairs.

When not supplying any masks at all the routine correctly identifies any donors/acceptors (that I have noticed so far at least). I wanted to be able to separate when a mask acts as a donor or acceptor with regard to lifetime (as I can sort ot donors/acceptors regarding occupancy with awk), this is when I noticed this somewhat peculiar behaviour.

I am using the most up to date amber20 version of cpptraj om mac right now.

Best regards
// Gustaf

> On 20 Nov 2020, at 17:13, Daniel Roe <daniel.r.roe.gmail.com> wrote:
>
> Hi,
>
> Try omitting the donorhmask keyword. Hydrogens should then be picked
> up automatically (make sure no hydrogens are selected by donormask).
>
> -Dan
>
> On Thu, Nov 19, 2020 at 5:46 AM Gustaf Olsson <gustaf.olsson.lnu.se> wrote:
>>
>> That’s what I figured. Hm, so is there a way to manipulate the use of wildcards to cover more instances, almost recreating not defining either donor/acceptor though just being able to specify what will be acting as a donor and what as an acceptor.
>>
>> What I’m thinking of is defining something general like this:
>>
>> donormask “:XXX & (@O= | @N= | @F=)" donorhmask “:XXX.H=" \
>> acceptormask “:YYY & (.O= | .N= | .F=)"
>>
>> This does not work:
>>
>> Error: There is not a 1 to 1 correspondance between donor and donorH masks.
>>
>> For a test-system where XXX=YYY, the molecule is a carboxylic acid. I am trying to get any H which is attached to any O,N,F on any XXX molecule and check for hydrogen bonds with only O,N or F atoms. Trying the input above:
>>
>> Error: donor (8 atoms), donorH (16 atoms).
>>
>> So two oxygens per acid, 8 oxygens. This seems to be correct, however 16 H atoms is not. Only one of the oxygens has an acidic hydrogen, this should be 4. Even if the mask worked as intended, there would still not be a 1 to 1 correspondance (8:4).
>>
>> Maybe there is no way of getting what I am looking for using wildcards and masks. I really just wanted to be able to separate bond information when molecules are acting as donors or acceptors as well as separate lifetime data for interactions without going through the hassle of defining every interacting pair manually.
>>
>> Best regards
>> // Gustaf
>>
>>
>>> On 18 Nov 2020, at 15:06, Daniel Roe <daniel.r.roe.gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> The donormask/donorhmask/acceptormask keywords allow users to
>>> fine-tune hydrogen bond selection; as stated in the manual, CPPTRAJ
>>> will accept whatever you specify for these masks as hydrogen bond
>>> donors and acceptors. To give users maximum flexibility, it does this
>>> without double checking what the atoms are. So if you do something
>>> like 'acceptormask *' then _every single atom_ is a potential hydrogen
>>> bond donor. So you may just need to adjust your acceptormask to
>>> exclude hydrogens (although I'm just guessing, not having seen your
>>> input).
>>>
>>> -Dan
>>>
>>> On Wed, Nov 18, 2020 at 7:43 AM Gustaf Olsson <gustaf.olsson.lnu.se> wrote:
>>>>
>>>> Hello users and developers
>>>>
>>>> While running hbond analysis without defining either donors/acceptors the “autodetect” function seemingly identifies pairs rather correctly (not including solvent). However, when running with defined donor/acceptor pairs though not defining donorhmask, there are a lot of instances where it seems that CPPTRAJ has identified a hydrogen forming a hydrogen bond with another hydrogen.
>>>>
>>>> #Acceptor DonorH Donor Frames Frac AvgDist AvgAng
>>>> PHE_7.HE1 APM_12.H7 APM_12.C5 2 0.0002 2.9817 140.9910
>>>>
>>>> I suppose that this is because these atoms fulfilled the criteria of a hydrogen bond with regard to angle and distance. However, unless I am misreading the output, this would indicate a
>>>>
>>>> APM_12.C5 — APM_12.H7 ::: 1EH.7_PHE
>>>>
>>>> Hydrogen bond being formed. For one, C5 would disqualify this as being a HBOND (no N/F/O) and the bond would be between H and H.
>>>>
>>>> I suppose that this is not the correct way to use the definitions?
>>>>
>>>> With a system including X, Y and WAT, what would be the input/masks required to run without defining any donor/acceptor information. Then running donor X vs acceptor Y and donor Y acceptor X?
>>>>
>>>> Best regards
>>>> // Gustaf
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>
>> _______________________________________________
>> 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

_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon Nov 23 2020 - 00:30:02 PST
Custom Search