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


       Bio::Annotation::AnnotationFactory - Instantiates a new Bio::AnnotationI (or derived
       class) through a factory


           use Bio::Annotation::AnnotationFactory;
           my $factory = Bio::Annotation::AnnotationFactory->new(
                           -type => 'Bio::Annotation::SimpleValue');
           my $ann = $factory->create_object(-value => 'peroxisome',
                                             -tagname => 'cellular component');


       This object will build Bio::AnnotationI objects generically.


   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


       This is mostly copy-and-paste with subsequent adaptation from Bio::Seq::SeqFactory by
       Jason Stajich. Most credits should in fact go to him.


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

        Title   : new
        Usage   : my $obj = Bio::Annotation::AnnotationFactory->new();
        Function: Builds a new Bio::Annotation::AnnotationFactory object
        Returns : Bio::Annotation::AnnotationFactory
        Args    : -type => string, name of a L<Bio::AnnotationI> derived class.

       If type is not set the module guesses it based on arguments passed to method

        Title   : create_object
        Usage   : my $seq = $factory->create_object(<named parameters>);
        Function: Instantiates new Bio::AnnotationI (or one of its child classes)

                  This object allows us to genericize the instantiation of
                  cluster objects.

        Returns : L<Bio::AnnotationI> compliant object
                  The return type is configurable using new(-type =>"...").
        Args    : initialization parameters specific to the type of annotation
                  object we want.

        Title   : type
        Usage   : $obj->type($newval)
        Function: Get/set the type of L<Bio::AnnotationI> object to be created.

                  This may be changed at any time during the lifetime of this

        Returns : value of type
        Args    : newvalue (optional)

        Title   : _guess_type
        Usage   :
        Function: Guesses the right type of L<Bio::AnnotationI> implementation
                  based on initialization parameters for the prospective
        Example :
        Returns : the type (a string, the module name)
        Args    : initialization parameters to be passed to the prospective
                  cluster object