Hi Dirk,
cmd.iterate is actually the most efficient function to access atom properties.
If you want a wrapper which directly gets b and q for one atom, it could look
like this (returns a dictionary):
from pymol import cmd
@cmd.extend
def get_signle_atom_props(selection, props=['b', 'q'], quiet=1):
if isinstance(props, basestring):
props = cmd.safe_list_eval(props)
expr = ','.join((repr(k) + ':' + k) for k in props)
expr = '_r.update({' + expr + '})'
r = {}
n = cmd.iterate(selection, expr, space={'_r': r})
if n 1:
print ' Warning: selections spans more than one atom'
if not int(quiet):
print r
return r
You can use the first operator to limit your selection to one atom:
print get_single_atom_props('first polymer')
Cheers,
Thomas
On 27 Aug 2015, at 06:27, Dirk Kostrewa kostr...@genzentrum.lmu.de wrote:
Dear PyMOLers,
I have trouble to find out, which command I could use in a python script
to get the b-factor and occupancy of a single atom.
In the script library, I only found examples getting b-factors iterating
over a selection.
Although, I could iterate over one atom, only, is there a more elegant
way of getting the b-factor and occupancy of a single atom?
Best regards,
Dirk.
--
***
Dirk Kostrewa
Gene Center Munich, A5.07
Department of Biochemistry
Ludwig-Maximilians-Universität München
Feodor-Lynen-Str. 25
D-81377 Munich
Germany
Phone: +49-89-2180-76845
Fax:+49-89-2180-76999
E-mail: kostr...@genzentrum.lmu.de
WWW:www.genzentrum.lmu.de
***
--
Thomas Holder
PyMOL Principal Developer
Schrödinger, Inc.
--
___
PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net