b1ece0f85392e86c466550496925f7f1cffa61be hiram Mon Sep 8 16:06:09 2025 -0700 hgParseChromRange does not require a database or genome name refs #35976 diff --git src/hg/hubApi/liftOver.c src/hg/hubApi/liftOver.c index 4d8c54fd774..ebda17f6fce 100644 --- src/hg/hubApi/liftOver.c +++ src/hg/hubApi/liftOver.c @@ -215,43 +215,43 @@ char *end = cgiOptionalString(argEnd); if (isEmpty(fromGenome) || isEmpty(toGenome) || isEmpty(chrom) || isEmpty(start) || isEmpty(end)) apiErrAbort(err400, err400Msg, "must have all arguments: %s, %s, %s, %s, %s for endpoint '/liftOver", argFromGenome, argToGenome, argChrom, argStart, argEnd); unsigned uStart = 0; unsigned uEnd = 0; uStart = sqlUnsigned(start); uEnd = sqlUnsigned(end); if (uEnd < uStart) apiErrAbort(err400, err400Msg, "given start coordinate %u is greater than given end coordinate", uStart, uEnd); struct dbDb *fromDb = hDbDb(fromGenome); if (fromDb == NULL) { - fromDb = genarkLiftOverDbs(fromGenome); + fromDb = genarkLiftOverDb(fromGenome); } if (fromDb == NULL) apiErrAbort(err400, err400Msg, "can not find 'fromGenome=%s' for endpoint '/liftOver", fromGenome); struct dbDb *toDb = hDbDb(toGenome); if (toDb == NULL) { - toDb = genarkLiftOverDbs(toGenome); + toDb = genarkLiftOverDb(toGenome); } if (toDb == NULL) apiErrAbort(err400, err400Msg, "can not find 'toGenome=%s' for endpoint '/liftOver", toGenome); char *fileName = liftOverChainFile(fromDb->name, toDb->name); if (isEmpty(fileName)) apiErrAbort(err400, err400Msg, "Unable to find a chain file from %s to %s - please contact support", fromGenome, toGenome); fileName = hReplaceGbdbMustDownload(fileName); char fromPos[4096]; safef(fromPos, sizeof(fromPos), "%s:%u-%u", chrom, uStart, uEnd); char *nChrom; int nStart, nEnd; -if (!hgParseChromRange(fromDb->name, fromPos, &nChrom, &nStart, &nEnd)) +if (!hgParseChromRange(NULL, fromPos, &nChrom, &nStart, &nEnd)) apiErrAbort(err400, err400Msg, "position %s is not in chrom:start-end format", fromPos); int origSize = nEnd - nStart; struct chain *chainList = chainLoadAndTrimIntersecting(fileName, nChrom, nStart, nEnd); if (chainList == NULL) apiErrAbort(err400, err400Msg, "Sorry, this position %s is not found in the %s assembly", fromPos, toGenome); chainListOut(fromGenome, toGenome, origSize, fromPos, chainList); }