#!/usr/bin/perl use Bio::Tools::Run::RemoteBlast; use strict; my $form_info; my @pairs; my $pair; my $field_name; my $value; my %FORM; my $request_method; if ($request_method eq "POST") { my $form_info = ; } else { $form_info = $ENV{'QUERY_STRING'}; } my @pairs = split(/&/, $form_info); foreach my $pair (@pairs) { ($field_name, $value) = split(/=/,$pair); $value =~ tr/+/ /; $value =~ s/%(..)/pack("C", hex($1))/eg; $FORM{$field_name} = $value; } my $db; #my $seq=$FORM{seq}; #my $gap=$FORM{gap}; #my $matrix=$FORM{matrix}; #my $entrez=$FORM{entrez}; #my $e_val =$FORM{eval}; #my $word =$FORM{word}; #my $hit =$FORM{hit}; my $seq='sequence.fasta';#$ARGV[0]; my $prog='blastn'; my $genetic=""; my $gap="";#$ARGV[1]; my $matrix="";#$ARGV[2]; my $entrez=""; my $e_val ='1e-10';#$ARGV[3]; my $word =28;#$ARGV[4]; my $hit =10;#$ARGV[5]; my @params = ( '-prog' => $prog, '-data' => $db, '-expect' => $e_val, '-readmethod' => 'SearchIO' ); my $factory = Bio::Tools::Run::RemoteBlast->new(@params); $Bio::Tools::Run::RemoteBlast::HEADER{'ENTREZ_QUERY'} = $entrez if($entrez ne ""); $Bio::Tools::Run::RemoteBlast::HEADER{'DB_GENETIC_CODE'} = $genetic if($genetic ne ""); $Bio::Tools::Run::RemoteBlast::HEADER{'HITLIST_SIZE'}= $hit; $Bio::Tools::Run::RemoteBlast::HEADER{'MATRIX_NAME'}= $matrix if ($matrix ne ""); $Bio::Tools::Run::RemoteBlast::HEADER{'GAPCOSTS'}= $gap if ($gap ne ""); $Bio::Tools::Run::RemoteBlast::HEADER{'WORD_SIZE'}= $word; #$Bio::Tools::Run::RemoteBlast::RETRIEVALHEADER{'FORMAT_TYPE'}='HTML'; #$Bio::Tools::Run::RemoteBlast::RETRIEVALHEADER{'RESULTS_FILE'}='yes'; my $str = Bio::SeqIO->new(-file=>$seq , '-format' => 'fasta' ); while (my $input = $str->next_seq()) { my $r = $factory->submit_blast($input); 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); } } else { my $result = $rc->next_result(); my $filename = "result.blast"; $factory->save_output($filename); $factory->remove_rid($rid); } } } } open FILE, "result.blast"; my @arr=; close FILE; print "Content-type:text/html\r\n\r\n"; print ""; print ""; print "Result"; print ""; print ""; print ""; print ""; print "";