This is a read-only mirror of pymolwiki.org
Difference between revisions of "Ramp New"
m |
m (19 revisions) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 23: | Line 23: | ||
*'''map_name''' = string: name of the map (for potential) or molecular object (for proximity) | *'''map_name''' = string: name of the map (for potential) or molecular object (for proximity) | ||
*'''range''' = list: values corresponding to slots in the ramp | *'''range''' = list: values corresponding to slots in the ramp | ||
− | *'''color''' = list: colors corresponding to slots in the ramp | + | *'''color''' = list: colors corresponding to slots in the ramp or a given palette name: afmhot, grayscale, object, rainbow, traditional, grayable, hot, ocean, and sludge |
*'''state''' = integer: state identifier | *'''state''' = integer: state identifier | ||
*'''selection''' = selection: for automatic ranging | *'''selection''' = selection: for automatic ranging | ||
Line 51: | Line 51: | ||
== Elaborate examples == | == Elaborate examples == | ||
+ | |||
+ | === Ramp + Distance Measure === | ||
Using a ramp and a distance measure, we can color the surface by some property--here, I'll chose distance from some important atom in the receptor to the ligand atom. | Using a ramp and a distance measure, we can color the surface by some property--here, I'll chose distance from some important atom in the receptor to the ligand atom. | ||
Line 85: | Line 87: | ||
</gallery> | </gallery> | ||
+ | === Surface Colored by Distance from a Point === | ||
+ | See [[Spectrum]] for another method that allows for more flexible coloring schemes, but needs more work to get there. | ||
+ | |||
+ | <gallery widths=400 heights=250> | ||
+ | Image:Measure.png | ||
+ | </gallery> | ||
+ | |||
+ | This example shows how to color a protein surface by its distance from a given point: | ||
+ | |||
+ | <source lang="python"> | ||
+ | # fetch a friendly protein | ||
+ | |||
+ | fetch 1hug, async=0 | ||
+ | |||
+ | # show it as a surface | ||
+ | |||
+ | as surface | ||
+ | |||
+ | # create a pseudoatom at the origin; we will | ||
+ | # measure the distance from this point | ||
+ | |||
+ | pseudoatom pOrig, pos=(0,0,0), label=origin | ||
+ | |||
+ | # create a new color ramp, measuring the distance | ||
+ | # from pOrig to 1hug, colored as rainbow | ||
+ | |||
+ | ramp_new proximityRamp, pOrig, selection=1hug, range=[5,65], color=rainbow | ||
+ | |||
+ | # set the surface color to the ramp coloring | ||
+ | |||
+ | set surface_color, proximityRamp, 1hug | ||
+ | |||
+ | # some older PyMOLs need this recoloring/rebuilding | ||
+ | |||
+ | recolor; rebuild | ||
+ | </source> | ||
+ | |||
+ | ====Coloring a Viral Capsid by Distance from Core==== | ||
+ | <gallery heights=350 widths=350> | ||
+ | Image:Capsid_by_dist.png | ||
+ | </gallery> | ||
+ | <source lang="python"> | ||
+ | # create a pseudoatom at the origin-- we will | ||
+ | # measure the distance from this point | ||
+ | |||
+ | pseudoatom pOrig, pos=(0,0,0), label=origin | ||
+ | |||
+ | # fetch and build the capsid | ||
+ | |||
+ | fetch 2xpj, async=0, type=pdb1 | ||
+ | split_states 2xpj | ||
+ | delete 2xpj | ||
+ | |||
+ | # show all 60 subunits it as a surface | ||
+ | # this will take a few minutes to calculate | ||
+ | |||
+ | as surface | ||
+ | |||
+ | # create a new color ramp, measuring the distance | ||
+ | # from pOrig to 1hug, colored as rainbow | ||
+ | |||
+ | ramp_new proximityRamp, pOrig, selection=(2xpj*), range=[110,160], color=rainbow | ||
+ | |||
+ | # set the surface color to the ramp coloring | ||
+ | |||
+ | set surface_color, proximityRamp, (2xpj*) | ||
+ | |||
+ | # some older PyMOLs need this recoloring/rebuilding | ||
+ | |||
+ | recolor | ||
+ | </source> | ||
= See Also = | = See Also = | ||
Line 91: | Line 164: | ||
[[Category:Commands|Ramp new]] | [[Category:Commands|Ramp new]] | ||
+ | [[Category:Coloring]] |
Revision as of 03:08, 28 March 2014
ramp_new creates a color ramp based on a map potential value or based on proximity to a molecular object.
Color ramps are extremely powerful but complicated to use.
In the simplest case, they can be used to color representations based on the potential values found in a map object at the corresponding positions in space. In another simple case, representations can be colored based on proximity to a target. Note that since ramp targets must themselves be real objects (not merely selections), the "create" command may be needed in order to generate an appropriate target. In more complicated cases, they can be used to color representations on one object based atoms found in another. Ramps can operate recursively. In other words, the output color from one ramp can be used as the input color for another. For example, you could color by map potential within a certain distance of the target object, beyond which, a uniform color is applied.
Usage
# normal PyMOL usage
ramp_new name, map_name [, range [, color [, state [, selection [,
beyond [, within [, sigma [, zero ]]]]]]]]
# in the API
cmd.ramp_new(string name, string map_name, list range, list color,
int state, string selection, float beyond, float
within, float sigma, int zero, int quiet)
- ramp_name = string: name of the ramp object
- map_name = string: name of the map (for potential) or molecular object (for proximity)
- range = list: values corresponding to slots in the ramp
- color = list: colors corresponding to slots in the ramp or a given palette name: afmhot, grayscale, object, rainbow, traditional, grayable, hot, ocean, and sludge
- state = integer: state identifier
- selection = selection: for automatic ranging
- beyond = number: with automatic ranging, are we excluding values beyond a certain distance from the selection?
- within = number: with automatic ranging, are we only including valuess within a certain distance from the selection?
- sigma = number: with automatic ranging, how many standard deviations from the mean do we go?
- zero = integer: with automatic ranging, do we force the central value to be zero?
Examples
Simple Example
ramp_new e_pot_color, e_pot_map, [-10, 0, 10], [red, white, blue]
This creates a new ramp object named e_pot_color, based on the values of the potential found in e_pot_map.
Elaborate examples
Ramp + Distance Measure
Using a ramp and a distance measure, we can color the surface by some property--here, I'll chose distance from some important atom in the receptor to the ligand atom.
To reproduce the results shown here you must do the following:
- obtain a protein
- calculate some property for some set of atoms (like distance from some central location) and stuff the values into the b-factor
- create a new object from the atoms for which you just measured a property
- create a new ramp from the object with ramp_new
- set the surface color of the new object
Another possible application of the ramp_new command can be the representation of the ELF function [1]. This function can be calculated with the TopMod software [2].
- Load the cube file containing the ELF function, e.g. H2O_elf.cube.
- Create an isosurface with a contour level of 0.8.
isosurface elf, H2O_elf, 0.8
- Load the cube containing the basin information, e.g. H20_esyn.cube. Basically in this cube for each point in the first cube you have either one of the numbers from 1 to 5. More details on what these numbers mean can be found in the TopMod manual.
- Create a new ramp.
ramp_new ramp, H2O_esyn, [1, 2, 3, 5], [tv_orange, lightblue, palegreen, deeppurple]
- Assign the color ramp to the ELF isosurface.
set surface_color, ramp, elf
- Rebuild if necessary.
rebuild
Surface Colored by Distance from a Point
See Spectrum for another method that allows for more flexible coloring schemes, but needs more work to get there.
This example shows how to color a protein surface by its distance from a given point:
# fetch a friendly protein
fetch 1hug, async=0
# show it as a surface
as surface
# create a pseudoatom at the origin; we will
# measure the distance from this point
pseudoatom pOrig, pos=(0,0,0), label=origin
# create a new color ramp, measuring the distance
# from pOrig to 1hug, colored as rainbow
ramp_new proximityRamp, pOrig, selection=1hug, range=[5,65], color=rainbow
# set the surface color to the ramp coloring
set surface_color, proximityRamp, 1hug
# some older PyMOLs need this recoloring/rebuilding
recolor; rebuild
Coloring a Viral Capsid by Distance from Core
# create a pseudoatom at the origin-- we will
# measure the distance from this point
pseudoatom pOrig, pos=(0,0,0), label=origin
# fetch and build the capsid
fetch 2xpj, async=0, type=pdb1
split_states 2xpj
delete 2xpj
# show all 60 subunits it as a surface
# this will take a few minutes to calculate
as surface
# create a new color ramp, measuring the distance
# from pOrig to 1hug, colored as rainbow
ramp_new proximityRamp, pOrig, selection=(2xpj*), range=[110,160], color=rainbow
# set the surface color to the ramp coloring
set surface_color, proximityRamp, (2xpj*)
# some older PyMOLs need this recoloring/rebuilding
recolor