4898794edd81be5285ea6e544acbedeaeb31bf78 max Tue Nov 23 08:10:57 2021 -0800 Fixing pointers to README file for license in all source code files. refs #27614 diff --git src/hg/utils/hubToMetaRa/hubToMetaRa.c src/hg/utils/hubToMetaRa/hubToMetaRa.c index 2c5c540..6857db8 100644 --- src/hg/utils/hubToMetaRa/hubToMetaRa.c +++ src/hg/utils/hubToMetaRa/hubToMetaRa.c @@ -1,184 +1,184 @@ /* Copyright (C) 2014 The Regents of the University of California - * See README in this or parent directory for licensing information. */ + * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */ #include "axt.h" #include "common.h" #include "bigWig.h" #include "bigBed.h" #include "dystring.h" #include "errCatch.h" #include "hgBam.h" #include "htmshell.h" #include "htmlPage.h" #include "hui.h" #include "net.h" #include "options.h" #include "trackDb.h" #include "trackHub.h" #include "udc.h" #include "vcf.h" #include "mdb.h" static int cacheTime = 1; void usage() /* Explain usage and exit. */ { errAbort( "hubToMetaRa - Crawl a track data hub and output search strings\n" "usage:\n" " hubToMetaRa http://yourHost/yourDir/hub.txt metaData.ra\n" "options:\n" " -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs.\n" " -cacheTime=N - set cache refresh time in seconds, default %d\n" " -verbose=2 - output verbosely\n" , cacheTime ); } static struct optionSpec options[] = { {"udcDir", OPTION_STRING}, {"cacheTime", OPTION_INT}, {NULL, 0}, }; char *removeBracketingQuotes(char *input) // Remove quotes from string if they are matching and at the beginning and end of string { int length = strlen(input); if ((*input == '\"') && (input[length - 1] == '\"')) { input[length - 1] = 0; return &input[1]; } else return input; } void outputTrackMeta(struct trackHub *hub, struct trackHubGenome *genome, struct trackDb *tdb, FILE *output) // Output a track stanza. { char *metaData = trackDbSetting(tdb, "metadata"); if (metaData != NULL) { const struct mdbObj *mdbObj = metadataForTableFromTdb(tdb); struct mdbVar *mdbVar; fprintf(output, "track\t%s\n", trackHubSkipHubName(tdb->track)); for (mdbVar=mdbObj->vars;mdbVar!=NULL;mdbVar=mdbVar->next) { if (sameString(mdbVar->var, "objType")) continue; mdbVar->var = replaceChars(mdbVar->var, " ", "_"); mdbVar->var = replaceChars(mdbVar->var, "\"", " "); mdbVar->var = trimSpaces(mdbVar->var); mdbVar->val = trimSpaces(mdbVar->val); mdbVar->val = removeBracketingQuotes(mdbVar->val); mdbVar->val = trimSpaces(mdbVar->val); if (isEmpty(mdbVar->val)) continue; fprintf(output, "%s\t%s\n", mdbVar->var,mdbVar->val); } fprintf(output,"\n"); } } int outTrackDb(struct trackHub *hub, struct trackHubGenome *genome, struct trackDb *tdb, FILE *output) // Open a track hub and output a RA file with its metadata. { int retVal = 0; struct errCatch *errCatch = errCatchNew(); if (errCatchStart(errCatch)) { outputTrackMeta(hub, genome, tdb, output); } errCatchEnd(errCatch); if (errCatch->gotError) { retVal = 1; fprintf(stderr, "%s", errCatch->message->string); } errCatchFree(&errCatch); return retVal; } int outMetaRa(char *hubUrl, char *metaRaFile) /* Crawl a track data hub and output metadata. */ { struct errCatch *errCatch = errCatchNew(); struct trackHub *hub = NULL; int retVal = 0; if (errCatchStart(errCatch)) { hub = trackHubOpen(hubUrl, "hub_0"); } errCatchEnd(errCatch); if (errCatch->gotError) { retVal = 1; fprintf(stderr, "%s\n", errCatch->message->string); } errCatchFree(&errCatch); if (hub == NULL) return 1; FILE *output = mustOpen(metaRaFile, "w"); struct trackHubGenome *genome; for (genome = hub->genomeList; genome != NULL; genome = genome->next) { struct errCatch *errCatch = errCatchNew(); struct trackDb *tdbList = NULL; if (errCatchStart(errCatch)) { tdbList = trackHubTracksForGenome(hub, genome); trackHubPolishTrackNames(hub, tdbList); } errCatchEnd(errCatch); if (errCatch->gotError) { retVal = 1; fprintf(stderr, "%s", errCatch->message->string); } errCatchFree(&errCatch); verbose(2, "%d tracks in %s\n", slCount(tdbList), genome->name); struct trackDb *tdb; for (tdb = tdbList; tdb != NULL; tdb = tdb->next) { retVal |= outTrackDb(hub, genome, tdb, output); } } trackHubClose(&hub); return retVal; } int main(int argc, char *argv[]) /* Process command line. */ { optionInit(&argc, argv, options); if (argc != 3) usage(); udcSetCacheTimeout(cacheTime); // UDC cache dir: first check for hg.conf setting, then override with command line option if given. setUdcCacheDir(); udcSetDefaultDir(optionVal("udcDir", udcDefaultDir())); if (outMetaRa(argv[1], argv[2])) { return 1; } return 0; }