Как получить обновление статуса в NCBI автономной BLAST?

Например, я запускаю автономный Blast+ для тысяч последовательностей EST с удаленным (NCBI) сервером. Я не получаю никакого сообщения о статусе, как 15 из 100 последовательности работает. Можно ли получить какое-либо сообщение о статусе, как это? или любой другой способ отправить одну за другой последовательность, используя сценарии Perl?
Большое спасибо!

1 ответ

Я предлагаю использовать Bioperl ( http://metacpan.org/pod/BioPerl) и Bio::Tools::Run::RemoteBlast модуль. См. http://metacpan.org/pod/Bio%3A%3ATools%3A%3ARun%3A%3ARemoteBlast, и вот пример кода, который они дают в модуле RemoteBlast.pm

 while (my $input = $str->next_seq()){
    #Blast a sequence against a database:    
    #Alternatively, you could  pass in a file with many
    #sequences rather than loop through sequence one at a time
    #Remove the loop starting 'while (my $input = $str->next_seq())'
    #and swap the two lines below for an example of that.
    my $r = $factory->submit_blast($input);
    #my $r = $factory->submit_blast('amino.fa');

    print STDERR "waiting..." if( $v > 0 );
    while ( my @rids = $factory->each_rid ) {
      foreach my $rid ( @rids ) {
        my $rc = $factory->retrieve_blast($rid);
        if( !ref($rc) ) {
          if( $rc < 0 ) {
            $factory->remove_rid($rid);
          }
          print STDERR "." if ( $v > 0 );
          sleep 5;
        } else {
          my $result = $rc->next_result();
          #save the output
          my $filename = $result->query_name()."\.out";
          $factory->save_output($filename);
          $factory->remove_rid($rid);
          print "\nQuery Name: ", $result->query_name(), "\n";
          while ( my $hit = $result->next_hit ) {
            next unless ( $v > 0);
            print "\thit name is ", $hit->name, "\n";
            while( my $hsp = $hit->next_hsp ) {
              print "\t\tscore is ", $hsp->score, "\n";
            }
          }
        }
      }
    }
  }

Посмотрите на метод retrieve_blast ( http://metacpan.org/pod/Bio%3A%3ATools%3A%3ARun%3A%3ARemoteBlast). Он вернет код состояния, чтобы вы знали, завершена ли взрывная работа. Дайте мне знать, если у вас есть еще вопросы, и я постараюсь уточнить дальше.

Павел

Другие вопросы по тегам