Re: [AMBER] Difference in velocity values between parmed and pytraj

From: Daniel Roe <daniel.r.roe.gmail.com>
Date: Thu, 8 Aug 2019 15:23:05 -0400

Hi,

On Thu, Aug 8, 2019 at 3:06 PM Irfan Alibay
<irfan.alibay.lists.gmail.com> wrote:
>
> So from the looks of it, pytraj/cpptraj ignores the 'scale_factor' variable

It's not that they ignore the scale factor - it's just that 1) keeping
the velocities in those units is consistent with what the MD engines
in Amber do and 2) using those units make things like the kinetic
energy calculation easier (since they are the actual AKMA units for
velocity).

That said, it may be a good idea to have an option for converting the
velocities to different units. I'll open an issue on GitHub...

-Dan

> attribute, or at least doesn't scale the values when displaying the
> trajectory object. I guess the follow up question is; in order for users to
> have consistent units for all NetCDF variables in pytraj, is the only
> approach to implement one's own scale_factor reader and multiplying through?
>
> Many thanks,
>
> Irfan Alibay
> Postdoctoral Research Associate
> Department of Biochemistry
> The University of Oxford
>
> On Wed, Aug 7, 2019 at 4:48 PM Hai Nguyen <nhai.qn.gmail.com> wrote:
>
> > Hi,
> >
> > I think pytraj (which is cpptraj under the hood) reads whatever velocity
> > stored in the trajectory file as it is.
> > It seems like parmed does the auto-conversion if traj is in amber format.
> >
> > In [31]: import pytraj as pt
> >
> >
> >
> > In [32]: from scipy.io import netcdf
> >
> >
> >
> > In [33]: traj = pt.iterload('trunc.nc', 'system.prmtop')
> >
> >
> >
> > In [34]: fh = netcdf.netcdf_file('./trunc.nc')
> >
> >
> >
> > In [35]: # pytraj
> >
> >
> >
> > In [36]: traj[0].velocity
> >
> >
> > Out[36]:
> > array([[-0.06234377, -0.212735 , -0.07553997],
> > [-0.33413538, -0.97585237, 0.41033223],
> > [ 0.28189024, 0.3869082 , 0.55642217],
> > ...,
> > [-0.06586777, -0.31600413, 0.39305016],
> > [-0.53357279, 0.21872835, -0.2971119 ],
> > [-0.28074518, -0.06457534, 0.27767515]])
> >
> > In [37]: # raw data (via scipy)
> >
> >
> >
> > In [38]: fh.variables['velocities'].data[0]
> >
> >
> > Out[38]:
> > array([[-0.06234377, -0.212735 , -0.07553997],
> > [-0.33413538, -0.9758524 , 0.41033223],
> > [ 0.28189024, 0.3869082 , 0.5564222 ],
> > ...,
> > [-0.06586777, -0.31600413, 0.39305016],
> > [-0.5335728 , 0.21872835, -0.2971119 ],
> > [-0.28074518, -0.06457534, 0.27767515]], dtype=float32)
> >
> > Hai
> >
> > On Wed, Aug 7, 2019 at 11:13 AM Irfan Alibay <irfan.alibay.lists.gmail.com
> > >
> > wrote:
> >
> > > Hi all,
> > >
> > > I have noticed that on reading a NetCDF restart file, parmed and pytraj
> > > will report different velocity values which are off by a factor of
> > 20.455.
> > >
> > > I unfortunately couldn't find a definite answer as to what velocity units
> > > are used in parmed and pytraj respectively. So, as a sanity check, I was
> > > wondering if anyone on-list could confirm that:
> > >
> > > parmed reports velocities in Angstroms per ps
> > > pytraj reports velocities in Angstroms per 1/20.455 ps (as per
> > > http://ambermd.org/formats.html)
> > >
> > > Many thanks,
> > >
> > > Irfan Alibay
> > > Postdoctoral Research Associate
> > > Department of Biochemistry
> > > The University of Oxford
> > > _______________________________________________
> > > 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 Thu Aug 08 2019 - 12:30:03 PDT
Custom Search