Provided by: libbio-perl-perl_1.7.2-2_all bug


       Bio::OntologyIO - Parser factory for Ontology formats


           use Bio::OntologyIO;

           my $parser = Bio::OntologyIO->new(-format => "go",
                                             -file=> $file);

           while(my $ont = $parser->next_ontology()) {
                print "read ontology ",$ont->name()," with ",
                      scalar($ont->get_root_terms)," root terms, and ",
                      scalar($ont->get_leaf_terms)," leaf terms\n";


       This is the parser factory for different ontology sources and formats. Conceptually, it is
       very similar to Bio::SeqIO, but the difference is that the chunk of data returned as an
       object is an entire ontology.


   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.
                  - General discussion  - About the mailing lists

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

       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:

AUTHOR - Hilmar Lapp

       Email hlapp at


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

        Title   : new
        Usage   : my $parser = Bio::OntologyIO->new(-format => 'go', @args);
        Function: Returns a stream of ontologies opened on the specified input
                  for the specified format.
        Returns : An ontology parser (an instance of Bio::OntologyIO) initialized
                  for the specified format.
        Args    : Named parameters. Common parameters are

                     -format    - the format of the input; the following are
                                  presently supported:
                         goflat: DAG-Edit Gene Ontology flat files
                         go    : synonymous to goflat
                         soflat: DAG-Edit Sequence Ontology flat files
                         so    : synonymous to soflat
                         simplehierarchy: text format with one term per line
                                 and indentation giving the hierarchy
                         evoc  : synonymous to simplehierarchy
                         interpro: InterPro XML
                         interprosax: InterPro XML - this is actually not a
                                 Bio::OntologyIO compliant parser; instead it
                                 persists terms as they are encountered.
                         obo   : OBO format style from Gene Ontology Consortium
                     -file      - the file holding the data
                     -fh        - the stream providing the data (-file and -fh are
                                 mutually exclusive)
                     -ontology_name - the name of the ontology
                     -engine    - the L<Bio::Ontology::OntologyEngineI> object
                                 to be reused (will be created otherwise); note
                                 that every L<Bio::Ontology::OntologyI> will
                                 qualify as well since that one inherits from the
                     -term_factory - the ontology term factory to use. Provide a
                                 value only if you know what you are doing.

                  DAG-Edit flat file parsers will usually also accept the
                  following parameters.

                     -defs_file - the name of the file holding the term
                     -files     - an array ref holding the file names (for GO,
                                 there will usually be 3 files: component.ontology,
                                 function.ontology, process.ontology)

                  Other parameters are specific to the parsers.

        Title   : format
        Usage   : $format = $parser->format()
        Function: Get the ontology format
        Returns : ontology format
        Args    : none

        Title   : next_ontology
        Usage   : $ont = $stream->next_ontology()
        Function: Reads the next ontology object from the stream and returns it.
        Returns : a L<Bio::Ontology::OntologyI> compliant object, or undef at the
                  end of the stream
        Args    : none

        Title   : term_factory
        Usage   : $obj->term_factory($newval)
        Function: Get/set the ontology term factory to use.

                  As a user of this module it is not necessary to call this
                  method as there will be default. In order to change the
                  default, the easiest way is to instantiate
                  L<Bio::Ontology::TermFactory> with the proper -type
                  argument. Most if not all parsers will actually use this
                  very implementation, so even easier than the aforementioned
                  way is to simply call

        Example :
        Returns : value of term_factory (a Bio::Factory::ObjectFactoryI object)
        Args    : on set, new value (a Bio::Factory::ObjectFactoryI object, optional)

Private Methods

         Some of these are actually 'protected' in OO speak, which means you
         may or will want to utilize them in a derived ontology parser, but
         you should not call them from outside.

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