src/lib/bbiWrite.c 1.14

1.14 2010/04/28 16:44:28 kent
Improving error message when chromosome not in chrom.sizes file.
Index: src/lib/bbiWrite.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/lib/bbiWrite.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -b -B -U 4 -r1.13 -r1.14
--- src/lib/bbiWrite.c	6 Apr 2010 23:06:42 -0000	1.13
+++ src/lib/bbiWrite.c	28 Apr 2010 16:44:28 -0000	1.14
@@ -6,8 +6,9 @@
 #include "zlibFace.h"
 #include "cirTree.h"
 #include "bPlusTree.h"
 #include "bbiFile.h"
+#include "obscure.h"
 
 void bbiWriteDummyHeader(FILE *f)
 /* Write out all-zero header, just to reserve space for it. */
 {
@@ -171,12 +172,16 @@
 	    errAbort("%s is not sorted at line %d.  Please use \"sort -k1,1 -k2,2n\" or bedSort and try again.",
 	    	lf->fileName, lf->lineIx);
 	    }
 	hashAdd(uniqHash, chrom, NULL);
+	struct hashEl *chromHashEl = hashLookup(chromSizesHash, chrom);
+	if (chromHashEl == NULL)
+	    errAbort("%s is not found in chromosome sizes file", chrom);
+	int chromSize = ptToInt(chromHashEl->val);
 	AllocVar(usage);
 	usage->name = cloneString(chrom);
 	usage->id = id++;
-	usage->size = hashIntVal(chromSizesHash, chrom);
+	usage->size = chromSize;
 	slAddHead(&usageList, usage);
 	lastStart = -1;
 	}
     if (end > usage->size)