From f7658f8fe92d3e8871380995d20c6f0ca4ea4f4d Mon Sep 17 00:00:00 2001
From: Magali Ruffier <mr6@ebi.ac.uk>
Date: Fri, 22 Dec 2017 08:00:48 +0000
Subject: [PATCH] can read db from db_url option

---
 misc-scripts/xref_mapping/XrefParser/ArrayExpressParser.pm   | 3 +++
 misc-scripts/xref_mapping/XrefParser/RFAMParser.pm           | 5 ++++-
 .../xref_mapping/XrefParser/RefSeqCoordinateParser.pm        | 4 ++++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/misc-scripts/xref_mapping/XrefParser/ArrayExpressParser.pm b/misc-scripts/xref_mapping/XrefParser/ArrayExpressParser.pm
index 532ecc944d..aee71d17a6 100644
--- a/misc-scripts/xref_mapping/XrefParser/ArrayExpressParser.pm
+++ b/misc-scripts/xref_mapping/XrefParser/ArrayExpressParser.pm
@@ -40,6 +40,7 @@ sub run_script {
   my $species_id   = $ref_arg->{species_id};
   my $file         = $ref_arg->{file};
   my $verbose      = $ref_arg->{verbose};
+  my $db           = $ref_arg->{dba};
 
   if((!defined $source_id) or (!defined $species_id) or (!defined $file) ){
     croak "Need to pass source_id, species_id and file as pairs";
@@ -123,6 +124,8 @@ sub run_script {
       },
         );
     $gene_adaptor = $registry->get_adaptor($species_name, 'core', 'Gene');
+  } elsif (defined $db) {
+    $gene_adaptor = $db->get_GeneAdaptor();
   } else {
       die("Missing or unsupported project value. Supported values: ensembl, ensemblgenomes");
   }
diff --git a/misc-scripts/xref_mapping/XrefParser/RFAMParser.pm b/misc-scripts/xref_mapping/XrefParser/RFAMParser.pm
index 4110558200..def94e241e 100644
--- a/misc-scripts/xref_mapping/XrefParser/RFAMParser.pm
+++ b/misc-scripts/xref_mapping/XrefParser/RFAMParser.pm
@@ -33,8 +33,9 @@ sub run_script {
   my ($self, $ref_arg) = @_;
   my $source_id    = $ref_arg->{source_id};
   my $species_id   = $ref_arg->{species_id};
-  my $file        = $ref_arg->{file};
+  my $file         = $ref_arg->{file};
   my $verbose      = $ref_arg->{verbose};
+  my $core_db      = $ref_arg->{db};
 
   if((!defined $source_id) or (!defined $species_id) or (!defined $file) ){
     croak "Need to pass source_id, species_id and file as pairs";
@@ -86,6 +87,8 @@ sub run_script {
          '-species'  => $species_name,
          '-group'    => 'core',
        );
+  } elsif (defined $core_db) {
+    $dba = $core_db;
   } else {
       $registry->load_registry_from_multiple_dbs( 
       {
diff --git a/misc-scripts/xref_mapping/XrefParser/RefSeqCoordinateParser.pm b/misc-scripts/xref_mapping/XrefParser/RefSeqCoordinateParser.pm
index b855ec950a..b650d3e20d 100644
--- a/misc-scripts/xref_mapping/XrefParser/RefSeqCoordinateParser.pm
+++ b/misc-scripts/xref_mapping/XrefParser/RefSeqCoordinateParser.pm
@@ -34,6 +34,7 @@ sub run_script {
   my $species_id   = $ref_arg->{species_id};
   my $file         = $ref_arg->{file};
   my $verbose      = $ref_arg->{verbose};
+  my $db           = $ref_arg->{dba};
 
   if((!defined $source_id) or (!defined $species_id) or (!defined $file) ){
     croak "Need to pass source_id, species_id and file as pairs";
@@ -189,6 +190,9 @@ sub run_script {
       $core_dba = $registry->get_DBAdaptor($species_name,'core');
       $otherf_dba = $registry->get_DBAdaptor($species_name, 'otherfeatures');     
 
+  } elsif (defined $db) {
+    $otherf_dba = $db;
+    $core_dba = $db->dnadb();
   } else {
       die("Missing or unsupported project value. Supported values: ensembl, ensemblgenomes");
   }
-- 
GitLab