47be3ab18aa782972b96c3c248a7fb63d40bf7ca
chinhli
  Fri Jun 24 14:43:04 2011 -0700
redmine track #4036: Consolidate numtSeq item display logic for hg18, hg19 amd mm9.
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 58606fb..d347ff8 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -23438,31 +23438,32 @@
 safecpy(itemNameTrimmed, sizeof(itemNameTrimmed),itemName);
 chopSuffixAt(itemNameTrimmed, '_');
 
 safef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand from %s where name='%s'",
       table, itemName);
 sr = sqlGetResult(conn, query);
 int sSize=0;
 while ((row = sqlNextRow(sr)) != NULL)
     {
         bed = bedLoad6(row);
         sSize = bed->chromEnd - bed->chromStart;
         /* printf("sSize is: %5d <BR>", sSize); */
     }
 
 
-
+if (sameString("hg18", database))
+{
 if (sameString("numtS", table))
     {
     safef(query, sizeof(query),
         "select  chrom, chromStart, chromEnd, name, score, strand "
         "from numtSMitochondrionChrPlacement where ( "
         "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND "
         " (ABS((chromEnd - chromStart)-%d) <= %d ))) ",
     itemName, itemNameDash, itemNameTrimmed, sSize, sDiff);
     clickMsg = openMsgM;
     }
 else if (sameString("numtSAssembled", table))
     {
     safef(query, sizeof(query),
         "select  chrom, chromStart, chromEnd, name, score, strand "
         "from numtSMitochondrionChrPlacement where ( "
@@ -23479,109 +23480,47 @@
         "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND "
         " (ABS((chromEnd - chromStart)-%d) <= %d ))) ",
     itemName, itemNameDash, itemNameTrimmed, sSize, sDiff);
     clickMsg = openMsg1;
     }
 else if (sameString("numtSMitochondrionChrPlacement", table))
     {
     safef(query, sizeof(query),
         "select  chrom, chromStart, chromEnd, name, score, strand "
         "from numtS where ( "
         "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND "
         " (ABS((chromEnd - chromStart)-%d) <= %d ))) ",
     itemName, itemNameDash, itemNameTrimmed, sSize, sDiff);
     clickMsg = openMsg1;
     }
-    sr = sqlGetResult(conn, query);
-    firstTime = TRUE;
-
-    while ((row = sqlNextRow(sr)) != NULL)
-        {
-        printf("<PRE><TT>");
-        if (firstTime)
-            {
-            firstTime = FALSE;
-        printf("<BR><H3>%s item '%s' %s</H3><BR>", clickMsg, itemName, openMsg2);
-
-            printf("BROWSER | NAME                CHROMOSOME      START        END     SIZE    STRAND \n");
-            printf("--------|-----------------------------------------------------------------------------------\n");
-
-            }
-        bed = bedLoad6(row);
-        printf("<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">browser</A> | ",
-               hgTracksPathAndSettings(), database,
-               bed->chrom, bed->chromStart+1, bed->chromEnd);
-
-        printf("%-20s %-10s %9d  %9d    %5d       %1s",
-            bed->name, bed->chrom, bed->chromStart+1, bed->chromEnd,
-            (bed->chromEnd - bed->chromStart), bed->strand);
-
-        printf("</TT></PRE>");
-        }
-
- printf("<BR>");
- printTrackHtml(tdb);
- hFreeConn(&conn);
-}
-
-
-void doNumtSHg19Mm9(struct trackDb *tdb, char *itemName)
-/* Put up page for NumtS. */
-{
-char *table = tdb->table;
-struct sqlConnection *conn = hAllocConn(database);
-struct bed *bed;
-char query[512];
-struct sqlResult *sr;
-char **row;
-boolean firstTime = TRUE;
-int start = cartInt(cart, "o");
-int num = 6;
-/* message strings */
-char *clickMsg = NULL;
-char *openMsg1 = "Click 'browser' link below to open Genome Browser at genomic position where";
-char *openMsg2 = "maps\n";
-char *openMsgM = "Click 'browser' link below to open Genome Browser at mitochondrial position where";
-
-genericHeader(tdb, itemName);
-genericBedClick(conn, tdb, itemName, start, num);
-
-safef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand from %s where name='%s'",
-      table, itemName);
-sr = sqlGetResult(conn, query);
-int sSize=0;
-while ((row = sqlNextRow(sr)) != NULL)
-    {
-        bed = bedLoad6(row);
-        sSize = bed->chromEnd - bed->chromStart;
-        /* printf("sSize is: %5d <BR>", sSize); */
-    }
-
+} else {
 if (sameString("numtS", table) || sameString("numtSAssembled", table))
     {
     safef(query, sizeof(query),
         "select  chrom, chromStart, chromEnd, name, score, strand "
         "from numtSMitochondrion where name = '%s'  ", itemName);
     clickMsg = openMsgM;
     }
 else if (sameString("numtSMitochondrion", table))
     {
     safef(query, sizeof(query),
         "select  chrom, chromStart, chromEnd, name, score, strand "
         "from numtS where name = '%s'", itemName);
     clickMsg = openMsg1;
     }
+}
+
     sr = sqlGetResult(conn, query);
     firstTime = TRUE;
 
     while ((row = sqlNextRow(sr)) != NULL)
         {
         printf("<PRE><TT>");
         if (firstTime)
             {
             firstTime = FALSE;
         printf("<BR><H3>%s item '%s' %s</H3><BR>", clickMsg, itemName, openMsg2);
 
             printf("BROWSER | NAME                CHROMOSOME      START        END     SIZE    STRAND \n");
             printf("--------|-----------------------------------------------------------------------------------\n");
 
             }
@@ -24795,43 +24734,34 @@
     {
     doGwasCatalog(tdb, item);
     }
 else if (sameString("par", table))
     {
     doParDetails(tdb, item);
     }
 else if (sameString("t2g", table))
     {
     doT2gDetails(tdb, item);
     }
 else if (tdb != NULL && startsWith("bedDetail", tdb->type))
     {
     doBedDetail(tdb, NULL, item);
     }
-else if (startsWith("numtS", table) && sameString("hg18", database))
-       //  && (!sameString("numtSAssembled", table)))
+else if (startsWith("numtS", table))
     {
-    //genericHeader(tdb, item);
-    //genericClickHandler(tdb, item, NULL);
     doNumtS(tdb, item);
     }
-else if (startsWith("numtS", table) && 
-     (sameString("hg19", database) || sameString("mm9", database)))
-    {
-    doNumtSHg19Mm9(tdb, item);
-    }
-
 else if (tdb != NULL)
     {
     genericClickHandler(tdb, item, NULL);
     }
 else
     {
     cartWebStart(cart, database, "%s", track);
     printf("Sorry, clicking there doesn't do anything yet (%s).", track);
     }
 /* End of 1000+ line dispatch on table involving 100+ if/elses. */
 
 if (didCartHtmlStart)
     cartHtmlEnd();
 }