9b043c5143cff7efe24ec0f9baf61c71104acc5a angie Thu Aug 20 10:06:41 2020 -0700 Allow SARS-CoV-2 VCF to use GenBank or RefSeq ID instead of our chromified RefSeq ID. (Russ request, no RM) diff --git src/lib/linefile.c src/lib/linefile.c index f953e1f..8609c63 100644 --- src/lib/linefile.c +++ src/lib/linefile.c @@ -268,30 +268,37 @@ return lf; } boolean lineFileSetTabixRegion(struct lineFile *lf, char *seqName, int start, int end) /* Assuming lf was created by lineFileTabixMayOpen, tell tabix to seek to the specified region * and return TRUE (or if there are no items in region, return FALSE). */ { if (lf->tabix == NULL) errAbort("lineFileSetTabixRegion: lf->tabix is NULL. Did you open lf with lineFileTabixMayOpen?"); if (seqName == NULL) return FALSE; int tabixSeqId = ti_get_tid(lf->tabix, seqName); if (tabixSeqId < 0 && startsWith("chr", seqName)) // We will get some files that have chr-less Ensembl chromosome names: tabixSeqId = ti_get_tid(lf->tabix, seqName+strlen("chr")); +// Allow SARS-CoV-2 VCF to use GenBank or RefSeq ID instead of our chromified RefSeq ID: +if (tabixSeqId < 0 && sameString(seqName, "NC_045512v2")) + { + tabixSeqId = ti_get_tid(lf->tabix, "MN908947.3"); + if (tabixSeqId < 0) + tabixSeqId = ti_get_tid(lf->tabix, "NC_045512.2"); + } if (tabixSeqId < 0) return FALSE; ti_iter_t *iter = ti_queryi((tbx_t *)lf->tabix, tabixSeqId, start, end); if (iter == NULL) return FALSE; if (lf->tabixIter != NULL) ti_iter_destroy(lf->tabixIter); lf->tabixIter = iter; lf->bytesInBuf = 0; lf->lineIx = -1; lf->lineStart = 0; lf->lineEnd = 0; return TRUE; }