[Bioperl-l] RemoteBlast - hit table and html format

Madeleine Lemieux mlemieux at bioinfo.ca
Fri Apr 29 15:44:41 EDT 2005


Nathan and Paul,

The answers to your respective questions are related.

Paul: RemoteBlast returns a Blast object that contains the results 
parsed from the response retrieved from the NCBI. The parser handles 
pairwise alignments perfectly but doesn't deal so well with the tabular 
data that is returned when 
Bio::Tools::Run::RemoteBlast::RETRIEVALHEADER{'ALIGNMENT_VIEW'} = 
'Tabular' (which is how you change the view option) is specified.

To get the raw HTML returned by the NCBI, you have to intercept the 
result before the parsing happens. Look for the following bit of code 
in RemoteBlast.pm:
     if( $response->is_success ) {
         my $size = -s $tempfile;
         if( $size > 1000 ) {
             my $blastobj;
             if( $self->readmethod =~ /BPlite/ ) {
                 $blastobj = new Bio::Tools::BPlite(-file => $tempfile);
             } else {
                 $blastobj = new Bio::SearchIO(-file => $tempfile,
                                               -format => 'blast');
             }
             #save tempfile
             $self->file($tempfile);
             return $blastobj;

The file $tempfile contains the HTML before parsing. If you replace the 
code in the if($size > 1000) block with whatever processing you prefer, 
if any, that should do it.

Nathan: Any graphical browser will do to look at the contents of 
$tempfile. If you're not getting pairwise alignments, any browser at 
all will do in fact. Just point the browser at
	file://<full_path_to_file>/your_results_file
If your users are familiar with a particular browser, this might be the 
most comfortable and easy solution for them. Alternatively, most recent 
text editors also display HTML properly (TextEdit on Mac, Word, etc.).

Hope this helps!
Madeleine



More information about the Bioperl-l mailing list