NAME
Bio::Tools::RestrictionEnzyme.pm - Bioperl object for a restriction endonuclease object.
SYNOPSIS
Object Creation
require Bio::Tools::RestrictionEnzyme;
## Create a new object by name.
$re1 = new Bio::Tools::RestrictionEnzyme(-NAME =>'EcoRI');
## Create a new object using special syntax
## which specifies the enzyme name, recognition site, and cut position.
## Used for enzymes not known to this module.
$re2 = new Bio::Tools::RestrictionEnzyme(-NAME =>'EcoRV--GAT^ATC',
-MAKE =>'custom');
INSTALLATION
This module is included with the central Bioperl distribution:
http://bio.perl.org/Core/Latest
ftp://bio.perl.org/pub/DIST
Follow the installation instructions included in the README file.
DESCRIPTION
The Bio::Tools::RestrictionEnzyme.pm module encapsulates generic data and methods for using restriction endonucleases for in silico restriction analysis of DNA sequences.
Considerations
This module is a precursor for a more full featured version that may do such things as download data from online databases such as REBase http://www.neb.com/rebase/. Thus, there is currently no functionality for obtaining data about commercial availability for a restriction enzyme.
At some point in the future, it may be best to derive RestrictionEnzymes from a class such as Bio::Enzyme.pm or Bio::Prot::Protein.pm so that more data about the enzyme and related information can be easily obtained.
This module is currently in use at
http://genome-www.stanford.edu/Sacch3D/analysis/
This module is at an early stage of development and is not yet ready for general use. API documentation is presently incomplete.
DEPENDENCIES
Bio::Tools::RestrictionEnzyme.pm is a concrete class that inherits from Bio::Root::Object.pm and uses by delegation Bio::Seq.pm.
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 one of the Bioperl mailing lists. Your participation is much appreciated.
bioperl-l@bioperl.org - General discussion
http://bioperl.org/MailList.shtml - About the mailing lists
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 email or the web:
bioperl-bugs@bio.perl.org
http://bio.perl.org/bioperl-bugs/
AUTHOR
Steve A. Chervitz, sac@genome.stanford.edu
VERSION
Bio::Tools::RestrictionEnzyme.pm, 0.04
COPYRIGHT
Copyright (c) 1997-8 Steve A. Chervitz. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
Bio::Root::Object.pm - Base class.
Bio::Seq.pm - Lightweight sequence object.
http://bio.perl.org/Projects/modules.html - Online module documentation
http://bio.perl.org/Projects/Blast/ - Bioperl Blast Project
http://bio.perl.org/ - Bioperl Project Homepage
APPENDIX
Methods beginning with a leading underscore are considered private and are intended for internal use by this module. They are not considered part of the public interface and are described here for documentation purposes only.
new
Title : new
Purpose : Initializes the RestrictionEnzyme object and calls
: superclass constructor last (Bio:Seq.pm).
Returns : n/a
Argument : Parameters passed to new()
Comments : The process of creating a new SeqPattern.pm object
: ensures that the pattern string is untained.
See Also : _make_custom(), _make_standard(), Bio::Seq.pm::_initialize()
_make_standard
Title : _make_standard
Usage : n/a; automatically called by _initialize()
Purpose : Permits custom RE object construction from name.
: 'EcoRI'.
Returns : Hash containing named parameters for Bio::Seq.pm constructor.
Argument : String containing string with special syntax.
Throws : Exception if the requested enzyme name is unavailable.
: NOTE: Case sensitive.
See Also : _initialize(), _make_custom()
_make_custom
Title : _make_custom
Usage : n/a; automatically called by _initialize()
Purpose : Permits custom RE object construction from strings
: such as 'EcoRI--G^AATTC' as the name of the enzyme.
Returns : Hash containing named parameters for Bio::Seq.pm constructor.
Argument : String containing string with special syntax.
Throws : Exception if the string has bad syntax.
: Warning if the string did not specify cut position.
: Places cut site after 5'-most position.
See Also : _initialize()
cuts_after
Title : cuts_after
Usage : $re->cuts_after();
Purpose : Sets/Gets the position of cleavage relative to the 5' end.
Example : $num = $re->cuts_after()
Returns : Integer
Argument : Integer (optional)
Throws : Exception if argument is non-numeric.
Access : Public
Comments : This method is only needed to change the cuts at
: position. This data is automatically set during
: construction.
See Also : _make_standard(), _make_custom()
site
Title : site
Usage : $re->site();
Purpose : Gets the recognition sequence for the enzyme.
Example : $seq_string = $re->site();
Returns : String containing recognition sequence indicating
: cleavage site as in 'G^AATTC'.
Argument : n/a
Throws : n/a
seq
Title : seq
Usage : $re->seq();
Purpose : Get the Bio::Seq.pm-derived object representing
: the recognition sequence
Returns : String
Argument : n/a
Throws : n/a
string
Title : string
Usage : $re->string();
Purpose : Get a string representing the recognition sequence.
Returns : String
Argument : n/a
Throws : n/a
Comments : Delegates to the Bio::Seq.pm-derived object.
revcom
Title : revcom
Usage : $re->revcom();
Purpose : Get a string representing the reverse complement of
: the recognition sequence.
Returns : String
Argument : n/a
Throws : n/a
Comments : Delegates to the Bio::Seq.pm-derived object, but needs to get
out the string from it, as now Bio::Seq->revcom makes a Bio::Seq
object
cut_seq
Title : cut_seq
Usage : $re->cut_seq(<sequence object>);
Purpose : Conceptually cut or "digest" a DNA sequence with the given enzyme.
Example : $string = $re->cut_seq(<sequence object>);
Returns : List of strings containing the resulting fragments.
Argument : Reference to a Bio::Seq.pm-derived object.
Throws : Exception if argument is not an object.
: (Does not yet verify that it is derived from Bio::Seq.pm.)
Comments : Strategy relies on Perl's built-in split() function.
: Since split removes the recognition pattern, the resulting
: fragments must be repaired after split()-ing.
: There is currently no support for partial digestions.
cut_locations
Title : cut_locations
Usage : my $locations = $re->cut_locations(<sequence_object>);
Purpose : Report the location of the recognition site(s) within
: an input sequence.
Example : my $locations = $re->annotate_seq($seqObj);
Returns : Arrayref of starting locations where enzyme would cut
Argument : Reference to a Bio::SeqI-derived sequence object.
Throws : n/a
Comments :
annotate_seq
Title : annotate_seq
Usage : $re->annotate_seq(<sequence_object>);
Purpose : Identify the location of the recognition site(s) within
: an input sequence. Uses HTML.
Example : $annot_seq = $re->annotate_seq($seqObj);
Returns : String containing the annotated sequence.
Argument : Reference to a Bio::Seq.pm-derived sequence object.
Throws : n/a
Comments : The annotated sequence must be viewed with a web
: browser to see the location(s) of the recognition site(s).
palindromic
Title : palindromic
Usage : $re->palindromic();
Purpose : Determines if the recognition sequence is palindromic
: for the current restriction enzyme.
Returns : Boolean
Argument : n/a
Throws : n/a
Access : Public
Comments : A palindromic site (EcoRI): 5-GAATTC-3
: 3-CTTAAG-5
is_available
Title : is_available
Usage : $re->is_available(<string containing name of enzyme>);
Purpose : Determine if an enzyme is available (to this module).
: (see the package lexical %RE).
Example : $re->is_available('EcoRI');
: &Bio::Tools::RestrictionEnzyme::is_available($object,'EcoRI');
Returns : Boolean
Argument : String
Throws : n/a
Comments : This method does NOT give information about
: commercial availability (yet).
: Enzyme names are CASE SENSITIVE.
See Also : available_list()
name
Title : name
Usage : $obj->name($newval)
Function:
Example :
Returns : value of name
Args : newvalue (optional)
available_list
Title : available_list
Usage : $re->available_list([<integer>]);
Purpose : Retrieve a list of currently available enzymes.
Example : @all = $re->available_list(); ## All enzymes
: @six_cutters = $re->available_list(6); ## All 6-cutters
Returns : List of strings
Argument : Integer (optional)
Throws : n/a
Comments : This method may be more appropriate for a REData.pm class.
See Also : is_available()
FOR DEVELOPERS ONLY
Data Members
Information about the various data members of this module is provided for those wishing to modify or understand the code. Two things to bear in mind:
- 1 Do NOT rely on these in any code outside of this module.
-
All data members are prefixed with an underscore to signify that they are private. Always use accessor methods. If the accessor doesn't exist or is inadequate, create or modify an accessor (and let me know, too!).
- 2 This documentation may be incomplete and out of date.
-
It is easy for this documentation to become obsolete as this module is still evolving. Always double check this info and search for members not described here.
An instance of Bio::Tools::RestrictionEnzyme.pm is a blessed reference to a hash containing all or some of the following fields:
FIELD VALUE
------------------------------------------------------------------------
_seq : A Bio::Seq.pm-derived object.
:
_site : String containing the recognition sequence.
:
_cuts_after : Integer indicating the cleavage position relative to the
: 5' end of the recognition sequence.
INHERITED DATA MEMBERS:
_name : (From Bio::Bio::Root::Object.pm) String containing name of the enzyme.