Bio::Tools::BPbl2seq(3)

NAME
Bio::Tools::BPbl2seq - Lightweight BLAST parser for pair-wise sequence alignment using the BLAST algorithm.

SYNOPSIS
  use Bio::Tools::BPbl2seq;
  my $report = Bio::Tools::BPbl2seq->new(-file => 't/bl2seq.out');
  $report->sbjctName;
  $report->sbjctLength;
  while(my $hsp = $report->next_feature) {
         $hsp->score;
         $hsp->bits;
         $hsp->percent;
         $hsp->P;
         $hsp->match;
         $hsp->positive;
         $hsp->length;
         $hsp->querySeq;
         $hsp->sbjctSeq;
         $hsp->homologySeq;
         $hsp->query->start;
         $hsp->query->end;
         $hsp->sbjct->start;
         $hsp->sbjct->end;
         $hsp->sbjct->seq_id;
         $hsp->sbjct->overlaps($exon);
 }

DESCRIPTION
BPbl2seq is a package for parsing BLAST bl2seq reports. BLAST bl2seq is a program for comparing and aligning two sequences using BLAST. Although the report format is similar to that of a conventional BLAST, there are a few differences so that BPlite is unable to read bl2seq reports directly.

From the user's perspective, one difference between bl2seq and other blast reports is that the bl2seq report does not print out the name of the first of the two aligned sequences. (The second sequence name is given in the report as the name of the "hit"). Consequently, BPbl2seq has no way of identifying the name of the initial sequence unless it is passed to constructor as a second argument as in:

        my $report = Bio::Tools::BPbl2seq->new(\*FH, "ALEU_HORVU");

If the name of the first sequence (the "query") is not passed to BPbl2seq.pm in this manner, the name of the first sequence will be left as "unknown". (Note that to preserve a common interface with the other BLAST programs the two sequences being compared are referred to in bl2seq as "query" and "subject" although this is perhaps a bit misleading when simply comparing 2 sequences as opposed to querying a database.)

In addition, since there will only be (at most) one "subject" (hit) in a bl2seq report, one should use the method $report->next_feature, rather than $report->nextSbjct->nextHSP to obtain the next high scoring pair.

One should note that the previous (0.7) version of BPbl2seq used slightly different syntax. That version had a bug and consequently the old syntax has been eliminated. Attempts to use the old syntax will return error messages explaining the (minor) recoding required to use the current syntax.

FEEDBACK

  Mailing Lists
User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.

  bioperl-l@bioperl.org          - General discussion
  http://bio.perl.org/MailList.html             - About the mailing lists

  Reporting Bugs
Report bugs to the Bioperl bug tracking system to help us keep track
 the bugs and their resolution. Bug reports can be submitted via
 email or the web:

  bioperl-bugs@bio.perl.org
  http://bugzilla.bioperl.org/

AUTHOR - Peter Schattner
Email: schattner@alum.mit.edu

ACKNOWLEDGEMENTS
Based on work of: Ian Korf (ikorf@sapiens.wustl.edu, http://sapiens.wustl.edu/~ikorf), Lorenz Pollak (lorenz@ist.org, bioperl port)

CONTRIBUTORS
Jason Stajich, jason@cgt.mc.duke.edu

  new
 Title   : new
 Function: Create a new Bio::Tools::BPbl2seq object
 Returns : Bio::Tools::BPbl2seq
 Args    : -file     input file (alternative to -fh)
           -fh       input stream (alternative to -file)
           -queryname    name of query sequence
           -report_type What type of BLAST was run (blastn,blastp,tblastn...)

  getSbjct
 Title    :
 Usage    : $sbjct = $obj->getSbjct();
 Function : Method of obtaining single "subject" of a bl2seq report
 Example  : my $sbjct = $obj->getSbjct ) {}
 Returns  : Sbjct object or null if finished
 Args     :

  next_feature
 Title   : next_feature
 Usage   : while( my $feat = $res->next_feature ) { # do something }
 Function: calls next_feature function from BPlite.
 Example :
 Returns : A Bio::SeqFeatureI compliant object, in this case a
           Bio::Tools::BPlite::HSP object, and FALSE if there are no more
           HSPs.
 Args    : None

  queryName
 Title    :
 Usage    : $name = $report->queryName();
 Function : get /set the name of the query
 Example  :
 Returns  : name of the query
 Args     :

  sbjctName
 Title    :
 Usage    : $name = $report->sbjctName();
 Function : returns the name of the Sbjct
 Example  :
 Returns  : name of the Sbjct
 Args     :

  sbjctLength
 Title    :  sbjctLength
 Usage    : $length = $report->sbjctLength();
 Function : returns the length of the Sbjct
 Example  :
 Returns  : name of the Sbjct
 Args     :

  P
 Title    : P
 Usage    :
 Function : Syntax no longer supported, error message only

  percent
 Title    : percent
 Usage    : $hsp->percent();
 Function : Syntax no longer supported, error message only

  match
 Title    : match
 Usage    : $hsp->match();
 Function : Syntax no longer supported, error message only

  positive
 Title    : positive
 Usage    : $hsp->positive();
 Function : Syntax no longer supported, error message only

  querySeq
 Title    : querySeq
 Usage    : $hsp->querySeq();
 Function : Syntax no longer supported, error message only

  sbjctSeq
 Title    : sbjctSeq
 Usage    : $hsp->sbjctSeq();
 Function : Syntax no longer supported, error message only

  homologySeq
 Title    : homologySeq
 Usage    : $hsp->homologySeq();
 Function : Syntax no longer supported, error message only

  qs
 Title    : qs
 Usage    : $hsp->qs();
 Function : Syntax no longer supported, error message only

  ss
 Title    : ss
 Usage    : $hsp->ss();
 Function : Syntax no longer supported, error message only

  hs
 Title    : hs
 Usage    : $hsp->hs();
 Function : Syntax no longer supported, error message only