[Bio] / FigWebServices / protein.cgi Repository:
ViewVC logotype

Diff of /FigWebServices/protein.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10, Sat Feb 7 17:41:30 2004 UTC revision 1.11, Sun Feb 15 17:12:54 2004 UTC
# Line 31  Line 31 
31  my $request = $cgi->param("request");  my $request = $cgi->param("request");
32  $request = defined($request) ? $request : "";  $request = defined($request) ? $request : "";
33    
34  if    ($request eq "use_protein_tool")  if    ($request eq "use_protein_tool")       { &use_protein_tool($fig,$cgi,$prot); }
35  {  elsif ($request eq "view_annotations")       { &view_annotations($fig,$cgi,$html,$prot); }
36      &use_protein_tool($fig,$cgi,$prot);  elsif ($request eq "aa_sequence")            { &aa_sequence($fig,$cgi,$html,$prot); }
37  }  elsif ($request eq "dna_sequence")           { &dna_sequence($fig,$cgi,$html,$prot); }
38  elsif ($request eq "view_annotations")  elsif ($request eq "fast_assign")            { &make_assignment($fig,$cgi,$html,$prot); }
39  {  elsif ($request eq "show_coupling_evidence") { &show_coupling_evidence($fig,$cgi,$html,$prot); }
40      &view_annotations($fig,$cgi,$html,$prot);  elsif ($request eq "ec_to_maps")             { &show_ec_to_maps($fig,$cgi,$html); }
41  }  elsif ($request eq "link_to_map")            { &link_to_map($fig,$cgi,$html); }
42  elsif ($request eq "aa_sequence")  elsif ($request eq "fusions")                { &show_fusions($fig,$cgi,$html,$prot); }
43  {  else                                         { &show_initial($fig,$cgi,$html,$prot); }
     &aa_sequence($fig,$cgi,$html,$prot);  
 }  
 elsif ($request eq "dna_sequence")  
 {  
     &dna_sequence($fig,$cgi,$html,$prot);  
 }  
 elsif ($request eq "fast_assign")  
 {  
     &make_assignment($fig,$cgi,$html,$prot);  
 }  
 elsif ($request eq "show_coupling_evidence")  
 {  
     &show_coupling_evidence($fig,$cgi,$html,$prot);  
 }  
 elsif ($request eq "ec_to_maps")  
 {  
     &show_ec_to_maps($fig,$cgi,$html);  
 }  
 elsif ($request eq "link_to_map")  
 {  
     &link_to_map($fig,$cgi,$html);  
 }  
 elsif ($request eq "fusions")  
 {  
     &show_fusions($fig,$cgi,$html,$prot);  
 }  
 else  
 {  
     &show_initial($fig,$cgi,$html,$prot);  
 }  
44    
45  &HTML::show_page($cgi,$html);  &HTML::show_page($cgi,$html);
46    exit;
47    
48    #==============================================================================
49    #  use_protein_tool
50    #==============================================================================
51    
52  sub use_protein_tool {  sub use_protein_tool {
53      my($fig,$cgi,$prot) = @_;      my($fig,$cgi,$prot) = @_;
# Line 106  Line 81 
81      }      }
82  }  }
83    
84    #==============================================================================
85    #  make_assignment
86    #==============================================================================
87    
88  sub make_assignment {  sub make_assignment {
89      my($fig,$cgi,$html,$prot) = @_;      my($fig,$cgi,$html,$prot) = @_;
90      my($userR);      my($userR);
# Line 132  Line 111 
111      &show_initial($fig,$cgi,$html,$prot);      &show_initial($fig,$cgi,$html,$prot);
112  }  }
113    
114    #==============================================================================
115    #  view_annotations
116    #==============================================================================
117    
118  sub view_annotations {  sub view_annotations {
119      my($fig,$cgi,$html,$prot) = @_;      my($fig,$cgi,$html,$prot) = @_;
120    
# Line 147  Line 130 
130      }      }
131  }  }
132    
133    #==============================================================================
134    #  show_coupling_evidence
135    #==============================================================================
136    
137  sub show_coupling_evidence {  sub show_coupling_evidence {
138      my($fig,$cgi,$html,$peg) = @_;      my($fig,$cgi,$html,$peg) = @_;
139      my($pair,$peg1,$peg2,$link1,$link2);      my($pair,$peg1,$peg2,$link1,$link2);
# Line 168  Line 155 
155              ($peg1,$peg2) = @$pair;              ($peg1,$peg2) = @$pair;
156              $link1 = &HTML::fid_link($cgi,$peg1);              $link1 = &HTML::fid_link($cgi,$peg1);
157              $link2 = &HTML::fid_link($cgi,$peg2);              $link2 = &HTML::fid_link($cgi,$peg2);
158              push(@$tab,[$link1,$fig->org_of($peg1),scalar $fig->function_of($peg1,$user),              push( @$tab, [ $link1,
159                          $link2,$fig->org_of($peg2),scalar $fig->function_of($peg2,$user)]);                             $fig->org_of($peg1),
160                               scalar $fig->function_of($peg1,$user),
161                               $link2,
162                               $fig->org_of($peg2),
163                               scalar $fig->function_of($peg2,$user)
164                             ]
165                    );
166          }          }
167          push(@$html,&HTML::make_table($col_hdrs,$tab,"Evidence that $peg Is Coupled To $to"));          push(@$html,&HTML::make_table($col_hdrs,$tab,"Evidence that $peg Is Coupled To $to"));
168      }      }
169  }  }
170    
171    #==============================================================================
172    #  psi_blast_prot_sequence
173    #==============================================================================
174    
175  sub psi_blast_prot_sequence {  sub psi_blast_prot_sequence {
176      my($fig,$cgi,$prot_id) = @_;      my($fig,$cgi,$prot_id) = @_;
177  }  }
178    
179    #==============================================================================
180    #  show_initial
181    #==============================================================================
182    
183  sub show_initial {  sub show_initial {
184      my($fig,$cgi,$html,$prot) = @_;      my($fig,$cgi,$html,$prot) = @_;
185    
# Line 187  Line 188 
188      if ($prot =~ /^fig\|\d+\.\d+\.peg/)      if ($prot =~ /^fig\|\d+\.\d+\.peg/)
189      {      {
190          my $msg;          my $msg;
         if ($cgi->param('translate')) { $cgi->delete('translate'); $msg = "Turn Off Function Translation" }  
         else                          { $cgi->param(-name => 'translate', -value => 1); $msg = "Translate Function Assignments" }  
191          my $url  = $cgi->self_url();          my $url  = $cgi->self_url();
192          my $link = "<a href=\"$url\">$msg</a><br>\n";          if ($cgi->param('translate')) {
193          push(@$html,$link);              $url =~ s/[;&]translate(=[^;&])?//i or $url =~ s/translate(=[^;&])?[;&]//i;
194          if ($cgi->param('translate')) { $cgi->delete('translate') }              $msg = "Turn Off Function Translation";
195          else                          { $cgi->param(-name => 'translate', -value => 1) }          }
196            else
197            {
198                $url .= ";translate=1";
199                $msg = "Translate Function Assignments";
200            }
201            push(@$html, "<a href=\"$url\">$msg</a><br>\n");
202    
203          &display_peg($fig,$cgi,$html,$prot);          &display_peg($fig,$cgi,$html,$prot);
204      }      }
# Line 203  Line 208 
208      }      }
209  }  }
210    
211    #==============================================================================
212    #  display_peg
213    #==============================================================================
214    
215  sub display_peg {  sub display_peg {
216      my($fig,$cgi,$html,$peg) = @_;      my($fig,$cgi,$html,$peg) = @_;
217      my $loc;      my $loc;
# Line 267  Line 276 
276      my $link = $cgi->self_url() . "&request=fusions";      my $link = $cgi->self_url() . "&request=fusions";
277      push(@$html,"<br><a href=$link>To Get Fusion Data</a>\n");      push(@$html,"<br><a href=$link>To Get Fusion Data</a>\n");
278    
     my $sims = $cgi->param('sims');  
   
279      my $has_translation = $fig->translatable($peg);      my $has_translation = $fig->translatable($peg);
280      if ((! $cgi->param('compare_region')) && $has_translation)      if ((! $cgi->param('compare_region')) && $has_translation)
281      {      {
# Line 280  Line 287 
287          &print_compared_regions($fig,$cgi,$html,$peg);          &print_compared_regions($fig,$cgi,$html,$peg);
288      }      }
289    
290        my $sims = $cgi->param('sims');
291      if ((! $sims) && $has_translation)      if ((! $sims) && $has_translation)
292      {      {
293          my $link = $cgi->self_url() . "&sims=1&maxN=5&expand_raw=1";          my $max_expand = $cgi->param('max_expand')       || 5;
294          push(@$html,"<br><a href=$link>To Get Similarities</a>\n");          my $maxN   = $cgi->param('maxN')                 || 50;   #  Default 50, not 5 (GJO)
295            my $maxP   = $cgi->param('maxP')       ||  1.0e-5;
296            my $ex_raw = $cgi->param('expand_raw') ||  0;   #  Default 0, not 1 (GJO)
297            push( @$html, $cgi->start_form(-action => "protein.cgi"),
298                          $cgi->hidden(-name => 'prot', -value => $peg),
299                          $cgi->hidden(-name => 'sims', -value => 1),
300                          $cgi->hidden(-name => 'fid',  -value => $peg),
301                          $cgi->hidden(-name => 'user', -value => $user),
302                          $cgi->submit('Similarities'),
303                          "MaxN: ", $cgi->textfield(-name => 'maxN', -size =>  5, -value => $maxN, -override => 1),
304                          "Max expand: ", $cgi->textfield(-name => 'max_expand', -size =>  5, -value => $max_expand, -override => 1),
305                          "MaxP: ", $cgi->textfield(-name => 'maxP', -size => 10, -value => $maxP),
306                          $cgi->end_form
307                );
308      }      }
309      elsif ($sims)      elsif ($sims)
310      {      {
# Line 460  Line 481 
481          $maxP = 1.0e-5;          $maxP = 1.0e-5;
482      }      }
483    
484      if ($expand_groups = 1) # $cgi->param('expand_groups'))      if ($expand_groups = $cgi->param('expand_groups'))
485      {      {
486          $ex_checked = "checked";          $ex_checked = "checked";
487      }      }
# Line 470  Line 491 
491      }      }
492    
493    
494      my $ex_raw = $cgi->param('expand_raw');      my $max_expand = $cgi->param('max_expand');
495      if ($expand_groups = 1) # $cgi->param('expand_groups'))      if (! defined($max_expand)) { $max_expand = 0 }
     {  
         $ex_checked = "checked";  
     }  
     else  
     {  
         $ex_checked = "";  
     }  
496    
497      push(@$html,"<hr>\n");      push(@$html,"<hr>\n");
498    
# Line 490  Line 504 
504                   $cgi->hidden(-name => 'user', -value => $user),                   $cgi->hidden(-name => 'user', -value => $user),
505                   $cgi->submit('more similarities'),                   $cgi->submit('more similarities'),
506                   "MaxN: ", $cgi->textfield(-name => 'maxN', -size => 5, -value => 2 * $maxN, -override => 1),                   "MaxN: ", $cgi->textfield(-name => 'maxN', -size => 5, -value => 2 * $maxN, -override => 1),
507                     "Max expand: ", $cgi->textfield(-name => 'max_expand', -size => 5, -value => $max_expand, -override => 1),
508                   "MaxP: ", $cgi->textfield(-name => 'maxP', -size => 10, -value => $maxP),                   "MaxP: ", $cgi->textfield(-name => 'maxP', -size => 10, -value => $maxP),
                  $cgi->checkbox(-name => 'expand_raw', -value => 1, -checked => $ex_raw, -label => "Expand Raw Sims"),  
509  #                "Expand Groups: ", $cgi->checkbox(-name => 'expand_groups', -value => 1, -checked => $ex_checked, -override => 1),  #                "Expand Groups: ", $cgi->checkbox(-name => 'expand_groups', -value => 1, -checked => $ex_checked, -override => 1),
510                   $cgi->end_form,                   $cgi->end_form,
511    
# Line 499  Line 513 
513           );           );
514    
515      my(@sims);      my(@sims);
516      @sims = $fig->sims($peg,$maxN,$maxP,$ex_raw ? "all" : "raw");      @sims = $fig->sims($peg,$maxN,$maxP,"all",$max_expand);
517    
518      if (@sims)      if (@sims)
519      {      {
   
520          my @from = $cgi->radio_group(-name => 'from',          my @from = $cgi->radio_group(-name => 'from',
521                                       -nolabels => 1,                                       -nolabels => 1,
522                                       -override => 1,                                       -override => 1,
# Line 520  Line 533 
533                   $cgi->br,                   $cgi->br,
534                   "CHECKED: ", $cgi->submit('align'),                   "CHECKED: ", $cgi->submit('align'),
535                                $cgi->submit('view annotations'),$cgi->submit('show regions'));                                $cgi->submit('view annotations'),$cgi->submit('show regions'));
536          if ($cgi->param('user'))  
537          {          if ($user)
538            {   #  Changed by GJO to derive help url from current url, not that in config
539                my $help_url = $cgi->url;
540                $help_url =~ s/protein.cgi/Html\/help_for_assignments_and_rules.html/;
541              push(@$html,$cgi->br,$cgi->br,              push(@$html,$cgi->br,$cgi->br,
542                          "<a href=$FIG_Config::cgi_url/Html/help_for_assignments_and_rules.html>Help on Assignments, Rules, and Checkboxes</a>",                             "<a href=$help_url>Help on Assignments, Rules, and Checkboxes</a>",
543                          $cgi->br,$cgi->br,$cgi->submit('assign/annotate'));                             $cgi->br, $cgi->br,
544                               $cgi->submit('assign/annotate')
545                     );
546    
547              if ($cgi->param('translate'))              if ($cgi->param('translate'))
548              {              {
549                  push(@$html,$cgi->submit('add rules'),$cgi->submit('check rules'),$cgi->br);                  push( @$html, $cgi->submit('add rules'),
550                                  $cgi->submit('check rules'),
551                                  $cgi->br
552                        );
553              }              }
554          }          }
555          push(@$html,  
556                   $cgi->br,          push( @$html, $cgi->br,
557                   $cgi->checkbox(-name => 'checked', -value => $peg, -checked => 1,-override => 1),                        $cgi->checkbox( -name    => 'checked',
558                   $cgi->br                                        -value   => $peg,
559                                          -override => 1,
560                                          -checked => 1,
561                                          -label   => ""
562                                        )
563               );               );
564    
565          if ($user)          my $col_hdrs;
566            if ($user && $cgi->param('translate'))
567            {
568                push( @$html, " ASSIGN to/Translate from/SELECT current PEG", $cgi->br,
569                              "ASSIGN/annotate with form: ", shift @from, $cgi->br,
570                              "ASSIGN from/Translate to current PEG: ", shift @from
571                    );
572                $col_hdrs = [ "ASSIGN to<br>--------<br>Translate from",
573                              "family",
574                              "size",
575                              "Similar sequence",
576                              "sc",
577                              "region in similar sequence",
578                              "region in $peg",
579                              "ASSIGN from<br>----------<br>Translate to",
580                              "Function",
581                              "Organism",
582                              "Aliases"
583                            ];
584            }
585            elsif ($user)
586            {
587                push( @$html, " ASSIGN to/SELECT current PEG", $cgi->br,
588                              "ASSIGN/annotate with form: ", shift @from, $cgi->br,
589                              "ASSIGN from current PEG: ", shift @from
590                    );
591                $col_hdrs = [ "ASSIGN to<br>--------<br>SELECT",
592                              "family",
593                              "size",
594                              "Similar sequence",
595                              "sc",
596                              "region in similar sequence",
597                              "region in $peg",
598                              "ASSIGN from",
599                              "Function",
600                              "Organism",
601                              "Aliases"
602                            ];
603            }
604            else
605          {          {
606              push(@$html,"No selected ASSIGN from/Translate to: ",shift @from,              push(@$html, " SELECT current PEG", $cgi->br );
607                          $cgi->br,,              $col_hdrs = [ "SELECT",
608                          "ASSIGN From/Translate To: ",shift @from);                            "family",
609                              "size",
610                              "Similar sequence",
611                              "sc",
612                              "region in similar sequence",
613                              "region in $peg",
614                              "Function",
615                              "Organism",
616                              "Aliases"
617                            ];
618          }          }
619    
         my $col_hdrs = ["ASSIGN To<br>---------<br>Translate from","family","size","Against","sc","region in similar sequence","region in $peg","ASSIGN From<br>-----------<br>translate to","Function","Organism","Aliases"];  
620          my $tab      = [];          my $tab      = [];
621          my $title    = "Similarities";          my $title    = "Similarities";
622    
623          foreach $_ (@sims)          my $sim;
624            foreach $sim ( @sims )
625          {          {
626              my($psc,$sim,$family,$sz,$funcF,$id2);              my($psc,$family,$sz,$funcF,$id2);
627                $psc = $sim->psc;
628              if ($expand_groups)              if ($expand_groups)
629              {              {
                 $sim = $_;  
                 $psc = $sim->psc;  
630                  $id2   = $sim->id2;                  $id2   = $sim->id2;
631                  if (($id2 =~ /^fig\|/) && ($family = $fig->in_family($id2)))                  if (($id2 =~ /^fig\|/) && ($family = $fig->in_family($id2)))
632                  {                  {
# Line 567  Line 640 
640              }              }
641              else              else
642              {              {
643                  ($psc,$sim,$family,$sz,$funcF) = @$_;                  ($family,$sz,$funcF) = ("","","");
644              }              }
645    
646              my $ln1   = $sim->ln1;              my $ln1   = $sim->ln1;
647                 $id2   = $sim->id2;                 $id2   = $sim->id2;
648              my $ln2   = $sim->ln2;              my $ln2   = $sim->ln2;
# Line 580  Line 654 
654              my $d2    = abs($e2 - $b2) + 1;              my $d2    = abs($e2 - $b2) + 1;
655              my $reg1  = "$b1-$e1 (<b>$d1/$ln1</b>)";              my $reg1  = "$b1-$e1 (<b>$d1/$ln1</b>)";
656              my $reg2  = "$b2-$e2 (<b>$d2/$ln2</b>)";              my $reg2  = "$b2-$e2 (<b>$d2/$ln2</b>)";
657              my $func2 = &trans_function_of($cgi,$fig,$id2,$cgi->param('user'));              my $func2 = &trans_function_of( $cgi, $fig, $id2, $user );
658    
659              if (defined($family))              if (defined($family))
660              {              {
661                  if ($funcF ne $func2)                  # Add $funcF test to get rid of blank line -- GJO
662                  {                  if ($funcF && $funcF ne $func2) { $func2 = "$funcF<br>$func2" }
                     $func2 = "$funcF<br>$func2";  
                 }  
663              }              }
664              else              else
665              {              {
# Line 594  Line 667 
667                  $family = "";                  $family = "";
668              }              }
669    
670              my $check = $fig->translatable($id2) ?              my $cbox = $fig->translatable($id2) ?
671                          qq(<input type="checkbox" name="checked" value="$id2">) : "";                          qq(<input type="checkbox" name="checked" value="$id2">) : "";
672    
             my $aliases = join(",",$fig->feature_aliases($id2));  
   
673              my $assign_link = &assign_link($cgi,$func2,$current_func);              my $assign_link = &assign_link($cgi,$func2,$current_func);
674              my $id2_link = &HTML::set_prot_links($cgi,$id2);              my $id2_link = &HTML::set_prot_links($cgi,$id2);
             my $org = $fig->org_of($id2);  
675    
676              my $assign = $user ? shift @from : "";              #  Modifed by GJO to get rid of empty column when user is not defined
677              push(@$tab,[$check,&HTML::family_link($family,$user),$sz,$id2_link,$psc,$reg2,$reg1,$assign, $func2,$org,$aliases]);              push( @$tab, [ $cbox,
678                               scalar &HTML::family_link( $family, $user ),
679                               $sz,
680                               $id2_link,
681                               $psc,
682                               $reg2,
683                               $reg1,
684                               ( $user ? shift @from : () ),
685                               $func2,
686                               $fig->org_of($id2),
687                               join( ",", $fig->feature_aliases($id2) )
688                             ]
689                    );
690          }          }
691    
692          push(@$html,&HTML::make_table($col_hdrs,$tab,$title,["nowrap"]));          push(@$html,&HTML::make_table($col_hdrs,$tab,$title,["nowrap"]));
693          push(@$html,$cgi->end_form);          push(@$html,$cgi->end_form);
694      }      }
695  }  }
696    
   
697  ################# Context on the Chromosome ############################  ################# Context on the Chromosome ############################
698    
699  sub print_context {  sub print_context {

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3