[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.62, Wed Jan 19 19:54:03 2005 UTC revision 1.63, Fri Jan 21 01:24:00 2005 UTC
# Line 1  Line 1 
   
1  use FIG;  use FIG;
2    
3  my $sproutAvail = eval {  my $sproutAvail = eval {
# Line 110  Line 109 
109  }  }
110    
111  my $request = $cgi->param("request") || "";  my $request = $cgi->param("request") || "";
112  my $compute_ok = eval {  #my $compute_ok = eval {
113    
114    
115      if    ($request eq "use_protein_tool")       { &use_protein_tool($fig_or_sprout,$cgi,$html,$prot); }      if    ($request eq "use_protein_tool")       { &use_protein_tool($fig_or_sprout,$cgi,$html,$prot); }
116          elsif ($request eq "view_annotations")       { &view_annotations($fig_or_sprout,$cgi,$html,$prot); }          elsif ($request eq "view_annotations")       { &view_annotations($fig_or_sprout,$cgi,$html,$prot); }
# Line 125  Line 125 
125          else {          else {
126              $html = &show_html_followed_by_initial($fig_or_sprout,$cgi,$html,$prot);              $html = &show_html_followed_by_initial($fig_or_sprout,$cgi,$html,$prot);
127          }          }
128  };  #};
129    
130  if (!$compute_ok) {  #if (!$compute_ok) {
131      Trace($@);  #    Trace($@);
132  }  #}
133  &display_page($fig_or_sprout,$cgi,$html);  &display_page($fig_or_sprout,$cgi,$html);
134  exit;  exit;
135    
# Line 352  Line 352 
352    
353          my $has_translation = &translatable($fig_or_sprout,$peg);          my $has_translation = &translatable($fig_or_sprout,$peg);
354          &print_services($fig_or_sprout,$cgi,$html->{services},$peg,$has_translation,\@fc_data);          &print_services($fig_or_sprout,$cgi,$html->{services},$peg,$has_translation,\@fc_data);
355    
356          &print_sims_block($fig_or_sprout,$cgi,$html->{similarities},$peg,$user,$has_translation);          &print_sims_block($fig_or_sprout,$cgi,$html->{similarities},$peg,$user,$has_translation);
357    
358          if ($has_translation) {          if ($has_translation) {
# Line 438  Line 439 
439      my($fig_or_sprout,$cgi,$html,$peg,$user,$has_translation) = @_;      my($fig_or_sprout,$cgi,$html,$peg,$user,$has_translation) = @_;
440    
441      my $sims = $cgi->param('sims');      my $sims = $cgi->param('sims');
442      if ((! $sims) && $has_translation) {      if ((! $sims) && $has_translation && (! $cgi->param('SPROUT'))) {
443          my $max_expand = $cgi->param('max_expand') ||  5;          my $max_expand = $cgi->param('max_expand') ||  5;
444          my $maxN       = $cgi->param('maxN')       || 50;   #  Default 50, not 5 (GJO)          my $maxN       = $cgi->param('maxN')       || 50;   #  Default 50, not 5 (GJO)
445          my $maxP       = $cgi->param('maxP')       ||  1.0e-5;          my $maxP       = $cgi->param('maxP')       ||  1.0e-5;
# Line 467  Line 468 
468                        " Hide aliases: ", $cgi->checkbox(-name => 'hide_alias', -value => 1, -checked => $hide_alias, -override => 1, -label => ""),                        " Hide aliases: ", $cgi->checkbox(-name => 'hide_alias', -value => 1, -checked => $hide_alias, -override => 1, -label => ""),
469                        $cgi->end_form                        $cgi->end_form
470              );              );
471      } elsif ($sims) {      } elsif ($sims || $cgi->param('SPROUT')) {
472          &print_similarities($fig_or_sprout,$cgi,$html,$peg);          &print_similarities($fig_or_sprout,$cgi,$html,$peg);
473      }      }
474  }  }
# Line 480  Line 481 
481      my $link2 = $cgi->self_url() . "&request=view_all_annotations";      my $link2 = $cgi->self_url() . "&request=view_all_annotations";
482      push(@$html,"<br><a href=$link1>To View Annotations</a>/<a href=$link2>To View All Related Annotations</a>\n");      push(@$html,"<br><a href=$link1>To View Annotations</a>/<a href=$link2>To View All Related Annotations</a>\n");
483    
484        if ((! $cgi->param('SPROUT')) && $fig_or_sprout->peg_in_gendb($peg))
485        {
486      push(@$html, "<br/>".&FIGGenDB::linkPEGGenDB($peg));      push(@$html, "<br/>".&FIGGenDB::linkPEGGenDB($peg));
487      push(@$html, "<br/>".&FIGGenDB::importOrganismGenDB($peg));      push(@$html, "<br/>".&FIGGenDB::importOrganismGenDB($peg));
488        }
489    
490      my $link = $cgi->self_url() . "&request=aa_sequence";      my $link = $cgi->self_url() . "&request=aa_sequence";
491      push(@$html,"<br><a href=$link>Protein Sequence</a>\n");      push(@$html,"<br><a href=$link>Protein Sequence</a>\n");
# Line 500  Line 504 
504          push(@$html,"<br><a href=$link target=checked_window>To Make an Annotation</a>\n");          push(@$html,"<br><a href=$link target=checked_window>To Make an Annotation</a>\n");
505      }      }
506    
507        my $sprout = $cgi->param('SPROUT') ? 1 : "";
508        if (! $sprout)
509        {
510      my $fc = $cgi->param('fc');      my $fc = $cgi->param('fc');
511      if ((! $fc) && (&feature_locationS($fig_or_sprout,$peg))) {      if ((! $fc) && (&feature_locationS($fig_or_sprout,$peg))) {
512          my $link = $cgi->self_url() . "&fc=1";          my $link = $cgi->self_url() . "&fc=1";
# Line 511  Line 518 
518      my $link = $cgi->self_url() . "&request=fusions";      my $link = $cgi->self_url() . "&request=fusions";
519      push(@$html,"<br><a href=$link>To Get Fusion Data</a>\n");      push(@$html,"<br><a href=$link>To Get Fusion Data</a>\n");
520    
521      my $sprout = $cgi->param('SPROUT') ? 1 : "";          my $link = &cgi_url . "/homologs_in_clusters.cgi?prot=$peg&user=$user\n";
     my $link = &cgi_url . "/homologs_in_clusters.cgi?SPROUT=$sprout&prot=$peg&user=$user\n";  
522      push(@$html,"<br><a href=$link>To Find Homologs in Clusters</a>\n");      push(@$html,"<br><a href=$link>To Find Homologs in Clusters</a>\n");
523        }
524    
525      if ((! $cgi->param('compare_region')) && $has_translation) {      if ((! $cgi->param('compare_region')) && $has_translation) {
526          my $link = $cgi->self_url() . "&compare_region=1";          my $link = $cgi->self_url() . "&compare_region=1";
# Line 636  Line 643 
643    
644  sub print_similarities {  sub print_similarities {
645      my( $fig_or_sprout, $cgi, $html, $peg ) = @_;      my( $fig_or_sprout, $cgi, $html, $peg ) = @_;
646    
647        if ($cgi->param('SPROUT'))
648        {
649            &print_similarities_SPROUT($fig_or_sprout, $cgi, $html, $peg );
650        }
651        else
652        {
653            &print_similarities_SEED($fig_or_sprout, $cgi, $html, $peg );
654        }
655    }
656    
657    sub print_similarities_SPROUT {
658        my($fig_or_sprout, $cgi, $html, $peg ) = @_;
659    
660        my $user = $cgi->param('user') || "";
661        my $current_func = &trans_function_of($cgi,$fig_or_sprout,$peg,$user);
662    
663        push( @$html, $cgi->hr,
664                      "<a name=Similarities>",
665                      $cgi->h1('Bidirectional Best Hits (BBHs)'),
666                      "</a>\n"
667            );
668    
669        my @sims = $fig_or_sprout->bbhs($peg, 1.0e-10, 0);
670    
671        my @from = $cgi->radio_group(-name => 'from',
672                                     -nolabels => 1,
673                                     -override => 1,
674                                     -values => ["",$peg,map { $_->[1] } @sims]);
675    
676        my $target = "window$$";
677            # RAE: added a name to the form so tha the javascript works
678        push( @$html, $cgi->start_form( -method => 'post',
679                                        -target => $target,
680                                        -action => 'fid_checked.cgi',
681                                        -name   => 'fid_checked'
682                                        ),
683                      $cgi->hidden(-name => 'SPROUT', -value => 1),
684                      $cgi->hidden(-name => 'fid', -value => $peg),
685                      $cgi->hidden(-name => 'user', -value => $user),
686                      $cgi->br,
687                      "For Selected (checked) sequences: ",
688                      $cgi->submit('align'),
689                );
690    
691        if ($user) {
692            my $help_url = "Html/help_for_assignments_and_rules.html";
693            push ( @$html, $cgi->br, $cgi->br,
694                           "<a href=$help_url>Help on Assignments, Rules, and Checkboxes</a>",
695                           $cgi->br, $cgi->br,
696                           $cgi->submit('assign/annotate')
697                   );
698    
699            if ($cgi->param('translate')) {
700                push( @$html, $cgi->submit('add rules'),
701                      $cgi->submit('check rules'),
702                      $cgi->br
703                      );
704            }
705        }
706    
707        push( @$html, $cgi->br,
708                      $cgi->checkbox( -name    => 'checked',
709                                      -value   => $peg,
710                                      -override => 1,
711                                      -checked => 1,
712                                      -label   => ""
713                                      )
714              );
715    
716        my $col_hdrs;
717        if ($user && $cgi->param('translate')) {
718            push( @$html, " ASSIGN to/Translate from/SELECT current PEG", $cgi->br,
719                          "ASSIGN/annotate with form: ", shift @from, $cgi->br,
720                          "ASSIGN from/Translate to current PEG: ", shift @from
721                  );
722            $col_hdrs = [ "ASSIGN to<hr>Translate from",
723                          "Similar sequence",
724                          "E-val",
725                          "ASSIGN from<hr>Translate to",
726                          "In Sub",
727                          "Function",
728                          "Organism",
729                          "Aliases"
730                          ];
731        } elsif ($user) {
732            push( @$html, " ASSIGN to/SELECT current PEG", $cgi->br,
733                          "ASSIGN/annotate with form: ", shift @from, $cgi->br,
734                          "ASSIGN from current PEG: ", shift @from
735                  );
736            $col_hdrs = [ "ASSIGN to<hr>SELECT",
737                              "Similar sequence",
738                              "E-val",
739                              "ASSIGN from",
740                              "In Sub",
741                              "Function",
742                              "Organism",
743                              "Aliases"
744                          ];
745        } else {
746            push(@$html, " SELECT current PEG", $cgi->br );
747            $col_hdrs = [ "SELECT",
748                          "Similar sequence",
749                          "E-val",
750                          "In Sub",
751                          "Function",
752                          "Organism",
753                          "Aliases"
754                          ];
755        }
756    
757        my $ncol = @$col_hdrs;
758        push( @$html, "<TABLE border cols=$ncol>\n",
759                      "\t<Caption><h2>Similarities</h2></Caption>\n",
760                      "\t<TR>\n\t\t<TH>",
761                      join( "</TH>\n\t\t<TH>", @$col_hdrs ),
762                      "</TH>\n\t</TR>\n"
763              );
764    
765        #  Add the table data, row-by-row
766    
767        my $sim;
768        foreach $sim ( @sims ) {
769            my($id2,$psc) = @$sim;
770            my $cbox = &translatable($fig_or_sprout,$id2) ?
771                qq(<input type=checkbox name=checked value="$id2">) : "";
772            my $id2_link = &HTML::set_prot_links($cgi,$id2);
773            chomp $id2_link;
774    
775            my @in_sub  = &peg_to_subsystems($fig_or_sprout,$id2);
776            my $in_sub;
777            if (@in_sub > 0) {
778                $in_sub = @in_sub;
779            } else {
780                $in_sub = "";
781            }
782    
783            my $radio   = $user ? shift @from : undef;
784            my $func2   = html_enc( scalar &trans_function_of( $cgi, $fig_or_sprout, $id2, $user ) );
785            ## RAE Added color3. This will color function tables that do not match the original
786            ## annotation. This makes is a lot easier to see what is different (e.g. caps/spaces, etc)
787            my $color3="#FFFFFF";
788            unless ($func2 eq $current_func) {$color3="#FFDEAD"}
789    
790            #
791            # Colorize organisms:
792            #
793            # my $org     = html_enc( &org_of($fig_or_sprout, $id2 ) );
794            my ($org,$oc) = &org_and_color_of($fig_or_sprout, $id2 );
795            $org        = html_enc( $org );
796    
797            my $aliases = html_enc( join( ", ", &feature_aliasesL($fig_or_sprout,$id2) ) );
798    
799            #  Okay, everything is calculated, let's "print" the row datum-by-datum:
800    
801            push( @$html, "\t<TR>\n",
802                  #
803                  #  Colorize check box by Domain
804                  #
805                  "\t\t<TD Align=center Bgcolor=$oc>$cbox</TD>\n",
806                  "\t\t<TD Nowrap>$id2_link</TD>\n",
807                  "\t\t<TD Nowrap>$psc</TD>\n",
808                  $user ? "\t\t<TD Align=center>$radio</TD>\n" : (),
809                  "\t\t<TD>$in_sub</TD>",
810                  "\t\t<TD Bgcolor=$color3>$func2</TD>\n",
811                  #
812                  #  Colorize organism by Domain
813                  #
814                  # "\t\t<TD>$org</TD>\n",
815                  "\t\t<TD Bgcolor=$oc>$org</TD>\n",
816                  "\t\t<TD>$aliases</TD>\n",
817                  "\t</TR>\n"
818                  );
819        }
820        push( @$html, "</TABLE>\n" );
821        push( @$html, $cgi->end_form );
822    }
823    
824    
825    sub print_similarities_SEED {
826        my( $fig_or_sprout, $cgi, $html, $peg ) = @_;
827      my( $maxN, $maxP, $expand_groups, $ex_checked );      my( $maxN, $maxP, $expand_groups, $ex_checked );
828    
829      my $user = $cgi->param('user') || "";      my $user = $cgi->param('user') || "";
# Line 681  Line 869 
869          push(@$html,$cgi->hidden(-name => 'translate', -value => 1));          push(@$html,$cgi->hidden(-name => 'translate', -value => 1));
870      }      }
871    
     my $sprout = $cgi->param('SPROUT') ? 1 : "";  
872      push(@$html, $cgi->hidden(-name => 'prot', -value => $peg),      push(@$html, $cgi->hidden(-name => 'prot', -value => $peg),
                  $cgi->hidden(-name => 'SPROUT', -value => $sprout),  
873                   $cgi->hidden(-name => 'sims', -value => 1),                   $cgi->hidden(-name => 'sims', -value => 1),
874                   $cgi->hidden(-name => 'fid',  -value => $peg),                   $cgi->hidden(-name => 'fid',  -value => $peg),
875                   $cgi->hidden(-name => 'user', -value => $user),                   $cgi->hidden(-name => 'user', -value => $user),
# Line 713  Line 899 
899                           -values => ["",$peg,map { $_->id2 } @sims]);                           -values => ["",$peg,map { $_->id2 } @sims]);
900    
901          my $target = "window$$";          my $target = "window$$";
         my $sprout = $cgi->param('SPROUT') ? 1 : "";  
902          # RAE: added a name to the form so tha the javascript works          # RAE: added a name to the form so tha the javascript works
903          push( @$html, $cgi->start_form( -method => 'post',          push( @$html, $cgi->start_form( -method => 'post',
904                                          -target => $target,                                          -target => $target,
905                                          -action => 'fid_checked.cgi',                                          -action => 'fid_checked.cgi',
906                          -name   => 'fid_checked'                          -name   => 'fid_checked'
907                                        ),                                        ),
                       $cgi->hidden(-name => 'SPROUT', -value => $sprout),  
908                        $cgi->hidden(-name => 'fid', -value => $peg),                        $cgi->hidden(-name => 'fid', -value => $peg),
909                        $cgi->hidden(-name => 'user', -value => $user),                        $cgi->hidden(-name => 'user', -value => $user),
910                        $cgi->br,                        $cgi->br,
# Line 1052  Line 1236 
1236    
1237          if ($fid1 =~ /peg\.(\d+)$/) {          if ($fid1 =~ /peg\.(\d+)$/) {
1238              $n = $1;              $n = $1;
1239              $link = $cgi->url() . "?prot=$fid1&user=$user";              my $sprout = $cgi->param('SPROUT');
1240                $sprout = $sprout ? $sprout : "";
1241                $link = $cgi->url() . "?prot=$fid1&user=$user&SPROUT=$sprout";
1242          } elsif ($fid1 =~ /\.([a-z]+)\.\d+$/) {          } elsif ($fid1 =~ /\.([a-z]+)\.\d+$/) {
1243              $n = uc $1;              $n = uc $1;
1244              $link = "";              $link = "";
# Line 1131  Line 1317 
1317      my $user = $cgi->param('user');      my $user = $cgi->param('user');
1318      $user = defined($user) ? $user : "";      $user = defined($user) ? $user : "";
1319    
1320    # RAO disconnect SPROUT from pinning requests until chromosomal_clusters.cgi is rewritten
1321      my $sprout = $cgi->param('SPROUT') ? 1 : "";      my $sprout = $cgi->param('SPROUT') ? 1 : "";
1322      my $cluster_url  = "chromosomal_clusters.cgi?prot=$peg&user=$user&uni=1&SPROUT=$sprout";      my $cluster_url  = "chromosomal_clusters.cgi?prot=$peg&user=$user&uni=1"; # &SPROUT=$sprout";
1323      my $cluster_link = "<a href=\"$cluster_url\">*</a>";      my $cluster_link = "<a href=\"$cluster_url\">*</a>";
1324      return $cluster_link;      return $cluster_link;
1325  }  }

Legend:
Removed from v.1.62  
changed lines
  Added in v.1.63

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3