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 )