#!/usr/bin/perl -w #print "content-type:text/html \n\n"; print "content-type:application/x-rasmol\n\n"; use CGI; $cgi = new CGI; $value=$cgi->param('value'); #print "$value ::::"; ($pdbid,$from,$to,$chainid)=split(/-/,$value); =pod $pdbid=$array[0]; $from=$array[1]; $to=$array[2]; $chainid=$array[3]; =cut if($chainid eq "_") { $chainid=" "; } $menu1=$array[4]; $menu2=$array[5]; $menu3=$array[6]; @array=(); $timi=time(); open(FILE2,">/home/inputfiles/$timi.txt") or die $!; open(FILE,"/data/pub/pdb/pdb$pdbid.ent"); if($menu1==0) { while() { $temi=substr($_,23,3);$temi=~s/ //g; if($_=~/^ATOM/ && substr($_,21,1)=~/$chainid/ && $temi>=$from && $temi<=$to) { print FILE2 $_; } } } if($menu1==1) { while() { #$temi=substr($_,23,3);$temi=~s/ //g; if($_=~/^ATOM/ && substr($_,21,1)=~/$chainid/ ) { print FILE2 $_; } } } close(FILE); close(FILE2); system("chmod 777 $timi.txt"); #print "$pdbid ::: $from ::: $to ::: $chainid ::: $menu1 ::: $menu2 ::: $menu3"; if(open(FILE,"/home/inputfiles/$timi.txt")) { @file=; close(FILE); print "#!rasmol -script\n"; print "zap\n"; print "load /home/inputfiles/$timi.txt\n"; if($menu1==0) { print "select all\n"; print "wireframe off\n"; if($menu2 == 0) { print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "select $from-$to:$chainid\n"; print "wireframe 100\n"; } elsif($menu2 == 1) { print "select $from-$to:$chainid\n"; print "backbone on\n"; print "select $from-$to:$chainid\n"; print "backbone 100\n"; } elsif($menu2 == 2) { print "select $from-$to:$chainid\n"; print "ribbon on\n"; print "select $from-$to:$chainid\n"; print "ribbon 100\n"; } elsif($menu2 == 3) { print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "wireframe 50\n"; print "select $from-$to:$chainid\n"; print "spacefill on\n"; print "spacefill 0.55\n"; } #} } elsif($menu1==1) { print "select all\n"; print "wireframe off\n"; if($menu2==0 && $menu3==0) { print "select :$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; print "select :$chainid\n"; #print "select $from-$to:$chainid\n"; } elsif($menu2==0 && $menu3==1) { print "select :$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "wireframe off\n"; print "select $from-$to:$chainid\n"; print "backbone on\n"; print "backbone 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==0 && $menu3==2) { print "select :$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "wireframe off\n"; print "select $from-$to:$chainid\n"; print "ribbon on\n"; print "ribbon 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==0 && $menu3==3) { print "select :$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "spacefill on\n"; print "select $from-$to:$chainid\n"; print "spacefill 0.55\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==1 && $menu3==0) { print "select :$chainid\n"; print "backbone on\n"; print "backbone 70\n"; print "select $from-$to:$chainid\n"; print "backbone off \n"; print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==1 && $menu3==1) { print "select :$chainid\n"; print "backbone on\n"; print "backbone 70\n"; print "select $from-$to:$chainid\n"; print "backbone off \n"; print "select $from-$to:$chainid\n"; print "backbone on\n"; print "backbone 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==1 && $menu3==2) { print "select :$chainid\n"; print "backbone on\n"; print "backbone 70\n"; print "select $from-$to:$chainid\n"; print "backbone off \n"; print "select $from-$to:$chainid\n"; print "ribbon on\n"; print "ribbon 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==1 && $menu3==3) { print "select :$chainid\n"; print "backbone on\n"; print "backbone 70\n"; print "select $from-$to:$chainid\n"; print "backbone off \n"; print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "spacefill on\n"; print "select $from-$to:$chainid\n"; print "spacefill 0.55\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==2 && $menu3==0) { print "select :$chainid\n"; print "ribbon on\n"; print "ribbon 70\n"; print "select $from-$to:$chainid\n"; print "ribbon off \n"; print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==2 && $menu3==1) { print "select :$chainid\n"; print "ribbon on\n"; print "select $from-$to:$chainid\n"; print "ribbon off \n"; print "select $from-$to:$chainid\n"; print "backbone on\n"; print "select $from-$to:$chainid\n"; print "backbone 100\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==2 && $menu3==2) { print "select :$chainid\n"; print "ribbon on\n"; print "ribbon 70\n"; print "select $from-$to:$chainid\n"; print "ribbon off \n"; print "select $from-$to:$chainid\n"; print "ribbon on\n"; print "ribbon 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==2 && $menu3==3) { print "select :$chainid\n"; print "ribbon on\n"; print "ribbon 70\n"; print "select $from-$to:$chainid\n"; print "ribbon off \n"; print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "spacefill on\n"; print "select $from-$to:$chainid\n"; print "spacefill 0.55\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==3 && $menu3==0) { print "select :$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select :$chainid\n"; print "spacefill on\n"; print "select :$chainid\n"; print "spacefill 0.55\n"; print "select $from-$to:$chainid\n"; print "wireframe off\n"; print "select $from-$to:$chainid\n"; print "spacefill off\n"; print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==3 && $menu3==1) { print "select :$chainid\n"; print "wireframe on\n"; print "select :$chainid\n"; print "spacefill on\n"; print "select :$chainid\n"; print "spacefill 0.55\n"; print "select $from-$to:$chainid\n"; print "wireframe off\n"; print "select $from-$to:$chainid\n"; print "spacefill off\n"; print "select $from-$to:$chainid\n"; print "backbone on\n"; print "backbone 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==3 && $menu3==2) { print "select :$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select :$chainid\n"; print "spacefill on\n"; print "select :$chainid\n"; print "spacefill 0.55\n"; print "select $from-$to:$chainid\n"; print "wireframe off\n"; print "select $from-$to:$chainid\n"; print "spacefill off\n"; print "select $from-$to:$chainid\n"; print "ribbon on\n"; print "ribbon 70\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } elsif($menu2==3 && $menu3==3) { print "select :$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select :$chainid\n"; print "spacefill on\n"; print "select :$chainid\n"; print "spacefill 0.55\n"; print "select $from-$to:$chainid\n"; print "wireframe on\n"; print "wireframe 70\n"; print "select $from-$to:$chainid\n"; print "spacefill on\n"; print "select $from-$to:$chainid\n"; print "spacefill 0.55\n"; print "select $from-$to:$chainid\n"; print "color green\n"; } } } else { #print "sorry i cannot open the file"; }