This is a read-only mirror of pymolwiki.org
Difference between revisions of "Alter"
Jump to navigation
Jump to search
m |
Hongbo zhu (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | ||
'''alter''' changes one or more atomic properties over a selection using the python evaluator with a separate name space for each atom. The symbols defined in the name space, which are are explained in [[Iterate]] are: | '''alter''' changes one or more atomic properties over a selection using the python evaluator with a separate name space for each atom. The symbols defined in the name space, which are are explained in [[Iterate]] are: | ||
name, resn, resi, chain, alt, elem, q, b, segi, | name, resn, resi, chain, alt, elem, q, b, segi, | ||
Line 40: | Line 40: | ||
# refresh (turn on seq_view to see what this command does). | # refresh (turn on seq_view to see what this command does). | ||
sort | sort | ||
+ | </source> | ||
+ | |||
+ | * Change the b values of all atoms to the distance of the atoms to a reference point | ||
+ | <source lang="python"> | ||
+ | # reference point | ||
+ | x0,y0,z0=[1,2,3] | ||
+ | # calculate distance values between the reference point and all the atoms | ||
+ | alldist = [] | ||
+ | iterate_state 1, yourstruc, alldist.append(((x-x0)**2.0+(y-y0)**2.0+(z-z0)**2.0)**0.5) | ||
+ | # assign distance values to b-factors | ||
+ | di = iter(alldist) | ||
+ | alter yourstruc, b=di.next() | ||
+ | # visualize the distances | ||
+ | spectrum b, rainbow, yourstruc | ||
</source> | </source> | ||
Revision as of 09:59, 29 July 2011
alter changes one or more atomic properties over a selection using the python evaluator with a separate name space for each atom. The symbols defined in the name space, which are are explained in Iterate are:
name, resn, resi, chain, alt, elem, q, b, segi, type (ATOM,HETATM), partial_charge, formal_charge, text_type, numeric_type, ID, vdw
All strings must be explicitly quoted. This operation typically takes several seconds per thousand atoms altered.
WARNING: You should always issue a sort command on an object after modifying any property which might affect canonical atom ordering (names, chains, etc.). Failure to do so will confound subsequent "create" and "byres" operations.
USAGE
alter (selection),expression
EXAMPLES
- Change chain label and residue index
alter (chain A),chain='B'
alter (all),resi=str(int(resi)+100)
sort
- Change van der Waals radius of a given atom
alter (name P), vdw=1.90
Note that is if dots, spheres, mesh or surface representation is used. You have to refresh the view with
rebuild
- Renumber the amino acids in a protein, so that it starts from 0 instead of its offset as defined in the structure file.
# The first residue in the structure file for 1cll is 4. To change this to 0, maybe to match scripts
# outputted from other programs, just remove the offset of 4 from each atom
alter 1cll, resi=str(int(resi)-4)
# refresh (turn on seq_view to see what this command does).
sort
- Change the b values of all atoms to the distance of the atoms to a reference point
# reference point
x0,y0,z0=[1,2,3]
# calculate distance values between the reference point and all the atoms
alldist = []
iterate_state 1, yourstruc, alldist.append(((x-x0)**2.0+(y-y0)**2.0+(z-z0)**2.0)**0.5)
# assign distance values to b-factors
di = iter(alldist)
alter yourstruc, b=di.next()
# visualize the distances
spectrum b, rainbow, yourstruc