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::OntologyXref

DESCRIPTION

This class extends the DBEntry in order to associate Evidence Tags to the relationship between EnsEMBL objects and ontology accessions (primarily GO accessions).

The relationship to GO that is stored in the database is actually derived through the relationship of EnsEMBL peptides to SwissProt peptides, i.e. the relationship is derived like this:

ENSP -> SWISSPROT -> GO

And the evidence tag describes the relationship between the SwissProt Peptide and the GO entry.

In reality, however, we store this in the database like this:

ENSP -> SWISSPROT
ENSP -> GO

and the evidence tag hangs off of the relationship between the ENSP and the GO identifier. Some ENSPs are associated with multiple closely related Swissprot entries which may both be associated with the same GO identifier but with different evidence tags. For this reason a single 'OntologyXref' can have multiple evidence tags.

SYNOPSIS

my $ontology_xref = Bio::EnsEMBL::OntologyXref->new();
$ontology_xref->add_linkage_type('IEA');

foreach my $evtag ( @{ $ontology_xref->get_all_linkage_types() } ) {
  print "$evtag\n";
}

METHODS

get_OntologyTerm

Example    : $ontology_xref->get_OntologyTerm();
Description: Queries the OntologyTermAdaptor for a term which is the same 
             as the primary id of this object. This method requires a
             OntologyDBAdaptor to be available in the Bio::EnsEMBL::Registry. 
             If you have loaded data from an Ensembl release using
             Bio::EnsEMBL::Registry->load_registry_from_db() then this should
             work.
Returntype : Bio::EnsEMBL::OntologyTerm
Exceptions : None
Caller     : general
Status     : Experimantal

add_linkage_type

Arg [1]    : string $value
             allowed values:
             'IC', 'IDA', 'IEA', 'IEP', 'IGI', 'IMP', 'IPI',
             'ISS', NAS', 'ND', 'TAS', 'NR', 'RCA'
Arg [2]    : (optional) Bio::EnsEMBL::DBEntry $source
Example    : $ontology_xref->add_linkage_type('IGI');
Description: Associates a linkage type and source DBEntry with
             this ontology_xref
Returntype : integer; number of linkages
Exceptions : thrown if $linkage_type argument not supplied or
             the optional DBEntry is not a DBEntry object.
Caller     : DBEntryAdaptor
Status     : Experimantal

get_all_linkage_info

Arg [1]    : none
Example    :

  foreach ( @{ $ontology_xref->get_all_linkage_info() } ) {
    print "evidence: $_->[0] via $_->[1]->display_id";
  }

Description: Retrieves a list of evidence-tag/source-DBEntry pairs
             associated with this ontology_xref
Returntype : listref of listrefs
Exceptions : none
Caller     : geneview? general.
Status     : Experimental

get_all_linkage_types

Arg [1]    : none
Example    :

  print( join( ' ', @{ $ontology_xref->get_all_linkage_types() } ),
         "\n" );

Description: Retrieves a unique list of evidence tags associated with
             this ontology_xref
Returntype : none
Exceptions : none
Caller     : geneview? general
Status     : Stable

flush_linkage_types

Arg [1]    : none
Example    : $ontology_xref->flush_linkage_types();
Description: Removes any associated evidence tags
Returntype : none
Exceptions : none
Caller     : general 
Status     : Stable

add_associated_xref

Arg [1]    : Bio::EnsEMBL::DBEntry $associated_xref
             or an Array of Bio::EnsEMBL::DBEntry for compound annotations
Arg [2]    : Bio::EnsEMBL::DBEntry $source_dbentry
Arg [3]    : string $condition_type or an Array of string $condition_types
             matching the order of Arg[1] for compound queries.
Arg [4]    : (optional) Integer $group id for compound annotations.
Arg [5]    : (optional) Integer $rank order for a term within a compound annotation.
Example    : $ontology_xref->add_associated_xref(
                                $associated_xref,
                                $source_dbentry,
                                'with',
                                42,
                                5);
Description: Associates a linkage type and source DBEntry with
             this ontology_xref
Returntype : none
Exceptions : thrown if $linkage_type argument not supplied or
             the optional DBEntry is not a DBEntry object.
Caller     : DBEntryAdaptor
Status     : Experimantal

add_linked_associated_xref

Arg [1]    : Bio::EnsEMBL::DBEntry $associated_xref
             or an Array of Bio::EnsEMBL::DBEntry for compound annotations
Arg [2]    : Bio::EnsEMBL::DBEntry $source_dbentry
Arg [3]    : string $condition_type or an Array of string $condition_types
             matching the order of Arg[1] for compound queries.
Arg [4]    : Integer $group id.
Arg [5]    : Integer $rank id.
Example    : $ontology_xref->add_associated_xref(
                                $associated_xref,
                                $source_dbentry,
                                'with',
                                42,
                                5);
Description: Associates a linkage type and source DBEntry with this
             ontology_xref that have come from the same annotation source
Returntype : none
Exceptions : thrown if $linkage_type argument not supplied or
             the optional DBEntry is not a DBEntry object.
Caller     : DBEntryAdaptor
Status     : Experimantal

get_all_associated_xrefs

Arg [1]    : none
Example    :

  foreach ( @{ $ontology_xref->get_all_associated_xref() } ) {
    print "evidence: $_->[0] via $_->[1]->display_id";
  }

Description: Retrieves a list of associated-DBEntry/source-DBEntry/condition
             sets associated with this ontology_xref
Returntype : listref of listrefs
Exceptions : none
Caller     : geneview? general.
Status     : Experimental

get_extensions Arg [1] : none Example :

  use Data::Dumper;
  print Dumper @{ $ontology_xref->get_extensions_for_web() }
  
Returns    :
  $VAR1 = {
            'source' => '<a href="<Link to CiteXplore>">11937031</a>',
            'evidence' => 'IDA',
            'description' => '<strong>has_direct_input</strong> 
                 <a href="http://www.pombase.org/gene/SPBC32F12.09">
                   SPBC32F12.09
                 </a>'
          };

Description: Retrieves a list of associated-DBEntry/source-DBEntry/condition
             sets associated with this ontology_xref and formats them ready
             for web display in a group per row fashion.
             The accessions for ontologies are linkable. Extra links need to
             be added for each distinct database that is reference. 
Returntype : listref of hashrefs
Exceptions : none
Caller     : 
Status     : Experimental