BioStudio object that represents a restriction enzyme - inherits from Bio::GeneDesign::RestrictionEnzyme and adds attributes for feature annotation awareness. This object is heavily used in chromosome segmentation - for other uses the GeneDesign object should be sufficient.
Sarah Richardson <email@example.com>
When this object is created it is also subject to the requirements of the ancestor Bio::GeneDesign::RestrictionEnzyme object. Use the ancestor flag -enzyme with a GeneDesign RestrictionEnzyme object, allowing the ancestral object to "clone" itself to create a new BioStudio RestrictionEnzyme object:
my $newfeat = Bio::BioStudio::RestrictionEnzyme->new( -enzyme => $BamHI_Bio::GeneDesign::RestrictionEnzyme_object, -name => "BamHI_56781", -presence => "potential");
There are two required arguments:
-name the name of the enzyme -presence (p)otential, (i)ntergenic, (e)xisting, or (a)ppended, the status of the enzyme
The other arguments are optional:
-eligible whether or not to ignore this enzyme when selecting segmentation enzymes; usually gets set automatically when the L<Bio::BioStudio::RestrictionEnzyme::Store> object is created. May only be undefined (omitted) or "no". -end The stop coordinate of the enzyme -feature The L<Bio::DB::SeqFeature> object associated with the enzyme - usually a gene; sometimes an intergenic region -featureid The name of the feature associated with the enzyme - this is set automatically if -feature is used -overhangs A comma separated list of overhangs that this enzyme can legally leave. This will be parsed into a hash reference. -strand [1 or -1] If 1, the object is either oriented 5 prime to 3 prime on the Watson strand or is symmetric and therefore on both strands. If -1, the object is on the Crick strand. -peptide The peptide sequence associated with the enzymes recognition site. Should only be supplied if the feature object associated with the enzyme is a gene, mRNA, or CDS object. -offset This number indicates how far away from the recognition site the actual cut site is. -dbid The primary key of this enzyme in the database; usually set by L<Bio::BioStudio::RestrictionEnzyme::Store> at the time of database creation -phang The preferred overhang for use when committing this enzyme to sequence.
This function outputs the restriction enzyme object in a format that is suitable for quickloading into a MySQL database - this is how the Bio::RestrictionEnzyme::Store database becomes populated.
The name of the enzyme; current BioStudio custom is that the name of an enzyme is its id (ie, the name of the protein), underscore, start coordinate. That is, BamHI_54671, or SacII_4689. But this is entirely arbitrary and will not impact processing.
Enzymes can be any one of the following:
(p)otential : can be introduced into exonic sequence without changing protein sequence - but does not exist now (i)ntergenic : exists in a non-exonic region. Most BioStudio algorithms do not support editing such an enzyme. (e)xisting : or exonic, this site is in a gene region and can be edited or removed. (a)ppended : this site doesn't exist but will be appended to the sequence
Bio::GeneDesign::RestrictionEnzyme objects have a start attribute, but not an end attribute.
Should this enzyme be considered for landmark status or not? This flag is usually set when the Bio::BioStudio::RestrictionEnzyme::Store database is created and populated. Enzymes whose presence is potential and whose eligibility is null are usually deleted rather than marked ineligible.
The only argument this accessor accepts is a string value of "no".
A restriction enzyme may be associated with a Bio::DB::SeqFeature object; usually a gene or CDS feature; sometimes an intergenic region feature.
The id of the feature associated with the enzyme; this is a string and is useful when pulling objects out of the MySQL database, which currently doesn't store an actual Bio::DB::SeqFeature object, but only its id. Given the id, the feature can be looked up from a Bio::DB::SeqFeature::Store object.
A hash reference where the keys are possible overhangs that may be left by the enzyme should it be edite into sequence.
Is the recognition site on the Watson (1) or Crick (-1) strand?
If 1, the object is either oriented 5 prime to 3 prime on the Watson strand or is symmetric and therefore on both strands. If -1, the object is on the Crick strand.
IF the enzyme occurs in a gene, what peptide sequence (in the first frame of translation) covers the recognition site? Should only be defined if the associated feature is a CDS.
How far away the overhang is from the recognition site, in bases (if there is an overhang).
If this enzyme is introduced or edited into sequence, which other restriction enzyme recognition sites must be removed to make it a unique landmark?
Takes and returns an array reference, where each entry in the array is the name of a BioStudio restriction enzyme object.
If this enzyme is introduced or edited into sequence, which other restriction enzyme recognition sites will it create?
Takes and returns an array reference, where each entry in the array is the id of a GeneDesign restriction enzyme object.
The entry in the primary key column of the MySQL database underlying the Bio::BioStudio::RestrictionEnzyme::Store object; this is usually used during database creation and culling and is unneccesary otherwise.
If this enzyme is to be introduced or edited into sequence, which of its possible overhangs should be used? The argument must be a key that exists in the overhangs hash reference.
Copyright (c) 2011, BioStudio developers All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the Johns Hopkins nor the names of the developers may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.