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

Diff of /FigKernelPackages/FIG.pm

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

revision 1.676, Thu Mar 13 19:22:39 2008 UTC revision 1.677, Mon Mar 17 13:46:26 2008 UTC
# Line 10483  Line 10483 
10483    
10484      (-s $reps_db) || return ();      (-s $reps_db) || return ();
10485    
10486      my @index1 = &blastit('query',$seq,$reps_db,1.0e-5);      my @index1 = &blastitP('query',$seq,$reps_db,1.0e-5);
10487      my %indexH;      my %indexH;
10488      foreach $_ (@index1)      foreach $_ (@index1)
10489      {      {
# Line 10514  Line 10514 
10514                  {                  {
10515                      my $partition = $1;                      my $partition = $1;
10516                      my $partitionF = "$figfams_data/Partitions/" . ($partition % 1000) . "/$partition/fasta";                      my $partitionF = "$figfams_data/Partitions/" . ($partition % 1000) . "/$partition/fasta";
10517                      foreach $sim (&blastit('query',$seq,$partitionF,1.0e-3))                      foreach $sim (&blastitP('query',$seq,$partitionF,1.0e-3))
10518                      {                      {
10519                          if ($sim->nbsc >= $min_nbsc)                          if ($sim->nbsc >= $min_nbsc)
10520                          {                          {
# Line 10536  Line 10536 
10536  }  }
10537    
10538  sub blastit {  sub blastit {
10539        my($id,$seq,$db,$maxP,$parms) = @_;
10540        return &blastitP($id,$seq,$db,$maxP,$parms);
10541    }
10542    
10543    sub blastitP {
10544      shift if UNIVERSAL::isa($_[0],__PACKAGE__);      shift if UNIVERSAL::isa($_[0],__PACKAGE__);
10545      my($id,$seq,$db,$maxP,$parms) = @_;      my($id,$seq,$db,$maxP,$parms) = @_;
10546    
10547      if (! -s $db) { return () }      if (! -s $db) { return () }
10548      if (! $maxP) { $maxP = 1.0e-5 }      if (! $maxP) { $maxP = 1.0e-5 }
10549      my $tmp = &Blast::blastp([[$id,$seq]],$db,"$parms -e $maxP");      my $tmpF = "$FIG_Config::temp/blastin.$$.fasta";
10550      my $tmp1 = $tmp->{$id};  
10551      if ($tmp1)      open(TMP,">$tmpF") || die "could not open $tmpF";
10552        print TMP ">$id\n$seq\n";
10553        close(TMP);
10554    
10555        my $ln1 = length($seq);
10556        my $tool = "blastp";
10557    
10558        my @blastout = map { chop; bless([split(/\s+/,$_),$ln1,undef,$tool],'Sim') }
10559                       `blastall -i $tmpF -d $db -p blastp -m 8 $parms -e $maxP`;
10560        unlink $tmpF;
10561    
10562        my %to_find = map { $_->[1] => 1 } @blastout;
10563        open(DB,"<$db") || die "could not open $db";
10564    
10565        my %ln2;
10566        my $old_eol = $/;
10567        $/ = "\n>";
10568        while (defined($_ = <DB>))
10569      {      {
10570          return @$tmp1;          if (($_ =~ /^>?(\S+)[^\n]*\n(.*)/sg) && $to_find{$1})
10571            {
10572                my $id2 = $1;
10573                my $seq2 = $2;
10574                $seq2 =~ s/\s//g;
10575                $ln2{$id2} = length($seq2);
10576      }      }
10577      return ();      }
10578        $/ = $old_eol;
10579        close(DB);
10580        @blastout = map { $_->[13] = $ln2{$_->[1]}; $_ } @blastout;
10581        return @blastout;
10582  }  }
10583    
10584  sub related_by_func_sim {  sub related_by_func_sim {

Legend:
Removed from v.1.676  
changed lines
  Added in v.1.677

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3