[Bioperl-l] OK for aa seq but not a na seq on RemoteBlast.pmversion 1.28

Chris Fields cjfields at uiuc.edu
Mon Feb 20 17:01:15 EST 2006


Guojun Yang pointed out that his BLAST output was still not parsed
correctly, so I posted another change:

http://bugzilla.bioperl.org/show_bug.cgi?id=1934

The direct link for the module is:

http://bugzilla.bioperl.org/attachment.cgi?id=289&action=view

Note that all caveats (can't sue if computer blows up, this is a very
preliminary bugfix, etc.) apply.

Apparently, NCBI has changed blastn and tblastx output to show features in
the region for each HSP, starting with the either one of the following
lines:

 Features in this part of subject sequence:
 Features flanking this part of subject sequence:

If you're using Bio::SearchIO::blast previous to Dec. 2005, BLAST 2.2.13,
most blastn or tblastx report parsing seems to choke on these lines, unless
you are pretty lucky.  This extra little feature was introduced a while back
for large contigs and chromosomes (~BLAST 2.2.10) but was not set by default
and hadn't starting affecting web output until this last fall.  The first
fix I posted caught only the first version but not the second

The fix included a loop with debugging output to bypass this for now.  If
you use SearchIO directly for parsing (not through RemoteBlast) you can see
the bypassed lines by setting the '-verbose' flag to 1.

Thanks to Guojun Yang for pointing this out.

Christopher Fields
Postdoctoral Researcher - Switzer Lab
Dept. of Biochemistry
University of Illinois Urbana-Champaign 


> -----Original Message-----
> From: bioperl-l-bounces at lists.open-bio.org [mailto:bioperl-l-
> bounces at lists.open-bio.org] On Behalf Of Chris Fields
> Sent: Monday, February 20, 2006 11:01 AM
> To: 'Pieter Monsieurs'; gyang at plantbio.uga.edu
> Cc: bioperl-l at lists.open-bio.org
> Subject: Re: [Bioperl-l] OK for aa seq but not a na seq on
> RemoteBlast.pmversion 1.28
> 
> I have added a preliminary bugfix for the problems seen with nucleotide
> blast parsing for BLAST 2.2.13 reports.  I passed SearchIO::blast through
> perltidy to space out the blocks (really for my own purposes; it's a
> pretty
> complex module).  The fix bypasses the extra lines output for blastn and
> tblastx and now seems to parse the text output for those reports
> correctly.
> I tested it using all NCBI BLAST flavors for the last two version of BLAST
> (2.2.12 and 2.2.13); the fix was simple so shouldn't break any other BLAST
> report parsing, such as WU-BLAST, RPS-BLAST, or Paracel.  It has only been
> tested on MacOSX at the moment, so I need people out there to test it out
> on
> anything they can to make sure it works before committing.  I'll be trying
> it on Windows today.  Report back to me and I'll post anything on
> bugzilla.
> 
> Here it is:
> 
> http://bugzilla.bioperl.org/show_bug.cgi?id=1934
> 
> 
> Christopher Fields
> Postdoctoral Researcher - Switzer Lab
> Dept. of Biochemistry
> University of Illinois Urbana-Champaign
> 
> 
> > -----Original Message-----
> > From: bioperl-l-bounces at lists.open-bio.org [mailto:bioperl-l-
> > bounces at lists.open-bio.org] On Behalf Of Pieter Monsieurs
> > Sent: Thursday, February 16, 2006 3:46 AM
> > To: gyang at plantbio.uga.edu
> > Cc: bioperl-l at lists.open-bio.org; Chris Fields
> > Subject: Re: [Bioperl-l] OK for aa seq but not a na seq on
> RemoteBlast.pm
> > version 1.28
> >
> > Hi,
> >
> > I have the same problem with the blast.pm-file.
> > The people of NCBI added some extra info when giving the Blast-output.
> > (see e.g. "Features flanking this part..." or "Features in this part
> > ..."), example added.
> > The blast.pm module starts looking for the hsp-alignement-information,
> > but it dies when it hits this Feature-information.
> >
> > Pieter
> >
> >
> > >gi|77552765|gb|DP000011.1|
> >
> <http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=Nucleotide&
> > list_uids=77552765&dopt=GenBank> Oryza sativa (japonica cultivar-group)
> > chromosome 12, complete
> >
> > sequence
> > Length=27492551
> >
> >  Features flanking this part of subject sequence:
> >
> > 3726 bp at 5' side: transposon protein, putative, CACTA, En/Spm sub-
> class
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=19251479&to=19253693&view=gbwithparts>
> >
> > 2655 bp at 3' side: hypothetical protein
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=19260091&to=19260600&view=gbwithparts>
> >
> >  Score = 36.2 bits (18),  Expect = 0.22
> >  Identities = 18/18 (100%), Gaps = 0/18 (0%)
> >  Strand=Plus/Minus
> >
> > Query  4         GTACTACTCTACTCTACT  21
> >                  ||||||||||||||||||
> >
> > Sbjct  19257436  GTACTACTCTACTCTACT  19257419
> >
> >
> >  Features flanking this part of subject sequence:
> >
> > 2991 bp at 5' side: hypothetical protein
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=27003164&to=27003907&view=gbwithparts>
> >    1131 bp at 3' side: hypothetical protein
> >
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=27008046&to=27010752&view=gbwithparts>
> >
> >  Score = 36.2 bits (18),  Expect = 0.22
> >  Identities = 18/18 (100%), Gaps = 0/18 (0%)
> >  Strand=Plus/Minus
> >
> > Query  2         ATGTACTACTCTACTCTA  19
> >                  ||||||||||||||||||
> > Sbjct  27006915  ATGTACTACTCTACTCTA  27006898
> >
> >
> >
> >  Features in this part of subject sequence:
> >    DHHC zinc finger domain, putative
> >
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=17614825&to=17618687&view=gbwithparts>
> >
> >  Score = 34.2 bits (17),  Expect = 0.87
> >  Identities = 17/17 (100%), Gaps = 0/17 (0%)
> >  Strand=Plus/Plus
> >
> > Query  5         TACTACTCTACTCTACT  21
> >                  |||||||||||||||||
> > Sbjct  17616437  TACTACTCTACTCTACT  17616453
> >
> >
> >
> >  Features flanking this part of subject sequence:
> >    102 bp at 5' side: bZIP transcription factor, putative
> >
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=2774964&to=2775778&view=gbwithparts>
> >    3740 bp at 3' side: yeast dcp1, putative
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=2779635&to=2782508&view=gbwithparts>
> >
> >  Score = 32.2 bits (16),  Expect =
> > 3.4
> >  Identities = 16/16 (100%), Gaps = 0/16 (0%)
> >  Strand=Plus/Plus
> >
> > Query  7        CTACTCTACTCTACTC  22
> >                 ||||||||||||||||
> > Sbjct  2775880  CTACTCTACTCTACTC  2775895
> >
> >
> >  Features flanking this part of subject sequence:
> >
> >    21 bp at 5' side: peptide transporter T17F3.11, putative
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=27321354&to=27323117&view=gbwithparts>
> >
> > 10230 bp at 3' side: transposon protein, putative, unclassified
> >
> <http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val=77552765&db=Nucleotide
> > &from=27333383&to=27334285&view=gbwithparts>
> >
> >  Score = 32.2 bits (16),  Expect = 3.4
> >  Identities = 16/16 (100%), Gaps = 0/16 (0%)
> >  Strand=Plus/Minus
> >
> > Query  7         CTACTCTACTCTACTC  22
> >
> >                  ||||||||||||||||
> > Sbjct  27323153  CTACTCTACTCTACTC  27323138
> >
> >
> >
> >
> > Guojun Yang wrote:
> >
> > >Hi, Chris,
> > >Finally the remoteblast test script works for the amino.fa query. but
> > when I try a nucleic acid sequence (see below), Error occurs:
> > >"
> > >waiting........
> > >------------- EXCEPTION  -------------
> > >MSG: no data for midline  Features flanking this part of subject
> > sequence:
> > >STACK Bio::SearchIO::blast::next_result
> > /usr/lib/perl5/site_perl/5.8.3/Bio/Searc
> > hIO/blast.pm:1172
> > >STACK toplevel remoteblast_test:40
> > >"
> > >The query sequence is:
> > >CTCCCTCCGTCTCAAAATATTTGACGCCGTTGACTTTTTACTAAAAATGTTTGACCGTTC
> > >GTCTTATTTAAAAAATTTAAGTAATTATTAATTCTTTTCCTATCATTTGATTTATTGTTA
> > >AATATATTTTTATGTATACATATAGTTTTACATATTTCACAAAAAATTTTGAATAAGACG
> > >AACGGTCAAATATGTTTTAAAAAGTCAACGGTGTCAAACATTTAGAAACGGAGGGAG
> > >
> > >The script (basically same as the remoteblast test, I only changed
> > database to 'nr' and program to 'blastn' and filename to 'ost3'):
> > >#!/usr/bin/perl
> > >
> > >use Bio::SeqIO;
> > >use Bio::Seq;
> > >use Bio::Tools::Run::RemoteBlast;
> > >use Bio::SearchIO;
> > >use strict;
> > >my $prog='blastn';
> > >my $db='nr';
> > >my $e_val=1e-10;
> > >my @params=( -prog=>$prog,
> > >	-data=>$db,
> > >	-expect=>$e_val,
> > >	-readmethod=>'SearchIO');
> > >my $factory=Bio::Tools::Run::RemoteBlast->new(@params);
> > >
> > >my $v = 1;
> > >
> > >my $str = Bio::SeqIO->new(-file=>'ost3' , -format => 'fasta' );
> > >
> > >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";
> > >          }
> > >        }
> > >      }
> > >    }
> > >  }
> > >}
> > >
> > >
> > >Do you think there might still be something in the NCBI output format?
> > >
> > >Thank you,
> > >Guojun
> > >
> > >
> > >
> > >
> > >Guojun Yang
> > >Department of Plant Biology
> > >University of Georgia
> > >Tel: 706-542-1857
> > >Fax: 706-542-1805
> > >http://www.arches.uga.edu/~guojun
> > >
> > >
> > >
> > >----- Original Message -----
> > >From: Chris Fields [mailto:cjfields at uiuc.edu]
> > >To: gyang at plantbio.uga.edu, bioperl-l at lists.open-bio.org
> > >Subject: FW: [Bioperl-l] more on RemoteBlast.pm version 1.2
> > >
> > >
> > >
> > >
> > >>Sorry, forgot to add that I didn't see the regex issue that you
> > mentioned.
> > >>It could be a perl-related issue.  Try the fixes I mentioned and see
> > what
> > >>happens.
> > >>
> > >>
> > >>>Christopher Fields
> > >>>
> > >>>
> > >>Postdoctoral Researcher - Switzer Lab
> > >>Dept. of Biochemistry
> > >>University of Illinois Urbana-Champaign
> > >>
> > >>
> > >>>>>-----Original Message-----
> > >>>>>
> > >>>>>
> > >>>From: Chris Fields [mailto:cjfields at uiuc.edu]
> > >>>Sent: Tuesday, February 14, 2006 12:36 PM
> > >>>To: 'gyang at plantbio.uga.edu'
> > >>>Subject: RE: [Bioperl-l] more on RemoteBlast.pm version 1.2
> > >>>
> > >>>
> > >>>>>It's a good habit to always add single quotes around words.  The
> perl
> > >>>>>
> > >>>>>
> > >>>interpreter may think a single bare word is a subroutine or perlfunc
> > >>>called with no args so will try to find a subroutine named blastp().
> > My
> > >>>debugger actually gives the error that the bare word blastp may
> > conflict
> > >>>with a future reserved word.  Like you said, 'use strict' will point
> > that
> > >>>out.
> > >>>
> > >>>
> > >>>>>As for the regex, it should match all the blast programs at NCBI
> > (blastp,
> > >>>>>
> > >>>>>
> > >>>blastn, blastx, tblastn, tblastx) and is built-in to make sure
> nothing
> > >>>else passes through.
> > >>>
> > >>>
> > >>>>>So, if you are using the script below, there are several errors.
> The
> > bare
> > >>>>>
> > >>>>>
> > >>>words for $prog and $db need quotes, and the flags for you @params
> > array
> > >>>don't have a dash before them.  I get this after adding quotes but
> > before
> > >>>adding the dashes to @params:
> > >>>
> > >>>
> > >>>>>C:\Perl\Scripts>test_blast.pl
> > >>>>>------------- EXCEPTION: Bio::Root::Exception -------------
> > >>>>>
> > >>>>>
> > >>>MSG:
> > >>>STACK: Error::throw
> > >>>STACK: Bio::Root::Root::throw C:\Perl\src\bioperl\bioperl-
> > >>>live/Bio/Root/Root.pm:328
> > >>>STACK: Bio::Tools::Run::RemoteBlast::submit_parameter
> > >>>C:\Perl\src\bioperl\bioperl-live/Bio/Tools/Run/RemoteBlast.pm:325
> > >>>STACK: Bio::Tools::Run::RemoteBlast::new C:\Perl\src\bioperl\bioperl-
> > >>>live/Bio/Tools/Run/RemoteBlast.pm:256
> > >>>STACK: C:\Perl\Scripts\test_blast.pl:15
> > >>>-----------------------------------------------------------
> > >>>
> > >>>
> > >>>>>The last line indicates a problem with this line:
> > >>>>>my $factory=Bio::Tools::Run::RemoteBlast->new(@params);
> > >>>>>Changing the @params to this:
> > >>>>>my @params=( -prog=>$prog,
> > >>>>>
> > >>>>>
> > >>>	-data=>$db,
> > >>>	-expect=>$e_val,
> > >>>	-readmethod=>'SearchIO');
> > >>>
> > >>>
> > >>>>>fixes it, and I get output as expected.
> > >>>>>Christopher Fields
> > >>>>>
> > >>>>>
> > >>>Postdoctoral Researcher - Switzer Lab
> > >>>Dept. of Biochemistry
> > >>>University of Illinois Urbana-Champaign
> > >>>
> > >>>
> > >>>>>>>>-----Original Message-----
> > >>>>>>>>
> > >>>>>>>>
> > >>>>From: Guojun Yang [mailto:gyang at plantbio.uga.edu]
> > >>>>Sent: Tuesday, February 14, 2006 11:48 AM
> > >>>>To: Chris Fields; bioperl-l at lists.open-bio.org
> > >>>>Subject: RE: [Bioperl-l] more on RemoteBlast.pm version 1.2
> > >>>>
> > >>>>Hi, Chris,
> > >>>>When I tried with the perldoc script, It did not work either. First
> it
> > >>>>says $prog can not be bare word if I "use strict". I added quotes on
> > the
> > >>>>words, then it says the value for $prog does not match expression
> > >>>>t?blast[pnx]. Rejecting. STACK ...RemoteBlast.pm 325 and 256.  The
> > >>>>
> > >>>>
> > >>>script
> > >>>
> > >>>
> > >>>>is shown below. Why is the expression "t?blast[pnx]"?
> > >>>>
> > >>>>#!/usr/bin/perl
> > >>>>
> > >>>>use Bio::SeqIO;
> > >>>>use Bio::Seq;
> > >>>>use Bio::Tools::Run::RemoteBlast;
> > >>>>use Bio::SearchIO;
> > >>>>
> > >>>>
> > >>>>my $prog=blastp;
> > >>>>my $db=swissprot;
> > >>>>my $e_val=1e-10;
> > >>>>my @params=( prog=>$prog,
> > >>>>	data=>$db,
> > >>>>	expect=>$e_val,
> > >>>>	readmethod=>'SearchIO');
> > >>>>my $factory=Bio::Tools::Run::RemoteBlast->new(@params);
> > >>>>
> > >>>>my $v = 1;
> > >>>>
> > >>>>my $str = Bio::SeqIO->new(-file=>'amino.fa' , -format => 'fasta' );
> > >>>>
> > >>>>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";
> > >>>>          }
> > >>>>        }
> > >>>>      }
> > >>>>    }
> > >>>>  }
> > >>>>}
> > >>>>
> > >>>>Thank you for your help!
> > >>>>
> > >>>>
> > >>>>Guojun
> > >>>>Department of Plant Biology
> > >>>>University of Georgia
> > >>>>
> > >>>>----- Original Message -----
> > >>>>From: Chris Fields [mailto:cjfields at uiuc.edu]
> > >>>>To: gyang at plantbio.uga.edu
> > >>>>Subject: RE: [Bioperl-l] more on RemoteBlast.pm version 1.28
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>>Try two things:
> > >>>>>
> > >>>>>
> > >>>>>>1)  Use a much simpler script, like the one in 'perldoc
> > >>>>>>
> > >>>>>>
> > >>>>>Bio::Tools::Run::RemoteBlast'.  If this fixes it, there's something
> > >>>>>
> > >>>>>
> > >>>>wrong
> > >>>>
> > >>>>
> > >>>>>with the logic in your subroutine:
> > >>>>>
> > >>>>>
> > >>>>>>my $v = 1;
> > >>>>>>my $str = Bio::SeqIO->new(-file=>'amino.fa' , -format => 'fasta'
> );
> > >>>>>>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";
> > >>>>>          }
> > >>>>>        }
> > >>>>>      }
> > >>>>>    }
> > >>>>>  }
> > >>>>>}
> > >>>>>
> > >>>>>
> > >>>>>>2) Try the RemoteBlast from Bugzilla and see if that works.  It
> > >>>>>>
> > >>>>>>
> > >>>really
> > >>>
> > >>>
> > >>>>>shouldn't make that much of a difference, but I noticed that the
> CVS
> > >>>>>RemoteBlast (1.28) was changed in Dec 2005, after bioperl-1.5.1 was
> > >>>>>released; the Bugzilla version is based off CVS.
> > >>>>>
> > >>>>>
> > >>>>>>Christopher Fields
> > >>>>>>
> > >>>>>>
> > >>>>>Postdoctoral Researcher - Switzer Lab
> > >>>>>Dept. of Biochemistry
> > >>>>>University of Illinois Urbana-Champaign
> > >>>>>
> > >>>>>
> > >>>>>>>-----Original Message-----
> > >>>>>>>
> > >>>>>>>
> > >>>>>>From: bioperl-l-bounces at lists.open-bio.org [mailto:bioperl-l-
> > >>>>>>bounces at lists.open-bio.org] On Behalf Of Guojun Yang
> > >>>>>>Sent: Monday, February 13, 2006 3:00 PM
> > >>>>>>To: bioperl-l at lists.open-bio.org
> > >>>>>>Subject: Re: [Bioperl-l] more on RemoteBlast.pm version 1.28
> > >>>>>>
> > >>>>>>
> > >>>>>>>>Thanks, Chris,
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>I installed version 1.5.1 and replaced the blast.pm file with the
> > >>>>>>
> > >>>>>>
> > >>>one
> > >>>
> > >>>
> > >>>>from
> > >>>>
> > >>>>
> > >>>>>>your bug report. The running version is 1.5 when I use the command
> > >>>>>>
> > >>>>>>
> > >>>you
> > >>>
> > >>>
> > >>>>>>sent me. But when I tried the script, it doesn't change much. My
> > >>>>>>remoteblast code (portion) is here:
> > >>>>>>
> > >>>>>>
> > >>>>>>>>sub search {
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>local
> $Bio::Tools::Run::RemoteBlast::HEADER{'ENTREZ_QUERY'}="$ORGN";
> > >>>>>>local $Bio::Tools::Run::RemoteBlast::HEADER{'WORD_SIZE'}=7;
> > >>>>>>local $Bio::Tools::Run::RemoteBlast::HEADER{'HITLIST_SIZE'}=5000;
> > >>>>>>local
> > >>>>>>
> > >>>>>>
> > >>>>>>
> >
> >>>$Bio::Tools::Run::RemoteBlast::HEADER{'COMPOSITION_BASED_STATISTICS'}=
> > >>>
> > >>>
> > >>>>>>'no';
> > >>>>>>local $Bio::Tools::Run::RemoteBlast::HEADER{'GAPCOSTS'}='3 1';
> > >>>>>>my $query = Bio::Seq -> new ( -seq=>"$_[0]",
> > >>>>>>			      -id=>"query",
> > >>>>>>			      -desc=>"new seq");
> > >>>>>>my $len=$query->length();
> > >>>>>>@db=('nr','htgs','wgs');
> > >>>>>>foreach my $db (@db) {
> > >>>>>>my $factory = Bio::Tools::Run::RemoteBlast->new('-prog'
> =>'blastn',
> > >>>>>>						'-data' =>"$db",
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>'-expect'=>"$E_value");
> > >>
> > >>
> > >>>>>>>>>>my $blast_report = $factory->submit_blast($query);
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>my @rids = $factory->each_rid();
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>foreach my $rid ( @rids ) {
> > >>>>>>    print STDERR "$rid\n";
> > >>>>>>}
> > >>>>>># RID = Remote Blast ID (e.g: 1017772174-16400-6638)
> > >>>>>>print STDERR "waiting...";
> > >>>>>>sleep 60;
> > >>>>>>
> > >>>>>>
> > >>>>>>>>foreach my $rid ( @rids ) {
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>    my $rc = $factory->retrieve_blast($rid);
> > >>>>>>    while (!ref($rc) ) {
> > >>>>>>	if( $rc < 0 ) {
> > >>>>>># retrieve_blast returns -1 on error
> > >>>>>>	    $factory->remove_rid($rid);
> > >>>>>>	    print "Error!\n";
> > >>>>>>	    send_error($email,$function,$seqname,$queryname[$ST]);
> > >>>>>>	    die "Can't retrieve $rid";
> > >>>>>>	} if ($rc==0) { # retrieve_blast returns 0 on 'job not
> > >>>>>>
> > >>>>>>
> > >>>finished'
> > >>>
> > >>>
> > >>>>>>	    sleep 60;
> > >>>>>>	    $rc = $factory->retrieve_blast($rid);
> > >>>>>>	}
> > >>>>>>    }
> > >>>>>>    if (ref($rc)) {
> > >>>>>>	print STDERR "Done.\n";
> > >>>>>>	 while( my $result = $rc->next_result) {
> > >>>>>>	    while( my $hit = $result->next_hit()) {
> > >>>>>>	    	$hit_name=$hit->name;
> > >>>>>>		$hit_name =~ /\S+[|](\S+)[.]\d+[|].*/;
> > >>>>>>		$name=$1;
> > >>>>>>		@left_plus_start=();
> > >>>>>>		@left_plus_end=();
> > >>>>>>		@left_minus_start=();
> > >>>>>>		@left_minus_end=();
> > >>>>>>		@right_plus_start=();
> > >>>>>>		@right_plus_end=();
> > >>>>>>		@right_minus_start=();
> > >>>>>>		@right_minus_end=();
> > >>>>>>
> > >>>>>>
> > >>>>>>>>		if (!($name =~ /^[a-zA-Z][a-zA-Z]\_\d{6}/i)) {
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>		while( my $hsp = $hit->next_hsp()) {
> > >>>>>>......
> > >>>>>>
> > >>>>>>
> > >>>>>>>>It was working quite well before around October laster year, but
> > >>>>>>>>
> > >>>>>>>>
> > >>>>it has
> > >>>>
> > >>>>
> > >>>>>>stopped since then, When a submission is sent via a webpage, the
> cgi
> > >>>>>>starts to work and use a memory of ~20 Mb. Then it hangs there,
> > >>>>>>
> > >>>>>>
> > >>>>finally
> > >>>>
> > >>>>
> > >>>>>>the expected email is received but without real results although
> it
> > >>>>>>
> > >>>>>>
> > >>>>does
> > >>>>
> > >>>>
> > >>>>>>contain something from other parts of the script. Apparently the
> > >>>>>>
> > >>>>>>
> > >>>>search
> > >>>>
> > >>>>
> > >>>>>>sub did not return anything (I know there is something should be
> > >>>>>>returned.). Is it also possible the format of the NCBI output for
> > >>>>>>
> > >>>>>>
> > >>>each
> > >>>
> > >>>
> > >>>>>>result has changed?
> > >>>>>>Thank you,
> > >>>>>>Guojun
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>Department of Plant Biology
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>University of Georgia
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>>>----- Original Message -----
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>From: Chris Fields [mailto:cjfields at uiuc.edu]
> > >>>>>>To: gyang at plantbio.uga.edu, bioperl-l at lists.open-bio.org
> > >>>>>>Subject: RE: [Bioperl-l] more on RemoteBlast.pm version 1.28
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>>How do you know two versions are installed (i.e. how are
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>you
> > >>>
> > >>>
> > >>>>checking
> > >>>>
> > >>>>
> > >>>>>>the
> > >>>>>>
> > >>>>>>
> > >>>>>>>version)?  Do you see have two complete bioperl distributions (in
> > >>>>>>>
> > >>>>>>>
> > >>>>two
> > >>>>
> > >>>>
> > >>>>>>>separate directories) or are you looking in modules?  Here's the
> > >>>>>>>
> > >>>>>>>
> > >>>way
> > >>>
> > >>>
> > >>>>to
> > >>>>
> > >>>>
> > >>>>>>>check the version (from the FAQ):
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>>perl -MBio::Root::Version -e 'print
> > >>>>>>>>
> > >>>>>>>>
> > >>>>$Bio::Root::Version::VERSION,"\n"'
> > >>>>
> > >>>>
> > >>>>>>>>If you have two full bioperl distributions on your computer,
> > >>>>>>>>
> > >>>>>>>>
> > >>>>normally
> > >>>>
> > >>>>
> > >>>>>>only
> > >>>>>>
> > >>>>>>
> > >>>>>>>one will be in use unless you have explicitly set the environment
> > >>>>>>>
> > >>>>>>>
> > >>>>>>variable
> > >>>>>>
> > >>>>>>
> > >>>>>>>PERL5LIB.  The PERL5LIB  directories will be searched first
> before
> > >>>>>>>
> > >>>>>>>
> > >>>>your
> > >>>>
> > >>>>
> > >>>>>>>normal perl directory list (@INC) is searched.  You MAY get some
> > >>>>>>>
> > >>>>>>>
> > >>>>mixing
> > >>>>
> > >>>>
> > >>>>>>>then, but only if perl can't find a particular module in the path
> > >>>>>>>
> > >>>>>>>
> > >>>>>>designated
> > >>>>>>
> > >>>>>>
> > >>>>>>>in PERL5LIB; then it will progress through the directories listed
> > >>>>>>>
> > >>>>>>>
> > >>>in
> > >>>
> > >>>
> > >>>>>>@INC.
> > >>>>>>
> > >>>>>>
> > >>>>>>>This may happen if a module is unique to a particular release,
> but
> > >>>>>>>
> > >>>>>>>
> > >>>>>>shouldn't
> > >>>>>>
> > >>>>>>
> > >>>>>>>happen for the majority of modules, including RemoteBlast.  You
> > >>>>>>>
> > >>>>>>>
> > >>>can
> > >>>
> > >>>
> > >>>>>>check
> > >>>>>>
> > >>>>>>
> > >>>>>>>what @INC and PERL5LIB are set to by using 'perl -V'.  @INC will
> > >>>>>>>
> > >>>>>>>
> > >>>>differ
> > >>>>
> > >>>>
> > >>>>>>>depending on your OS, perl build, etc.
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>>Regardless, if you follow the directions for installing bioperl
> > >>>>>>>>
> > >>>>>>>>
> > >>>>for
> > >>>>
> > >>>>
> > >>>>>>your
> > >>>>>>
> > >>>>>>
> > >>>>>>>system ('perl Makefile.PL', 'make', 'make test', 'make install',
> > >>>>>>>
> > >>>>>>>
> > >>>>unless
> > >>>>
> > >>>>
> > >>>>>>you
> > >>>>>>
> > >>>>>>
> > >>>>>>>explicitly change the installation directory when using 'perl
> > >>>>>>>
> > >>>>>>>
> > >>>>>>Makefile.PL'),
> > >>>>>>
> > >>>>>>
> > >>>>>>>then 'uninstalling' Bioperl shouldn't be a problem as it will
> > >>>>>>>
> > >>>>>>>
> > >>>>install
> > >>>>
> > >>>>
> > >>>>>>the
> > >>>>>>
> > >>>>>>
> > >>>>>>>Bioperl distribution you downloaded over the old version in @INC.
> > >>>>>>>
> > >>>>>>>
> > >>>>See
> > >>>>
> > >>>>
> > >>>>>>this
> > >>>>>>
> > >>>>>>
> > >>>>>>>page:
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>>http://bioperl.open-bio.org/SRC/bioperl-live/INSTALL
> > >>>>>>>>for more details.
> > >>>>>>>>Christopher Fields
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>Postdoctoral Researcher - Switzer Lab
> > >>>>>>>Dept. of Biochemistry
> > >>>>>>>University of Illinois Urbana-Champaign
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>>>>-----Original Message-----
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>From: bioperl-l-bounces at lists.open-bio.org [mailto:bioperl-l-
> > >>>>>>>>bounces at lists.open-bio.org] On Behalf Of Guojun Yang
> > >>>>>>>>Sent: Monday, February 13, 2006 12:32 PM
> > >>>>>>>>To: bioperl-l at lists.open-bio.org
> > >>>>>>>>Subject: [Bioperl-l] more on RemoteBlast.pm version 1.28
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>Hi, Chris,
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>I do have different versions of bioperl on my Linux machine
> > >>>>>>>>
> > >>>>>>>>
> > >>>(1.4.
> > >>>
> > >>>
> > >>>>and
> > >>>>
> > >>>>
> > >>>>>>>>1.5.0), this may be the problem. Should I just install bioperl-
> > >>>>>>>>
> > >>>>>>>>
> > >>>>1.5.1
> > >>>>
> > >>>>
> > >>>>>>or I
> > >>>>>>
> > >>>>>>
> > >>>>>>>>need to uninstall and remove the previous versions. I could not
> > >>>>>>>>
> > >>>>>>>>
> > >>>>find
> > >>>>
> > >>>>
> > >>>>>>any
> > >>>>>>
> > >>>>>>
> > >>>>>>>>hint on uninstalling bioperl on linux. Could you please give me
> > >>>>>>>>
> > >>>>>>>>
> > >>>>some
> > >>>>
> > >>>>
> > >>>>>>>>suggestion?
> > >>>>>>>>Thanks,
> > >>>>>>>>Guojun
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>Department of Plant Biology
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>University of Georgia
> > >>>>>>>>      _____
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>  From: Chris Fields [mailto:cjfields at uiuc.edu]
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>To: gyang at plantbio.uga.edu, bioperl-l at lists.open-bio.org
> > >>>>>>>>Sent: Mon, 13 Feb 2006 11:45:14 -0500
> > >>>>>>>>Subject: RE: [Bioperl-l] more question regarding RemoteBlast.pm
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>version
> > >>>>>>
> > >>>>>>
> > >>>>>>>>1.28
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>>>>>If you're using RemoteBlast 1.28, then you've likely
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>updated from CVS
> > >>>>>>
> > >>>>>>
> > >>>>>>>>which isn't the latest fix.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>Make sure that you check the following:
> > >>>>>>>>>>1) Always post to the mailing list:
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>http://www.bioperl.org/wiki/HOWTO:Beginners#Getting_Assistance .
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>2) You must have the complete bioperl-1.5.1 or bioperl-live
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>(CVS)
> > >>>>
> > >>>>
> > >>>>>>>>installed first.  Perform a clean installation; do not upgrade
> > >>>>>>>>
> > >>>>>>>>
> > >>>>only
> > >>>>
> > >>>>
> > >>>>>>>>Bio::SearchIO::blast and Bio::Tools::Run::RemoteBlast, as we
> > >>>>>>>>
> > >>>>>>>>
> > >>>can't
> > >>>
> > >>>
> > >>>>>>>>guarantee that mixing modules from old and new distributions
> > >>>>>>>>
> > >>>>>>>>
> > >>>(1.4
> > >>>
> > >>>
> > >>>>and
> > >>>>
> > >>>>
> > >>>>>>>>1.5.1, for instance) will work.  A bioperl-1.5.1 or bioperl-live
> > >>>>>>>>installation will allow text output from BLAST v.2.2.12 to be
> > >>>>>>>>
> > >>>>>>>>
> > >>>>saved
> > >>>>
> > >>>>
> > >>>>>>and
> > >>>>>>
> > >>>>>>
> > >>>>>>>>parsed; it will not parse the newest BLAST text output from NCBI
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>(v2.2.13)
> > >>>>>>
> > >>>>>>
> > >>>>>>>>but it should still save it. I believe as long as next_results()
> > >>>>>>>>
> > >>>>>>>>
> > >>>>isn't
> > >>>>
> > >>>>
> > >>>>>>>>called, it will work.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>3) The bug fixes for the above issue with parsing BLAST
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>2.2.13
> > >>>
> > >>>
> > >>>>>>text output
> > >>>>>>
> > >>>>>>
> > >>>>>>>>are NOT in CVS; they haven't been cleared and checked in by
> > >>>>>>>>
> > >>>>>>>>
> > >>>Roger
> > >>>
> > >>>
> > >>>>Hall
> > >>>>
> > >>>>
> > >>>>>>>>(who's now taking care of RemoteBlast) and the powers that be
> > >>>>>>>>
> > >>>>>>>>
> > >>>>(Jason
> > >>>>
> > >>>>
> > >>>>>>or
> > >>>>>>
> > >>>>>>
> > >>>>>>>>whomever is in charge of Bio::SearchIO).  They can be found in
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>Bugzilla:
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>http://bugzilla.bioperl.org/show_bug.cgi?id=1934
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>http://bugzilla.bioperl.org/show_bug.cgi?id=1935
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>The fix in RemoteBlast in Bugzilla (#1935) is to allow the
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>option
> > >>>>
> > >>>>
> > >>>>>>of
> > >>>>>>
> > >>>>>>
> > >>>>>>>>saving XML output, so isn't necessary if you don't plan on using
> > >>>>>>>>
> > >>>>>>>>
> > >>>>this
> > >>>>
> > >>>>
> > >>>>>>>>option.  And, remember, they haven't been committed yet to CVS,
> > >>>>>>>>
> > >>>>>>>>
> > >>>>which
> > >>>>
> > >>>>
> > >>>>>>>>means that the final version will change to refle the new
> > >>>>>>>>
> > >>>>>>>>
> > >>>version.
> > >>>
> > >>>
> > >>>>>>>>>>>>Christopher Fields
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>Postdoctoral Researcher - Switzer Lab
> > >>>>>>>>Dept. of Biochemistry
> > >>>>>>>>University of Illinois Urbana-Champaign
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>>>    _____
> > >>>>>>>>>>>>From: Guojun Yang [mailto:gyang at plantbio.uga.edu]
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>Sent: Monday, February 13, 2006 9:26 AM
> > >>>>>>>>To: Chris Fields
> > >>>>>>>>Subject: RE: [Bioperl-l] more question regarding RemoteBlast.pm
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>version
> > >>>>>>
> > >>>>>>
> > >>>>>>>>1.28
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>>>Hi, Chris
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>Thanks for your suggestion, however, it doesn't seem to work
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>for
> > >>>>
> > >>>>
> > >>>>>>my cgi
> > >>>>>>
> > >>>>>>
> > >>>>>>>>even after I replace both blast.pm and RemoteBlast.pm. I didn't
> > >>>>>>>>
> > >>>>>>>>
> > >>>>even
> > >>>>
> > >>>>
> > >>>>>>get
> > >>>>>>
> > >>>>>>
> > >>>>>>>>any RID. Is there any suggestion?
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>>>>>Guojun
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>Guojun Yang
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>Department of Plant Biology
> > >>>>>>>>University of Georgia
> > >>>>>>>>Tel: 706-542-1857
> > >>>>>>>>Fax: 706-542-1805
> > >>>>>>>>http://www.arches.uga.edu/~guojun
> > >>>>>>>>    _____
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>>>From: Chris Fields [mailto:cjfields at uiuc.edu]
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>To: gyang at plantbio.uga.edu, bioperl-l at bioperl.org
> > >>>>>>>>Sent: Fri, 03 Feb 2006 16:07:29 -0500
> > >>>>>>>>Subject: RE: [Bioperl-l] more question regarding RemoteBlast.pm
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>version
> > >>>>>>
> > >>>>>>
> > >>>>>>>>1.28
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>I would say give the new code a try, but realize that it
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>hasn't
> > >>>>
> > >>>>
> > >>>>>>been
> > >>>>>>
> > >>>>>>
> > >>>>>>>>checked
> > >>>>>>>>in (like I said below). I will try going over the modified
> > >>>>>>>>Bio::SearchIO::blast again this weekend to see if there is
> > >>>>>>>>
> > >>>>>>>>
> > >>>>anything I
> > >>>>
> > >>>>
> > >>>>>>>>might
> > >>>>>>>>have missed. The changed order in the header of BLAST text
> > >>>>>>>>
> > >>>>>>>>
> > >>>output
> > >>>
> > >>>
> > >>>>has
> > >>>>
> > >>>>
> > >>>>>>me a
> > >>>>>>
> > >>>>>>
> > >>>>>>>>bit worried that it might not catch everything, but it at least
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>doesn't
> > >>>>>>
> > >>>>>>
> > >>>>>>>>hang
> > >>>>>>>>in the while() loop I described in the bug report below (bug
> > >>>>>>>>
> > >>>>>>>>
> > >>>>#1934)
> > >>>>
> > >>>>
> > >>>>>>and
> > >>>>>>
> > >>>>>>
> > >>>>>>>>seems to process everything fine.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>If you want more stability in the code, you might consider
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>changing over
> > >>>>>>
> > >>>>>>
> > >>>>>>>>to
> > >>>>>>>>XML output and parsing with Bio::SearchIO::blastxml. There are
> > >>>>>>>>
> > >>>>>>>>
> > >>>>some
> > >>>>
> > >>>>
> > >>>>>>>>changes
> > >>>>>>>>in Bio::Tools::Run::RemoteBlast (bug #1935) that accommodate
> > >>>>>>>>
> > >>>>>>>>
> > >>>>saving
> > >>>>
> > >>>>
> > >>>>>>XML
> > >>>>>>
> > >>>>>>
> > >>>>>>>>output, but I believe it parses everything regardless. If you
> > >>>>>>>>
> > >>>>>>>>
> > >>>look
> > >>>
> > >>>
> > >>>>>>back
> > >>>>>>
> > >>>>>>
> > >>>>>>>>the
> > >>>>>>>>last month or so there has been a bit of discussion here about
> > >>>>>>>>
> > >>>>>>>>
> > >>>it.
> > >>>
> > >>>
> > >>>>>>Jason
> > >>>>>>
> > >>>>>>
> > >>>>>>>>describes a bit on how to set up RemoteBlast for XML:
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>http://bioperl.org/news/2005/11/06/getting-blastxml-using-
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>remoteblast/
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>Christopher Fields
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>Postdoctoral Researcher - Switzer Lab
> > >>>>>>>>Dept. of Biochemistry
> > >>>>>>>>University of Illinois Urbana-Champaign
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>>-----Original Message-----
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>From: bioperl-l-bounces at lists.open-bio.org [mailto:bioperl-l-
> > >>>>>>>>>bounces at lists.open-bio.org] On Behalf Of Guojun Yang
> > >>>>>>>>>Sent: Friday, February 03, 2006 1:45 PM
> > >>>>>>>>>To: bioperl-l at bioperl.org
> > >>>>>>>>>Subject: [Bioperl-l] more question regarding RemoteBlast.pm
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>version
> > >>>>
> > >>>>
> > >>>>>>1.28
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>Hi, Everybody,
> > >>>>>>>>>I see this post and am wondering if this is the reason for the
> > >>>>>>>>>malfunctionning of my webserver. We set up a webserver named
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>MAK,
> > >>>>
> > >>>>
> > >>>>>>for
> > >>>>>>
> > >>>>>>
> > >>>>>>>>MITE
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>sequence analysis. It was working very well until around
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>November
> > >>>>
> > >>>>
> > >>>>>>2005,
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>when it stopped returning any result (the site is fine and
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>seems
> > >>>
> > >>>
> > >>>>to
> > >>>>
> > >>>>
> > >>>>>>be
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>doing sth after submission). In the CGI script, I used
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>remoteblast
> > >>>>
> > >>>>
> > >>>>>>(that
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>work was done in 2003) to do searches. I currently do not have
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>access to
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>the server because I moved. Quite several people sent emails
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>to
> > >>>
> > >>>
> > >>>>us
> > >>>>
> > >>>>
> > >>>>>>about
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>its malfunctioning. Is there any suggestion on fixing the
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>problem?
> > >>>>
> > >>>>
> > >>>>>>>>Should
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>I simplily ask the remoteblast.pm be replaced with the new
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>version?
> > >>>>
> > >>>>
> > >>>>>>>>>Thanks a lot,
> > >>>>>>>>>Guojun
> > >>>>>>>>>
> > >>>>>>>>>Department of Plant Biology
> > >>>>>>>>>University of Georgia
> > >>>>>>>>>Tel: 706-542-1857
> > >>>>>>>>>Fax: 706-542-1805
> > >>>>>>>>>http://www.arches.uga.edu/~guojun
> > >>>>>>>>>_____
> > >>>>>>>>>
> > >>>>>>>>>From: Chris Fields [mailto:cjfields at uiuc.edu]
> > >>>>>>>>>To: 'Nagesh Chakka' [mailto:nagesh.chakka at anu.edu.au], 'Huang
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>Jian'
> > >>>>
> > >>>>
> > >>>>>>>>>[mailto:hjian at kuicr.kyoto-u.ac.jp], 'bioperl-l'
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>[mailto:bioperl-
> > >>>
> > >>>
> > >>>>>>>>>l at bioperl.org]
> > >>>>>>>>>Sent: Fri, 03 Feb 2006 10:45:23 -0500
> > >>>>>>>>>Subject: Re: [Bioperl-l] RemoteBlast.pm version 1.28
> > >>>>>>>>>
> > >>>>>>>>>Like Nagesh says, try the latest RemoteBlast from bioperl-live
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>CVS.
> > >>>>
> > >>>>
> > >>>>>>It
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>will
> > >>>>>>>>>work for saving text output. However, it will not parse
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>anything
> > >>>
> > >>>
> > >>>>>>using
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>next_result (it will likely hang) and will not save XML
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>format.
> > >>>
> > >>>
> > >>>>See
> > >>>>
> > >>>>
> > >>>>>>>>these
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>bugs:
> > >>>>>>>>>
> > >>>>>>>>>http://bugzilla.bioperl.org/show_bug.cgi?id=1934
> > >>>>>>>>>http://bugzilla.bioperl.org/show_bug.cgi?id=1935
> > >>>>>>>>>
> > >>>>>>>>>for explanations and possible fixes (changes to RemoteBlast
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>and
> > >>>
> > >>>
> > >>>>>>>>>Bio::SearchIO::blast). Note that these haven't been checked in
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>yet
> > >>>>
> > >>>>
> > >>>>>>so
> > >>>>>>
> > >>>>>>
> > >>>>>>>>are
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>still not included in bioperl-live; they may be further
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>modified
> > >>>
> > >>>
> > >>>>>>before
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>committing to CVS. If you're not worried about XML, you could
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>just
> > >>>>
> > >>>>
> > >>>>>>try
> > >>>>>>
> > >>>>>>
> > >>>>>>>>the
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>first fix, which is a change to SearchIO::blast.
> > >>>>>>>>>
> > >>>>>>>>>Nagesh, I remember you posting to the list a month ago using a
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>script
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>which
> > >>>>>>>>>had problems; the script you used saves the output but doesn't
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>actually
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>parse it (i.e. you don't use next_result() to go through the
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>data).
> > >>>>
> > >>>>
> > >>>>>>Is
> > >>>>>>
> > >>>>>>
> > >>>>>>>>the
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>version of BLAST in your text output 2.2.12 or 2.2.13? Have
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>you
> > >>>
> > >>>
> > >>>>>>tried
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>parsing the output using "-readmethod => SearchIO" or "-
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>readmethod
> > >>>>
> > >>>>
> > >>>>>>=>
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>blast"
> > >>>>>>>>>using your version of RemoteBlast and method next_result()?
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>Like
> > >>>
> > >>>
> > >>>>>>below
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>(from
> > >>>>>>>>>perldoc):
> > >>>>>>>>>
> > >>>>>>>>>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 { # parsing
> > >>>>>>>>>starts here
> > >>>>>>>>>my $result = $rc->next_result(); # it should hang
> > >>>>>>>>>here
> > >>>>>>>>>#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";
> > >>>>>>>>>}
> > >>>>>>>>>}
> > >>>>>>>>>}
> > >>>>>>>>>}
> > >>>>>>>>>}
> > >>>>>>>>>}
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>My script hanged if I used next_result() in any way prior to
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>the
> > >>>
> > >>>
> > >>>>>>fixes.
> > >>>>>>
> > >>>>>>
> > >>>>>>>>I
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>want to see how many others are having the same issues with
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>parsing
> > >>>>
> > >>>>
> > >>>>>>>>using
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>the CVS version of bioperl-live.
> > >>>>>>>>>
> > >>>>>>>>>Christopher Fields
> > >>>>>>>>>Postdoctoral Researcher - Switzer Lab
> > >>>>>>>>>Dept. of Biochemistry
> > >>>>>>>>>University of Illinois Urbana-Champaign
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>>-----Original Message-----
> > >>>>>>>>>>From: bioperl-l-bounces at lists.open-bio.org [mailto:bioperl-
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>l-
> > >>>
> > >>>
> > >>>>>>>>>>bounces at lists.open-bio.org] On Behalf Of Nagesh Chakka
> > >>>>>>>>>>Sent: Thursday, February 02, 2006 7:24 PM
> > >>>>>>>>>>To: Huang Jian; bioperl-l
> > >>>>>>>>>>Subject: Re: [Bioperl-l] RemoteBlast.pm version 1.28
> > >>>>>>>>>>
> > >>>>>>>>>>Hi Huang,
> > >>>>>>>>>>Thanks for the message. The older version of RemoteBlast.pm
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>works
> > >>>>
> > >>>>
> > >>>>>>on
> > >>>>>>
> > >>>>>>
> > >>>>>>>>the
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>logic of checking the temporary file size to determine
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>whether
> > >>>
> > >>>
> > >>>>the
> > >>>>
> > >>>>
> > >>>>>>>>Blast
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>results are ready. This condition is not getting satisfied
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>may
> > >>>
> > >>>
> > >>>>be
> > >>>>
> > >>>>
> > >>>>>>due
> > >>>>>>
> > >>>>>>
> > >>>>>>>>to
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>some changes brought about by NCBI. I had this problem
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>recently
> > >>>>
> > >>>>
> > >>>>>>and
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>figured out that the solution was to use the latest version
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>which
> > >>>>
> > >>>>
> > >>>>>>has
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>this problem fixed (does not use file size logic any more)
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>which
> > >>>>
> > >>>>
> > >>>>>>is
> > >>>>>>
> > >>>>>>
> > >>>>>>>>not
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>yet included in the BioPerl package.
> > >>>>>>>>>>Cheers
> > >>>>>>>>>>Nagesh
> > >>>>>>>>>>
> > >>>>>>>>>>Huang Jian wrote:
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>>Dear Nagesh,
> > >>>>>>>>>>>
> > >>>>>>>>>>>I have replaced my old RemoteBlast.pm (v 1.17) with v 1.28
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>you
> > >>>>
> > >>>>
> > >>>>>>send
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>>me. Now it works perfectly!!!
> > >>>>>>>>>>>
> > >>>>>>>>>>>Thank you!!
> > >>>>>>>>>>>
> > >>>>>>>>>>>Huang
> > >>>>>>>>>>>
> > >>>>>>>>>>>----- Original Message ----- From: "Nagesh Chakka"
> > >>>>>>>>>>><nagesh.chakka at anu.edu.au>
> > >>>>>>>>>>>To: "Huang Jian" <hjian at kuicr.kyoto-u.ac.jp>; "bioperl-l"
> > >>>>>>>>>>><bioperl-l at bioperl.org>
> > >>>>>>>>>>>Sent: Friday, February 03, 2006 7:48 AM
> > >>>>>>>>>>>Subject: Re: [Bioperl-l] Sorry, failure in post on the
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>net,
> > >>>
> > >>>
> > >>>>so
> > >>>>
> > >>>>
> > >>>>>>still
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>>>via email
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>>>Hi Huang,
> > >>>>>>>>>>>>I see that you are submitting a sequence for a remote
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>blast
> > >>>
> > >>>
> > >>>>>>search.
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>Can
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>>>>you check if the RemoteBlast.pm being used is v 1.28
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>(2005/12/09).
> > >>>>>>
> > >>>>>>
> > >>>>>>>>If
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>>>>>not I have attached it with this email, try to replace it
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>with
> > >>>>
> > >>>>
> > >>>>>>the
> > >>>>>>
> > >>>>>>
> > >>>>>>>>>old
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>>>>one which has a bug.
> > >>>>>>>>>>>>Let me know if it works.
> > >>>>>>>>>>>>Nagesh
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>_______________________________________________
> > >>>>>>>>>>Bioperl-l mailing list
> > >>>>>>>>>>Bioperl-l at lists.open-bio.org
> > >>>>>>>>>>http://lists.open-bio.org/mailman/listinfo/bioperl-l
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>_______________________________________________
> > >>>>>>>>>Bioperl-l mailing list
> > >>>>>>>>>Bioperl-l at lists.open-bio.org
> > >>>>>>>>>http://lists.open-bio.org/mailman/listinfo/bioperl-l
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>_______________________________________________
> > >>>>>>>>>Bioperl-l mailing list
> > >>>>>>>>>Bioperl-l at lists.open-bio.org
> > >>>>>>>>>http://lists.open-bio.org/mailman/listinfo/bioperl-l
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>_______________________________________________
> > >>>>>>
> > >>>>>>
> > >>>>>>>>Bioperl-l mailing list
> > >>>>>>>>Bioperl-l at lists.open-bio.org
> > >>>>>>>>http://lists.open-bio.org/mailman/listinfo/bioperl-l
> > >>>>>>>>
> > >>>>>>>>_______________________________________________
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>Bioperl-l mailing list
> > >>>>>>Bioperl-l at lists.open-bio.org
> > >>>>>>http://lists.open-bio.org/mailman/listinfo/bioperl-l
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >
> > >_______________________________________________
> > >Bioperl-l mailing list
> > >Bioperl-l at lists.open-bio.org
> > >http://lists.open-bio.org/mailman/listinfo/bioperl-l
> > >
> > >
> > >
> >
> > Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l



More information about the Bioperl-l mailing list