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::BaseObject - base object for IdMapping objects

SYNOPSIS

# this object isn't instantiated directly but rather extended
use Bio::EnsEMBL::IdMapping::BaseObject;
our @ISA = qw(Bio::EnsEMBL::IdMapping::BaseObject);

DESCRIPTION

This is the base object for some of the objects used in the IdMapping application. An object that extends BaseObject will have a ConfParser, Logger and Cache object. BaseObject also implements some useful utility functions related to file and db access.

This isn't very clean OO design but it's efficient and easy to use...

METHODS

new
get_filehandle
file_exists
fetch_value_from_db
dump_table_to_file
upload_file_into_table
logger
conf
cache

new

Arg [LOGGER]: Bio::EnsEMBL::Utils::Logger $logger - a logger object
Arg [CONF]  : Bio::EnsEMBL::Utils::ConfParser $conf - a configuration object
Arg [CACHE] : Bio::EnsEMBL::IdMapping::Cache $cache - a cache object
Example     : my $object = Bio::EnsEMBL::IdMapping::BaseObjectSubclass->new(
                -LOGGER => $logger,
                -CONF   => $conf,
                -CACHE  => $cache
              );
Description : Constructor
Return type : implementing subclass type
Exceptions  : thrown on wrong or missing arguments
Caller      : general
Status      : At Risk
            : under development

get_filehandle

Arg[1]      : String $filename - filename for filehandle
Arg[2]      : String $path_append - append subdirectory name to basedir
Arg[3]      : String $mode - filehandle mode (<|>|>>)
Example     : my $fh = $object->get_filehandle('mapping_stats.txt', 'stats',
                '>');
              print $fh "Stats:\n";
Description : Returns a filehandle to a file for reading or writing. The file
              is qualified with the basedir defined in the configuration and
              an optional subdirectory name.
Return type : filehandle
Exceptions  : thrown on missing filename
Caller      : general
Status      : At Risk
            : under development

file_exists

Arg[1]      : String $filename - filename to test
Arg[2]      : Boolean $path_append - turn on pre-pending of basedir
Example     : unless ($object->file_exists('gene_mappings.ser', 1)) {
                $object->do_gene_mapping;
              }
Description : Tests if a file exists and has non-zero size.
Return type : Boolean
Exceptions  : none
Caller      : general
Status      : At Risk
            : under development

fetch_value_from_db

Arg[1]      : DBI::db $dbh - a DBI database handle
Arg[2]      : String $sql - SQL statement to execute
Example     : my $num_genes = $object->fetch_value_from_db($dbh,
                'SELECT count(*) FROM gene');
Description : Executes an SQL statement on a db handle and returns the first
              column of the first row returned. Useful for queries returning a
              single value, like table counts.
Return type : Return type of SQL statement
Exceptions  : thrown on wrong or missing arguments
Caller      : general
Status      : At Risk
            : under development

dump_table_to_file

Arg[1]      : String $dbtype - db type (source|target)
Arg[2]      : String $table - name of table to dump
Arg[3]      : String $filename - name of dump file
Arg[4]      : Boolean $check_existing - turn on test for existing dump
Example     : my $rows_dumped = $object->dump_table_to_file('source',
                'stable_id_event', 'stable_id_event_existing.txt');
Description : Dumps the contents of a db table to a tab-delimited file. The
              dump file will be written to a subdirectory called 'tables'
              under the basedir from your configuration.
Return type : Int - the number of rows dumped
Exceptions  : thrown on wrong or missing arguments
Caller      : general
Status      : At Risk
            : under development

upload_file_into_table

Arg[1]      : String $dbtype - db type (source|target)
Arg[2]      : String $table - name of table to upload the data to
Arg[3]      : String $filename - name of dump file
Arg[4]      : Boolean $no_check_empty - don't check if table is empty
Example     : my $rows_uploaded = $object->upload_file_into_table('target',
                'stable_id_event', 'stable_id_event_new.txt');
Description : Uploads a tab-delimited data file into a db table. The data file
              will be taken from a subdirectory 'tables' under your configured
              basedir. If the db table isn't empty and $no_check_empty isn't
              set, no data is uploaded (and a warning is issued).
Return type : Int - the number of rows uploaded
Exceptions  : thrown on wrong or missing arguments
Caller      : general
Status      : At Risk
            : under development

logger

Arg[1]      : (optional) Bio::EnsEMBL::Utils::Logger - the logger to set
Example     : $object->logger->info("Starting ID mapping.\n");
Description : Getter/setter for logger object
Return type : Bio::EnsEMBL::Utils::Logger
Exceptions  : none
Caller      : constructor
Status      : At Risk
            : under development

conf

Arg[1]      : (optional) Bio::EnsEMBL::Utils::ConfParser - the configuration
              to set
Example     : my $basedir = $object->conf->param('basedir');
Description : Getter/setter for configuration object
Return type : Bio::EnsEMBL::Utils::ConfParser
Exceptions  : none
Caller      : constructor
Status      : At Risk
            : under development

cache

Arg[1]      : (optional) Bio::EnsEMBL::IdMapping::Cache - the cache to set
Example     : $object->cache->read_from_file('source');
Description : Getter/setter for cache object
Return type : Bio::EnsEMBL::IdMapping::Cache
Exceptions  : none
Caller      : constructor
Status      : At Risk
            : under development