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::IdMapping::ResultAnalyser - analyse stable Id mapping results

SYNOPSIS

# get a result analyser
my $analyser = Bio::EnsEMBL::IdMapping::ResultAnalyser->new(
  -LOGGER => $logger,
  -CONF   => $conf,
  -CACHE  => $cache
);

# analyse results
$analyser->analyse( $gene_mappings,
  $stable_id_mapper->get_all_stable_id_events('similarity') );

# write results to file
$analyser->write_results_to_file;

# create click lists
$analyser->create_clicklist;

# mapping_summary
$analyser->create_mapping_summary;

DESCRIPTION

This is a utility module which analyses the stable Id mapping results by providing various sorts of mapping statistics. It also creates clicklists and a mapping summary.

METHODS

analyse
analyse_db
classify_source_genes_by_type
classify_genes_by_mapping_simple
classify_genes_by_mapping
add
get
get_all_by_subclass
get_all_by_class
get_count_by_subclass
get_count_by_class
get_all_classes
class_key
write_results_to_file
create_clicklist
create_mapping_summary
read_from_file

analyse

Arg[1]      : Bio::EnsEMBL::IdMapping::MappingList $gene_mappings - the gene
              mappings to analyse
Arg[2]      : Arrayref of Strings - similarity events
Example     : $analyser->analyse($gene_mappings,
                $stable_id_mapper->get_all_stable_id_events('similarity'));
Description : Analyses the results of a stable Id mapping run.
Return type : none
Exceptions  : thrown on wrong or missing arguments
Caller      : general
Status      : At Risk
            : under development

classify_source_genes_by_type

Example     : $analyser->classify_source_genes_by_type;
Description : Classifies source genes by type and adds them to the internal
              datastructure. For the format of the classification string see
              class_key().
Return type : none
Exceptions  : none
Caller      : internal
Status      : At Risk
            : under development

classify_genes_by_mapping_simple

Arg[1]      : Bio::EnsEMBL::IdMapping::MapppingList $gene_mappings - gene
              mappings to classify
Example     : $analyser->classify_genes_by_mapping_simple;
Description : Classifies target genes by mapping ('mapped' or 'unmapped').
Return type : none
Exceptions  : thrown on wrong or missing argument
Caller      : This method is not in use at the momen.
Status      : At Risk
            : under development

classify_genes_by_mapping

Arg[1]      : Bio::EnsEMBL::IdMapping::MapppingList $gene_mappings - gene
              mappings to classify
Arg[2]      : Arrayref of Strings - similarity events
Example     : $analyser->classify_genes_by_mapping;
Description : Classifies genes by mapping. Status is
                'mapped' => stable Id was mapped
                'lost_similar' => stable Id not mapped, but there is a
                                  similarity entry for the source Id
                'lost_definite' => not mapped and no similarity
Return type : none
Exceptions  : thrown on wrong or missing argument
Caller      : This method is not in use at the momen.
Status      : At Risk
            : under development

add

Arg[1]      : String $dbtype - db type ('source' or 'target')
Arg[2]      : String $class - key identifying a gene type (see class_key())
Arg[3]      : String $subclass - status identifier (e.g. 'mapped', 'lost')
Arg[4]      : String $stable_id - gene stable Id
Arg[5]      : String $val - value (usually 0 or 1)
Example     : $analyser->add('source', 'KNOWN-ensembl-protein_coding',
                'mapped', 'ENSG00002342', 1);
Description : Add a stable Id / property pair to a name/dbtype lookup hash.

              The datastructure is a bit of a bloat, but is general enough to
              be used as a lookup hash and to generate statistics (counts by
              type) and debug lists (dump by type).
Return type : String - the added value
Exceptions  : none
Caller      : internal
Status      : At Risk
            : under development

get

Arg[1]      : String $dbtype - db type ('source' or 'target')
Arg[2]      : String $class - key identifying a gene type (see class_key())
Arg[3]      : String $subclass - status identifier (e.g. 'mapped', 'lost')
Arg[4]      : String $stable_id - gene stable Id
Example     : my $mapping_status = $analyser->get('source',
                'KNOWN-ensembl-protein_coding', 'mapped', 'ENSG00002342');
Description : Gets a stable Id mapping status from the internal datastructure.
Return type : String
Exceptions  : none
Caller      : internal
Status      : At Risk
            : under development

get_all_by_subclass

Arg[1]      : String $dbtype - db type ('source' or 'target')
Arg[2]      : String $class - key identifying a gene type (see class_key())
Arg[3]      : String $subclass - status identifier (e.g. 'mapped', 'lost')
Example     : my @mapped_stable_ids = @{
                $analyser->get_all_by_subclass(
                  'source', 'KNOWN-ensembl-protein_coding',
                  'mapped'
                ) };
Description : Gets a list of stable Id for a given subclass.
Return type : Arrayref of String (stable Ids)
Exceptions  : thrown on missing arguments
Caller      : internal
Status      : At Risk
            : under development

get_all_by_class

Arg[1]      : String $dbtype - db type ('source' or 'target')
Arg[2]      : String $class - key identifying a gene type (see class_key())
Example     : my @stable_ids = @{
                $analyser->get_all_by_class( 'source',
                  'KNOWN-ensembl-protein_coding' ) };
Description : Gets a list of stable Id for a given class.
Return type : Arrayref of String (stable Ids)
Exceptions  : thrown on missing arguments
Caller      : internal
Status      : At Risk
            : under development

get_count_by_subclass

Arg[1]      : String $dbtype - db type ('source' or 'target')
Arg[2]      : String $class - key identifying a gene type (see class_key())
Arg[3]      : String $subclass - status identifier (e.g. 'mapped', 'lost')
Example     : my $num_mapped = $analyser->get_count_by_subclass('source',
                'KNOWN-ensembl-protein_coding', 'mapped');
Description : Gets the number of stable Ids for a given subclass.
Return type : Int
Exceptions  : thrown on missing arguments
Caller      : internal
Status      : At Risk
            : under development

get_count_by_class

Arg[1]      : String $dbtype - db type ('source' or 'target')
Arg[2]      : String $class - key identifying a gene type (see class_key())
Example     : my $num_mapped = $analyser->get_count_by_class('source',
                'KNOWN-ensembl-protein_coding');
Description : Gets the number of stable Ids for a given class.
Return type : Int
Exceptions  : thrown on missing arguments
Caller      : internal
Status      : At Risk
            : under development

get_all_classes

Arg[1]      : String $dbtype - db type ('source' or 'target')
Example     : foreach my $class (@{ $analyser->get_all_classes('source') }) {
                print "$class\n";
              }
Description : Gets a list of classes in the ResultAnalyser.
Return type : Arrayref of String
Exceptions  : thrown on missing argument
Caller      : internal
Status      : At Risk
            : under development

class_key

Arg[1]      : Bio::EnsEMBL::IdMapping::TinyGene $gene - a gene object
Example     : my $class = $analyser->class_key($gene);
Description : Generates a key identifying a gene class. This identifier is 
              composed from the gene's logic naame, and biotye.
Return type : String
Exceptions  : none
Caller      : internal
Status      : At Risk
            : under development

write_results_to_file

Example     : $analyser->write_results_to_file;
Description : Writes the results of the result analysis to a file. This is a 
              human-readable text detailing the mapping statistics.
Return type : none
Exceptions  : none
Caller      : general
Status      : At Risk
            : under development

create_clicklist

Example     : $analyser->create_clicklist;
Description : Writes an html file which contains a list of all lost genes,
              with hyperlinks to the appropriate archive website. This is to
              manually check lost genes.
Return type : none
Exceptions  : none
Caller      : general
Status      : At Risk
            : under development

create_mapping_summary

Example     : $analyser->create_mapping_summary();
Description : Writes a text file containing a summary of the mapping stats.
              This will be emailed to the genebuilder for evaluation (you will
              have to manually send the email, using the text in
              "mapping_summary.txt" as the template).
Return type : none
Exceptions  : none
Caller      : general
Status      : At Risk
            : under development

read_from_file

Arg[1]      : String $filename - name of file to read
Arg[2]      : (optional) String $append - directory name to append to basedir
Example     : my $stats_text = $analyser->read_from_file('gene_mapping_stats',
                'stats');
Description : Reads mapping stats from a file.
Return type : String
Exceptions  : none
Caller      : internal
Status      : At Risk
            : under development