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::Utils::ConversionSupport - Utility module for Vega release and schema conversion scripts

SYNOPSIS

my $serverroot = '/path/to/ensembl';
my $suport = new Bio::EnsEMBL::Utils::ConversionSupport($serverroot);

# parse common options
$support->parse_common_options;

# parse extra options for your script
$support->parse_extra_options( 'string_opt=s', 'numeric_opt=n' );

# ask user if he wants to run script with these parameters
$support->confirm_params;

# see individual method documentation for more stuff

DESCRIPTION

This module is a collection of common methods and provides helper functions for the Vega release and schema conversion scripts. Amongst others, it reads options from a config file, parses commandline options and does logging.

METHODS

new

Arg[1]      : String $serverroot - root directory of your ensembl sandbox
Example     : my $support = new Bio::EnsEMBL::Utils::ConversionSupport(
                                      '/path/to/ensembl');
Description : constructor
Return type : Bio::EnsEMBL::Utils::ConversionSupport object
Exceptions  : thrown on invalid loglevel
Caller      : general

log_generic

Arg[1]      : String $txt - the text to log
Arg[2]      : Int $indent - indentation level for log message
Example     : my $log = $support->log_filehandle;
              $support->log('Log foo.\n', 1);
Description : Logs a message to the filehandle initialised by calling
              $self->log_filehandle(). You can supply an indentation level
              to get nice hierarchical log messages.
Return type : true on success
Exceptions  : thrown when no filehandle can be obtained
Caller      : general

error

Arg[1]      : String $txt - the error text to log
Arg[2]      : Int $indent - indentation level for log message
Example     : my $log = $support->log_filehandle;
              $support->log_error('Log foo.\n', 1);
Description : Logs a message via $self->log and exits the script.
Return type : none
Exceptions  : none
Caller      : general

warning

Arg[1]      : String $txt - the warning text to log
Arg[2]      : Int $indent - indentation level for log message
Example     : my $log = $support->log_filehandle;
              $support->log_warning('Log foo.\n', 1);
Description : Logs a message via $self->log and increases the warning counter.
Return type : true on success
Exceptions  : none
Caller      : general

debug

Arg[1]      : String $txt - the warning text to log
Arg[2]      : Int $indent - indentation level for log message
Example     : my $log = $support->log_filehandle;
              $support->log_verbose('Log this verbose message.\n', 1);
Description : Logs a message via $self->log if --verbose option was used
Return type : TRUE on success, FALSE if not verbose
Exceptions  : none
Caller      : general

log_filehandle

Arg[1]      : (optional) String $mode - file access mode
Example     : my $log = $support->log_filehandle;
              # print to the filehandle
              print $log 'Lets start logging...\n';
              # log via the wrapper $self->log()
              $support->log('Another log message.\n');
Description : Returns a filehandle for logging (STDERR by default, logfile if
              set from config or commandline). You can use the filehandle
              directly to print to, or use the smart wrapper $self->log().
              Logging mode (truncate or append) can be set by passing the
              mode as an argument to log_filehandle(), or with the
              --logappend commandline option (default: truncate)
Return type : Filehandle - the filehandle to log to
Exceptions  : thrown if logfile can't be opened
Caller      : general

extract_log_identifier

Arg[1]      : 
Example     : 
Description : 
Return type : 
Exceptions  : 
Caller      : 
Status      :

init_log

Example     : $support->init_log;
Description : Opens a filehandle to the logfile and prints some header
              information to this file. This includes script name, date, user
              running the script and parameters the script will be running
              with.
Return type : Filehandle - the log filehandle
Exceptions  : none
Caller      : general

finish_log

Example     : $support->finish_log;
Description : Writes footer information to a logfile. This includes the
              number of logged warnings, timestamp and memory footprint.
Return type : TRUE on success
Exceptions  : none
Caller      : general

date_and_mem

Example     : print LOG "Time, memory usage: ".$support->date_and_mem."\n";
Description : Prints a timestamp and the memory usage of your script.
Return type : String - timestamp and memory usage
Exceptions  : none
Caller      : general

date

Example     : print "Date: " . $support->date . "\n";
Description : Prints a nicely formatted timestamp (YYYY-DD-MM hh:mm:ss)
Return type : String - the timestamp
Exceptions  : none
Caller      : general

mem

Example     : print "Memory usage: " . $support->mem . "\n";
Description : Prints the memory used by your script. Not sure about platform
              dependence of this call ...
Return type : String - memory usage
Exceptions  : none
Caller      : general

warning_count

Example     : print LOG "There were ".$support->warnings." warnings.\n";
Description : Returns the number of warnings encountered while running the
              script (the warning counter is increased by $self->log_warning).
Return type : Int - number of warnings
Exceptions  : none
Caller      : general

logfile

Arg[1]      : 
Example     : 
Description : Getter and setter for the logfile
Return type :
Exceptions  : 
Caller      : 
Status      :

log_auto_id

Arg[1]      : 
Example     : 
Description : 
Return type : 
Exceptions  : 
Caller      : 
Status      :

create_auto_logfile

Arg[1]      : 
Example     : 
Description : 
Return type : 
Exceptions  : 
Caller      : 
Status      : At Risk
            : under development

logpath

Arg[1]      : 
Example     : 
Description : 
Return type : 
Exceptions  : 
Caller      : 
Status      :

logappend

Arg[1]      : 
Example     : 
Description : 
Return type : 
Exceptions  : 
Caller      : 
Status      :

is_component

Arg[1]      : 
Example     : 
Description : 
Return type : 
Exceptions  : 
Caller      : 
Status      :