Changeset 248

Show
Ignore:
Timestamp:
08/31/09 08:34:40 (3 months ago)
Author:
cholt
Message:

weird index error and blast merge error

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lib/GI.pm

    r247 r248  
    215215      if (not $fastaObj) { 
    216216         #rebuild index and try again 
    217          my $db_file = $db_index->{dirname} ."/". $db_index->{offsets}->{__file_0}; 
     217         my $db_file = $db_index->{dirname}."/".$db_index->fileno2path(0); 
     218         print STDERR "WARNING: Cannot find ".$hit->name.", trying to re-index $db_file\n"; 
    218219         $db_index = Bio::DB::Fasta->new($db_file, '-reindex' => 1); 
    219220         $fastaObj = $db_index->get_Seq_by_id($hit->name); 
     
    256257         my $keepers = blastn($chunk,  
    257258                              $t_file, 
    258                               undef, 
    259259                              $the_void, 
    260260                              $p_safe_id.".".$piece->[0]->{b}.".".$piece->[0]->{e}, 
     
    587587    
    588588   #write fastas here 
     589   my %alias; 
    589590   my $FA; 
    590591   open($FA, "> $t_full"); #full file 
    591592   while (my $fasta = $fasta_iterator->nextEntry()) { 
    592593      my $def = Fasta::getDef(\$fasta); 
     594      my $seq_id = Fasta::def2SeqID($def); 
    593595      my $seq_ref = Fasta::getSeqRef(\$fasta); 
    594596 
     
    601603      #Skip empty fasta entries 
    602604      next if($$seq_ref eq ''); 
     605 
     606      #fix weird blast trimming error for long seq IDs by replacing them 
     607      if(length($seq_id) > 78){ 
     608          my $new_id = substr($seq_id, 0, 78); 
     609          die "ERROR: The id $seq_id is too long for BLAST, and I can'y uniquely fix it\n" 
     610              if($alias{$new_id}); 
     611          $alias{$new_id}++; 
     612          $def =~ s/^>/>$seq_id maker_alias=/; 
     613      } 
    603614 
    604615      #reformat fasta, just incase 
     
    10201031         if (not $fastaObj) { 
    10211032            #rebuild index and try again 
    1022             my $db_file = $db_index->{dirname} ."/".$db_index->{offsets}->{__file_0}; 
     1033            my $db_file = $db_index->{dirname}."/".$db_index->fileno2path(0); 
     1034            print STDERR "WARNING: Cannot find> ".$hit->name.", trying to re-index $db_file\n"; 
    10231035            $db_index = Bio::DB::Fasta->new($db_file, '-reindex' => 1); 
    10241036            $fastaObj = $db_index->get_Seq_by_id($hit->name); 
  • lib/Widget/blastn.pm

    r207 r248  
    9999         $hit->queryLength($result->query_length); 
    100100         $hit->queryName($result->query_name); 
    101           
     101         if($hit->description() =~ /maker_alias=(\S+)/){ 
     102             $hit->name($1); 
     103         } 
     104  
    102105         my @hsps; 
    103106         while(my $hsp = $hit->next_hsp) { 
  • lib/Widget/blastx.pm

    r207 r248  
    9999         $hit->queryLength($result->query_length); 
    100100         $hit->queryName($result->query_name); 
    101           
     101         if($hit->description() =~ /maker_alias=(\S+)/){ 
     102             $hit->name($1); 
     103         } 
    102104         my @hsps; 
    103105         while(my $hsp = $hit->next_hsp) { 
  • lib/Widget/tblastx.pm

    r207 r248  
    9999         $hit->queryLength($result->query_length); 
    100100         $hit->queryName($result->query_name); 
     101         if($hit->description() =~ /maker_alias=(\S+)/){ 
     102             $hit->name($1); 
     103         } 
    101104          
    102105         my @hsps;