487174a2ad313bc229c6733ce263fb6a4413d50f hiram Wed Dec 18 14:26:41 2019 -0800 start=end=0 does not work for NIB fetch sequence refs #24666 diff --git src/hg/hubApi/getData.c src/hg/hubApi/getData.c index 253c044..a42a05a 100644 --- src/hg/hubApi/getData.c +++ src/hg/hubApi/getData.c @@ -771,33 +771,33 @@ char *start = cgiOptionalString("start"); char *end = cgiOptionalString("end"); long timeStart = clock1000(); if (isEmpty(chrom)) apiErrAbort(err400, err400Msg, "missing URL chrom=<name> for endpoint '/getData/sequence?genome=%s'", db); if (chromSeqFileExists(db, chrom)) { struct chromInfo *ci = hGetChromInfo(db, chrom); unsigned chromSize = ci->size; struct dnaSeq *seq = NULL; if (isEmpty(start) || isEmpty(end)) if (chromSize > MAX_DNA_LENGTH) - apiErrAbort(err400, err400Msg, "DNA sequence request %d too large, limit: %u for endpoint '/getData/sequence?genome=%s;chrom=%s'", chromSize, MAX_DNA_LENGTH, db, chrom); + apiErrAbort(err400, err400Msg, "DNA sequence request %u (size of %s) too large, limit: %u for endpoint '/getData/sequence?genome=%s;chrom=%s'", chromSize, chrom, MAX_DNA_LENGTH, db, chrom); else - seq = hChromSeqMixed(db, chrom, 0, 0); + seq = hChromSeqMixed(db, chrom, 0, chromSize); else if ( (sqlSigned(end) - sqlSigned(start)) > MAX_DNA_LENGTH) apiErrAbort(err400, err400Msg, "DNA sequence request %d too large, limit: %u for endpoint '/getData/sequence?genome=%s;chrom=%s;start=%s;end=%s'", sqlSigned(end) - sqlSigned(start), MAX_DNA_LENGTH, db, chrom, start, end); else { if (sqlSigned(end) > chromSize) apiErrAbort(err400, err400Msg, "DNA sequence request end coordinate %d past end of chromosome size %d for endpoint '/getData/sequence?genome=%s;chrom=%s;start=%s;end=%s'", sqlSigned(end), chromSize, db, chrom, start, end); seq = hChromSeqMixed(db, chrom, sqlSigned(start), sqlSigned(end)); } long endTime = clock1000(); long long et = endTime - timeStart; if (NULL == seq) apiErrAbort(err400, err400Msg, "can not find sequence for chrom=%s for endpoint '/getData/sequence?genome=%s;chrom=%s'", chrom, db, chrom);