Difference between revisions of "Iterate"

From PyMOLWiki
Jump to navigation Jump to search
 
Line 1: Line 1:
 
===DESCRIPTION===
 
===DESCRIPTION===
 +
'''iterate''' iterates over an expression with a separate name space for each atom.  However, unlike the "alter" command, atomic properties can not be altered.  Thus, '''iterate''' is more efficient than '''alter'''.
 
   
 
   
  "iterate" iterates over an expression with a separate name space
+
It can be used to perform operations and aggregations using atomic selections, and store the results in any global object, such as the predefined '''stored''' object.
  for each atom.  However, unlike the "alter" command, atomic
 
  properties can not be altered.  Thus, "iterate" is more efficient
 
  than "alter".
 
 
   
 
   
  It can be used to perform operations and aggregations using atomic
+
The local namespace for "iterate" contains the following names
  selections, and store the results in any global object, such as the
+
  name, resn, resi, chain, alt, elem,
  predefined "stored" object.
+
q, b, segi, and type (ATOM,HETATM),
+
partial_charge, formal_charge,
  The local namespace for "iterate" contains the following names
+
text_type, numeric_type, ID
   
+
 
      name, resn, resi, chain, alt, elem,
+
All strings in the expression must be explicitly quoted.  This operation typically takes a second per thousand atoms.
      q, b, segi, and type (ATOM,HETATM),
 
      partial_charge, formal_charge,
 
      text_type, numeric_type, ID
 
 
  All strings in the expression must be explicitly quoted.  This
 
  operation typically takes a second per thousand atoms.
 
 
===USAGE==
 
 
  iterate (selection),expression
 
 
   
 
   
 +
===USAGE===
 +
iterate (selection),expression
 +
 
===EXAMPLES===
 
===EXAMPLES===
 +
<source lang="python">
 +
stored.net_charge = 0
 +
iterate (all),stored.net_charge = stored.net_charge + partial_charge
 
   
 
   
  stored.net_charge = 0
+
stored.names = []
  iterate (all),stored.net_charge = stored.net_charge + partial_charge
+
iterate (all),stored.names.append(name)
+
</source>
  stored.names = []
 
  iterate (all),stored.names.append(name)
 
 
   
 
   
 
===SEE ALSO===
 
===SEE ALSO===
+
[[Cmd iterate_state]], [[Cmd alter]], [[Cmd alter_state]]]
  [[Cmd iterate_state]], [[Cmd alter]], [[Cmd alter_state]]]
 
  
 
[[Category:Commands|iterate]]
 
[[Category:Commands|iterate]]

Revision as of 23:22, 2 June 2005

DESCRIPTION

iterate iterates over an expression with a separate name space for each atom. However, unlike the "alter" command, atomic properties can not be altered. Thus, iterate is more efficient than alter.

It can be used to perform operations and aggregations using atomic selections, and store the results in any global object, such as the predefined stored object.

The local namespace for "iterate" contains the following names

name, resn, resi, chain, alt, elem,
q, b, segi, and type (ATOM,HETATM),
partial_charge, formal_charge,
text_type, numeric_type, ID

All strings in the expression must be explicitly quoted. This operation typically takes a second per thousand atoms.

USAGE

iterate (selection),expression

EXAMPLES

stored.net_charge = 0
iterate (all),stored.net_charge = stored.net_charge + partial_charge
 
stored.names = []
iterate (all),stored.names.append(name)

SEE ALSO

Cmd iterate_state, Cmd alter, Cmd alter_state]