src/hg/archaeStuff/scripts/extract-genome-info 1.4

1.4 2009/03/26 00:04:27 pchan
add altdb option for alternate centraldb
Index: src/hg/archaeStuff/scripts/extract-genome-info
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/archaeStuff/scripts/extract-genome-info,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -B -U 4 -r1.3 -r1.4
--- src/hg/archaeStuff/scripts/extract-genome-info	25 Mar 2009 21:51:26 -0000	1.3
+++ src/hg/archaeStuff/scripts/extract-genome-info	26 Mar 2009 00:04:27 -0000	1.4
@@ -11,19 +11,21 @@
 
 if (scalar(@ARGV) <= 0) {
     die "Usage: extract-genome-info [options] > <output file>\n",
         "Options:\n",
+        "--altdb=<name> alternative central db (eg. public for centraldb_pulic)\n",
         "--file   list of space-delimited fields in Genome-info-db to be included\n",
         "--db     list of space-delimited fields in centraldb to be included\n",
         "--dbonly limit output to genomes included in browser database\n\n";
 }
 
 #options
+our $opt_altdb = "";
 our $opt_file = "";
 our $opt_db = "";
 our $opt_dbonly = 0;
 
-Getopt::Long::GetOptions("file=s", "db=s", "dbonly");
+Getopt::Long::GetOptions("altdb=s", "file=s", "db=s", "dbonly");
 
 # Global constants
 our $global_constants = archaeBrowser::Constant->new;
 
@@ -50,9 +52,9 @@
 &Read_genome_info($global_constants->genome_info_euk(), \%global_vars);   # manual changes to genome info
 &Read_genome_info($global_constants->genome_info_vir(), \%global_vars);   # manual changes to genome info
 &Read_genome_info($global_constants->genome_info_mods(), \%global_vars);  # manual changes to genome info
 
-my $db_genomes = &read_centraldb();
+my $db_genomes = &read_centraldb(\%global_vars);
 my $file_genomes = &read_genome_info($db_genomes);
 &write_output($db_genomes, $file_genomes);
 
 exit;
@@ -61,14 +63,22 @@
 
 
 sub read_centraldb
 {
+    my ($global_vars) = @_;
+    my $global_constants = $global_vars->{global_constants};
     my %genomes = ();
     my $genome = {};
     my $col = 0;
     my @cols = ();
     my @headers = ();
     my $name_col = 0;
+    
+    my $central_db = $global_constants->default_central_db();
+    if ($opt_altdb ne "")
+    {
+        $central_db .= "_$opt_altdb";
+    }
     my $cmd = "select ";
     my @fields = split(/ /, $opt_db);
     
     if (scalar(@fields) > 0)
@@ -80,9 +90,10 @@
             else { $cmd .= "a.$fields[$i]"; }
         }
         if ($opt_db !~ /name/) { $cmd .= ",a.name"; }
         $cmd .= " from dbDb a, genomeClade b where a.genome = b.genome;";
-        my $result = `hgsql "centraldb" -e "$cmd"`;
+        $cmd = "hgsql \"$central_db\" -e \"$cmd\"";
+        my $result = `$cmd`;
         my @results = split(/\n/, $result);
 
         for (my $line = 0; $line < scalar(@results); $line++)
         {