Bio-MAGE
view release on metacpan or search on metacpan
MAGE/DesignElement/Feature.pm view on Meta::CPAN
# publish, distribute, sublicense, and/or sell copies of the Software,
# and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
package Bio::MAGE::DesignElement::Feature;
use strict;
use Carp;
use base qw(Bio::MAGE::DesignElement::DesignElement);
use Bio::MAGE::Association;
use vars qw($__ASSOCIATIONS
$__CLASS_NAME
$__PACKAGE_NAME
$__SUBCLASSES
$__SUPERCLASSES
$__ATTRIBUTE_NAMES
$__ASSOCIATION_NAMES
);
=head1 NAME
Bio::MAGE::DesignElement::Feature - Class for the MAGE-OM API
=head1 SYNOPSIS
use Bio::MAGE::DesignElement::Feature
# creating an empty instance
my $feature = Bio::MAGE::DesignElement::Feature->new();
# creating an instance with existing data
my $feature = Bio::MAGE::DesignElement::Feature->new(
name=>$name_val,
identifier=>$identifier_val,
controlType=>$ontologyentry_ref,
zone=>$zone_ref,
controlledFeatures=>\@feature_list,
position=>$position_ref,
auditTrail=>\@audit_list,
propertySets=>\@namevaluetype_list,
descriptions=>\@description_list,
security=>$security_ref,
featureGroup=>$featuregroup_ref,
featureLocation=>$featurelocation_ref,
controlFeatures=>\@feature_list,
);
# 'name' attribute
my $name_val = $feature->name(); # getter
$feature->name($value); # setter
# 'identifier' attribute
my $identifier_val = $feature->identifier(); # getter
$feature->identifier($value); # setter
# 'controlType' association
my $ontologyentry_ref = $feature->controlType(); # getter
$feature->controlType($ontologyentry_ref); # setter
# 'zone' association
my $zone_ref = $feature->zone(); # getter
$feature->zone($zone_ref); # setter
# 'controlledFeatures' association
my $feature_array_ref = $feature->controlledFeatures(); # getter
$feature->controlledFeatures(\@feature_list); # setter
# 'position' association
my $position_ref = $feature->position(); # getter
$feature->position($position_ref); # setter
# 'auditTrail' association
my $audit_array_ref = $feature->auditTrail(); # getter
$feature->auditTrail(\@audit_list); # setter
# 'propertySets' association
my $namevaluetype_array_ref = $feature->propertySets(); # getter
$feature->propertySets(\@namevaluetype_list); # setter
# 'descriptions' association
my $description_array_ref = $feature->descriptions(); # getter
$feature->descriptions(\@description_list); # setter
# 'security' association
my $security_ref = $feature->security(); # getter
$feature->security($security_ref); # setter
# 'featureGroup' association
my $featuregroup_ref = $feature->featureGroup(); # getter
$feature->featureGroup($featuregroup_ref); # setter
# 'featureLocation' association
my $featurelocation_ref = $feature->featureLocation(); # getter
$feature->featureLocation($featurelocation_ref); # setter
# 'controlFeatures' association
my $feature_array_ref = $feature->controlFeatures(); # getter
$feature->controlFeatures(\@feature_list); # setter
=head1 DESCRIPTION
From the MAGE-OM documentation for the C<Feature> class:
An intended position on an array.
=cut
=head1 INHERITANCE
Bio::MAGE::DesignElement::Feature has the following superclasses:
=over
=item * Bio::MAGE::DesignElement::DesignElement
=back
=cut
BEGIN {
$__CLASS_NAME = q[Bio::MAGE::DesignElement::Feature];
$__PACKAGE_NAME = q[DesignElement];
$__SUBCLASSES = [];
$__SUPERCLASSES = ['Bio::MAGE::DesignElement::DesignElement'];
$__ATTRIBUTE_NAMES = ['name', 'identifier'];
$__ASSOCIATION_NAMES = ['controlType', 'controlledFeatures', 'zone', 'auditTrail', 'position', 'propertySets', 'descriptions', 'security', 'featureGroup', 'featureLocation', 'controlFeatures'];
$__ASSOCIATIONS = [
'controlFeatures',
bless( {
'__SELF' => bless( {
'__NAME' => 'controlledFeatures',
'__IS_REF' => 1,
'__CARDINALITY' => '0..N',
'__DOCUMENTATION' => 'Associates features with their control features.',
'__CLASS_NAME' => 'Feature',
'__RANK' => '2',
'__ORDERED' => 0
}, 'Bio::MAGE::Association::End' ),
'__OTHER' => bless( {
'__NAME' => 'controlFeatures',
'__IS_REF' => 1,
'__CARDINALITY' => '0..N',
'__DOCUMENTATION' => 'Associates features with their control features.',
'__CLASS_NAME' => 'Feature',
( run in 1.092 second using v1.01-cache-2.11-cpan-71847e10f99 )