Archive Ensembl HomeArchive Ensembl Home
Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine Class Reference
Inheritance diagram for Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine:

List of all members.


Class Summary

Description

This is a re-implementation of the code currently held in Ensembl's core
API checkout which can project DBEntries from one species to another
by using the Homologies projected from the Compara Genomics GeneTree
pipeline. Normally this is used to project GO terms from a well annotated
species to one which is not.
Ensembl's original implementation involved a monolithic script with
no scope for customisation. This implementation attempts to be as pluggable
as possible by leveraging Data::Predicates (a way of encapsulating logic
to allow a user to specify their own filters). This means the algorithm 
for projection becomes
=over 8
=item Get all homologies projected between two species (one given at construction) the other when we run project
=item Filter them for allowed linkage using homology_predicate() e.g. filter on allowed mappings or percentage identitiy limits
=item Loop through these homologies
=item For each member of the homology get the DBEntry objects from the core database (delegates to Bio::EnsEMBL::Compara::Production::Projection::FakeXrefHolder)
=item For each source DBEntry filter out using db_entry_predicate() ensuring we want to work with this DBEntry type
=item If we still have a DBEntry then make sure the target does not already have the DBEntry linked to it
=item If still okay then build a Bio::EnsEMBL::Compara::Production::Projection::Projection object based on this
=item Return an ArrayRef of these projection objects
=back
The main way to cut into this procedure is to give your own predicates
during construction or to extend this module & reimplement the builder methods.
 

Definition at line 48 of file ProjectionEngine.pm.

Available Methods

protected _dbentry_predicate_builder ()
protected _decode_homology ()
protected _filter_dbentry ()
protected _get_homologies ()
protected _get_mlss ()
protected _homologies ()
protected _homology_predicate_builder ()
protected _log_builder ()
protected _method_link_type_builder ()
protected _transfer_dbentry_by_targets ()
public Projection build_projection ()
public dba ()
public dbentry_predicate ()
public dbentry_source_object ()
public genome_db ()
public homology_predicate ()
public log ()
public method_link_type ()
public new ()
public
Bio::EnsEMBL::Compara::Production::Projection::Projection 
project ()

Method Documentation

protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_dbentry_predicate_builder ( )

Undocumented method

Code:
click to view

Reimplemented in Bio::EnsEMBL::Compara::Production::Projection::DisplayXrefProjectionEngine, and Bio::EnsEMBL::Compara::Production::Projection::GOAProjectionEngine.

protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_decode_homology ( )

Undocumented method

Code:
click to view
protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_filter_dbentry ( )

Undocumented method

Code:
click to view
protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_get_homologies ( )

Undocumented method

Code:
click to view

Reimplemented in Bio::EnsEMBL::Compara::Production::Projection::DisplayXrefProjectionEngine.

protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_get_mlss ( )

Undocumented method

Code:
click to view
protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_homologies ( )

Undocumented method

Code:
click to view
protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_homology_predicate_builder ( )

Undocumented method

Code:
click to view

Reimplemented in Bio::EnsEMBL::Compara::Production::Projection::DisplayXrefProjectionEngine, and Bio::EnsEMBL::Compara::Production::Projection::GOAProjectionEngine.

protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_log_builder ( )

Undocumented method

Code:
click to view
protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_method_link_type_builder ( )

Undocumented method

protected Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::_transfer_dbentry_by_targets ( )

Undocumented method

Code:
click to view

Reimplemented in Bio::EnsEMBL::Compara::Production::Projection::DisplayXrefProjectionEngine, and Bio::EnsEMBL::Compara::Production::Projection::GOAProjectionEngine.

public Projection Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::build_projection ( )
  Arg[1]      : Member; source member of projection
  Arg[2]      : Member; target member of projection
  Arg[3]      : Source attribute
  Arg[4]      : Target attribute
  Arg[5]      : DBEntry projected
  Arg[6]      : The homology used for projection
  Description : Provides an abstraction to building a projection from a 
                set of elements.
  Returntype  : Projection object. Can be null & the current projection code
                will ignore it
 
Code:
click to view

Reimplemented in Bio::EnsEMBL::Compara::Production::Projection::DisplayXrefProjectionEngine, and Bio::EnsEMBL::Compara::Production::Projection::GOAProjectionEngine.

public Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::dba ( )
  Description : Getter. Compara adaptor to get homologies from
 
Code:
click to view
public Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::dbentry_predicate ( )
  Description : Getter. Predicate used to filter out DBEntry instances
  Can be customised by overriding _dbentry_predicate_builder().
 
Code:
click to view
public Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::dbentry_source_object ( )
  Arg[1] : Member to get the DBEntry objects for
 
Code:
click to view

Reimplemented in Bio::EnsEMBL::Compara::Production::Projection::DisplayXrefProjectionEngine, and Bio::EnsEMBL::Compara::Production::Projection::GOAProjectionEngine.

public Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::genome_db ( )
  Description : Getter. GenomeDB to use as the source of the homologies
 
Code:
click to view
public Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::homology_predicate ( )
  Description : Getter. Predicate used to filter out Homology instances
  Can be customised by overriding _homology_predicate_builder().
 
Code:
click to view
public Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::log ( )
  Description : Getter. Logger instance
 
Code:
click to view
public Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::method_link_type ( )
  Description : Getter. Method link to get homologies from
  Can be customised by overriding _method_link_type_builder(). Defaults to
  ENSEMBL_ORTHOLOGUES.
 
public Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::new ( )
  Arg[-dbentry_predicate] : Predicate used to filter out DBEntry instances
  Arg[-homology_predicate] : Predicate used to filter out Homology instances
  Arg[-log] : Logger instance. Can be a Log::Log4perl::Logger instance or a class which implements the methods 
  Arg[-dba] : required; Compara adaptor to get homologies from
  Arg[-method_link_type] : Method link to get homologies from
  Arg[-genome_db] : required; GenomeDB to use as the source of the homologies
  Description : New method used for a new instance of the given object. 
                Required fields are indicated accordingly. Fields are specified
                using the Arguments syntax (case insensitive).
 
Code:
click to view

Reimplemented in Bio::EnsEMBL::Compara::Production::Projection::DisplayXrefProjectionEngine, and Bio::EnsEMBL::Compara::Production::Projection::GOAProjectionEngine.

public Bio::EnsEMBL::Compara::Production::Projection::Projection Bio::EnsEMBL::Compara::Production::Projection::ProjectionEngine::project ( )
  Arg[0]      : GenomeDB object which is used as the projection target
  Description : Workhorse subroutine which loops through homologies and filters
                through those and DBEntry objects using Data::Predicate
                objects. See class description for more information on the
                filtering process.
  Returntype  : Bio::EnsEMBL::Compara::Production::Projection::Projection
  Exceptions  : If we cannot contact the target databases
 
Code:
click to view

Reimplemented in Bio::EnsEMBL::Compara::Production::Projection::DisplayXrefProjectionEngine.


The documentation for this class was generated from the following file: