8bbf80b91be7fcad3ac1c21d3cdd0f9a5c2fdce4
braney
  Mon Jan 4 13:17:28 2016 -0800
make -minMax option to bigWigAverageOverBed work on empty ranges.  #16580

diff --git src/utils/bigWigAverageOverBed/bigWigAverageOverBed.c src/utils/bigWigAverageOverBed/bigWigAverageOverBed.c
index c2fe3fd..2919f00 100644
--- src/utils/bigWigAverageOverBed/bigWigAverageOverBed.c
+++ src/utils/bigWigAverageOverBed/bigWigAverageOverBed.c
@@ -190,31 +190,36 @@
 		{
 		int start = bed->chromStart + bed->chromStarts[i];
 		int end = start + bed->blockSizes[i];
 		addBigWigIntervalInfo(bbi, lm, bed->chrom, start, end, &size, &coverage, &sum, 
 		    &minVal, &maxVal);
 		}
 	    }
 	}
 
     /* Print out result, fudging mean to 0 if no coverage at all. */
     double mean = 0;
     if (coverage > 0)
 	 mean = sum/coverage;
     fprintf(f, "%s\t%d\t%d\t%g\t%g\t%g", bed->name, size, coverage, sum, sum/size, mean);
     if (outputMinMax)
+        {
+        if (coverage > 0)
             fprintf(f, "\t%g\t%g", minVal, maxVal);
+        else
+            fprintf(f, "\t0\t0");       // put out zeros for min/max if no coverage
+        }
     fputc('\n', f);
     optionallyPrintBedPlus(bedF, bed, fieldCount, mean, outputMinMax, minVal, maxVal);
     updateSums(sum, coverage, size);
     }
 }
 
 int bedCmpChrom(const void *va, const void *vb)
 /* Compare strings such as chromosome names that may have embedded numbers,
  * so that chr4 comes before chr14 */
 {
 const struct bed *a = *((struct bed **)va);
 const struct bed *b = *((struct bed **)vb);
 return cmpStringsWithEmbeddedNumbers(a->chrom, b->chrom);
 }