> I was reading the manual to find a way to put a mask for the water molecules
> in order to compute only the ones that are closer to the DNA, but none of
> them worked.
>
> trajin 1D20_wat_tip3pfNVE310.x 1 99999
> diffusion (:1-20<:5.0)&:WAT 0.1 average 310_within5a
> diffusion :WAT&(:1-20>:8.0) 0.1 average 310_without8a
>
> However, it seems that the mask is not selecting the expected atoms, as can
> be seem from the output:
>
> PTRAJ: diffusion (:1-20<:1.0)&:WAT 0.1 average 310_within5a
> PTRAJ: diffusion :WAT&(:1-20>:8.0) 0.1 average 310_without8a
As currently implemented, I believe this selection is based on the first
frame and therefore the mask is not dynamic (i.e. it is not updated or
changed for each frame. [Dynamic updates of the mask would not only be
very costly, but tricky for averaging as the #atoms could change for each
frame; it would likely require modifying MANY of the ptraj action routines
to understand the dynamic behavior].
This fixed list explains why similar results are obtained since as the
water diffuses away from the DNA, it approaches the bulk values
independent of the selection (given sufficient time).
If the mask *did* dynamically select the subset of atoms at each frame,
i.e. for a mobile "layer" since "free" water exchanges rapidly in and out
of the shell at the surface and may rarely move at most bound sites, the
medium time scale diffusion statistics would likely be extremely noisy.
As diffusion is a "bulk" property, I would be concerned about the
statistics in general for a subset of the system; an easy way to visualize
this is to compare the estimation of diffusion for a single water (or
single ion) compared to all waters. Very noisy unless you have very long
trajectories.
Certainly to do this diffusion as a function of distance will require your
own code (although perhaps it has been implemented by others and I simply
do not know this). To do this in ptraj, a starting point could be the
diffusion code which would have to be (copied into a new routine and) made
smart enough to keep track of each individual water (i.e. all waters)
and/or whether it was in the shell (or while I was at it, since you are
tracking all waters, might as well do all shells at the same time at the
same cost). The tricky part would be figuring out the averaging and of
course getting results that are not inundated by noise. For DNA, I would
likely want this result as a function of distance from the helical axis
which complicates things further (i.e. it wouldn't be spherically
symmetric and may be different in grooves/backbone). Perhaps you could
get away with monitoring distance from a particular functional group only
at short range distances.
To better understand positional dependent dynamics and Before I went in
and modified the code as a starting point I would look at the work by
Furse/Corcelli (multiple papers) and/or Sen/MA Berg (JACS, 2009, 131,
1724). Perusing PubMed, I would also take a look at Lin/Goddard JPCB
2005, 109, 8663 and/or Korolev/Nordenskiold NAR 2003, 31, 5971 and
earlier. There is also older work on proximal density functions by
Beveridge and Mezei Methods Enzym. 1986, 127, 21. These may or may not do
what you want or provide guidance. I would also look at other analysis
tools (perhaps in CHARMM and/or GROMACS/Gromos) to see if anything was
implemented.
--tec3
p.s. no one ever said research was easy nor that ptraj could do everything
or even most things useful; the analysis tools are still evolving and
contributions are welcome...
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon Sep 19 2011 - 16:00:02 PDT