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

Diff of /FigKernelPackages/FigFam.pm

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

revision 1.6, Mon Apr 3 19:28:52 2006 UTC revision 1.7, Tue Apr 4 17:07:49 2006 UTC
# Line 310  Line 310 
310      my $i;      my $i;
311      if (&SameFunc::same_func($func,$func2)) { return 1 }      if (&SameFunc::same_func($func,$func2)) { return 1 }
312      if (! &FIG::hypo($func2))               { return 0 }      if (! &FIG::hypo($func2))               { return 0 }
313        return 1;
314    
315      my @sims = $fig->sims($id2,5,1.0e-30,"fig");      my @sims = $fig->sims($id2,5,1.0e-30,"fig");
316      for ($i=0; ($i < @sims) && ($func eq $fig->function_of($sims[$i]->id2)); $i++) {}      my $func3;
317      return ($i == 5);      for ($i=0; ($i < @sims) && (defined($func3 = $fig->function_of($sims[$i]->id2))) &&
318                   (&FIG::hypo($func3) || &SameFunc::same_func($func,$func3)); $i++) {}
319        return ($i == @sims);
320  }  }
321    
322  sub representatives {  sub representatives {
# Line 331  Line 335 
335      print TMP ">query\n$seq\n";      print TMP ">query\n$seq\n";
336      close(TMP);      close(TMP);
337    
338        if ($ENV{'DEBUG'}) { print STDERR &Dumper([$self->family_id,$seq]) }
339    
340      my $query_ln = length($seq);      my $query_ln = length($seq);
341      open(BLAST,"blastall -i $FIG_Config::temp/tmp$$.fasta -d $dir/PEGs.fasta -m 8 -FF -p blastp |")      open(BLAST,"blastall -i $FIG_Config::temp/tmp$$.fasta -d $dir/PEGs.fasta -m 8 -FF -p blastp | head -n 10 |")
342          || die "could not open blast";          || die "could not open blast";
343      my $sims = [];      my $sims = [];
344      my %seen;      my %seen;
345      my $should_be = 0;      my $should_be = 0;
346        my $yes = 0;
347        my $no  = 0;
348    
349      while (defined($_ = <BLAST>))      while (defined($_ = <BLAST>))
350      {      {
351            if ($ENV{'DEBUG'}) { print STDERR $_ }
352          chop;          chop;
353          my $sim = [split(/\t/,$_)];          my $sim = [split(/\t/,$_)];
354          my $peg = $sim->[1];          my $peg = $sim->[1];
# Line 351  Line 361 
361              bless $sim, 'Sim';              bless $sim, 'Sim';
362              push @$sims, $sim;              push @$sims, $sim;
363              my $bounds = $self->{bounds}->{$peg};              my $bounds = $self->{bounds}->{$peg};
364              if ($bounds && ($bit_score > $bounds->[1]) && ((! $bounds->[2]) || $bounds->[3] < $bit_score))              if ($bounds)
365                {
366                    if (($bit_score > $bounds->[1]) && ((! $bounds->[2]) || $bounds->[3] < $bit_score))
367                    {
368                        if ($ENV{'DEBUG'}) { print STDERR "    yes\n" }
369                        $yes++;
370                    }
371                    else
372              {              {
373                  $should_be = $peg;                      if ($ENV{'DEBUG'}) { print STDERR "    no\n" }
374                        $no++;
375              }              }
376          }          }
377      }      }
378        }
379        $should_be = ($yes > $no);
380        if ($ENV{'DEBUG'}) { print STDERR "        should_be = $should_be\n" }
381      return ($should_be,$sims);      return ($should_be,$sims);
382  }  }
383    
# Line 366  Line 387 
387      return $self->{function}      return $self->{function}
388  }  }
389    
390    sub family_id {
391        my($self) = @_;
392    
393        return $self->{id};
394    }
395    
396  1;  1;

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3