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);
 }