f6772f5e8a7399f1430561d708c3dcf033241cc8 hiram Wed Mar 20 15:27:49 2019 -0700 consolidate the tableDataOutput functions refs #18869 diff --git src/hg/hubApi/hubApi.c src/hg/hubApi/hubApi.c index d85ec80..c74b1f7 100644 --- src/hg/hubApi/hubApi.c +++ src/hg/hubApi/hubApi.c @@ -786,31 +786,31 @@ } } static void showExamples(char *url, struct trackHubGenome *hubGenome, char *ucscDb) { hPrintf("

Example URLs to return json data structures:

\n"); hPrintf("

listing functions

\n"); hPrintf("
    \n"); hPrintf("
  1. list public hubs %s/list/publicHubs
  2. \n", urlPrefix, urlPrefix); hPrintf("
  3. list database genomes %s/list/ucscGenomes
  4. \n", urlPrefix, urlPrefix); hPrintf("
  5. list genomes from specified hub %s/list/hubGenomes?hubUrl=%s
  6. \n", urlPrefix, url, urlPrefix, url); hPrintf("
  7. list tracks from specified hub and genome %s/list/tracks?hubUrl=%s&genome=%s
  8. \n", urlPrefix, url, hubGenome->name, urlPrefix, url, hubGenome->name); hPrintf("
  9. list tracks from specified UCSC database %s/list/tracks?db=%s
  10. \n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("
  11. list chromosomes from specified UCSC database %s/list/chromosomes?db=%s
  12. \n", urlPrefix, ucscDb, urlPrefix, ucscDb); -hPrintf("
  13. list chromosomes from specified track from UCSC databaset %s/list/chromosomes?db=%s&track=gap
  14. \n", urlPrefix, ucscDb, urlPrefix, ucscDb); +hPrintf("
  15. list chromosomes from specified track from UCSC databaset %s/list/chromosomes?db=%s&track=gold
  16. \n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("
\n"); hPrintf("

getData functions

\n"); hPrintf("
    \n"); hPrintf("
  1. get sequence from specified database and chromosome %s/getData/sequence?db=%s&chrom=chrM
  2. \n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("
  3. get sequence from specified database, chromosome with start,end coordinates %s/getData/sequence?db=%s&chrom=chrM&start=0&end=128
  4. \n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("
  5. get entire track data from specified database and track name (gold == Assembly) %s/getData/track?db=%s&track=gold
  6. \n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("
  7. get track data from specified database, chromosome and track name (gold == Assembly) %s/getData/track?db=%s&chrom=chrM&track=gold
  8. \n", urlPrefix, ucscDb, urlPrefix, ucscDb); hPrintf("
  9. get track data from specified database, chromosome, track name, start and end coordinates %s/getData/track?db=%s&chrom=chrI&track=gold&start=107680&end=186148
  10. \n", urlPrefix, defaultDb, urlPrefix, defaultDb); hPrintf("
  11. get entire track data from specified hub and track name %s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/GillBejerano/hub.txt&genome=hg19&track=ultraConserved
  12. \n", urlPrefix, urlPrefix); hPrintf("
  13. get track data from specified hub, chromosome and track name (full chromosome) %s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&chrom=chrCp&track=assembly_
  14. \n", urlPrefix, urlPrefix); hPrintf("
  15. get track data from specified hub, chromosome, track name, start and end coordinates %s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&chrom=chr1&track=assembly_&start=0&end=14309681
  16. \n", urlPrefix, urlPrefix); hPrintf("
  17. get all track data from specified hub and track name %s/getData/track?hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt&genome=_araTha1&track=gc5Base
  18. \n", urlPrefix, urlPrefix); hPrintf("
  19. get track data from specified hub, chromosome, track name, start and end coordinates %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
  20. \n", urlPrefix, urlPrefix); hPrintf("
  21. get bigWig track data from specified database, chromosome, track name, start and end coordinates %s/getData/track?db=%s&chrom=chrI&track=gc5BaseBw&start=107680&end=186148
  22. \n", urlPrefix, defaultDb, urlPrefix, defaultDb); @@ -839,30 +839,31 @@ /* Set up globals and make web page */ { cart = theCart; measureTiming = hPrintStatus() && isNotEmpty(cartOptionalString(cart, "measureTiming")); measureTiming = TRUE; char *database = NULL; char *genome = NULL; cgiVarSet("ignoreCookie", "1"); getDbAndGenome(cart, &database, &genome, oldVars); initGenbankTableNames(database); initSupportedTypes(); initUrlPrefix(); +debug = cartUsualBoolean(cart, "debug", debug); int timeout = cartUsualInt(cart, "udcTimeout", 300); if (udcCacheTimeout() < timeout) udcSetCacheTimeout(timeout); knetUdcInstall(); char *pathInfo = getenv("PATH_INFO"); /* nothing on incoming path, then display the WEB page instead */ if (sameOk("/",pathInfo)) pathInfo = NULL; boolean commandError = FALSE; /*expect no more than MAX_PATH_INFO number of words*/ char *words[MAX_PATH_INFO]; if (isNotEmpty(pathInfo)) @@ -892,59 +893,60 @@ struct dbDb *dbList = ucscDbDb(); char **ucscDbList = NULL; int listSize = slCount(dbList); AllocArray(ucscDbList, listSize); struct dbDb *el = dbList; int ucscDataBaseCount = 0; int maxDbNameWidth = 0; for ( ; el != NULL; el = el->next ) { ucscDbList[ucscDataBaseCount++] = el->name; if (strlen(el->name) > maxDbNameWidth) maxDbNameWidth = strlen(el->name); } maxDbNameWidth += 1; -cartWebStart(cart, database, "UCSC API v"CGI_VERSION); +cartWebStart(cart, database, "UCSC JSON API interface"); if (debug) { char *envVar = getenv("BROWSER_HOST"); - hPrintf("

    BROWSER_HOST:%s

    \n", envVar); + hPrintf("\n"); } - char *goOtherHub = cartUsualString(cart, "goOtherHub", defaultHub); char *goUcscDb = cartUsualString(cart, "goUcscDb", ""); char *otherHubUrl = cartUsualString(cart, "urlHub", defaultHub); char *goPublicHub = cartUsualString(cart, "goPublicHub", defaultHub); char *hubDropDown = cartUsualString(cart, "publicHubs", defaultHub); char *urlDropDown = urlFromShortLabel(hubDropDown); char *ucscDb = cartUsualString(cart, "ucscGenomes", defaultDb); char *urlInput = urlDropDown; /* assume public hub */ if (sameWord("go", goOtherHub)) /* requested other hub URL */ urlInput = otherHubUrl; else if (isEmpty(otherHubUrl)) otherHubUrl = urlInput; if (commandError) {