Back to Download Form

Glut demo- Molecule Viewer and Cavity finder Example

Despite my earlier comments about the code "not working" I did find several scripts and pdb files that illustrate many features I forgot even existed. This example shows various states of sulfure oxidation in Cdc25b phosphatase. Reversible sulfur oxidation is one mechanism by which ROS' signal and they illustrate that oxygen does more than just cause non-specific damage.
For comparison, you may be interested in these things too:

O
Rasmol molecule viewer
PyMol

...etc...

The relevant pdb files are in the distribution under "pdb_sulfur" but the names have been changed to given them some significance:

32928.pdb:COMPND    Crystal Structure Of The Cdc25b Phosphatase Catalytic Domain
32928.pdb:COMPND   2 With The Active Site Cysteine In The Sulfenic Form         
cd25s2.pdb:COMPND    Crystal Structure Of The Cdc25b Phosphatase Catalytic Domain
cd25s2.pdb:COMPND   2 With The Active Site Cysteine In The Disulfide Form        
cd25sulfenic.pdb:COMPND    Crystal Structure Of The Cdc25b Phosphatase Catalytic Domain
cd25sulfenic.pdb:COMPND   2 With The Active Site Cysteine In The Sulfenic Form         
cd25sulfinic.pdb:COMPND    Crystal Structure Of The Cdc25b Phosphatase Catalytic Domain
cd25sulfinic.pdb:COMPND   2 With The Active Site Cysteine In The Sulfinic Form         
cd25sulfonic.pdb:COMPND    Crystal Structure Of The Cdc25b Phosphatase Catalytic Domain
cd25sulfonic.pdb:COMPND   2 With The Active Site Cysteine In The Sulfonic Form         
sulph1.pdb:COMPND    Ptp1b With The Catalytic Cysteine Oxidized To A             
sulph1.pdb:COMPND   2 Sulfenyl-Amide Bond                                        
sulph2.pdb:COMPND    Ptp1b With The Catalytic Cysteine Oxidized To Sulfonic Acid 
The demo uses a file which, if I remember correctly, was composed using the script "perlform" to send a pair of PDB files to an alignment server
http://biotool.uni-koeln.de:8080/3dalign_neu/cgi-bin/3daligner.py
pdb_file ./pdb_sulfur/cd25s2cd25sulfenic.pdb

The general user interface from the molecule viewer can be adapted and expanded for user interaction with a variety of data sources that generate 3D models. I have used this to examine wavelet processing ideas on survival data and only developed the display code to the point of allowing this task to proceed. The skeletons exist for more complicated models from real time data sources ( but the glut update is rather slow right now, not sure how this compete with alternatives). The user interface allows normal manipulation (zoom,rotate, etc) of the 3D model (molecule system or ad hoc data points) as well as output( bmp or jpeg) and scripting ( see samples) allowing automated production of many images ( limited image processing right now could allow automated zoom-to-fill for example).

Invoking the program as following,
$ ./main atom ./cf/config_sulfenon.dat
Load this configuration file,

DEBUG FAIL
color_file color.dat
radius_file radii.dat
pdb_file ./pdb_sulfur/cd25s2cd25sulfenic.pdb

SxCRIPT select,0,hetts,DEF=hetkey stree,0,1+style,1 stree,0,1+substyle,3
hetkey type=HETATM -residue=HOH
atmkey type=ATOM -element=H
defcavitykey probe_radius=1 grid_space=.25 shell_thickness=.3 safety_radius=3
defcavitykey  big_radius=100 center_index=20 center=0,0,0 
defcavitykey make_shell=0 small_radius=15

defcavitykey2 probe_radius=1 grid_space=.5 shell_thickness=.4 safety_radius=4
defcavitykey2  big_radius=50 center_index=20 center=0,0,0 make_shell=0 small_radius=22

ceacavity grid_radius=5 grid_space=.2 shell_thickness=.4
ceacavity probe_radius=1 gross_radius=12

akey ds=.2,dy=.5,points_i=400,points_j=400,imax=50,start=-4.6+55+111,target=2.5,dir_j=110-20-93,dir_i=6-30+14
pkey ds=.2,dy=.5,points_i=40,points_j=200,imax=50,start=11+2-6,target=1.5,dir_j=110-20-93,dir_i=6-30+14
pointelkey radius=100,max_dist=25,segment_count=0,center=11+2-6
SCxRIPT select,0,atts,DEF=atmkey stree,0,2+hide 1
SxCRIPT cavity,2,probe_radius=2,center=-5+57+111,center_index=-1,make_shell=1
SCRIPT zoom,500
SCxRIPT modify,0,map_name=Hphob.Wilson
SCRIPT modify,0,map_name=PolarityZimmerman
SCRIPT source,./cf/pair.mike

which then invokes the scripting ability used in pair.mike:


select 0 type=ATOM chain=1
select 0 type=ATOM chain=2
# only one is actually CEA
#prop 1 selected=ch1 residue=CEA element=S
#prop 2 selected=ch2 residue=CEA element=S
prop 0 selected=CEAS residue=CEA element=S
# rediplay will be slow...
stree 2+hide 1
stree 1+hide 1
$let xx $CEAS[0]+.1
xpot 1 asdf DEF=pkey start=$xx,$CEAS[1],$CEAS[2]  target=5
xpot 2 asdf DEF=pkey start=$xx,$CEAS[1],$CEAS[2]  target=5
pot 1 asdf DEF=pkey start=$xx,$CEAS[1],$CEAS[2]  target=1.5
pot 2 asdf DEF=pkey start=$xx,$CEAS[1],$CEAS[2]  target=1.5
#caving 1 DEF=ceacavity center=$CEAS[0],$CEAS[1],$CEAS[2] 

stree 0+hide 1
stree 0 3 0

The raw output is not easy to see on my monitor but it turns out I can query the tree structured result ( command "vtree" for view tree ) and then tint the parts I care about before printing a bmp file:

vtree
Root 0 0 0 : COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
   0 atom lists 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
      0 ./pdb_sulfur/cd25s2cd25sulfenic.pdb 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
         0 atom 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
      1 type=ATOM1 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
         0 atom 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
      2 type=ATOM2 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
         0 atom 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
   1 conn lists 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
      0 ./pdb_sulfur/cd25s2cd25sulfenic.pdb1 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
         2 hetero and etc 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
            0 hetero 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
         0 main chain 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
            0 1 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
            1 2 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
         1 side chains 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
            0 1 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
            1 2 0 0 0 :  hidden COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
   2 point lists 0 0 0 : COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
      0 type=ATOM131 0 0 0 : COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1
      1 type=ATOM242 0 0 0 : COLOR CLIP THICK SIZE STYLE DIA  etc.3 3 1

stree 2>tint 1 1 1 1
 trying to set :tint. and c is >
stree 2>tint .2 .2 .2 1
 trying to set :tint. and c is >
zoom -50
print cavity.bmp bmp
sizes are 786486 16 40 786432 tried to outpu...  0

The output from this program as-is is not really all that impressive:

#SCRIPT print,myzoom.bmp,bmp