VMD-L Mailing List
From: Josh Vermaas (joshua.vermaas_at_gmail.com)
Date: Fri Jun 05 2020 - 10:34:36 CDT
- Next message: John Stone: "Re: NAMD energy plugin reference"
- Previous message: Bart Bruininks: "resname X and pbwithin resname X excluding intramolecular"
- In reply to: Bart Bruininks: "resname X and pbwithin resname X excluding intramolecular"
- Next in thread: Bart Bruininks: "Re: resname X and pbwithin resname X excluding intramolecular"
- Reply: Bart Bruininks: "Re: resname X and pbwithin resname X excluding intramolecular"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Hi Bart,
I think you'd need to cycle over all the residues, and attack each residue
one at a time. Since the loops are slow, and pbwithin needs to recalculate
a data structure each time its called, what I've done recently is to
use/abuse cKDTree implementations in scipy to ask the question of what is
close to what in a periodic sense. A snippet would look something like this:
from scipy.spatial import cKDTree
#More setup to get R, which is a matrix of all atomic coordinates, and
select specific indexes onidxs.
tree = cKDTree(R[onidxs],boxsize=boxdims[i]+np.finfo(np.float32).eps)
>From the built tree (which you'd only need to do once per frame) you can
ask questions like how many pairs of interactions fall within a cutoff
(tree.query_pairs(cutoff)), or how many atoms are within a radius of a
given point. See the scipy.spatial documentation for more:
https://docs.scipy.org/doc/scipy/reference/spatial.html.
-Josh
On Fri, Jun 5, 2020 at 7:40 AM Bart Bruininks <b.m.h.bruininks_at_rug.nl>
wrote:
> Dear VMDers,
>
> I was trying to calculate contacts between molecules of the same species.
> Usually the VMD selection procedure is very fast and accurate compared to
> other options (GROMACS, MDAnalysis, etc). However, I can't seem to prevent
> every molecule from returning True to the selection below:
>
> resname X and pbwithin 8 of resname X
>
> This makes sense, for X is a multiparticle molecule, therefore it is
> always in range of itself. Is there something neat I can do to prevent this
> from happening (preferably without affecting calculation time too much).
>
> I did find something related about the 'gofr' module from 2008, but I am
> not sure how relevant it is. Back then such a selection was not possible, I
> wonder if this is still the case.
>
> Cheers,
>
> Bart
>
- Next message: John Stone: "Re: NAMD energy plugin reference"
- Previous message: Bart Bruininks: "resname X and pbwithin resname X excluding intramolecular"
- In reply to: Bart Bruininks: "resname X and pbwithin resname X excluding intramolecular"
- Next in thread: Bart Bruininks: "Re: resname X and pbwithin resname X excluding intramolecular"
- Reply: Bart Bruininks: "Re: resname X and pbwithin resname X excluding intramolecular"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]