src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl 1.32

1.32 2010/04/02 17:59:34 tdreszer
Added option to specify which metaTbl to use
Index: src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl,v
retrieving revision 1.31
retrieving revision 1.32
diff -b -B -U 4 -r1.31 -r1.32
--- src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl	25 Mar 2010 18:59:27 -0000	1.31
+++ src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl	2 Apr 2010 17:59:34 -0000	1.32
@@ -31,8 +31,9 @@
     $opt_db
     $opt_verbose
     $opt_checksum
     $opt_noMetaTbl
+    $opt_metaTbl
     /;
 
 our $checksumFile = "md5sum.txt";
 our $textFile = "files.txt";    # plain text file list with metadata
@@ -46,8 +47,9 @@
 options:
     -help               Displays this usage info
     -checksum           Generate checksum file
     -noMetaTbl	        Don't use metaTbl.  Instead, use the old trackDb/fileDb.ra methods
+    -metaTbl=table      Use an explicit metaTbl and don't use trackDb or fileDb.ra
     -preamble=file      File containing introductory information (written in HTML) that will be included in this file (default preamble.html)
     -db=hg18            Use a database other than the default hg18 (For aquiring releaseDate and metadata from trackDb)
     -fileType=mask	    mask for file types included (default '*.gz')
     -verbose=num        Set verbose level to num (default 1).
@@ -284,8 +286,9 @@
                     "db=s",
                     "verbose=i",
                     "checksum",
                     "noMetaTbl",
+                    "metaTbl=s",
                     );
 usage() if (!$ok);
 $opt_verbose = 1 if (!defined $opt_verbose);
 my $fileMask = "*.gz *.bb *.bw *.bam";
@@ -293,8 +296,11 @@
 
 my $preamble = "preamble.html";
    $preamble = $opt_preamble if(defined $opt_preamble);
 
+my $metaTbl = "metaTbl";
+   $metaTbl =$opt_metaTbl if(defined $opt_metaTbl);
+
 usage() if (scalar(@ARGV) < 1);
 
 # Get command-line args
 my $indexHtml = $ARGV[0];
@@ -385,9 +391,9 @@
 
     $results = "";
     # Use the metaTbl for metadata
     if (!defined $opt_noMetaTbl) {
-        my $queryResults = $db->execute("select var,val from $database.metaTbl where objName = '$tableName'");
+        my $queryResults = $db->execute("select var,val from $database.$metaTbl where objName = '$tableName'");
         if($queryResults) {
             my @pairVars;
             while(my @row = $queryResults->fetchrow_array()) {
 
@@ -396,17 +402,17 @@
                 push @pairVars, join('=',$row[0],$row[1] );
             }
             if(scalar(@pairVars) > 0) {
                 $results = "metadata " . join(' ',@pairVars );
-}
+            }
         }
     }
 
+    if(!defined $opt_metaTbl) {
     if(!$results) {
         $results = $db->quickQuery("select settings from $database.trackDb where tableName = '$tableName'");
     }
     if(!$results) {
-        ### TODO: This needs to be replaced with a select from a fileDb table
         if(stat("fileDb.ra")) {
             $results = `grep metadata fileDb.ra | grep '$fileName' | tail -1`;  # Always prefer the last line found
             chomp $results;
             $results =~ s/^ +//;
@@ -423,9 +429,9 @@
                     $metaData{parent} = "Alignments&rarr;RawSignal" if $tableName =~ /Alignments/;
                 }
             }
         }
-        ### TODO: This needs to be replaced with a select from a fileDb table
+        }
     }
     if( $results ) {
         my @settings = split(/\n/, $results); # New Line
         while (@settings) {