8a9e77de3cfd50bb2b7574aaebeb76a1f612f8ff
max
  Tue May 27 08:40:32 2014 -0700
taking back two changes from earlier today to genePredToBed.c and bed.cafter I realized (and reminded by Braney) that the problem was entirely
different.

diff --git src/hg/lib/bed.c src/hg/lib/bed.c
index 6e5c7d8..50d9240 100644
--- src/hg/lib/bed.c
+++ src/hg/lib/bed.c
@@ -57,39 +57,32 @@
 {
 struct bed *bed;
 int i, blockCount, *chromStarts, *blockSizes, chromStart;
 
 /* A tiny bit of error checking on the genePred. */
 if (genePred->txStart >= genePred->txEnd || genePred->cdsStart > genePred->cdsEnd)
     {
     errAbort("mangled genePred format for %s", genePred->name);
     }
 
 /* Allocate bed and fill in from psl. */
 AllocVar(bed);
 bed->chrom = cloneString(genePred->chrom);
 bed->chromStart = chromStart = genePred->txStart;
 bed->chromEnd = genePred->txEnd;
-// noncoding genes are expressed with both cdsStart/cdsEnd set to txEnd in genePred
-// but with both thickStart/thickEnd set to chromStart in bed
-if (genePred->cdsStart == genePred->cdsEnd && genePred->cdsEnd == genePred->txEnd)
-    bed->thickStart = bed->thickEnd = bed->chromStart;
-else 
-    {
 bed->thickStart = genePred->cdsStart;
 bed->thickEnd = genePred->cdsEnd;
-    }
 bed->score = 0;
 strncpy(bed->strand,  genePred->strand, sizeof(bed->strand));
 bed->blockCount = blockCount = genePred->exonCount;
 bed->blockSizes = blockSizes = (int *)cloneMem(genePred->exonEnds,(sizeof(int)*genePred->exonCount));
 bed->chromStarts = chromStarts = (int *)cloneMem(genePred->exonStarts, (sizeof(int)*genePred->exonCount));
 bed->name = cloneString(genePred->name);
 
 /* Convert coordinates to relative and exnosEnds to blockSizes. */
 for (i=0; i<blockCount; ++i)
     {
     blockSizes[i] -= chromStarts[i];
     chromStarts[i] -= chromStart;
     }
 return bed;
 }