c6367de6b096416d9b045b740ed8bdc50b8ff524
kent
  Wed Nov 28 13:40:12 2012 -0800
Detecting and aborting on empty input.
diff --git src/kehayden/alphaAsm/alphaAsm.c src/kehayden/alphaAsm/alphaAsm.c
index 08f860f..f2d001a 100644
--- src/kehayden/alphaAsm/alphaAsm.c
+++ src/kehayden/alphaAsm/alphaAsm.c
@@ -749,30 +749,32 @@
     slReverse(&list);
     if (list == NULL)
 	errAbort("Line %d of %s has no alpha monomers.", lf->lineIx, lf->fileName);
 
     /* Create data structure and add read to list and hash */
     if (hashLookup(store->readHash, name))
         errAbort("Read ID %s is repeated line %d of %s", name, lf->lineIx, lf->fileName);
     struct alphaRead *read;
     AllocVar(read);
     read->list = list;
     hashAddSaveName(store->readHash, name, read, &read->name);
     slAddHead(&readList, read);
     }
 slReverse(&readList);
 store->readList = readList;
+if (store->readList == NULL)
+    errAbort("%s contains no reads", lf->fileName);
 lineFileClose(&lf);
 connectReadsToMonomers(store);
 }
 
 struct alphaOrphan
 /* Information about an orphan - something without great joining information. */
     {
     struct alphaOrphan *next;	/* Next in list */
     struct monomer *monomer;	/* Pointer to orphan */
     boolean paired;		/* True if has been paired with somebody. */
     };
 
 struct alphaOrphan *findOrphanStarts(struct alphaRead *readList, struct alphaStore *store)
 /* Return list of monomers that are found only at start of reads. */
 {