[Bioperl-l] Modify wwwBLAST html report

Rytsareva, Inna (I) IRytsareva at dow.com
Thu Jul 9 20:33:01 UTC 2009


Hello.

Thanks so much for your help!!

I need some ideas how to get follow:

There is a wwwBLAST html report from blast.real. And I have references
(maybe I'll place them in an array of strings). Each string is a
reference to GBrowse for each HSP.

Like: <a
href=http://eluxb08/cgi-bin/gbrowse/gbrowse/ssp_wt/?ref=AS398_CO295;star
t=188396;stop=189355;add=AS398_CO295%20BLAST%20HSP%281%29%20188396..1893
55;h_region=AS398_CO295:188396..189355> HSP  188396 189355</a><br>

So, I'd need to modify this HTML page and "push" a reference between
Sbjct and Score or between tags </PRE> and <PRE> for each HSP.
 
For now my script is:
########################################################################
############################
#!/usr/bin/perl

#
# $Id: blast.cgi,v 1.1 2002/08/06 19:03:51 dondosha Exp $
#

$|=1;
use CGI::Pretty qw (:standard);
use CGI::Carp qw (fatalsToBrowser);
use CGI;


use HTML::Strip;

use IO::String;
use List::Util qw (min max);
use Switch;
use File::Temp qw/ tempfile tempdir /;


use Data::Dumper;

use Bio::SearchIO;
use Bio::SearchIO::blast;


print "Content-type: text/html \n\n";

$ENV{DEBUG_COMMAND_LINE} = TRUE;
$ENV{BLASTDB} = "db";

open (BLAST,"cat $blast_form_data |./blast.REAL|");
@blast = <BLAST>;
my $hs = new HTML::Strip;

my ($o_f,$out_file) = tempfile();
open (OUTFILE,">$out_file");

foreach $blast (@blast)
{
print $blast; # printing BLAST 
my $text=$hs->parse($blast);
print OUTFILE $text;
}
close OUTFILE;
$hs->eof;

my $q = new CGI;

my $in = Bio::SearchIO->new (  	-file 	=>$out_file,
				-format =>'blast') or die $!;

while (my $result = $in->next_result) 
{
	while (my $hit = $result->next_hit)
	{
		while (my $hsp = $hit->next_hsp) 	
		{
			$qhit = $hit->name;
			$qstart = $hsp->hit->start;
			$qend = $hsp->hit->end;

			print"<a
href=http://eluxb08/cgi-bin/gbrowse/gbrowse/chado-ssp_wt/?ref=$qhit;star
t=$qstart;stop=$qend;add=$qhit%20BLAST%20HSP%281%29%20$qstart..$qend;h_r
egion=$qhit:$qstart..$qend> HSP $qname $qstart $qend</a><br>\n";

unlink $out_file;			
		}
				
	}
			
}

########################################################################
########################

It prints the BLAST report and then the links.

Thanks,

Inna Rytsareva
Discovery Information Management
Dow AgroSciences
Indianapolis, IN 
317-337-4716





More information about the Bioperl-l mailing list