Iterate State

From PyMOLWiki
Revision as of 06:13, 9 April 2007 by James (talk | contribs) (From Python)
Jump to: navigation, search


Iterate state can be used to extract position data from an object or selection. The expression can use the variables x, y, and z which are the position of the current atom. One common usage is to extract the positions as a python list to alter then write back to the molecule using alter_state.


iterate_state state,(selection),expression


From PyMOL command line

To get the sum of x coordinates:

stored.sum_x = 0.0
iterate_state 1,(all),stored.sum_x = stored.sum_x + x

To get a list of the positions in a selection

stored.pos = []
iterate_state 1, (all), stored.pos.append((x,y,z))

From Python

To get a list of positions (import stored first)

from pymol import stored

stored.pos = []
cmd.iterate_state(1, 'all', 'stored.pos.append((x,y,z))')


Cmd iterate, Cmd alter, Cmd alter_state