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

Diff of /FigWebServices/show_exp_assertions.cgi

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

revision 1.1, Wed Feb 6 20:02:36 2008 UTC revision 1.7, Wed Mar 12 16:24:40 2008 UTC
# Line 162  Line 162 
162      return @roles;      return @roles;
163  }  }
164    
 sub get_assertions {  
     my($fig,$pegs) = @_;  
     my($i,$tmpF);  
     my $chunk_sz = 50;  
     my %pegs;  
   
     my @set = ();  
     for ($i=0; ($i < @$pegs); $i += $chunk_sz)  
     {  
         my $j = (@$pegs >= ($i+$chunk_sz)) ? $i+$chunk_sz-1 : @$pegs;  
         my $ids = join(",",@{$pegs}[$i..$j]);  
         $tmpF = "/tmp/download.$$";  
         my $url  = "http://clearinghouse.nmpdr.org/aclh.cgi?page=SearchResults&raw_dump=1&expert_only=1&query=$ids";  
         system "wget -O $tmpF '$url' > /dev/null 2> /dev/null";  
         open(TMP,"<$tmpF") || die "could not open $tmpF";  
         while (defined($_ = <TMP>) && ($_ !~ /^Identifier/)) {}  
         while (defined($_) && ($_ !~ /\<\/pre\>/i))  
         {  
             if (($_ =~ /^[a-zA-Z]/) && ($_ !~ /^Identifier/))  
             {  
                 chomp;  
                 my $tuple = [split(/\t/,$_)];  
                 if (! $pegs{$tuple->[0]})  
                 {  
                     $pegs{$tuple->[0]} = 1;  
                     push(@set,$tuple);  
                 }  
             }  
             $_ = <TMP>;  
         }  
         close(TMP);  
         unlink $tmpF;  
     }  
     return @set;  
 }  
   
165  sub format_roles {  sub format_roles {
166      my($cgi,$html,$fig,$roles,$subsys,$options) = @_;      my($cgi,$html,$fig,$roles,$subsys,$options) = @_;
167    
# Line 232  Line 196 
196          my @pegs = ();          my @pegs = ();
197          foreach my $genome (@genomes)          foreach my $genome (@genomes)
198          {          {
199              push(@pegs,$subO->get_pegs_from_cell($genome,$role));              push(@pegs,grep { $fig->is_real_feature($_) } $subO->get_pegs_from_cell($genome,$role));
200          }          }
201    
202          my @assertions = sort { &FIG::by_fig_id($a->[0],$b->[0]) }          my @assertions = sort { &FIG::by_fig_id($a->[0],$b->[0]) }
203                           grep { $experts_to_show{'all'} || $experts_to_show{$_->[4]} }                           grep { $experts_to_show{'all'} || $experts_to_show{$_->[1]} }
204                           &get_assertions($fig,\@pegs);                           &FIG::get_expert_assertions(\@pegs);
205          foreach my $tuple (@assertions)          foreach my $tuple (@assertions)
206          {          {
207              my($peg,$org,undef,undef,$expert,$exp_assertion) = @$tuple;              my($peg,$expert,$exp_assertion) = @$tuple;
208              my $func = $fig->function_of($peg);              my $func = $fig->function_of($peg);
209              my $translated = $fig->translate_function($exp_assertion);              my $translated = $fig->translate_function($exp_assertion);
210              if (! ($experts_to_show{'just_different'} && ($func eq $translated)))              if (! ($experts_to_show{'just_different'} && ($func eq $translated)))
211              {              {
212                    my $org = $fig->genus_species(&FIG::genome_of($peg));
213                  my $row = [&HTML::fid_link($cgi,$peg),$org,$func,$expert];                  my $row = [&HTML::fid_link($cgi,$peg),$org,$func,$expert];
214                  if ($experts_to_show{'just_different'})                  if ($experts_to_show{'just_different'})
215                  {                  {
# Line 296  Line 261 
261    
262      my $subO = $fig->get_subsystem($subsys);      my $subO = $fig->get_subsystem($subsys);
263      my @pegs = $subO->get_all_pegs;      my @pegs = $subO->get_all_pegs;
264      my @assertions = &get_assertions($fig,\@pegs);      my @assertions = &FIG::get_expert_assertions(\@pegs);
265      my %by_whom = map { $_ => 1 } map { ($_->[3] eq 'Expert') ? $_->[4] : () } @assertions;      my %by_whom = map { $_ => 1 } map { ($_->[3] eq 'Expert') ? $_->[4] : () } @assertions;
266      my @experts = sort keys(%by_whom);      my @experts = sort keys(%by_whom);
267    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.7

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3