efc87af4e5921d966a5bbc9ce8832b7f374f4599 kent Mon Jul 4 17:31:44 2022 -0700 Added file parameter to cacheTwoBitRangesPrintStats. diff --git src/lib/cacheTwoBit.c src/lib/cacheTwoBit.c index d546751..e0e1d0d 100644 --- src/lib/cacheTwoBit.c +++ src/lib/cacheTwoBit.c @@ -167,50 +167,50 @@ { return cacheTwoBitRangesFetchOrNot(cacheAll, url, seqName, start, end, doRc, FALSE, retOffset); } struct dnaSeq *cacheTwoBitRangesMayFetch(struct cacheTwoBitRanges *cacheAll, char *url, char *seqName, int start, int end, boolean doRc, int *retOffset) /* Fetch a sequence from a twoBit cache. The result in retOffset is where the return dnaSeq * sits within the named sequence, the whole of which is stored in the subtracted * associated twoBit file. Do not free the returned sequence. Returns NULL if sequence not * found */ { return cacheTwoBitRangesFetchOrNot(cacheAll, url, seqName, start, end, doRc, TRUE, retOffset); } -void cacheTwoBitRangesPrintStats(struct cacheTwoBitRanges *cache) +void cacheTwoBitRangesPrintStats(struct cacheTwoBitRanges *cache, FILE *f) /* print cache statistics - Debugging routine */ { -printf("caching %d twoBit files\n", slCount(cache->urlList)); +fprintf(f, "caching %d twoBit files\n", slCount(cache->urlList)); struct cacheTwoBitUrl *cachedUrl; int totalSeq = 0; int totalRanges = 0; long basesQueried = 0; // Total bases read from cache long basesRead = 0; // Total bases read by cache int queryCount = 0; for (cachedUrl = cache->urlList; cachedUrl != NULL; cachedUrl = cachedUrl->next) { - printf("%s has %d + strand, %d minus strand sequences cached\n", + fprintf(f, "%s has %d + strand, %d minus strand sequences cached\n", cachedUrl->url, cachedUrl->seqHash->elCount, cachedUrl->rcSeqHash->elCount); struct cacheTwoBitSeq *ctbSeq; for (ctbSeq = cachedUrl->seqList; ctbSeq != NULL; ctbSeq = ctbSeq->next) { - printf(" %s %c strand\n", ctbSeq->seqName, ctbSeq->doRc ? '=' : '+'); + fprintf(f, " %s %c strand\n", ctbSeq->seqName, ctbSeq->doRc ? '-' : '+'); totalSeq += 1; totalRanges += ctbSeq->rangeTree->n; basesQueried += ctbSeq->basesQueried; basesRead += ctbSeq->basesRead; queryCount += ctbSeq->queryCount; struct range *range = rangeTreeList(ctbSeq->rangeTree); for ( ; range != NULL; range = range->next) { - printf(" %d %d\n", range->start, range->end); + fprintf(f, " %d start %d size\n", range->start, range->end - range->start); } } } -printf("total sequences cached %d in %d ranges covering %d queries\n", +fprintf(f, "total sequences cached %d in %d ranges covering %d queries\n", totalSeq, totalRanges, queryCount); -printf("basesRead %ld bases queried %ld\n", basesRead, basesQueried); +fprintf(f, "basesRead %ld bases queried %ld\n", basesRead, basesQueried); }