[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.653, Thu Feb 7 21:43:35 2008 UTC revision 1.654, Thu Feb 7 21:52:29 2008 UTC
# Line 10338  Line 10338 
10338  =cut  =cut
10339    
10340  sub dsims {  sub dsims {
10341      my($self,$id,$seq,$maxN,$min_nbsc,$figfams_data) = @_;      my($self,$id,$seq,$maxN,$min_nbsc,$figfams_data,$blast_parms) = @_;
10342      my($sim,$partition,%hits);      my($sim,$partition,%hits);
10343    
10344        if (! $figfams_data) { $figfams_data = "$FIG_Config::data/FigfamsData" }
10345      my %reps_hash;      my %reps_hash;
10346      my $reps_hash_tie = tie %reps_hash, 'DB_File', "$figfams_data/partition_reps.db", O_RDWR, 0666, $DB_HASH;      my $reps_hash_tie = tie %reps_hash, 'DB_File', "$figfams_data/partition_reps.db", O_RDWR, 0666, $DB_HASH;
10347      $reps_hash_tie || die "tie failed";      $reps_hash_tie || die "tie failed";
# Line 10349  Line 10350 
10350      if (! $reps_db) { $reps_db = "$FIG_Config::data/FigfamsData/partitions_rep.fasta" }      if (! $reps_db) { $reps_db = "$FIG_Config::data/FigfamsData/partitions_rep.fasta" }
10351      (-s $reps_db) || return ();      (-s $reps_db) || return ();
10352    
10353      my @index = &blastit($id,$seq,$reps_db,1.0e-3);      my @index = &blastit('query',$seq,$reps_db,1.0e-3);
10354      my %partitions;      my %partitions;
10355      foreach my $rep (map { $_->id2 } @index)      foreach my $rep (map { $_->id2 } @index)
10356      {      {
# Line 10361  Line 10362 
10362      foreach $partition (keys(%partitions))      foreach $partition (keys(%partitions))
10363      {      {
10364          my $part_db = &partition_db($figfams_data,$partition);          my $part_db = &partition_db($figfams_data,$partition);
10365          my @hits = &blastit($id,$seq,$part_db,1.0e-5);          my @hits = &blastit('query',$seq,$part_db,1.0e-5,$blast_parms);
10366          foreach my $sim (@hits)          foreach my $sim (@hits)
10367          {          {
10368              next if ($min_nbsc && ($sim->nbsc < $min_nbsc));              next if ($min_nbsc && ($sim->nbsc < $min_nbsc));
10369    
10370                $sim->[0] = $id;
10371              my $id2 = $sim->id2;              my $id2 = $sim->id2;
10372              my $nbsc = $sim->nbsc;              my $nbsc = $sim->nbsc;
10373              if ((! $hits{$id2}) || ($hits{$id2}->nbsc < $sim->nbsc))              if ((! $hits{$id2}) || ($hits{$id2}->nbsc < $sim->nbsc))
# Line 10386  Line 10388 
10388    
10389  sub blastit {  sub blastit {
10390      shift if UNIVERSAL::isa($_[0],__PACKAGE__);      shift if UNIVERSAL::isa($_[0],__PACKAGE__);
10391      my($id,$seq,$db,$maxP) = @_;      my($id,$seq,$db,$maxP,$parms) = @_;
10392    
10393      if (! -s $db) { return () }      if (! -s $db) { return () }
10394      if (! $maxP) { $maxP = 1.0e-5 }      if (! $maxP) { $maxP = 1.0e-5 }
10395      my $tmp = &Blast::blastp([[$id,$seq]],$db,"-e $maxP");      my $tmp = &Blast::blastp([[$id,$seq]],$db,"$parms -e $maxP");
10396      my $tmp1 = $tmp->{$id};      my $tmp1 = $tmp->{$id};
10397      if ($tmp1)      if ($tmp1)
10398      {      {

Legend:
Removed from v.1.653  
changed lines
  Added in v.1.654

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3