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

NAME

       Bio::Restriction::IO::base - base enzyme set

SYNOPSIS

       Do not use this module directly.  Use it via the Bio::Restriction::IO class.

DESCRIPTION

       This class defines some base methods for restriction enzyme input and at the same time
       gives a base list of common enzymes.

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 lists 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 the bugs and their
       resolution.  Bug reports can be submitted via the web:

         https://github.com/bioperl/bioperl-live/issues

AUTHOR

       Rob Edwards, redwards@utmem.edu

CONTRIBUTORS

       Heikki Lehvaslaiho, heikki-at-bioperl-dot-org Mark A. Jensen, maj-at-fortinbras-dot-us

APPENDIX

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

   read
        Title   : read
        Usage   : $renzs = $stream->read
        Function: reads all the restrction enzymes from the stream
        Returns : a Bio::Restriction::Restriction object
        Args    : none

   _xln_sub
        Title   : _xln_sub
        Function: Translates withrefm coords to Bio::Restriction coords
        Args    : Bio::Restriction::Enzyme object, scalar integer (cut posn)
        Note    : Used internally; pass as a coderef to the B:R::Enzyme
                  constructor
        Note    : It is convenient for each format module to have its own
                  version of this; not currently demanded by the interface.

   write
        Title   : write
        Usage   : $stream->write($renzs)
        Function: writes restriction enzymes into the stream
        Returns : 1 for success and 0 for error
        Args    : a Bio::Restriction::Enzyme
                  or a Bio::Restriction::EnzymeCollection object

   verify_prototype
        Title     : verify_prototype
        Purpose   : checks enzyme against current prototype list (retrieved remotely)
        Returns   : returns TRUE if enzyme is prototype
        Argument  : Bio::Restriction::EnzymeI
        Comments  : This is an auxiliary method to retrieve and check an enzyme
                    as a prototype.  It retrieves the current list, stores it
                    as a singleton instance, then uses it to check the prototype
                    and modify is_prototype() to true or false.  Use as follows:

                    my $col = $io->read;
                    for my $enz ($col->each_enzyme) {
                        print $enz->name.":".$enz->site."\n";
                        print "\t".$io->verify_prototype($enz)."\n";
                    }

   Common REBASE parsing methods
       The rest of the methods in this file are to be used by other REBASE parsers. They are not
       to be used outside subclasses of this base class. (They are 'protected' in the sense the
       word is used in Java.)

   _cuts_from_site
        Title   : _cuts_from_site
        Usage   : ($site, $cut, $comp_cut) = _cuts_from_site('ACGCGT(4/5)');
        Function: Separates cut positions from a single site string.
                  Does nothing to site if it does not have the cut string
        Returns : array of site_string, forward_cut_position, reverse_cut_position
        Args    : recognition site string
        Note    : Not used in withrefm refactor/maj

   _meth
        Title   : _meth
        Usage   : ($pos, $meth) = $self->_meth('2(5)');
        Function: Separates methylation position and coce from a string.
                  Adjusts the position depending on enzyme site length
                  and symmetry
        Returns : array of position and methylation code
        Args    : 1. reference to Enzyme object
                  2. methylation description string

   _coordinate_shift_to_cut
        Title   : _coordinate_shift_to_cut
        Usage   : $cut = $self->_coordinate_shift_to_cut($oricut, offset);
        Function: Adjust cut position coordinates to start from the
                  first nucleotides of site
        Returns : Cut position in correct coordinates
        Args    : 1. Original cut position
                  2. Length of the recognition site
        Note    : Not used in withrefm.pm refactor/maj

   _make_multisites
        Title   : _make_multisites
        Usage   : $self->_make_multisites($first_enzyme, \@sites, \@mets)
        Function: Bless a Bio::Restriction::Enzyme  into
                  Bio::Restriction::Enzyme::MultiSite and clone it as many
                  times as there are alternative sites.
        Returns : nothing, does in place editing
        Args    : 1. a Bio::Restriction::Enzyme
                  2. reference to an array of recognition site strings
                  3. reference to an array of methylation code strings, optional

   _make_multicuts
        Title   : _make_multicuts
        Usage   : $self->_make_multicuts($first_enzyme, $precuts)
        Function:

                  Bless a Bio::Restriction::Enzyme into
                  Bio::Restriction::Enzyme::MultiCut and clone it. The precut
                  string is processed to replase the cut sites in the cloned
                  object. Both objects refer to each other through others() method.

        Returns : nothing, does in place editing
        Args    : 1. a Bio::Restriction::Enzyme
                  2. precut string, e.g. '12/7'

       The examples we have of multiply cutting enzymes cut only four times. This protected
       method deals only with a string of two integers separated with a slash, e.g. '12/7'. The
       numbers represent the positions BEFORE the start of the recognition site, i.e. negative
       positions.

   _companies
        Title     : _companies
        Purpose   : Defines the companies that we know about
        Returns   : A hash
        Argument  : Nothing
        Comments  : An internal method to define the companies that we know about
                    REBASE uses a code, and this converts the code to the real name
                    (e.g. A = Amersham Pharmacia Biotech)