I'm afraid that it isn't the correct answer because I got IndexError (out
of bonds), I fixed by subtracting 1 after rounding.

Anyway these modifications get off-by-1 errors in a high resolution grid,
but the real error is the misalignment between atoms positions and volume
densities.



Em seg., 9 de nov. de 2020 às 05:53, Thomas Holder <
thomas.hol...@schrodinger.com> escreveu:

> Hi Pedro,
>
> Try these two changes:
>
> # shape - 1
> xinc, yinc, zinc = (
>     abs(xmax - xmin) / (field.shape[0] - 1),
>     abs(ymax - ymin) / (field.shape[1] - 1),
>     abs(zmax - zmin) / (field.shape[2] - 1),
> )
>
> # position rounding by +0.5
>         idx = (
>             int((at.coord[0] - xmin) / xinc + 0.5),
>             int((at.coord[1] - ymin) / yinc + 0.5),
>             int((at.coord[2] - zmin) / zinc + 0.5),
>         )
>
>
> Cheers,
>   Thomas
>
>
> > On Nov 8, 2020, at 11:20 AM, Pedro Lacerda <pslace...@gmail.com> wrote:
> >
> > Hi,
> >
> > I'm using `cmd.get_volume_field(copy=0)` to edit maps. Each grid cell
> must increase by 1 each time the condition `atom.text_type in atomtypes` is
> met.
> >
> > But something went wrong and the map mesh didn't align with the atoms.
> >
> > `ensemble.selection` and `obj` spawns atoms in the exact same positions.
> >
> >
> >
> > map_obj = prefix + "." + title
> > pm.map_new(map_obj, type="vdw", selection=ensemble.selection)
> > field = pm.get_volume_field(map_obj, copy=0)
> > if -1 is field:
> >     colorprinting.error("Unable to get volume field.")
> >     continue
> > xinc, yinc, zinc = (
> >     abs(xmax - xmin) / field.shape[0],
> >     abs(ymax - ymin) / field.shape[1],
> >     abs(zmax - zmin) / field.shape[2],
> > )
> > field[:] = 0
> > for at in pm.get_model(obj).atom:
> >     if at.text_type in atomtypes:
> >         idx = (
> >             int((at.coord[0] - xmin) / xinc)-1,
> >             int((at.coord[1] - ymin) / yinc)-1,
> >             int((at.coord[2] - zmin) / zinc)-1,
> >         )
> >         field[idx] += 1
> >
> > --
> > Pedro Sousa Lacerda
> >
> > Laboratório de Bioinformática e Modelagem Molecular / UFBA
> > Mestrando em Ciências Farmácias / UEFS
> >
> > @pslacerda
> > +55 71 9 9981-1856
> > http://lattes.cnpq.br/8338596525330907
> > _______________________________________________
> > PyMOL-users mailing list
> > Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
> > Unsubscribe:
> https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe
>
> --
> Thomas Holder
> PyMOL Principal Developer
> Schrödinger, Inc.
>
>

-- 
Pedro Sousa Lacerda

Laboratório de Bioinformática e Modelagem Molecular / UFBA
Mestrando em Ciências Farmácias / UEFS

@pslacerda
+55 71 9 9981-1856
http://lattes.cnpq.br/8338596525330907
_______________________________________________
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe

Reply via email to