1639326af798f214402a1b2c96e0af4d0c124126 chinhli Mon Aug 23 11:17:35 2010 -0700 NumtS tracks diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 01f565f..291fbf1 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -22180,6 +22180,103 @@ return tdb; } +void doNumtS(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[128]; +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); +//genericClickHandler(tdb, itemName, NULL); +genericBedClick(conn, tdb, itemName, start, num); +printTBSchemaLink(tdb); +printf("
"); +char *date = firstWordInLine(sqlTableUpdate(conn, table)); +if (date != NULL) + printf("Data last updated: %s
\n", date); + +if (sameString("numtS", table)) + { + safef(query, sizeof(query), + "select chrom, chromStart, chromEnd, name, score, strand from numtSMitochondrion where name = '%s'", itemName); /* name like '%s%%'" */ + strcpy(clickMsg, openMsgM); + } +else if (sameString("numtSAssembled", table)) + { + safef(query, sizeof(query), + "select chrom, chromStart, chromEnd, name, score, strand from numtSMitochondrion where name = '%s'", itemName); + strcpy(clickMsg, openMsgM); + } +else if (sameString("numtSMitochondrion", table)) + { + safef(query, sizeof(query), + "select chrom, chromStart, chromEnd, name, score, strand from numtS where name = '%s'", itemName); + strcpy(clickMsg, openMsg1); + } +else if (sameString("numtSMitochondrionChrPlacement", table)) + { + safef(query, sizeof(query), + "select chrom, chromStart, chromEnd, name, score, strand from numtS where name = '%s'", itemName); + strcpy(clickMsg, openMsg1); + } + sr = sqlGetResult(conn, query); + firstTime = TRUE; + printf("
");
+    while ((row = sqlNextRow(sr)) != NULL)
+        {
+        printf("
");
+        if (firstTime)
+            {
+            firstTime = FALSE;
+        printf("

%s item '%s' %s


", clickMsg, itemName, openMsg2); + /* printf("

Click 'browser' link below to display item %s in + * %s track


", itemName, clickMsg); */ + /* printf ("table name: %s itemName: %s\n
", table, + * itemName); */ + + printf("BROWSER | NAME CHROMOSOME START END SIZE SCORE STRAND \n"); + printf("--------|--------------------------------------------------------------------------------------------\n"); + + } + bed = bedLoad6(row); + + if (sameString("numtSAssembled", table) || sameString("numtS", table)) + printf("browser | ", + hgTracksPathAndSettings(), database, bed->name); + else + printf("browser | ", + hgTracksPathAndSettings(), database, + bed->chrom, bed->chromStart+1, bed->chromEnd); + + printf("%-20s %-10s %9d %9d %5d %5d %1s", + bed->name, bed->chrom, bed->chromStart+1, bed->chromEnd, + (bed->chromEnd - bed->chromStart),bed->score, bed->strand); + + printf("
"); + } + + + /* printTrackHtml(tdb); */ + hFreeConn(&conn); +} + + + void doMiddle() /* Generate body of HTML. */ { @@ -23333,6 +23430,13 @@ { doT2gDetails(tdb, item); } +else if (startsWith("numtS", table)) + // && (!sameString("numtSAssembled", table))) + { + //genericHeader(tdb, item); + //genericClickHandler(tdb, item, NULL); + doNumtS(tdb, item); + } else if (tdb != NULL) { genericClickHandler(tdb, item, NULL);