Overview (980226)

This shows a new user some examples of working with O. The examples are mostly based on the files that are made avaiable as part of the installation in the o/examples directory. They are shown for demonstration purposes since most of these simple things are most easily acitviated from the pull-down menu system.

Simple Molecular Line Objects

Read in coords for 2 chains, call them A and B

O > sam_at_in

Sam>Name of input file: m17_a.wah

Sam>O associated molecule name : a

Sam>Type of coordinates assumed from file name.

Sam>Is that O.K. ? ([Y]/N)

Sam>Is it Wayne s format ([Y]/N) ?

Sam>Are there any S-S bridges (Y/[N]) ?

O > sam_at_in

Sam>Name of input file: m17_b.wah

Sam>O associated molecule name : b

Sam>Type of coordinates assumed from file name.

Sam>Is that O.K. ? ([Y]/N)

Sam>Is it Wayne s format ([Y]/N) ?

Sam>Are there any S-S bridges (Y/[N]) ?

O > dir a*

Heap>A_ATOM_XYZ R W 3162

Heap>A_ATOM_B I W 1054

Heap>A_ATOM_Z I W 1054

Heap>A_ATOM_NAME C W 1054

Heap>A_ATOM_WT R 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

O > save

As1> File_O_save is not defined.

As1> Enter file name [ binary.o] :

 

Make an object from molecule a

O > mol

O > Current molecule has not been loaded.

Mol> Molecule code name []: a

O > ca

Mol> Ca zone [all molecule]:

O > end

 

That could all have been done in one line:

 

O > mol a ca ; end

 

Centre it on the fatty acid

O > cen_atom

As3> Define molecule [A ], residue, and atom [CA] : a132 c5

Believe me , it did centre. Now make an object with the fatty acid too

O > ca ; zon a132 ; end

Note the use of ';' in the above line. Make another object with those residues close to the fatty acid:

O > obj sph_a cover a132 ; 2.5 end

After activating the objects pull-down menu, I can click the objects on and off...

Now, make mol b...

O > mol b ca ; z b132 end

Mol> Second residue not in molecule

Notice my error in the last line. It was trying to find a second residue in the zone called end . Add the desired zone with

O > z b132 ; end

 

Least Squares Comparison

Compare molecules A and B (P2 molecules M17a, M17b) in the database

O > lsq_ex

Lsq >Lsq definition defaults are taken.

Lsq >Least squares match by explicit definition of atoms.

Lsq >Given 2 molecules A,B the transformation rotates B onto A

Lsq >What is the name of A (the not rotated molecule) ? a

Lsq >What is the name of B (the rotated molecule) ? b

Lsq >Now define what atoms in A are to be matched to B.

Lsq >Defining 3 names in A implies a zone and an atom name.

Lsq >Defining 2 names in A implies a zone and CA atoms.

Lsq >Defining 1 name in A implies the CA of that residue.

Lsq >The B molecule requires just the start residue.

Lsq >A blank line terminates input.

Lsq >Define atoms from A (the not rotated molecule) : a1 a131

Lsq >Define atoms from B (the rotated molecule) : b1

Lsq >Define atoms from A (the not rotated molecule) :

Lsq >The 131 atoms have an r.m.s. fit of 0.614

Lsq >xyz(1) = 0.3866*x+ 0.0907*y+ 0.9178*z+ -16.9487

Lsq >xyz(2) = 0.1155*x+ 0.9826*y+ -0.1458*z+ 25.7526

Lsq >xyz(3) = -0.9150*x+ 0.1624*y+ 0.3694*z+ 66.9966

Lsq >The transformation can be stored in O.

Lsq >A blank is taken to mean do not store anything

Lsq >The transformation will be stored in .LSQ_RT_ b_to_a

O > lsq_obj

Lsq >Apply a transformation to an existing object.

Lsq >There is an alignment called B_TO_A

Lsq >Which alignment [<CR>=restore a transformed object] ? b_to_a

Lsq >There is an object called A

Lsq >There is an object called SPH_A

Lsq >There is an object called B

Lsq >Which object ? b

Now they are on top of each other, I can identify them

O > lsq_obj ; b

That removed them. Do a deliberate mistake in LSQ

O > lsq_e

Lsq >Lsq definition defaults are taken.

Lsq >Least squares match by explicit definition of atoms.

Lsq >Given 2 molecules A,B the transformation rotates B onto A

Lsq >What is the name of A (the not rotated molecule) ? a

Lsq >What is the name of B (the rotated molecule) ? b

Lsq >Now define what atoms in A are to be matched to B.

Lsq >Defining 3 names in A implies a zone and an atom name.

Lsq >Defining 2 names in A implies a zone and CA atoms.

Lsq >Defining 1 name in A implies the CA of that residue.

Lsq >The B molecule requires just the start residue.

Lsq >A blank line terminates input.

Lsq >Define atoms from A (the not rotated molecule) : a1 a125

Lsq >Define atoms from B (the rotated molecule) : b5

Lsq >Define atoms from A (the not rotated molecule) :

Lsq >The 125 atoms have an r.m.s. fit of 11.038

Lsq >xyz(1) = 0.2809*x+ 0.0037*y+ 0.9597*z+ -8.7543

Lsq >xyz(2) = 0.2134*x+ 0.9747*y+ -0.0662*z+ 16.6426

Lsq >xyz(3) = -0.9357*x+ 0.2234*y+ 0.2730*z+ 69.5881

Lsq >The transformation can be stored in O.

Lsq >A blank is taken to mean do not store anything

Lsq >The transformation will be stored in .LSQ_RT_ b_to_a

O > lsq_i

Lsq >Least squares match by Semi Automatic Alignment.

Lsq >There is an alignment called B_TO_A

Lsq >Given 2 molecules A,B the transformation rotates B onto A

Lsq >What is the name of molecule A [A ]?

Lsq >Zone to look for alignment [all molecule A] :

Lsq >What is the name of molecule B [B ]?

Lsq >Zone to look for alignment [all molecule B] :

Lsq >What atom [CA] ?

Lsq >Number of atoms in A/B to look for alignment 131 131

Lsq >Search for connected fragments.

Lsq >A fragment of 131 1 1 residues located.

Lsq >Loop = 1 ,r.m.s. fit = 0.614 with 131 atoms

Lsq >x(1) = 0.3866*x+ 0.0907*y+ 0.9178*z+ -16.9487

Lsq >x(2) = 0.1155*x+ 0.9826*y+ -0.1458*z+ 25.7526

Lsq >x(3) = -0.9150*x+ 0.1624*y+ 0.3694*z+ 66.9966

Lsq >Search for connected fragments.

Lsq >A fragment of 131 1 1 residues located.

Lsq >Loop = 2 ,r.m.s. fit = 0.614 with 131 atoms

Lsq >x(1) = 0.3866*x+ 0.0907*y+ 0.9178*z+ -16.9487

Lsq >x(2) = 0.1155*x+ 0.9826*y+ -0.1458*z+ 25.7526

Lsq >x(3) = -0.9150*x+ 0.1624*y+ 0.3694*z+ 66.9966

Lsq >The transformation can be stored in O.

Lsq >A blank is taken to mean do not store anything

Lsq >The transformation will be stored in .LSQ_RT_ b_to_a

Lsq >Here are the fragments used in the alignment

Lsq > A1 SNKFLGTWKLVSSENFDEYMKALGVGLATRKLGNLAKPRVIISKKGDIIT

Lsq > B1 SNKFLGTWKLVSSENFDEYMKALGVGLATRKLGNLAKPRVIISKKGDIIT

Lsq > A51 IRTESPFKNTEISFKLGQEFEETTADNRKTKSTVTLARGSLNQVQKWNGN

Lsq > B51 IRTESPFKNTEISFKLGQEFEETTADNRKTKSTVTLARGSLNQVQKWNGN

Lsq > A101 ETTIKRKLVDGKMVVECKMKDVVCTRIYEKV A131

Lsq > B101 ETTIKRKLVDGKMVVECKMKDVVCTRIYEKV B131

 

See it worked

 

O > lsq_pair

Lsq >There is an matched pair called B_TO_A

Lsq >Object state ([ON],OFF) : on

That shows some little arrows between matched atoms

O > stop


Painting a 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'. Lets 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.