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 AcidThe 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
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
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#SCRIPT print,myzoom.bmp,bmpThe 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... 0The output from this program as-is is not really all that impressive:
![]()