4dd0e74f2da650f4f41ccfc29fc18df024e303d9 braney Tue Nov 29 18:03:37 2016 -0800 get BLAT custom tracks to work on assembly hubs diff --git src/hg/hgBlat/hgBlat.c src/hg/hgBlat/hgBlat.c index f3d9b91..f0621ef 100644 --- src/hg/hgBlat/hgBlat.c +++ src/hg/hgBlat/hgBlat.c @@ -260,32 +260,47 @@ printf("<script>location.replace('%s');</script>", url); printf("<noscript>No javascript support:<br>Click <a href='%s'>here</a> for browser.</noscript>", url); htmlEnd(); } static void makeBigPsl(char *pslName, char *faName, char *db, char *outputBigBed) /* Make a bigPsl with the blat results. */ { struct tempName bigPslTn; trashDirFile(&bigPslTn, "hgBlat", "bp", ".bigPsl"); char cmdBuffer[4096]; safef(cmdBuffer, sizeof(cmdBuffer), "loader/pslToBigPsl %s -fa=%s stdout | sort -k1,1 -k2,2n > %s", pslName, faName, bigPslTn.forCgi); system(cmdBuffer); -safef(cmdBuffer, sizeof(cmdBuffer), "loader/bedToBigBed -extraIndex=name -tab -as=loader/bigPsl.as -type=bed9+16 %s http://hgdownload.cse.ucsc.edu/goldenPath/%s/bigZips/%s.chrom.sizes %s", - bigPslTn.forCgi, db, db, outputBigBed); +char buf[4096]; +char *twoBitDir; +if (trackHubDatabase(db)) + { + struct trackHubGenome *genome = trackHubGetGenome(db); + twoBitDir = genome->twoBitPath; + } +else + { + safef(buf, sizeof(buf), "/gbdb/%s", db); + twoBitDir = hReplaceGbdbSeqDir(buf, db); + safef(buf, sizeof(buf), "%s%s.2bit", twoBitDir, db); + twoBitDir = buf; + } + +safef(cmdBuffer, sizeof(cmdBuffer), "loader/bedToBigBed -udcDir=%s -extraIndex=name -sizesIs2Bit -tab -as=loader/bigPsl.as -type=bed9+16 %s %s %s", + udcDefaultDir(), bigPslTn.forCgi, twoBitDir, outputBigBed); system(cmdBuffer); unlink(bigPslTn.forCgi); } void showAliPlaces(char *pslName, char *faName, char *customText, char *database, enum gfType qType, enum gfType tType, char *organism, boolean feelingLucky) /* Show all the places that align. */ { struct lineFile *lf = pslFileOpen(pslName); struct psl *pslList = NULL, *psl; char *browserUrl = hgTracksName(); char *hgcUrl = hgcName(); char uiState[64]; char *vis;