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; }