Ramp New
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
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