0564395ec363631f2ff8d295da6f6b50f873fda4 braney Mon Jan 24 17:01:53 2022 -0800 more chromAlias work: some name changes and support for the new genark chromAlias format diff --git src/hg/hgc/clinvarSubLolly.c src/hg/hgc/clinvarSubLolly.c index 1294a96..3f9befa 100644 --- src/hg/hgc/clinvarSubLolly.c +++ src/hg/hgc/clinvarSubLolly.c @@ -18,31 +18,31 @@ "Likely Benign", "Uncertain significance", "Likely pathogenic", "Pathogenic", }; void printSubmissions(struct trackDb *tdb, char *chrom, int start, int end, unsigned wantScore, int numSubs, boolean not) /* Print out all the submissions at this position that match the * desired score (ie. clinical status). * If "not" is true, then print out all submissions that do NOT match score. * We're grabbing these records out of a second bigBed that's referenced by * "xrefDataUrl" in the trackDb. */ { char *xrefDataUrl = hReplaceGbdb(trackDbSetting(tdb, "xrefDataUrl")); -struct bbiFile *bbi = bigBedFileOpenAlias(xrefDataUrl, chromAliasGetHash(database)); +struct bbiFile *bbi = bigBedFileOpenAlias(xrefDataUrl, chromAliasChromToAliasHash(database)); struct asObject *as = bigBedAsOrDefault(bbi); struct lm *lm = lmInit(0); struct bigBedInterval *bbList = bigBedIntervalQuery(bbi, chrom, start, end, 0, lm); int count; if (not) count = slCount(bbList) - numSubs; else count = numSubs; // nothing to print if (count == 0) return; if (!not) @@ -69,31 +69,31 @@ } void doClinvarSubLolly(struct trackDb *tdb, char *item) /* Put up page for clinvarSubLolly track. */ { genericHeader(tdb, NULL); struct sqlConnection *conn = NULL; if (!trackHubDatabase(database)) conn = hAllocConnTrack(database, tdb); int start = cartInt(cart, "o"); int end = cartInt(cart, "t"); char *chrom = cartString(cart, "c"); char *fileName = bbiNameFromSettingOrTable(tdb, conn, tdb->table); -struct bbiFile *bbi = bigBedFileOpenAlias(hReplaceGbdb(fileName), chromAliasGetHash(database)); +struct bbiFile *bbi = bigBedFileOpenAlias(hReplaceGbdb(fileName), chromAliasChromToAliasHash(database)); struct lm *lm = lmInit(0); struct bigBedInterval *bbList = bigBedIntervalQuery(bbi, chrom, start, end, 0, lm); struct bigBedInterval *bb; char *fields[bbi->fieldCount]; for (bb = bbList; bb != NULL; bb = bb->next) { if (!(bb->start == start && bb->end == end)) continue; // our names are unique char *name = cloneFirstWordByDelimiterNoSkip(bb->rest, '\t'); boolean match = (isEmpty(name) && isEmpty(item)) || sameOk(name, item); if (!match) continue;