Scroll to navigation

Bio::Restriction::IO(3pm) User Contributed Perl Documentation Bio::Restriction::IO(3pm)


Bio::Restriction::IO - Handler for sequence variation IO Formats


    use Bio::Restriction::IO;
    $in  = Bio::Restriction::IO->new(-file => "inputfilename" ,
                                     -format => 'withrefm');
    my $res = $in->read; # a Bio::Restriction::EnzymeCollection


Bio::Restriction::IO is a handler module for the formats in the Restriction IO set, e.g. "Bio::Restriction::IO::xxx". It is the officially sanctioned way of getting at the format objects, which most people should use.

The structure, conventions and most of the code is inherited from Bio::SeqIO. The main difference is that instead of using methods "next_seq", you drop "_seq" from the method name.

Also, instead of dealing only with individual Bio::Restriction::Enzyme objects, "read()" will slurp in all enzymes into a Bio::Restriction::EnzymeCollection object.

For more details, see documentation in Bio::SeqIO.


At the moment, these can be use mainly to get a custom set if enzymes in "withrefm" or "itype2" formats into Bio::Restriction::Enzyme or Bio::Restriction::EnzymeCollection objects. Using "bairoch" format is highly experimental and is not recommmended at this time.

This class inherits from Bio::SeqIO for convenience sake, though this should inherit from Bio::Root::Root. Get rid of Bio::SeqIO inheritance by copying relevant methods in.

"write()" methods are currently not implemented for any format except "base". Using "write()" even with "base" format is not recommended as it does not support multicut/multisite enzyme output.

Should additional formats be supported (such as XML)?


Bio::SeqIO, Bio::Restriction::Enzyme, Bio::Restriction::EnzymeCollection


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


Rob Edwards,


Heikki Lehvaslaiho, heikki-at-bioperl-dot-org


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


 Title   : new
 Usage   : $stream = Bio::Restriction::IO->new(-file => $filename,
                                               -format => 'Format')
 Function: Returns a new seqstream
 Returns : A Bio::Restriction::IO::Handler initialised with
           the appropriate format
 Args    : -file => $filename
           -format => format
           -fh => filehandle to attach to


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


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


 Title   : write
 Usage   : $stream->write($seq)
 Function: writes the $seq object into the stream
 Returns : 1 for success and 0 for error
 Args    : Bio::Restriction::EnzymeCollection object


 Title   : _guess_format
 Usage   : $obj->_guess_format($filename)
 Example :
 Returns : guessed format of filename (lower case)
 Args    :
2018-10-27 perl v5.26.2