f01188d126fc6c9318f579ad1bcdf0ad392b9187 angie Thu Apr 17 11:33:18 2014 -0700 There was one more place where I needed to prepend "chr" to a VCFsequence name when comparing to region chrom. fixes #13093 diff --git src/lib/annoStreamVcf.c src/lib/annoStreamVcf.c index 5ca977c..141c33f 100644 --- src/lib/annoStreamVcf.c +++ src/lib/annoStreamVcf.c @@ -113,40 +113,41 @@ if (minChrom != NULL) { if (regionChrom == NULL) { regionChrom = minChrom; regionStart = minEnd; } else { regionStart = max(regionStart, minEnd); } } char **words = nextRowRaw(self); if (regionChrom != NULL && words != NULL) { - if (self->isTabix && strcmp(getProperChromName(self, words[0]), regionChrom) < 0) + char *rowChrom = getProperChromName(self, words[0]); + if (self->isTabix && strcmp(rowChrom, regionChrom) < 0) { uint regionEnd = sSelf->regionEnd; if (minChrom != NULL && sSelf->chrom == NULL) regionEnd = annoAssemblySeqSize(sSelf->assembly, minChrom); lineFileSetTabixRegion(self->vcff->lf, regionChrom, regionStart, regionEnd); } while (words != NULL && - (strcmp(getProperChromName(self, words[0]), regionChrom) < 0 || - (sameString(words[0], regionChrom) && self->record->chromEnd < regionStart))) + (strcmp(rowChrom, regionChrom) < 0 || + (sameString(rowChrom, regionChrom) && self->record->chromEnd < regionStart))) words = nextRowRaw(self); } // Tabix doesn't give us any rows past end of region, but if not using tabix, // detect when we're past end of region: if (words != NULL && !self->isTabix && sSelf->chrom != NULL && self->record->chromStart > sSelf->regionEnd) { words = NULL; self->record = NULL; } if (words != NULL) self->recordCount++; if (words == NULL || (self->maxRecords > 0 && self->recordCount >= self->maxRecords)) self->eof = TRUE; return words;