Re: [AMBER] pytraj distance image

From: Hai Nguyen <nhai.qn.gmail.com>
Date: Tue, 26 Feb 2019 09:10:43 -0500

Hi Antoine,

I see what’s going on now. For distance of 2D array, pytraj uses its own
implementation and not using cpptraj public API directly. And this does not
support imaging within the “distance” method itself. Awaring of that
limitation, I added “autoimage” for on-disk trajectory too.

traj = py.iterload(your big trajectories)
traj.autoimage()
pytraj.distance(traj, 2d_array,...)

Please let me know if that work for you

> For future, would it be more convenient for you if I open a thread
directly on GitHub or on this mailing list?

If the issue is helpful for other users, it would be best to open in Amber
mailing list (e.g: your issue). Otherwise, open it in github (e.g: feature
request, bug report ...)

Thanks
Hai

On Tue, Feb 26, 2019 at 5:29 AM Antoine MARION <amarion.metu.edu.tr> wrote:

> Dear Hai,
>
> Thanks a lot for your prompt answers and interest.
> Sharing the files I am working on won’t be possible, but I can try to be
> more explicit.
>
> I initially wrote a long email with details of my trials and ran a final
> one which actually changes my question. I’ll try to summarize it.
>
> The box is a truncated octahedron with the following dimensions as read
> from my initial structure:
> 73.9541653 73.9541653 73.9541653 109.4712190 109.4712190 109.4712190
>
> Here is the result of “print traj” for a trajectory loaded with
> “pt.iterload()":
> pytraj.TrajectoryIterator, 50 frames:
> Size: 0.000000 (GB)
> <Topology: 41210 atoms, 10153 residues, 10135 mols, PBC with box type =
> truncoct>
>
> With cpptraj:
> distance .573 .284 out dist.dat
> result: 38.94 …
> This is the result I would expect from visual inspection of the structures.
>
> With pytraj, I initially wanted to use the an array to define the mask,
> because I will have many to compute at the same time and this will
> potentially change from one system to another. Here is what I did:
> traj = pt.iterload(traj_file, parm_file)
> dist = pt.distance(traj, top = traj.top, mask = [[572, 283]], image = True)
> result: 73.14 …
> This seems way too large, especially considering the dimensions of the box.
>
> Now if I load the trajectory with pt.load() instead of pt.iterload()
> (which won’t be convenient for huge trajectories, right?), I get the same
> result as cpptraj:
> traj = pt.load(traj_file, parm_file)
> traj = pt.autoimage(traj)
> dist = pt.distance(traj, top = traj.top, mask = [[572, 283]], image = True)
> result: 38.94 …
>
> I also tried your suggestion with pt.compute(), without imaging first, and
> this gives the expected result:
> traj = pt.iterload(traj_file, parm_file)
> dist = pt.compute(“distance @573 @284”, traj)
> result: 38.94 …
>
> But finally, I tried another way to define the mask with the pt.distance
> command and this surprisingly (or not) gave me the result I am looking for:
> traj = pt.iterload(traj_file, parm_file)
> dist = pt.distance(traj, top = traj.top, mask = "@573 @284”, image = True)
> result: 38.94 …
>
> So here is a better statement of my new issue:
> [[572, 283]] and ".573 .284” are not equivalent in the pt.distance()
> command regarding imaging. But as you can see above, on an imaged
> trajectory, both give the same result.
> Notice that mask = ".573 @284” and mask = ["@573 @284”] yield the same
> result (if that can help).
> And similarly, mask = [572, 283] and mask = [[572, 283]] are also
> equivalent.
>
> The usage with a mask defined as an array of atom indices (with
> potentially many pairs) would be more convenient for me, although I could
> find an easy way to work with the masks defined as strings. I might have
> done something wrong with it, or misunderstood its usage.
>
> I hope I was clear enough. Don’t hesitate to ask for more details.
> If needed, I will try to prepare a sample system to better illustrate the
> issue.
>
> For future, would it be more convenient for you if I open a thread
> directly on GitHub or on this mailing list?
>
> Thanks again for your help.
>
> All the best,
> Antoine
>
>
> > On 26 Feb 2019, at 02:47, Hai Nguyen <nhai.qn.gmail.com> wrote:
> >
> > On Mon, Feb 25, 2019 at 10:54 AM Antoine MARION <amarion.metu.edu.tr>
> wrote:
> >
> >> Dear Amber Community,
> >>
> >> However, I faced a first little issue when calculating distances with
> >> PBCs: i.e., minimum image is not applied and the “image” option seems
> to be
> >> ignored.
> >>
> >
> > Hi again, I've double-checked pytraj's code and ran some tests and its
> code
> > seems to work fine.
> >
> > Could you please send me (may be offline):
> > - small trajectory + its topology file (prefer non-confidential files).
> > - your exact command
> > - your expectation (why you think the minimum image is not applied (e.g:
> by
> > comparing to cpptraj or by visualizing? ...).
> >
> > Thanks.
> > Hai
> > _______________________________________________
> > 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 Tue Feb 26 2019 - 06:30:01 PST
Custom Search