[MMTK] PartitionedCollection.selectShell

Chris MacRaild c.a.macraild at leeds.ac.uk
Mon Jan 22 10:10:41 UTC 2007

Hi Konrad,

I first noticed this in a system setup to allow simple sidechain rotamer
operations, but I can reproduce it simply by creating a peptide chain
from a pdb file:

from MMTK import *

configuration = PDB.PDBConfiguration('../1UBQ.pdb')
chains = configuration.createPeptideChains()
chain = chains[0]
universe = Universe.InfiniteUniverse()

bb = PartitionedCollection(1.0,
res = chain[15]
rPos = res.position()

print bb.selectShell(rPos, 0.3).atomList(), '\n'

for atom in bb:
    if universe.distance(rPos, atom.pos) <= 0.3:
        print atom, universe.distance(rPos, atom.pos)

bb = Collection(chain.backbone().atomsWithDefinedPositions())
print '\n', bb.selectShell(rPos, 0.3).atomList(), '\n'

This prints:


Atom .Glu16.peptide.C 0.278183394332
Atom .Glu16.peptide.C_alpha 0.162686972188
Atom .Glu16.peptide.H 0.2878402478
Atom .Glu16.peptide.H_alpha 0.206802524354
Atom .Glu16.peptide.N 0.250664650392

[Atom .Glu16.peptide.C, Atom .Glu16.peptide.C_alpha,
Atom .Glu16.peptide.H, Atom .Glu16.peptide.H_alpha,
Atom .Glu16.peptide.N]

I've now had a quick look at what seems to be the relevant code. In
MMTK/Collections.py the PartitionedCollection.selectShell method treats
the cases where the current partition is completely enclosed in the
shell (ie. dmin >= minsq and dmax <= maxsq), and also one case where the
two regions partially overlap (dmax >= minsq and dmin <= maxsq). The
problem seems to be the case where the centre of the shell is in the
current partition and both dmin and dmax are greater than maxsq. Or have
I missunderstood what is going on here?

Sorry the initial report lacked detail.


On Mon, 2007-01-22 at 08:46 +0100, Konrad Hinsen wrote:
> On 19.01.2007, at 18:39, Chris MacRaild wrote:
> > Shouldn't these procedures give the same set of atoms?
> At first sight, yes, but there could always be some subtle  
> differences elsewhere in the script. Could you please send/post a  
> complete script that demonstrates this behaviour?
> Konrad.
> --
> ---------------------------------------------------------------------
> Konrad Hinsen
> Centre de Biophysique Moléculaire, CNRS Orléans
> Synchrotron Soleil - Division Expériences
> Saint Aubin - BP 48
> 91192 Gif sur Yvette Cedex, France
> Tel. +33-1 69 35 97 15
> E-Mail: hinsen at cnrs-orleans.fr
> ---------------------------------------------------------------------

More information about the mmtk mailing list