src/hg/lib/metaTbl.c 1.11

1.11 2010/04/12 21:56:28 tdreszer
Extended special case for ENCODE metadata lines
Index: src/hg/lib/metaTbl.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/metaTbl.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -b -B -U 4 -r1.10 -r1.11
--- src/hg/lib/metaTbl.c	2 Apr 2010 21:14:04 -0000	1.10
+++ src/hg/lib/metaTbl.c	12 Apr 2010 21:56:28 -0000	1.11
@@ -509,8 +509,10 @@
     freeMem(words);
     freeMem(cloneVars);
 
     // Special for old style ENCODE metadata
+#define ENCODE_ALN  "Alignments"
+#define ENCODE_RSIG "RawSignal"
     if(metaObj->obj == NULL)
         {
         char * tableName = NULL;
         char * fileName = NULL;
@@ -530,8 +532,19 @@
                 {
                 metaObj->obj     = cloneString(tableName);
                 metaObj->objType = otTable;
                 }
+            else if(stringIn(ENCODE_ALN,fileName) && stringIn(ENCODE_RSIG,tableName))// Messier case where the file has "Alignment" but the table has "RawSignal"
+                {
+                char *tmpFilName = cloneString(fileName);
+                strSwapStrs(tmpFilName, strlen(tmpFilName),ENCODE_ALN, ENCODE_RSIG);
+                if(startsWithWordByDelimiter(tableName,'.',tmpFilName))
+                    {
+                    metaObj->obj     = cloneString(tableName);
+                    metaObj->objType = otTable;
+                    }
+                freeMem(tmpFilName);
+                }
             }
         else if(fileName != NULL)
             {
             verbose(3, "fileName:%s\n",fileName);