LICENSE
Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute Copyright [2016-2024] EMBL-European Bioinformatics Institute
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CONTACT
Please email comments or questions to the public Ensembl
developers list at <http://lists.ensembl.org/mailman/listinfo/dev>.
Questions may also be sent to the Ensembl help desk at
<http://www.ensembl.org/Help/Contact>.
NAME
Bio::EnsEMBL::MiscFeature - A miscelaneous feature with arbitrary features and associations.
SYNOPSIS
use Bio::EnsEMBL::MiscFeature;
use Bio::EnsEMBL::MiscSet;
use Bio::EnsEMBL::Attribute;
my $mfeat = Bio::EnsEMBL::MiscFeature->new(
-START => 1200,
-END => 100_000,
-STRAND => 1,
-SLICE => $slice
);
# Can add attributes to the misc feature and associate with various
# sets
my $clone_set = Bio::EnsEMBL::MiscSet->new(
-CODE => 'clone',
-NAME => '1MB clone set',
-DESCRIPTION => '1MB CloneSet'
);
my $tiling_path_set = Bio::EnsEMBL::MiscSet->new(
-CODE => 'tilingpath',
-NAME => 'tiling path set'
);
my $attrib1 = Bio::EnsEMBL::Attribute->new(
-VALUE => 'RLX12451',
-CODE => 'name',
-NAME => 'name'
);
my $attrib2 = Bio::EnsEMBL::Attribute->new(
-VALUE => '4',
-CODE => 'version',
-NAME => 'version'
);
my $attrib3 = Bio::EnsEMBL::Attribute->new(
-VALUE => 'AL42131.4',
-CODE => 'synonym',
-NAME => 'synonym'
);
# can associate a misc feature with any number of sets
$mfeat->add_MiscSet($clone_set);
$mfeat->add_MiscSet($tiling_path_set);
# can add arbitrary attributes to a misc feature
$mfeat->add_Attribute($attrib1);
$mfeat->add_Attribute($attrib2);
$mfeat->add_Attribute($attrib3);
my ($name_attrib) = @{ $mfeat->get_all_Attributes('name') };
my @all_attribs = @{ $mfeat->get_all_Attributes() };
my @all_sets = @{ $mfeat->get_all_MiscSets() };
my ($clone_set) = @{ $mfeat->get_all_CloneSets('clone') };
# Can do normal feature operations as well
$mfeat = $mfeat->transform('supercontig');
print $mfeat->slice->seq_region_name, ' ', $mfeat->start, '-',
$mfeat->end;
DESCRIPTION
MiscFeatures are extremely general features with a location, and an arbitrary group of attributes. They are grouped with other features of the same 'type' through the use of MiscSets (see Bio::EnsEMBL::MiscSet). Attributes are attached in the fom of Bio::EnsEMBL::Attribute objects. See Bio::EnsEMBL::DBSQL::MiscFeatureAdaptor for ways to fetch or store MiscFeatures.
new
Arg [-SLICE]: Bio::EnsEMBL::SLice - Represents the sequence that this
feature is on. The coordinates of the created feature are
relative to the start of the slice.
Arg [-START]: The start coordinate of this feature relative to the start
of the slice it is sitting on. Coordinates start at 1 and
are inclusive.
Arg [-END] : The end coordinate of this feature relative to the start of
the slice it is sitting on. Coordinates start at 1 and are
inclusive.
Arg [-STRAND]: The orientation of this feature. Valid values are 1,-1,0.
Arg [-SEQNAME] : A seqname to be used instead of the default name of the
of the slice. Useful for features that do not have an
attached slice such as protein features.
Arg [-dbID] : (optional) internal database id
Arg [-ADAPTOR]: (optional) Bio::EnsEMBL::DBSQL::BaseAdaptor
Example : $feature = Bio::EnsEMBL::MiscFeature->new(-start => 1,
-end => 100,
-strand => 1,
-slice => $slice,
-analysis => $analysis);
Description: Constructs a new Bio::EnsEMBL::Feature. Generally subclasses
of this method are instantiated, rather than this class itself.
Returntype : Bio::EnsEMBL::MiscFeature
Exceptions : Thrown on invalid -SLICE, -ANALYSIS, -STRAND ,-ADAPTOR arguments
Caller : general, subclass constructors
Status : Stable
add_Attribute
Arg [1] : Bio::EnsEMBL::Attribute $attribute
Example : $misc_feature->add_attribute($attribute);
Description: Adds an attribute to this misc. feature
Returntype : none
Exceptions : throw on wrong argument type
Caller : general
Status : Stable
add_MiscSet
Arg [1] : Bio::EnsEMBL::MiscSet $set
The set to add
Example : $misc_feature->add_MiscSet(Bio::EnsEMBL::MiscSet->new(...));
Description: Associates this MiscFeature with a given Set.
Returntype : none
Exceptions : throw if the set arg is not provided,
throw if the set to be added does not have a code
Caller : general
Status : Stable
get_all_MiscSets
Arg [1] : optional string $code
The code of the set to retrieve
Example : $set = $misc_feature->get_all_MiscSets($code);
Description: Retrieves a set that this feature is associated with via its
code. Can return empty lists. Usually returns about one elements lists.
Returntype : listref of Bio::EnsEMBL::MiscSet
Exceptions : throw if the code arg is not provided
Caller : general
Status : Stable
get_all_Attributes
Arg [1] : optional string $code
The code of the Attribute objects to retrieve
Example : @attributes = @{ $misc_feature->get_all_Attributes('name') };
Description: Retrieves a list of Attribute objects for given code or all
of the associated Attributes.
Returntype : listref of Bio::EnsEMBL::Attribute
Exceptions :
Caller : general
Status : Stable
get_all_attribute_values
Arg [1] : string $code
The code of the Attribute object values to retrieve
Example : @attributes_vals = @{$misc_feature->get_all_attribute_values('name')};
Description: Retrieves a list of Attribute object values for given code or all
of the associated Attributes.
Returntype : listref of values
Exceptions :
Caller : general
Status : Stable
get_scalar_attribute
Arg [1] : string $code
The code of the Attribute object values to retrieve
Example : $vals = $misc_feature->get_scalar_attribute('name');
Description: Retrieves a value for given code or all
of the associated Attributes.
Returntype : scalar value
Exceptions :
Caller : general
Status : Stable
display_id
Arg [1] : none
Example : print $kb->display_id();
Description: This method returns a string that is considered to be
the 'display' identifier. For misc_features this is the first
name or synonym attribute or '' if neither are defined.
Returntype : string
Exceptions : none
Caller : web drawing code
Status : Stable
summary_as_hash
Example : my $hash = $misc_feature->summary_as_hash();
Description: Generates a HashRef compatible with GFFSerializer. Adds
all attribute key value pairs plus MiscSet codes and names
Returntype : Hash
Exceptions : none
Caller : general
Status : Stable