fdac7b7290cf0005e19debb0a8759e2c8cdc4976
max
  Tue Jun 28 11:36:26 2016 -0700
adding cram auto-detect so no track line is needed in hgCustom, refs #14717

diff --git src/hg/lib/customTrack.c src/hg/lib/customTrack.c
index d7daea2..47dcd7c 100644
--- src/hg/lib/customTrack.c
+++ src/hg/lib/customTrack.c
@@ -656,31 +656,31 @@
 char* customTrackTypeFromBigFile(char *url)
 /* return most likely type for a big file name or NULL,
  * has to be freed. */
 {
 // pull out file part from the URL, strip off the query part after "?"
 char fileName[2000];
 safecpy(fileName, sizeof(fileName), url);
 chopSuffixAt(fileName, '?');
 
 // based on udc cache dir analysis by hiram in rm #12813
 if (endsWith(fileName, ".bb") || endsWith(fileName, ".bigBed") || endsWith(fileName, ".bigbed"))
     return cloneString("bigBed");
 if (endsWith(fileName, ".bw") || endsWith(fileName, ".bigWig") ||  
             endsWith(fileName, ".bigwig") || endsWith(fileName, ".bwig"))
     return cloneString("bigWig");
-if (endsWith(fileName, ".bam"))
+if (endsWith(fileName, ".bam") || endsWith(fileName, ".cram"))
     return cloneString("bam");
 if (endsWith(fileName, ".vcf.gz"))
     return cloneString("vcfTabix");
 return NULL;
 }
 
 boolean customTrackIsBigData(char *fileName)
 /* Return TRUE if fileName has a suffix that we recognize as a bigDataUrl track type. */
 {
 char *fileNameDecoded = cloneString(fileName);
 cgiDecode(fileName, fileNameDecoded, strlen(fileName));
 
 boolean result;
 char *type = customTrackTypeFromBigFile(fileNameDecoded);
 result = (type!=NULL);