Bio::SearchIO.3pm

Langue: en

Version: 2010-05-19 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::SearchIO - Driver for parsing Sequence Database Searches (BLAST, FASTA, ...)

SYNOPSIS

    use Bio::SearchIO;
    # format can be 'fasta', 'blast', 'exonerate', ...
    my $searchio = Bio::SearchIO->new( -format => 'blastxml',
                                      -file   => 'blastout.xml' );
    while ( my $result = $searchio->next_result() ) {
        while( my $hit = $result->next_hit ) {
         # process the Bio::Search::Hit::HitI object
            while( my $hsp = $hit->next_hsp ) { 
             # process the Bio::Search::HSP::HSPI object
            }
        }
    }
 
 

DESCRIPTION

This is a driver for instantiating a parser for report files from sequence database searches. This object serves as a wrapper for the format parsers in Bio::SearchIO::* - you should not need to ever use those format parsers directly. (For people used to the SeqIO system it, we are deliberately using the same pattern).

Once you get a SearchIO object, calling next_result() gives you back a Bio::Search::Result::ResultI compliant object, which is an object that represents one Blast/Fasta/HMMER whatever report.

A list of module names and formats is below:

   blast      BLAST (WUBLAST, NCBIBLAST,bl2seq)   
   fasta      FASTA -m9 and -m0
   blasttable BLAST -m9 or -m8 output (both NCBI and WUBLAST tabular)
   megablast  MEGABLAST
   psl        UCSC PSL format
   waba       WABA output
   axt        AXT format
   sim4       Sim4
   hmmer      HMMER hmmpfam and hmmsearch
   exonerate  Exonerate CIGAR and VULGAR format
   blastxml   NCBI BLAST XML
   wise       Genewise -genesf format
 
 

Also see the SearchIO HOWTO: http://bioperl.open-bio.org/wiki/HOWTO:SearchIO

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 the Bioperl mailing list. Your participation is much appreciated.
   bioperl-l@bioperl.org                  - General discussion
   http://bioperl.org/wiki/Mailing_lists  - About the mailing lists
 
 

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web:
   http://bugzilla.open-bio.org/
 
 

AUTHOR - Jason Stajich & Steve Chervitz

Email jason-at-bioperl.org Email sac-at-bioperl.org

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new

  Title   : new
  Usage   : my $obj = Bio::SearchIO->new();
  Function: Builds a new Bio::SearchIO object 
  Returns : Bio::SearchIO initialized with the correct format
  Args    : -file           => $filename
            -format         => format
            -fh             => filehandle to attach to
            -result_factory => Object implementing Bio::Factory::ObjectFactoryI
            -hit_factory    => Object implementing Bio::Factory::ObjectFactoryI
            -hsp_factory    => Object implementing Bio::Factory::ObjectFactoryI
            -writer         => Object implementing Bio::SearchIO::SearchWriterI
            -output_format  => output format, which will dynamically load writer
 
 

See Bio::Factory::ObjectFactoryI, Bio::SearchIO::SearchWriterI

Any factory objects in the arguments are passed along to the SearchResultEventBuilder object which holds these factories and sets default ones if none are supplied as arguments.

newFh

  Title   : newFh
  Usage   : $fh = Bio::SearchIO->newFh(-file=>$filename,
                                       -format=>'Format')
  Function: does a new() followed by an fh()
  Example : $fh = Bio::SearchIO->newFh(-file=>$filename,
                                       -format=>'Format')
            $result = <$fh>;   # read a ResultI object
            print $fh $result; # write a ResultI object
  Returns : filehandle tied to the Bio::SearchIO::Fh class
  Args    :
 
 

fh

  Title   : fh
  Usage   : $obj->fh
  Function:
  Example : $fh = $obj->fh;      # make a tied filehandle
            $result = <$fh>;     # read a ResultI object
            print $fh $result;   # write a ResultI object
  Returns : filehandle tied to the Bio::SearchIO::Fh class
  Args    :
 
 

attach_EventHandler

  Title   : attach_EventHandler
  Usage   : $parser->attatch_EventHandler($handler)
  Function: Adds an event handler to listen for events
  Returns : none
  Args    : Bio::SearchIO::EventHandlerI
 
 

See Bio::SearchIO::EventHandlerI

_eventHandler

  Title   : _eventHandler
  Usage   : private
  Function: Get the EventHandler
  Returns : Bio::SearchIO::EventHandlerI
  Args    : none
 
 

See Bio::SearchIO::EventHandlerI

next_result

  Title   : next_result
  Usage   : $result = stream->next_result
  Function: Reads the next ResultI object from the stream and returns it.
 
            Certain driver modules may encounter entries in the stream that
            are either misformatted or that use syntax not yet understood
            by the driver. If such an incident is recoverable, e.g., by
            dismissing a feature of a feature table or some other non-mandatory
            part of an entry, the driver will issue a warning. In the case
            of a non-recoverable situation an exception will be thrown.
            Do not assume that you can resume parsing the same stream after
            catching the exception. Note that you can always turn recoverable
            errors into exceptions by calling $stream->verbose(2) (see
            Bio::Root::RootI POD page).
  Returns : A Bio::Search::Result::ResultI object
  Args    : n/a
 
 

See Bio::Root::RootI

write_result

  Title   : write_result
  Usage   : $stream->write_result($result_result, @other_args)
  Function: Writes data from the $result_result object into the stream.
          : Delegates to the to_string() method of the associated 
          : WriterI object.
  Returns : 1 for success and 0 for error
  Args    : Bio::Search:Result::ResultI object,
          : plus any other arguments for the Writer
  Throws  : Bio::Root::Exception if a Writer has not been set.
 
 

See Bio::Root::Exception

write_report

  Title   : write_report
  Usage   : $stream->write_report(SearchIO stream, @other_args)
  Function: Writes data directly from the SearchIO stream object into the
          : writer.  This is mainly useful if one has multiple ResultI objects
          : in a SearchIO stream and you don't want to reiterate header/footer
          : between each call.
  Returns : 1 for success and 0 for error
  Args    : Bio::SearchIO stream object,
          : plus any other arguments for the Writer
  Throws  : Bio::Root::Exception if a Writer has not been set.
 
 

See Bio::Root::Exception

writer

  Title   : writer
  Usage   : $writer = $stream->writer;
  Function: Sets/Gets a SearchWriterI object to be used for this searchIO.
  Returns : 1 for success and 0 for error
  Args    : Bio::SearchIO::SearchWriterI object (when setting)
  Throws  : Bio::Root::Exception if a non-Bio::SearchIO::SearchWriterI object
            is passed in.
 
 

result_count

  Title   : result_count
  Usage   : $num = $stream->result_count;
  Function: Gets the number of Blast results that have been successfully parsed
            at the point of the method call.  This is not the total # of results
            in the file.
  Returns : integer
  Args    : none
  Throws  : none
 
 

_load_format_module

  Title   : _load_format_module
  Usage   : *INTERNAL SearchIO stuff*
  Function: Loads up (like use) a module at run time on demand
  Example : 
  Returns : 
  Args    :
 
 

_get_seq_identifiers

  Title   : _get_seq_identifiers
  Usage   : my ($gi, $acc,$ver) = &_get_seq_identifiers($id)
  Function: Private function to get the gi, accession, version data
            for an ID (if it is in NCBI format)
  Returns : 3-pule of gi, accession, version
  Args    : ID string to process (NCBI format)
 
 

_guess_format

  Title   : _guess_format
  Usage   : $obj->_guess_format($filename)
  Function:
  Example :
  Returns : guessed format of filename (lower case)
  Args    :