Dear All,
I've prepared some small patches to Roger Sayle's RasMol programm. It's
something like an extended version based on RasMol version 2.6.beta from
October 96.
You can download the sources from:
ftp://nexus.roko.goe.net/pub/rasmol/
here's the a copy of the README.ext file I've written to describe the
patches, please note that's still a beta release and I cannot guarantee
for the correctness of the program (I think nobody can do this ...). The
release of these patches is in agreement with Roger Sayle.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
RasMol 2.6x1
Molecular Graphics Visualisation tool.
Roger Sayle, 1995
Arne Mueller, 1998
This is the description of some extensions to RasMol version 2.6beta
from
October 1996 from Roger Sayle.
Here´s the list of exstensions I´ve applied to RasMol:
======================================================
1. ability to list all chains, groups or atoms of current selection
show selected <atom | group | chain>
2. list phipsi angles of current selection
show phipsi
3. export phipsi angles as datafile for Ramachandran plots
write ramachan
4. omega angle (cisbonded peptids) as regular expression
set cisangle INTEGER_VALUE
select cisbonded
select cisbonded and pro
...
5. export current representation as POVRay file
write povray FILENAME
Description and usage of the new commands and expressions:
===========================================================
1. "show selected"
-----------------
This command is an extension of the existing "show" command.
It lists all currently selected groups of your molecule. You get the
following information:
- chain identifier (if there is more then one chain!)
- group name
- residue number (of the group)
- secondary structure state of the group, Helix (H), Sheet (S), Turn
(T),
Coil (C), this is for aminoacids only
- the number of atoms of this group that are selected and the
absolute number of atoms in the group
example:
load the molecule "3crn.pdb" from the RasMol-data directory. This is the
CRO-Repressor from lambda phage which binds to specific lambda-DNA as a
dimer. Maybe you are interested in quikly listing all residues of the
protein near by DNA and so possibly involved in DNA-binding. In a first
step you can use the existing "select within" expression for this.
here´s a section of my RasMol-commandline:
RasMol> color chain
RasMol> select within(3.5, DNA) and Protein
69 atoms selected!
RasMol> color red
RasMol> show selected
Chain: L Group: ARG 10 (H) (1/11) atoms
Chain: L Group: THR 16 (H) (1/7) atoms
Chain: L Group: GLN 17 (H) (4/9) atoms
Chain: L Group: LYS 27 (C) (4/9) atoms
Chain: L Group: GLN 28 (H) (2/9) atoms
Chain: L Group: GLN 29 (H) (3/9) atoms
Chain: L Group: SER 30 (H) (2/6) atoms
Chain: L Group: GLN 32 (H) (3/9) atoms
Chain: L Group: LYS 40 (C) (1/9) atoms
Chain: L Group: ARG 41 (C) (2/11) atoms
Chain: L Group: PRO 42 (C) (1/7) atoms
Chain: L Group: ARG 43 (C) (5/11) atoms
Chain: L Group: PHE 44 (C) (3/11) atoms
Chain: R Group: ARG 10 (H) (1/11) atoms
Chain: R Group: THR 16 (H) (2/7) atoms
Chain: R Group: GLN 17 (H) (3/9) atoms
Chain: R Group: LYS 27 (C) (2/9) atoms
Chain: R Group: GLN 28 (H) (2/9) atoms
Chain: R Group: GLN 29 (H) (3/9) atoms
Chain: R Group: SER 30 (H) (1/6) atoms
Chain: R Group: GLN 32 (H) (2/9) atoms
Chain: R Group: LEU 33 (H) (1/8) atoms
Chain: R Group: LYS 40 (C) (1/9) atoms
Chain: R Group: ARG 41 (C) (5/11) atoms
Chain: R Group: ARG 43 (C) (3/11) atoms
Chain: R Group: PHE 44 (C) (3/11) atoms
What happens?
First I color the molecules by chain, so that every chain has it´s own
color. Then I select all groups of the molecules that are within a
radius
of 3.5 Angstom from the DNA (measured from any point inside the DNA
molecule) and that are part of the protein. RasMol reports that 69 Atoms
has been selected. Now we can visualize the atoms with the third command
that colors these atoms in red. The extension of the "show" command can
now be
helpfull to list all the groups (aminoacids) that are selected with
additional
information on the command-window. Let me explain the last line of the
RasMol
output: It says that there´s selected a group of Chain ´R´, it´s
Phenylalanin
residue 44 which is located in a Coil (or Turn), Phenylalanin consits of
11
atoms but only 3 are in the current selection (means that there are only
3 of
11 atoms inside a distance of 3.5 Angstrom of the DNA).
Extensions of the "show selected" command:
------------------------------------------
The following long forms of the commad are available:
show selected atom
show selected group ( same as "show selected" )
show selected chain
Assume you´re only interested in the aromatic groups of the above
selection,
here´s my RasMol-commandline:
RasMol> select selected and aromatic
6 atoms selected!
RasMol> show selected atom
Chain: L Group: PHE 44 (C) Atom: N 1182
Chain: L Group: PHE 44 (C) Atom: CD2 1189
Chain: L Group: PHE 44 (C) Atom: CE2 1191
Chain: R Group: PHE 44 (C) Atom: N 1747
Chain: R Group: PHE 44 (C) Atom: CD1 1753
Chain: R Group: PHE 44 (C) Atom: CE1 1755
RasMol> show selected chain
Chain: L no group completely selected
Chain: R no group completely selected
"select selected and aromatic" means that you coose te aromatic subset
of your current selection (a quick way). I list all the selected atoms,
and you see these atoms are in Phenylalanins of two chains (both with
residue number 44). The last two columns give you a detailed description
of the atom in your selection. At last, there´s no group completely
selected.
Even there are some selected atoms in each chain there must be at least
one
group in a chain completely selected to produce informative output!
look at this:
RasMol> select aromatic
96 atoms selected!
RasMol> show selected chain
Chain: L (4/66) groups
Chain: R (4/64) groups
You select all aromatic aminoacids of all chains (these are 4 of a total
of
66 in chain L).
2. PHI-PSI Angles
-----------------
In the current patchlevel you cannot youse phi/psi angle information as
a regular expression to select residues but you can list the phi/psi
angle
combination of the currently selected residues.
... assume you continue from the recent selection above:
RasMol> show phipsi
Chain: L Group: PHE 44 (C) Phi = -100.6 Psi = 25.68
Chain: L Group: PHE 46 (H) Phi = -103.3 Psi = -40.62
Chain: L Group: TRP 58 (H) Phi = -75.01 Psi = -44.79
Chain: L Group: TYR 61 (H) Phi = -119.2 Psi = 161.4
Chain: R Group: PHE 44 (C) Phi = -91.57 Psi = 7.374
Chain: R Group: PHE 46 (H) Phi = -77.93 Psi = -23.86
Chain: R Group: TRP 58 (H) Phi = -51.71 Psi = -43.06
Chain: R Group: TYR 61 (H) Phi = -121.5 Psi = -135.1
The last line of the output tells you Thyrosin 61 in chain R is in a
Helix
and has a phi/psi combination of -121.5/-135.1 degrees. The angles are
measure in degrees from -180.0 to +180.0.
3. Writing a datafile with PHI-PSI Angle information:
-----------------------------------------------------
You can write the phi/psi angle combinations of any kind of selection
into a datafile. Non-aminoacid groups are skipped.
To write the above angles into a file with name "aromatic.ang" do this:
RasMol> write ramachan "aromatic.ang"
The contens of the file is then:
# File: aromatic.ang
# Creator: RasMol Version 2.6
# from Molecule: 434 CRO PROTEIN COMPLEX WITH 20 BASE PAIR PIECE OF
/DNA$
# Brookhaven Code: 3CRO
# phi/psi-angles for Ramachandran-Plot
#
# Phi Psi
PHE L44 -100.6 25.68
PHE L46 -103.3 -40.62
TRP L58 -75.01 -44.79
TYR L61 -119.2 161.4
PHE R44 -91.57 7.374
PHE R46 -77.93 -23.86
TRP R58 -51.71 -43.06
TYR R61 -121.5 -135.1
Column two summarizes the chain and residue number. Every kind of
plotting
program shoud be able to plot an appropiate graph (Ramachandran Plot). I
prefere gnuplot, you can get it for free from:
ftp://ftp.gwdg.de/pub/gnu/gnuplot-3.5.tar.gz
for the much more powerfull version 3.6 beta look at
ftp://cmpc1.phys.soton.ac.uk/pub/
Call gnuplot from the command-line and ...
gnuplot> plot "aromatic.ang" using 3:4
will procude a basic Ramachandran Plot (you´ve only to adjust scaling of
the
axes).
To save data for a complte Ramachandran Plot you should select all
residues
expect Glycin, because it has fuzzy phi/psi angle combinations:
RasMol> select not gly
1857 atoms selected!
Off course this data representation is not the very best because you´d
like to
produce a contour plot or something three dimensional so you can
identify
regions where datapoints are very crowded - maybe I´ll change this in
future.
4. Identifieing Cispeptides from Omega angles:
----------------------------------------------
A peptidebond connecting two aminoacids is in a mesomeric state - it's
somewhere between singel- and double-bond. Normally the torsion angle
(this
is omega) of souch a peptidebond is between 170 and 180 degrees, where
the
carboxyl groups of the two aminoacids point in different directions so
that
there is a maximum space between these groups, this geometry is locally
the
most favorible. This omega angle state is the 'trans' state. If the
carboxyl
goups are on the same site of the two residues they bump each other, in
this
case the omega angle is geometrically in cis state and is normally
smaller
10 degrees. Normally all residues are in trans state, but there are
exeptions
especially for Prolines. It can be very usefull to know about
cispeptides
when studing a protein with RasMol.
The protein Ribonuclease T1 (pdb code '1det') contains two prolines with
omega
angles in cis.
Here's a pice of my RasMol-commandline which identifies these groups:
RasMol> color white
RasMol> select
892 atoms selected!
RasMol> color white
RasMol> set cisangle 10
RasMol> select cisbonded
32 atoms selected!
RasMol> select cisbonded
32 atoms selected!
RasMol> color red
RasMol> show phipsi
Group: TYR 38 (C) Phi = -94.72 Psi = 139.1
Group: PRO 39 (C) Phi = -79.79 Psi = 161.1 Omega = -0.1959
Group: SER 54 (C) Phi = -89.17 Psi = 171.2
Group: PRO 55 (C) Phi = -68.15 Psi = 153.2 Omega =
3.128
After coloring the whole molecule in white I set the cutoff for
identifing
cis peptidbonds to 10 degrees. Then I select all peptides in cis state
and
visualize these with red color in the RasMol display. I list the phi/psi
angle
combinations of the selected residues, in case that there are
cis-peptides. The
'show phipsi' command also lists the omega angles (but these are ignored
in
the 'write ramachan' command!).
You don't need to set the cutoff for the omega angle, the default value
is 90
degrees.
4. Export the current graphical representation tp POVRay:
---------------------------------------------------------
POVRay is a raytracer. A raytracer can calculate a photorealistic image
with light models in high quality graphics from a 3D-description which
could be e.g a molecule.
I extended the export function for RasMol that writes a POVRay input
file.
usage
write povray FILENAME
'FILENAME' must not' have the extension '.pov', because RasMol writes
two
files:
FILENAME.pov
FILENAME.inc
The '.pov' file containts the global description of the scene (molecule)
with
parameters you can change. The '.inc' contains all data for the scene to
render, don't touch it.
Description of the '.pov' file:
The first part of the file contains information about the view and the
light
source of the scene - you should be carefull to change it. 'View'
(camera),
'light_source' and background (colour) is taken from the current RasMol
representaion.
The 'Union' that follows contains general defenitions which are applied
on
all elements of the molecule. These are:
- specular 0.5
- roughness 0.01
- diffuse 0.8
- ambient 0.2
If you don't like the default values for the elumination model you can
test
different values for these parameters. The default values produce a
slightly
diffuse light, the 'material' the elements of the molecule are made of
is a
bit shiny (smooth), it´s related to the 'specular' elumination in
RasMol.
- #declare T = 0
You can set 'T' to a value between '1.0' (solid) and '0.0' (complete
transparent). Setting it to '0.8' you´ve a slightly transparent
molecule. This
might be usefull for combining two representations:
Combining two ore more representations:
You can create more than one representation of your molecule with
RasMol. Save
eaach representation with 'write povray represx' (where x is 1, 2, ...).
Edit
then one '.pov' file, e.g. to combine 'repres1' with ´repres2´ edit
'repres1.pov':
#declare T = 0
#include "repres1.inc"
to:
#declare T = 0
#include "repres1.inc"
#declare T = 0
#include "repres2.inc"
Then POVRay combines both representations. You can also make one of
these
a little transparent by changing the 'T´ parameter, uncomment the
'hollow'
parameter for this (as the name indicates it renders the model hollow).
Don't touch the transformations matrix! RasMol uses the original
coordinats
of the pdb-file and applies a transformation matrix on it to realize
rotation,
zooming and translation.
For testing a POV-file you can uncomment '//no_shadow' to 'no_shadow',
POVRay
doesn't calculate any shadow then which is much quicker in rendering.
RasMol features supportet from the POVRay export-filter:
-------------------------------------------------------
- geometric transformation (rotation, translation, zooming)
- spheres
- cylinders (including wireframe and backbone)
- dots
- SS- and H-Bonds
- colours
The concept is to create a high quality inmage with POVRay that's
identical
with the representation in RasMol (expect it's quality).
RasMol feature _NOT_ yet supportet from the POVRay export-filter:
-----------------------------------------------------------------
- curved representations (cartoons, trace, ribbons)
This is because RasMol doesn't save any triangles which build the
curved
elements (this is also the reason why RasMol cannot save these
representations as vector postscript at the moment). I hope to find a
way
to export these things to POVRay since cartoons are frequnetly
used.
- dotted lines
just forgot this feature ;-) . I´ll fix it.
- slabbing
Ugly problem. Because RasMol uses a transformation matrix the slab
plane
is transformed, too, this results in a strange slabbing when rotating
or
zooming the molecule. I´ve to apply a reverse transformation matrix to
the slab plane (haven´t done this yet ...).
- labels
In general no problem in POVRay version 3, but I havn't yet decided
how to place labeles. There´s also the same matrix problem as with
slabbing.
- stereo
not yet implemented
I hope to fix these things in future, but I don't know when there´ll be
a
"perfect" POVRay output.
POVRay:
-------
Use the command:
write povray myfile
to write a POVRay-file,
you can render it on a unix-commandline with:
povray +Imyfile.pov +Omyfile.tga +H400 +W400 +v
You´ll get a 400x400 TGA-image with name 'myfile.tga'.
You can download POVRay for nearly all platforms, look at
http://www.povray.org/
Some important notes:
---------------------
- on linux-systems with newer kermel-versions (e.g. 2.0.33) you
get compilation errors in 'rasmol.c' with 'fd_set'. If so uncomment
#define USE_FD_SET_TYPE in `rasmol.h`.
- There's a known bug in RasMol. It'll crash when first choosing a large
zoom
factor with wireframe or spacefill representation and then switching
to
backbone, cartoons, trace or ribbons! Maybe I can fix this in future.
- The file 'rasmol.hlp' hasn't been updated with my changes.
- Currently there are no executables of the patched RasMol version
available,
you´ve to compile the sourcecode yourself, but it shell work, since
there
are no changes in platform specific parts (see file 'INSTALL' for
details).
I hope to build a Mac and a win95/NT executable as soon as possible.
>>> IF YOU BUILD AN EXECUTALBE FOR MAC OR WIN PLEASE LET ME KNOW <<<
Download the patch or the patched version:
------------------------------------------
You can get the patch and the complete version from
ftp://nexus.roko.goe.net/pub/rasmol/
( ftp://134.76.63.65/pub/rasmol )
Patching your old RasMol2.6b version from October 96 (for unix):
----------------------------------------------------------------
Copy the patch-file in the RasMol source directory and do the following:
patch -p1 < patchfile 2>&1 | tee patched.prot
A report of the patch will be created in 'patched.prot', look in it for
the
string "failed", if you find it something went wrong and you've to get
the
complete patched version, otherwise you can recompile your patched
Rasmol.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Please report bugs and suggestions to:
Arne Mueller
amuelle3 at gwdg.de
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
--
Arne Mueller
Institut fuer Mikrobiologie und Genetik
Abt. Molekulare Genetik und
Praeparative Molekularbiologie
Universitaet Goettingen
Grisebachstr. 8
37077 Goettingen
Germany
phone: +49-551-399654 | fax : +49-551-393805
email: amuelle3 at gwdg.de | http://www.img.bio.uni-goettingen.de