0e2add24701b51d27afce7581ad3c54789f6d23e hiram Fri Mar 22 15:35:14 2019 -0700 help text now in include file refs #18869 diff --git src/hg/hubApi/hubApi.c src/hg/hubApi/hubApi.c index 76b3083..1956113 100644 --- src/hg/hubApi/hubApi.c +++ src/hg/hubApi/hubApi.c @@ -938,93 +938,50 @@ for (hel = helList; hel; hel = hel->next) { if (sameOk("track count", hel->name)) continue; if (isSupportedType(hel->name)) hPrintf(" <li>%d - %s - supported</li>\n", ptToInt(hel->val), hel->name); else hPrintf(" <li>%d - %s</li>\n", ptToInt(hel->val), hel->name); } hPrintf(" </ol>\n"); } hPrintf("</ul>\n"); hPrintf("</p>\n"); } // static void tracksForUcscDb(char * db) -static void introductionText() -/* output explanation text */ -{ -char *scriptUri = getenv("SCRIPT_URI"); - -hPrintf("<h1>JSON data API interface to U.C. Santa Cruz genome browser data</h1>\n"); -hPrintf("<h2>Data access URL: <em>%s</em></h2>\n", scriptUri); -hPrintf("<h3>Endpoint functions:</h3>\n"); -hPrintf("<ul>\n"); -hPrintf("<li>/list/...</li>\n"); -hPrintf("<li><ol>\n"); -hPrintf("<li>/list/publicHubs - list public hubs</li>\n"); -hPrintf("<li>/list/ucscGenomes - list UCSC database genomes</li>\n"); -hPrintf("<li>/list/hubGenomes - list genomes from specified hub</li>\n"); -hPrintf("<li>/list/tracks - list data tracks available in specified hub or database genome</li>\n"); -hPrintf("<li>/list/chromosomes - list chromosomes from specified data track in specified hub or database genome</li>\n"); -hPrintf("</ol></li>\n"); -hPrintf("<li>/getData/...</li>\n"); -hPrintf("<li><ol>\n"); -hPrintf("<li>/getData/sequence - return sequence from specified hub or database genome</li>\n"); -hPrintf("<li>/getData/track - return data from specified track in hub or database genome</li>\n"); -hPrintf("</ol></li>\n"); -hPrintf("</ul>\n"); -hPrintf("<h3>Parameters to endpoint functions:</h3>\n"); -hPrintf("<ul>\n"); -hPrintf("<li>hubUrl=<url> - specify track hub or assembly hub URL</li>\n"); -hPrintf("<li>genome=<name> - specify genome assemby in track or assembly hub</li>\n"); -hPrintf("<li>db=<ucscDb> - specify database (aka genome assembly) in UCSC genome browser</li>\n"); -hPrintf("<li>track=<trackName> - specify data track in hub or UCSC database genome assembly</li>\n"); -hPrintf("<li>chrom=<chrN> - specify chromosome name for sequence or track data</li>\n"); -hPrintf("<li>start=<123> - specify start coordinate (0 relative) for data from track or sequence retrieval</li>\n"); -hPrintf("<li>end=<456> - specify end coordinate (1 relative) for data from track or sequence retrieval</li>\n"); -hPrintf("<li>(see also: <a href='http://genome.ucsc.edu/blog/the-ucsc-genome-browser-coordinate-counting-systems/' target=_blank>UCSC browser coordinate counting systems)</a></li>"); -hPrintf("</ul>\n"); -hPrintf("<h3>Supported track types, at this time, for getData functions:</h3>\n"); -hPrintf("<ul>\n"); -static struct slName *el; -for (el = supportedTypes; el; el = el->next) - { - hPrintf("<li>%s</li>\n", el->name); - } -hPrintf("</ul>\n"); -} - static void initUrlPrefix() /* set up urlPrefix for self referenes */ { char *httpHost = getenv("HTTP_HOST"); if (isEmpty(httpHost)) urlPrefix = ""; else { if (! startsWith("hgwdev-api", httpHost)) { if (startsWith("hgwdev",httpHost) || startsWith("genome-test", httpHost)) { urlPrefix = "../cgi-bin/hubApi"; } } } } +#ifdef NOT static void showExamples(char *url, struct trackHubGenome *hubGenome, char *ucscDb) { hPrintf("<h2>Example URLs to return json data structures:</h2>\n"); hPrintf("<h3>listing functions</h3>\n"); hPrintf("<ol>\n"); hPrintf("<li><a href='%s/list/publicHubs' target=_blank>list public hubs</a> <em>%s/list/publicHubs</em></li>\n", urlPrefix, urlPrefix); hPrintf("<li><a href='%s/list/ucscGenomes' target=_blank>list database genomes</a> <em>%s/list/ucscGenomes</em></li>\n", urlPrefix, urlPrefix); hPrintf("<li><a href='%s/list/hubGenomes?hubUrl=%s' target=_blank>list genomes from specified hub</a> <em>%s/list/hubGenomes?hubUrl=%s</em></li>\n", urlPrefix, url, urlPrefix, url); hPrintf("<li><a href='%s/list/tracks?hubUrl=%s&genome=%s' target=_blank>list tracks from specified hub and genome</a> <em>%s/list/tracks?hubUrl=%s&genome=%s</em></li>\n", urlPrefix, url, hubGenome->name, urlPrefix, url, hubGenome->name); hPrintf("<li><a href='%s/list/tracks?db=%s' target=_blank>list tracks from specified UCSC database</a> <em>%s/list/tracks?db=%s</em></li>\n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("<li><a href='%s/list/chromosomes?db=%s' target=_blank>list chromosomes from specified UCSC database</a> <em>%s/list/chromosomes?db=%s</em></li>\n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("<li><a href='%s/list/chromosomes?db=%s&track=gold' target=_blank>list chromosomes from specified track from UCSC databaset</a> <em>%s/list/chromosomes?db=%s&track=gold</em></li>\n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("</ol>\n"); @@ -1041,30 +998,32 @@ hPrintf("<li><a href='%s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&track=gc5Base_' target=_blank>get all track data from specified hub and track name</a> <em>%s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&track=gc5Base</em></li>\n", urlPrefix, urlPrefix); hPrintf("<li><a href='%s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&chrom=chrMt&track=gc5Base_&start=143600&end=143685' target=_blank>get track data from specified hub, chromosome, track name, start and end coordinates</a> <em>%s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&chrom=chrMt&track=gc5Base&start=143600&end=143685</em></li>\n", urlPrefix, urlPrefix); hPrintf("<li><a href='%s/getData/track?db=%s&chrom=chrI&track=gc5BaseBw&start=107680&end=186148' target=_blank>get bigWig track data from specified database, chromosome, track name, start and end coordinates</a> <em>%s/getData/track?db=%s&chrom=chrI&track=gc5BaseBw&start=107680&end=186148</em></li>\n", urlPrefix, defaultDb, urlPrefix, defaultDb); hPrintf("<li><a href='%s/getData/track?db=%s&chrom=chrII&track=ncbiRefSeqOther&start=14334626&end=14979625' target=_blank>get bigBed track data from specified database, chromosome, track name, start and end coordinates</a> <em>%s/getData/track?db=%s&chrom=chrII&track=ncbiRefSeqOther&start=14334626&end=14979625</em></li>\n", urlPrefix, defaultDb, urlPrefix, defaultDb); hPrintf("<li><a href='%s/getData/track?db=%s&chrom=chr1&track=wgEncodeAwgDnaseDuke8988tUniPk&start=14334626&end=14979625' target=_blank>get narrowPeak track data from specified database, chromosome, track name, start and end coordinates</a> <em>%s/getData/track?db=%s&chrom=chr1&track=wgEncodeAwgDnaseDuke8988tUniPk&start=14334626&end=14979625</em></li>\n", urlPrefix, "hg19", urlPrefix, "hg19"); hPrintf("<li><a href='%s/getData/track?db=%s&chrom=chr1&track=wgEncodeBroadHistoneOsteoP300kat3bPk&start=14334626&end=14979625' target=_blank>get broadPeak track data from specified database, chromosome, track name, start and end coordinates</a> <em>%s/getData/track?db=%s&chrom=chr1&track=wgEncodeBroadHistoneOsteoP300kat3bPk&start=14334626&end=14979625</em></li>\n", urlPrefix, "hg19", urlPrefix, "hg19"); hPrintf("</ol>\n"); hPrintf("<h2>Example URLs to generate errors:</h2>\n"); hPrintf("<ol>\n"); hPrintf("<li><a href='%s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&chrom=chrI&track=assembly_&start=0&end=14309681' target=_blank>get track data from specified hub, chromosome, track name, start and end coordinates</a> <em>%s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&chrom=chrI&track=assembly_&start=0&end=14309681</em></li>\n", urlPrefix, urlPrefix); hPrintf("</ol>\n"); } /* static void showExamples() */ +#endif + static void showCartDump() /* for information purposes only during development, will become obsolete */ { hPrintf("<h4>cart dump</h4>"); hPrintf("<pre>\n"); cartDump(cart); hPrintf("</pre>\n"); } static void doMiddle(struct cart *theCart) /* Set up globals and make web page */ { cart = theCart; measureTiming = hPrintStatus() && isNotEmpty(cartOptionalString(cart, "measureTiming")); measureTiming = TRUE; @@ -1189,37 +1148,34 @@ if (commandError) { hPrintf("<h3>ERROR: no such command: '%s/%s' for endpoint '%s'</h3>", words[0], words[1], pathInfo); } long lastTime = clock1000(); struct trackHub *hub = errCatchTrackHubOpen(urlInput); if (measureTiming || debug) { long thisTime = clock1000(); if (debug) hPrintf("<em>hub open time: %ld millis</em><br>\n", thisTime - lastTime); } -// hPrintf("<h3>ucscDb: '%s'</h2>\n", ucscDb); - -struct trackHubGenome *hubGenome = hub->genomeList; - -introductionText(); +webIncludeFile("inc/dataApi.html"); -showExamples(urlInput, hubGenome, ucscDb); +// struct trackHubGenome *hubGenome = hub->genomeList; +// showExamples(urlInput, hubGenome, ucscDb); if (debug) showCartDump(); hPrintf("<h2>Explore hub or database assemblies and tracks</h2>\n"); hPrintf("<form action='%s' name='hubApiUrl' id='hubApiUrl' method='GET'>\n\n", urlPrefix); hPrintf("<b>Select public hub: </b>"); #define JBUFSIZE 2048 #define SMALLBUF 256 char javascript[JBUFSIZE]; struct slPair *events = NULL; safef(javascript, sizeof(javascript), "this.lastIndex=this.selectedIndex;"); slPairAdd(&events, "focus", cloneString(javascript));