d9aba93eae9c9c1ba3f09055db42843cec8d63ba angie Wed Mar 6 17:09:07 2019 -0800 Restoring a line incorrectly deleted in 49a9e46 -- thanks Braney for spotting! refs #23051 diff --git src/lib/annoStreamVcf.c src/lib/annoStreamVcf.c index 0c77235..4b8de8a 100644 --- src/lib/annoStreamVcf.c +++ src/lib/annoStreamVcf.c @@ -150,30 +150,31 @@ lineFileSetTabixRegion(self->vcff->lf, regionChrom, regionStart, regionEnd); rowChrom = regionChrom; } // Skip to next row if this is on a previous chromosome, or is on regionChrom but // ends before regionStart or ends at regionStart and is not an insertion. struct vcfRecord *rec = self->record; while (words != NULL && (strcmp(rowChrom, regionChrom) < 0 || (sameString(rowChrom, regionChrom) && (rec->chromEnd < regionStart || (rec->chromStart != rec->chromEnd && rec->chromEnd == regionStart))))) { words = nextRowRaw(self); if (words == NULL) break; + rowChrom = getProperChromName(self, words[0]); rec = self->record; } } // Tabix doesn't give us any rows past end of region, but if not using tabix, // detect when we're past end of region. It's possible for a non-indel to precede // an insertion that has the same VCF start coord but is actually to its left, // so we can't just quit as soon as we see anything with chromStart == regionEnd. if (words != NULL && !self->isTabix && sSelf->chrom != NULL && self->record->chromStart > sSelf->regionEnd) { words = NULL; self->record = NULL; } if (words != NULL) self->recordCount++;