e70152e44cc66cc599ff6b699eb8adc07f3e656a
kent
  Sat May 24 21:09:34 2014 -0700
Adding Copyright NNNN Regents of the University of California to all files I believe with reasonable certainty were developed under UCSC employ or as part of Genome Browser copyright assignment.
diff --git src/utils/bigBedSummary/bigBedSummary.c src/utils/bigBedSummary/bigBedSummary.c
index 0bcb357..74283e4 100644
--- src/utils/bigBedSummary/bigBedSummary.c
+++ src/utils/bigBedSummary/bigBedSummary.c
@@ -1,119 +1,122 @@
 /* bigBedSummary - Extract summary information from a bigBed file.. */
+
+/* Copyright (C) 2011 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
 #include "common.h"
 #include "linefile.h"
 #include "hash.h"
 #include "options.h"
 #include "sqlNum.h"
 #include "bigBed.h"
 #include "asParse.h"
 #include "udc.h"
 #include "obscure.h"
 
 
 char *summaryType = "coverage";
 
 void usage()
 /* Explain usage and exit. */
 {
 errAbort(
   "bigBedSummary - Extract summary information from a bigBed file.\n"
   "usage:\n"
   "   bigBedSummary file.bb chrom start end dataPoints\n"
   "Get summary data from bigBed for indicated region, broken into\n"
   "dataPoints equal parts.  (Use dataPoints=1 for simple summary.)\n"
   "options:\n"
   "   -type=X where X is one of:\n"
   "         coverage - %% of region that is covered (default)\n"
   "         mean - average depth of covered regions\n"
   "         min - minimum depth of covered regions\n"
   "         max - maximum depth of covered regions\n"
   "   -fields - print out information on fields in file.\n"
   "      If fields option is used, the chrom, start, end, dataPoints\n"
   "      parameters may be omitted\n"
   "   -udcDir=/dir/to/cache - place to put cache for remote bigBed/bigWigs\n"
   );
 }
 
 static struct optionSpec options[] = {
    {"type", OPTION_STRING},
    {"fields", OPTION_BOOLEAN},
    {"udcDir", OPTION_STRING},
    {NULL, 0},
 };
 
 void bigBedSummary(char *fileName, char *chrom, int start, int end, int dataPoints)
 /* bigBedSummary - Extract summary information from a bigBed file.. */
 {
 /* Make up values array initialized to not-a-number. */
 double nan0 = strtod("NaN", NULL);
 double summaryValues[dataPoints];
 int i;
 for (i=0; i<dataPoints; ++i)
     summaryValues[i] = nan0;
 
 struct bbiFile *bbi = bigBedFileOpen(fileName);
 if (bigBedSummaryArray(bbi, chrom, start, end, bbiSummaryTypeFromString(summaryType), 
       dataPoints, summaryValues))
     {
     for (i=0; i<dataPoints; ++i)
 	{
 	double val = summaryValues[i];
 	if (i != 0)
 	    printf("\t");
 	if (isnan(val))
 	    printf("n/a");
 	else
 	    printf("%g", val);
 	}
     printf("\n");
     }
 else
     {
     errAbort("no data in region %s:%d-%d in %s\n", chrom, start, end, fileName);
     }
 bbiFileClose(&bbi);
 }
 
 
 void bigBedFields(char *fileName)
 /* Print out info about fields in bed file. */
 {
 struct bbiFile *bbi = bigBedFileOpen(fileName);
 printf("%d bed definition fields, %d total fields\n", bbi->definedFieldCount, bbi->fieldCount);
 struct asObject *as = bigBedAs(bbi);
 if (as != NULL)
     {
     struct asColumn *col;
     for (col = as->columnList; col != NULL; col = col->next)
         {
 	printf("\t%s\t%s\n", col->name, col->comment);
 	}
     }
 else
     {
     printf("No additional field information included.\n");
     }
 }
 
 int main(int argc, char *argv[])
 /* Process command line. */
 {
 optionInit(&argc, argv, options);
 udcSetDefaultDir(optionVal("udcDir", udcDefaultDir()));
 if (optionExists("fields"))
     {
     if (argc < 2)
         usage();
     bigBedFields(argv[1]);
     }
 else
     {
     summaryType = optionVal("type", summaryType);
     if (argc != 6)
 	usage();
     bigBedSummary(argv[1], argv[2], sqlUnsigned(argv[3]), sqlUnsigned(argv[4]), sqlUnsigned(argv[5]));
     }
 if (verboseLevel() > 1)
     printVmPeak();
 return 0;
 }