#!/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";
}