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::CliHelper
VERSION
$Revision$
SYNOPSIS
use Bio::EnsEMBL::Utils::CliHelper;
my $cli = Bio::EnsEMBL::Utils::CliHelper->new();
# get the basic options for connecting to a database server
my $optsd = $cli->get_dba_opts();
# add another option
push(@$optsd,"print");
# process the command line with the supplied options plus a reference to a help subroutine
my $opts = $cli->process_args($optsd,\&usage);
# use the command line options to get an array of database details
for my $db_args (@{$cli->get_dba_args_for_opts($opts)}) {
# use the args to create a DBA
my $dba = new Bio::EnsEMBL::DBSQL::DBAdaptor(%{$db_args});
...
if(defined $opts->{print}) {
...
}
}
For adding secondary databases, a prefix can be supplied. For instance, to add a second set of
db params prefixed with dna (-dnahost -dbport etc.) use the prefix argument with get_dba_opts and
get_dba_args_for_opts:
# get the basic options for connecting to a database server
my $optsd =
[ @{ $cli_helper->get_dba_opts() }, @{ $cli_helper->get_dba_opts('gc') } ];
# process the command line with the supplied options plus a help subroutine
my $opts = $cli_helper->process_args( $optsd, \&usage );
# get the dna details
my ($dna_dba_details) =
@{ $cli_helper->get_dba_args_for_opts( $opts, 1, 'dna' ) };
my $dna_db =
Bio::EnsEMBL::DBSQL::DBAdaptor->new( %{$dna_dba_details} ) );
DESCRIPTION
Utilities for a more consistent approach to parsing and handling EnsEMBL script command lines
METHODS
See subroutines.
new()
Description : Construct a new instance of a CliHelper object
Returntype : Bio::EnsEMBL::Utils:CliHelper
Status : Under development
get_dba_opts()
Arg [1] : Optional prefix for dbnames e.g. dna
Description : Retrieves the standard options for connecting to one or more Ensembl databases
Returntype : Arrayref of option definitions
Status : Under development
process_args()
Arg [1] : Arrayref of supported command line options (e.g. from get_dba_opts)
Arg [2] : Ref to subroutine to be invoked when -help or -? is supplied
Description : Retrieves the standard options for connecting to one or more Ensembl databases
Returntype : Hashref of parsed options
Status : Under development
get_dba_args_for_opts()
Arg [1] : Hash of options (e.g. parsed from command line options by process_args())
Arg [2] : If set to 1, the databases are assumed to have a single species only. Default is 0 if database name matches collection, 1 otherwise.
Arg [3] : Optional prefix to use when parsing e.g. dna
Description : Uses the parsed command line options to generate an array of DBAdaptor arguments
: (e.g. expands dbpattern, finds all species_ids for multispecies databases)
: These can then be passed directly to Bio::EnsEMBL::DBSQL::DBAdaptor->new()
Returntype : Arrayref of DBA argument hash refs
Status : Under development
get_dba_args_for_opts()
Arg [1] : Hash of options (e.g. parsed from command line options by process_args())
Arg [2] : If set to 1, the databases are assumed to have a single species only. Default is 0.
Arg [3] : Optional prefix to use when parsing e.g. dna
Description : Uses the parsed command line options to generate an array DBAdaptors.
: Note this can overload connections on a server
Returntype : Arrayref of Bio::EnsEMBL::DBSQL::DBAdaptor
Status : Under development
load_registry_for_opts
Arg [1] : Hash of options (e.g. parsed from command line options by process_args())
Arg [2] : Optional prefix to use when parsing e.g. dna or master
Description : Loads a Registry from the given options hash. If a C<registry>
option is given then the code will call C<load_all>. Otherwise
we use the database parameters given to call
C<load_registry_from_db()>.
Returntype : Integer of the number of DBAdaptors loaded
Status : Under development