Iterate State: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
(Made this useful)
Line 1: Line 1:
===DESCRIPTION===
===DESCRIPTION===
'''iterate_state''' is to '''alter_state''' as '''iterate''' is to '''alter'''.
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.


===USAGE===
===USAGE===
Line 6: Line 6:


===EXAMPLES===
===EXAMPLES===
==From PyMOL command line==
To get the sum of x coordinates:
<source lang="python">
<source lang="python">
stored.sum_x = 0.0
stored.sum_x = 0.0
iterate 1,(all),stored.sum_x = stored.sum_x + x
iterate_state 1,(all),stored.sum_x = stored.sum_x + x
</source>
To get a list of the positions in a selection
<source lang="python">
stored.pos = []
iterate_state 1, (all), stored.pos.append((x,y,z))
</source>
==From Python==
To get a list of positions
<source lang="python">
stored.pos = []
cmd.iterate_state(1, 'all', 'stored.pos.append((x,y,z))')
</source>
</source>



Revision as of 07:39, 6 July 2006

DESCRIPTION

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.

USAGE

iterate_state state,(selection),expression

EXAMPLES

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

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

SEE ALSO

Cmd iterate, Cmd alter, Cmd alter_state