diff --git a/modules/Bio/EnsEMBL/Registry.pm b/modules/Bio/EnsEMBL/Registry.pm index d95606bae2114a83fb82806a7bed037f8d864887..e07e7ac6df204201ea2b8478ff4ef9f62deb9adf 100644 --- a/modules/Bio/EnsEMBL/Registry.pm +++ b/modules/Bio/EnsEMBL/Registry.pm @@ -1567,12 +1567,12 @@ sub load_registry_from_db { my ( $host, $port, $user, $pass, $verbose, $db_version, - $wait_timeout, $no_cache, $species, $species_suffix ) + $wait_timeout, $no_cache, $species, $species_suffix, $db_prefix ) = rearrange( [ 'HOST', 'PORT', 'USER', 'PASS', 'VERBOSE', 'DB_VERSION', 'WAIT_TIMEOUT', 'NO_CACHE', - 'SPECIES', 'SPECIES_SUFFIX' ], + 'SPECIES', 'SPECIES_SUFFIX', 'DB_PREFIX' ], @args ); if ( defined($species) ) { @@ -1582,6 +1582,9 @@ sub load_registry_from_db { if (!defined($species_suffix)) { $species_suffix = ""; } + if (defined($db_prefix)) { + $db_prefix = $db_prefix . '_'; + } if(! defined $db_version) { # Do checking for the -DB_VERSION flag which can be mis-spelt. Regex assembled using: @@ -1689,7 +1692,7 @@ sub load_registry_from_db { } } elsif ( - $db =~ /^([a-z]+_[a-z0-9]+(?:_[a-z0-9]+)? # species name e.g. homo_sapiens or canis_lupus_familiaris + $db =~ /^(?:$db_prefix)([a-z]+_[a-z0-9]+(?:_[a-z0-9]+)? # species name e.g. homo_sapiens or canis_lupus_familiaris _ [a-z]+ # db type (?:_\d+)?) # optional end bit for ensembl genomes databases