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::RNAProduct - A class representing the mature RNA product of a transcript

DESCRIPTION

Objects of this class represent mature RNA products of transcripts. Examples of such products include MicroRNA (miRNA), circular RNA (circRNA) or piwi-interacting RNA (piRNA), and they commonly play a role in gene expression.

SYNOPSIS

my $rnaproduct = Bio::EnsEMBL::RNAProduct->new(
  -SEQ_START => 36,
  -SEQ_END   => 58
);

# Stable-ID setter
$rnaproduct->stable_id('ENSS00090210');

# Get start and end position in the precursor transcript
my $start = $rnaproduct->start();
my $end = $rnaproduct->end();

new

Arg [-SEQ_START]    : The offset in the Transcript indicating the start
                      position of the product sequence.
Arg [-SEQ_END]      : The offset in the Transcript indicating the end
                      position of the product sequence.
Arg [-START_EXON]   : The Exon object in which the RNAProduct starts
Arg [-END_EXON]     : The Exon object in which the RNAProduct ends
Arg [-STABLE_ID]    : The stable identifier for this RNAPRoduct
Arg [-VERSION]      : The version of the stable identifier
Arg [-DBID]         : The internal identifier of this RNAProduct
Arg [-ADAPTOR]      : The RNAProductAdaptor for this RNAProduct
Arg [-SEQ]          : Manually sets the nucleotide sequence of this
                      RNAProduct. May be useful if this RNAProduct is not
                      stored in a database.
Arg [-CREATED_DATE] : the date the RNAProduct was created
Arg [-MODIFIED_DATE]: the date the RNAProduct was modified
Example    : my $rp = Bio::EnsEMBL::RNAProduct->new(
               -SEQ_START => 36,
               -SEQ_END   => 58
             );
Description: Constructor.  Creates a new RNAProduct object
Returntype : Bio::EnsEMBL::RNAProduct
Exceptions : none
Caller     : general
Status     : In Development

add_Attributes

Arg [1..N] : Bio::EnsEMBL::Attribute $attribute
             Attributes to add.
Example    : $rnaproduct->add_Attributes($selenocysteine_attribute);
Description: Adds an Attribute to the RNAProduct.
             If you add an attribute before you retrieve any from database,
             lazy load will be disabled.
Returntype : none
Exceptions : throw on incorrect arguments
Caller     : general
Status     : Stable

add_DBEntry

Arg [1]    : Bio::EnsEMBL::DBEntry $dbe
             The dbEntry to be added
Example    : $rnaproduct->add_DBEntry($xref);
Description: Associates a DBEntry with this RNAProduct. Note that adding
             DBEntries will prevent future lazy-loading of DBEntries for this
             RNAProduct (see get_all_DBEntries).
Returntype : none
Exceptions : thrown on incorrect argument type
Caller     : general
Status     : Stable

cdna_end

Example     : $rnaproduct_cdna_end = $rnaproduct->cdna_end();
Description : Returns the end position of the RNAProduct in cDNA
              coordinates.
              Since RNAProducts do not span multiple exons, this is
              simply an alias for end().
Return type : Integer
Caller      : General
Status      : Stable

cdna_start

Example     : $rnaproduct_cdna_start = $rnaproduct->cdna_start();
Description : Returns the start position of the RNAProduct in cDNA
              coordinates.
              Since RNAProducts do not span multiple exons, this is
              simply an alias for start().
Return type : Integer
Caller      : General
Status      : Stable

created_date

Arg [1]    : (optional) string $created_date - created date to set
Example    : $rnaproduct->created_date('2007-01-10 20:52:00');
Description: Getter/setter for attribute created_date
Returntype : string
Exceptions : none
Caller     : general
Status     : Stable

display_id

Example    : print $rnaproduct->display_id();
Description: This method returns a string that is considered to be
             the 'display' identifier. For RNAProducts this is (depending on
             availability and in this order) the stable ID, the dbID or an
             empty string.
Returntype : string
Exceptions : none
Caller     : web drawing code
Status     : Stable

end

Arg [1]    : (optional) int $end - end position to set
Example    : $rnaproduct->end(39);
Description: Getter/setter for the value of end, which is a position within
             the precursor Transcript.
Returntype : int
Exceptions : none
Caller     : general
Status     : Stable

end_Exon

Arg [1]    : (optional) Bio::EnsEMBL::Exon || undef - start exon to assign
Example    : $rnaproduct->end_Exon($exon1);
Description: Getter/setter for the value of end_Exon, which denotes the
             exon at which RNAProduct ends.
Returntype : Bio::EnsEMBL::Exon
Exceptions : thrown on wrong argument type
Caller     : general
Status     : Stable

genomic_end

Args        : None
Example     : $rnaproduct_genomic_end = $rnaproduct->genomic_end();
Description : Returns the end position of the RNAProduct in genomic
              coordinates on the forward strand.
Return type : Integer
Exceptions  : None
Caller      : General
Status      : Stable

genomic_start

Args        : None
Example     : $rnaproduct_genomic_start = $rnaproduct->genomic_start();
Description : Returns the start position of the RNAProduct in
              genomic coordinates on the forward strand.
Return type : Integer
Exceptions  : None
Caller      : General
Status      : Stable

get_all_Attributes

Arg [1]    : optional string $attrib_code
             The code of the attribute type to retrieve values for.
Example    : ($n_attr) = @{$tl->get_all_Attributes('note')};
             @rp_attributes = @{$rnaproduct->get_all_Attributes()};
Description: Gets a list of Attributes of this RNAProduct.
             Optionally just get Attributes for given code.
Returntype : listref Bio::EnsEMBL::Attribute
Exceptions : none
Caller     : general
Status     : Stable

get_all_DBEntries

Arg [1]    : (optional) String, external database name,
             SQL wildcard characters (_ and %) can be used to
             specify patterns.

Arg [2]    : (optional) String, external_db type,
             ('ARRAY','ALT_TRANS','ALT_GENE','MISC','LIT','PRIMARY_DB_SYNONYM','ENSEMBL'),
             SQL wildcard characters (_ and %) can be used to
             specify patterns.

Example    : my @dbentries = @{ $rnaproduct->get_all_DBEntries() };
             @dbentries = @{ $rnaproduct->get_all_DBEntries('Uniprot%') };
             @dbentries = @{ $rnaproduct->get_all_DBEntries('%', 'ENSEMBL') };

Description: Retrieves DBEntries (xrefs) for this RNAProduct.

             This method will attempt to lazy-load DBEntries
             from a database if an adaptor is available and no
             DBEntries are present on the RNAProduct (i.e. they
             have not already been added or loaded).

Returntype : Listref to Bio::EnsEMBL::DBEntry objects
Exceptions : none
Caller     : ?
Status     : Stable
Arg [1]    : (optional) String, database name
             SQL wildcard characters (_ and %) can be used to
             specify patterns.

Arg [2]    : (optional) String, external database type, can be one of
             ('ARRAY','ALT_TRANS','ALT_GENE','MISC','LIT','PRIMARY_DB_SYNONYM','ENSEMBL'),
             SQL wildcard characters (_ and %) can be used to
             specify patterns.

Example    :  my @dblinks = @{ $rnaproduct->get_all_DBLinks() };
              @dblinks = @{ $rnaproduct->get_all_DBLinks('mirbase%') };
              @dblinks = @{ $rnaproduct->get_all_DBLinks('%', 'ENSEMBL') };

Description: This is here for consistancy with the Transcript
             and Gene classes.  It is a synonym for the
             get_all_DBEntries() method.

Return type: Listref to Bio::EnsEMBL::DBEntry objects
Exceptions : none
Caller     : general
Status     : Stable

get_all_object_xrefs

Arg [1]    : (optional) String, external database name

Arg [2]    : (optional) String, external_db type

Example    : @oxrefs = @{ $rnaproduct->get_all_object_xrefs() };

Description: Retrieves xrefs for this RNAProduct.

             This method will attempt to lazy-load xrefs from a
             database if an adaptor is available and no xrefs
             are present on the RNAProduct (i.e. they have not
             already been added or loaded).

              NB: This method is an alias for the
                  get_all_DBentries() method.

Return type: Listref of Bio::EnsEMBL::DBEntry objects

Status     : Stable

get_all_xrefs

Arg [1]    : String database name (optional)
             SQL wildcard characters (_ and %) can be used to
             specify patterns.

Example    : @xrefs = @{ $rnaproduct->get_all_xrefs() };
             @xrefs = @{ $rnaproduct->get_all_xrefs('mirbase%') };

Description: This method is here for consistancy with the Gene
             and Transcript classes.  It is an alias for the
             get_all_DBLinks() method, which in turn directly
             calls get_all_DBEntries().

Return type: Listref of Bio::EnsEMBL::DBEntry objects

Status     : Stable

modified_date

Arg [1]    : (optional) string $modified_date - modification date to set
Example    : $rnaproduct->modified_date('2007-01-10 20:52:00');
Description: Getter/setter for attribute modified_date
Returntype : string
Exceptions : none
Caller     : general
Status     : Stable

length

Example    : print "RNA length =", $rnaproduct->length();
Description: Retrieves the length of the nucleotide sequence represented
             by this RNAProduct object.
Returntype : int
Exceptions : none
Caller     : webcode (protview etc.)
Status     : Stable

load

Arg [1]       : Boolean $load_xrefs
                Load (or don't load) xrefs.  Default is to load xrefs.
Example       : $rnaproduct->load();
Description   : The Ensembl API makes extensive use of
                lazy-loading.  Under some circumstances (e.g.,
                when copying genes between databases), all data of
                an object needs to be fully loaded.  This method
                loads the parts of the object that are usually
                lazy-loaded.
Returns       : none

seq

Example    : print $rnaproduct->seq();
Description: Retrieves a string representation of the nucleotide sequence
             of this RNAProduct.  This retrieves the transcript from the
             database and gets its sequence, or retrieves the sequence which
             was set via the constructor/setter.
Returntype : string
Exceptions : warning if the sequence is not set and cannot be retrieved from
             the database.
Caller     : webcode (protview etc.)
Status     : Stable

stable_id

Arg [1]    : (optional) string $stable_id - stable ID to set
Example    : $rnaproduct->stable_id('ENSS00090210');
Description: Getter/setter for attribute stable_id.
             Unlike stable_id_version(), setting a new stable ID does NOT
             reset the version number.
Returntype : string
Exceptions : none
Caller     : general
Status     : Stable

stable_id_version

Arg [1]    : (optional) String - the stable ID with version to set
Example    : $rnaproduct->stable_id("ENSS0059890.3");
Description: Getter/setter for stable id with version for this RNAProduct.
             If the input string omits the version part, the version gets reset
             to undef; use stable_id() if you want to avoid this.
Returntype : String
Exceptions : none
Caller     : general
Status     : Stable

start

Arg [1]    : (optional) int $start - start position to set
Example    : $rnaproduct->start(17);
Description: Getter/setter for the value of start, which is a position within
             the precursor Transcript.
Returntype : int
Exceptions : none
Caller     : general
Status     : Stable

start_Exon

Arg [1]    : (optional) Bio::EnsEMBL::Exon || undef - start exon to assign
Example    : $rnaproduct->start_Exon($exon1);
Description: Getter/setter for the value of start_Exon, which denotes the
             exon at which RNAProduct starts.
Returntype : Bio::EnsEMBL::Exon
Exceptions : thrown on wrong argument type
Caller     : general
Status     : Stable

summary_as_hash

Example       : $rnaproduct_summary = $rnaproduct->summary_as_hash();
Description   : Retrieves a textual summary of this RNAProduct.
                Not inherited from Feature.
Returns       : hashref of arrays of descriptive strings
Status        : Intended for internal use

synchronise_attributes

Example       : $rnaproduct->synchronise_attributes();
Description   : Some RNAProduct attributes, e.g. stem-loop arm in case
                of MicroRNA, use a local cache of their value for
                convenience. Unless the corresponding setters update both
                the cache value and the attribute (which would defeat
                the convenience thing), we have to make sure the former
                get propagated to the latter before storing the object
                in the database:
                 - if no corresponding attribute exists, create one;
                 - if there is one, update its value.
                Class-specific maps of attributes to synchronise are
                provided by
                RNAProductTypeMapper::class_attribute_cache_map() .
Returntype    : none
Exceptions    : throws if the object contains multiple attributes with the
                given code and the choice which one to update is
                ambiguous.
Caller        : RNAProductAdaptor
Status        : At Risk (In Development)

transcript

Arg [1]       : Transcript object (optional)
Description   : Sets or retrieves the transcript object associated
                with this RNAProduct object.
Exceptions    : Throws if there is no adaptor or no dbID defined for
                the RNAProduct object.
Returntype    : Bio::EnsEMBL::Transcript

type_code

Example    : my $rp_type_code = $rnaproduct->type_code();
Description: Getter for the RNAProduct type (e.g. miRNA, circRNA, ...).
             The type is expressed as human-readable code.
             This is somewhat redundant because similar information can
             be obtained simply by looking at the class of the object,
             indeed type_code is not meant to be modified independently
             of the class. However, there are certain use cases when the
             latter are more convenient than the former.
Returntype : string
Exceptions : none
Caller     : ?
Status     : In Development

version

Arg [1]    : (optional) string $version - version to set
Example    : $rnaproduct->version(2);
Description: Getter/setter for attribute version
Returntype : string
Exceptions : none
Caller     : general
Status     : Stable