[Bio] / FigKernelPackages / Observation.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/Observation.pm

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

revision 1.9, Wed Jun 20 16:43:13 2007 UTC revision 1.10, Wed Jun 20 20:55:36 2007 UTC
# Line 341  Line 341 
341          my %domain_classes;          my %domain_classes;
342          my $identical_flag=0;          my $identical_flag=0;
343          my $pch_flag=0;          my $pch_flag=0;
344            my $sims_flag=0;
345          foreach my $class (@$classes){          foreach my $class (@$classes){
346              if($class =~ /(IPR|CDD|PFAM)/){              if($class =~ /(IPR|CDD|PFAM)/){
347                  $domain_classes{$class} = 1;                  $domain_classes{$class} = 1;
# Line 353  Line 354 
354              {              {
355                  $pch_flag = 1;                  $pch_flag = 1;
356              }              }
357                elsif ($class eq "SIM")
358                {
359                    $sims_flag = 1;
360                }
361          }          }
362    
363          if ($identical_flag ==1)          if ($identical_flag ==1)
# Line 366  Line 371 
371          {          {
372              get_functional_coupling($fid,\@matched_datasets);              get_functional_coupling($fid,\@matched_datasets);
373          }          }
374            if ($sims_flag == 1)
375            {
376                get_sims_observations($fid,\@matched_datasets);
377            }
378    
379          #add CELLO and SignalP later          #add CELLO and SignalP later
380      }      }
# Line 381  Line 390 
390          if ($dataset->{'class'} eq "IDENTICAL"){          if ($dataset->{'class'} eq "IDENTICAL"){
391              $object = Observation::Identical->new($dataset);              $object = Observation::Identical->new($dataset);
392          }          }
393            if ($dataset->{'class'} eq "SIM"){
394                $object = Observation::Sims->new($dataset);
395            }
396          push (@$objects, $object);          push (@$objects, $object);
397      }      }
398    
# Line 588  Line 600 
600          my $evalue = $sim->[10];          my $evalue = $sim->[10];
601          my $from = $sim->[8];          my $from = $sim->[8];
602          my $to = $sim->[9];          my $to = $sim->[9];
603          $dataset = [ { name => 'class', value => "SIM" },          $dataset = {'class' => 'SIM',
604                          { name => 'acc' , value => $hit},                      'acc' => $hit,
605                          { name => 'type', value => "seq"} ,                      'type' => 'seq',
606                          { name => 'evalue', value => $evalue },                      'evalue' => $evalue,
607                          { name => 'start', value => $from},                      'start' => $from,
608                          { name => 'stop' , value => $to}                      'stop' => $to
609                          ];                      };
610    
611      push (@{$datasets_ref} ,$dataset);      push (@{$datasets_ref} ,$dataset);
612      }      }
613  }  }
# Line 1028  Line 1041 
1041    
1042  }  }
1043    
1044    #########################################
1045    #########################################
1046    package Observation::Sims;
1047    
1048    use base qw(Observation);
1049    
1050    sub new {
1051    
1052        my ($class,$dataset) = @_;
1053        my $self = $class->SUPER::new($dataset);
1054        $self->{acc} = $dataset->{'acc'};
1055        $self->{evalue} = $dataset->{'evalue'};
1056        $self->{start} = $dataset->{'start'};
1057        $self->{stop} = $dataset->{'stop'};
1058    
1059        bless($self,$class);
1060        return $self;
1061    }
1062    
1063    =head3 display()
1064    
1065    If available use the function specified here to display the "raw" observation.
1066    This code will display a table for the similarities protein
1067    
1068    B<Please note> that URL linked to in display_method() is an external component and needs to added to the code for every class of evidence.
1069    
1070    =cut
1071    
1072    sub display {
1073        my ($self,$cgi,$dataset) = @_;
1074    
1075        my $data = [];
1076        my $count = 0;
1077        my $content;
1078    
1079        foreach my $thing (@$dataset) {
1080            my $single_domain = [];
1081            next if ($thing->class ne "SIM");
1082            $count++;
1083    
1084            push(@$single_domain,&HTML::set_prot_links($cgi,$thing->acc));
1085            push(@$single_domain,$thing->start);
1086            push(@$single_domain,$thing->stop);
1087            push(@$single_domain,$thing->evalue);
1088            push(@$data,$single_domain);
1089        }
1090    
1091        if ($count >0){
1092            $content = $data;
1093        }
1094        else
1095        {
1096            $content = "<p>This PEG does not have any similarities</p>";
1097        }
1098        return ($content);
1099    }

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3