next up previous contents index
Next: Example 3: Using Up: An O Tutorial. Previous: Example 1: Getting

Example 2: Colouring the molecule

Some simple painting examples. It assumes that an object has been created at least once from the molecule. This is because the program forces the creation of a set of default colouring parameters (if they do not exist) once the first object is being drawn. Otherwise it is necessary to make an atom property of the correct name and length.

 
 O >  dir *xyz   
 Heap> A_ATOM_XYZ           R W    3162
 O >  dir a* 
 Heap> A_ATOM_COLOUR        I W    1054
 Heap> A_ATOM_XYZ           R W    3162
 Heap> A_ATOM_B	            R W    1054
 Heap> A_ATOM_WT            R W    1054
 Heap> A_ATOM_Z             I W    1054
 Heap> A_ATOM_NAME          C W    1054
 Heap> A_RESIDUE_NAME       C W     132
 Heap> A_RESIDUE_TYPE       C W     132
 Heap> A_RESIDUE_POINTERS   I W     264
 Heap> A_RESIDUE_CG         R W     528

The above shows there are 132 residues and 1054 atoms in molecule A. Note that an atomic property a_atom_colour already exists.

 O >  paint_colour lime_green 
 O >  paint_prop   
Pnt> Property [atom_name]: atom_z
Pnt> Operator (< > <= >= ^= [=]):  =
Pnt> Value: 6 
Pnt> Colour [lime_green]: yellow

The next line does the same thing

 O >  pai_prop atom_z = 6 yellow

Paint all carbons that are CA's white

 O >  paint_prop atom_name = ca white 
 O >  z ; end

Believe me, the CA's are white and the rest are yellow. Now make the Phe residue light blue

 O >  pai_pr residue_type = phe sky_blue  
 O >  z ; end 
 O >  paint 
 O >  PAINT is not a unique keyword.
 O >  Paint_proper is a possibility.
 O >  Paint_ramp   is a possibility.
 O >  Paint_case   is a possibility.
 O >  Paint_zone   is a possibility.
 O >  Paint_select is a possibility.
 O >  Paint_object is a possibility.
 O >  Paint_obj_zo is a possibility.
 O >  Paint_obj_at is a possibility.
 O >  Paint_colour is a possibility.
 O >  PAINT        is not a visible command.

Notice we now have an atom property called atom_z. Let's now use it to set everything to standard colours

 
 O >  pai_case 
Pnt>  Colour-case a property in molecule A
Pnt> Property [atom_z] : atom_z 
Pnt> How many cases [8]? 4 
Pnt> Enter property values [1 2 3 4] : 6 7 8 16 
Pnt> Enter 4 colour names : 
 Pnt> Colour [sky_blue]:  yellow 
Pnt> Colour [yellow]:  blue 
Pnt> Colour [blue]:  red 
Pnt> Colour [rede]:  green 
 O >  z ; end

Paint by internal residue count

 O >  pain_ramp 
 Pnt>  Colour-ramp a property in molecule A
Pnt> Property [residue_irc]: residue_irc 
Pnt> Minimum and maximum value of property [1 132] : 1 131 
Pnt> First colour [red]: blue 
Pnt> First colour [blue]: red 
 O > obj ca ca ; end

Now there is an object called CA that is a rainbow of colours, blue at the N-terminal and red at the C-terminal. If you wanted it to go blue to red without passing through yellow and green etc, then you have to specify the first colour as blue with a bit of red

 
Pnt> First colour [red]: 1 0 255 
Pnt> First colour [red]: red

This is because of how we do the ramping, using the HSV colouring model. Blue comes out at 360 degrees, while (1,0,255) comes out close to 0 degrees.

 O >  stop