Re: [AMBER] Individual bridging water lifetimes by closest?

From: Daniel Roe <>
Date: Mon, 2 Jul 2018 09:25:19 -0400


What you've done is pretty close to optimal given what cpptraj can do.
The "right" way to do it is to have cpptraj save bridging time series
and then use those data sets in 'lifetime' analysis; this is in fact
on my 'hbond' To-Do list
(, I just haven't had
time to implement and test. I think you're right and that the
discrepancy you see is due to different definitions of what is a
'bridging' water. I think what you need to do to properly use
'closest' in this way is to get the closest water to the geometric
center of *both* atoms of interest (using the 'center' keyword) and
then use the 'filter' command to apply at least distance cutoffs. You
should then be able to use the resulting data sets from 'filter' for
'lifetime' analysis. I've run a brief test using the following input
and it seems to work well - however I have *not* thoroughly tested it
so YMMV.

# Topology and trajectory.
parm ../tz2.ortho.parm7
trajin ../
# Previous 'hbond' command with 'bridgebyatom' indicated
# bridge between atoms 168 and 195. Get closest water to
# midpoint between the two atoms.
closest 1 .168,195 closestout closest_to_168.dat center
# Distance between that closest water and each atom.
distance d168 .168 :WAT out dist.dat
distance d195 .195 :WAT out dist.dat
# Filter: only keep frames where both distances are less than 3.0 Ang.
filter name Bridge168-195 d168 d195 min 0.0 max 3.0 out filter.dat
# Run lifetime analysis on that set
lifetime Bridge168-195 out lifetime.dat

Hopefully this works for you until I get bridging time series up and running.


On Fri, Jun 29, 2018 at 3:21 PM, Kenneth Huang <> wrote:
> Hi all,
> Is there a way to determine the lifetime of each bridging water that's provided by the hbond command? As in, not the cumulative time that there's a bridging water between residues which is provided, but a breakdown of how long each water resides between two residues.
> I've tried using closest with something like this-
> closest 1 :47.NZ noimage first center closestout ws_47.dat outprefix ws_47
> unstrip
> closest 1 :55.OE1 noimage first center closestout ws_55a.dat outprefix ws_55a
> unstrip
> closest 1 :55.OE2 noimage first center closestout ws_55b.dat outprefix ws_55b
> unstrip
> And while it does work, there's disagreement between how long any given water tends to be there, ie if I check with grep on the output from hbond, the numbers reported there are very different if I check in closest. I realize part of it is that closest applies a simple distance based mask in picking out the single closest water, so it may not be the best tool for this but I couldn't think of anything else.
> Best,
> Kenneth
> _______________________________________________
> AMBER mailing list

AMBER mailing list
Received on Mon Jul 02 2018 - 06:30:02 PDT
Custom Search