54406b80d5d435970989acff7b22dd6146c6b411 braney Sat Jan 22 15:24:59 2022 -0800 adding chrom alias support to big files diff --git src/hg/hgc/transMapClick.c src/hg/hgc/transMapClick.c index 6d91e51..c55dd83 100644 --- src/hg/hgc/transMapClick.c +++ src/hg/hgc/transMapClick.c @@ -28,30 +28,31 @@ */ #include "common.h" #include "hgc.h" #include "hui.h" #include "hCommon.h" #include "transMapClick.h" #include "bigTransMap.h" #include "bigBed.h" #include "bigPsl.h" #include "transMapStuff.h" #include "transMapInfo.h" #include "transMapSrc.h" #include "transMapGene.h" #include "genbank.h" +#include "chromAlias.h" enum geneSrcSetType /* constants for source sets */ { ENSEMBL_SRC_SET, REFSEQ_SRC_SET, RNA_SRC_SET, EST_SRC_SET, UCSC_GENES_SRC_SET, UNKNOWN_SRC_SET }; struct transMapBag /* object contain collected information on a specific transMap mapping * this has both PSL and bigTransMap objects */ @@ -206,31 +207,31 @@ case UNKNOWN_SRC_SET: return "Unknown"; } return "Unknown"; } static struct transMapBag *transMapBagLoadBig(struct trackDb *tdb, char *mappedId) /* load information from bigTransMap file */ { struct sqlConnection *conn = hAllocConn(database); struct transMapBag *bag; AllocVar(bag); char *fileName = bbiNameFromSettingOrTable(tdb, conn, tdb->table); char *chrom = cartString(cart, "c"); -struct bbiFile *bbi = bigBedFileOpen(fileName); +struct bbiFile *bbi = bigBedFileOpenAlias(fileName, chromAliasGetHash(database)); struct lm *lm = lmInit(0); int fieldIx; struct bptFile *bpt = bigBedOpenExtraIndex(bbi, "name", &fieldIx); struct bigBedInterval *bb = bigBedNameQuery(bbi, bpt, fieldIx, mappedId, lm); if (slCount(bb) != 1) errAbort("expected 1 item named \"%s\", got %d from %s", mappedId, slCount(bb), fileName); char *fields[bbi->fieldCount]; char startBuf[32], endBuf[32]; int bbFieldCount = bigBedIntervalToRow(bb, chrom, startBuf, endBuf, fields, bbi->fieldCount); if (bbFieldCount != BIGTRANSMAP_NUM_COLS) errAbort("expected %d fields in bigTransMap record, got %d in %s", BIGTRANSMAP_NUM_COLS, bbFieldCount, fileName); bag->psl = pslFromBigPsl(chrom, bb, 0, NULL, NULL); bag->meta = bigTransMapLoad(fields);