7a0635be123f35cc0b5063af03911a70ecbc9841 angie Fri Jun 1 17:30:41 2012 -0700 Track #7964 (1000 Genomes Phase 1 Variant Calls): adding trackDb entryand code support for database table that has per-chromosome fileNames because 1000 Genomes provides enormous per-chromosome files. This is very similar to code support for per-chromosome BAM. To-do: refactor out bam-specific code and trackDbCustom.c's tdbBigFileName to use bbiNameFromSettingOrTable(Chrom). diff --git src/hg/hgTracks/vcfTrack.c src/hg/hgTracks/vcfTrack.c index 4cdbd27..c15662b 100644 --- src/hg/hgTracks/vcfTrack.c +++ src/hg/hgTracks/vcfTrack.c @@ -1089,31 +1089,31 @@ static void vcfTabixLoadItems(struct track *tg) /* Load items in window from VCF file using its tabix index file. */ { char *fileOrUrl = NULL; /* Figure out url or file name. */ if (tg->parallelLoading) { /* do not use mysql uring parallel-fetch load */ fileOrUrl = trackDbSetting(tg->tdb, "bigDataUrl"); } else { // TODO: may need to handle per-chrom files like bam, maybe fold bamFileNameFromTable into this: struct sqlConnection *conn = hAllocConnTrack(database, tg->tdb); - fileOrUrl = bbiNameFromSettingOrTable(tg->tdb, conn, tg->table); + fileOrUrl = bbiNameFromSettingOrTableChrom(tg->tdb, conn, tg->table, chromName); hFreeConn(&conn); } int vcfMaxErr = -1; struct vcfFile *vcff = NULL; boolean hapClustEnabled = cartUsualBooleanClosestToHome(cart, tg->tdb, FALSE, VCF_HAP_ENABLED_VAR, TRUE); /* protect against temporary network error */ struct errCatch *errCatch = errCatchNew(); if (errCatchStart(errCatch)) { vcff = vcfTabixFileMayOpen(fileOrUrl, chromName, winStart, winEnd, vcfMaxErr, -1); if (vcff != NULL) { filterRecords(vcff, tg->tdb); if (hapClustEnabled && vcff->genotypeCount > 1 && vcff->genotypeCount < 3000 &&