d3752edc12da1bf08427946150f564dbdd5d2254 angie Thu Oct 24 13:55:51 2019 -0700 bigDbSnp track handler code - initial commit. refs #23283 * dnautil: Added trimRefAltLeft to get left-justified trimming (a la VCF not HGVS). * bigBedClick: do hReplaceGbdb up front in parseDetailsTablUrls instead of waiting until endpoint. * trackDbCustom.c: consolidating type-handling for wig/bigWig vs. bigBed-based big*. diff --git src/hg/lib/customFactory.c src/hg/lib/customFactory.c index 0f98946..feb5f71 100644 --- src/hg/lib/customFactory.c +++ src/hg/lib/customFactory.c @@ -2782,30 +2782,37 @@ struct customPp *cpp, char *type, struct customTrack *track) /* Return TRUE if looks like we're handling a bigNarrowPeak track */ { return (sameType(type, "bigNarrowPeak")); } static boolean bigGenePredRecognizer(struct customFactory *fac, struct customPp *cpp, char *type, struct customTrack *track) /* Return TRUE if looks like we're handling a bigGenePred track */ { return (sameType(type, "bigGenePred")); } +static boolean bigDbSnpRecognizer(struct customFactory *fac, struct customPp *cpp, char *type, + struct customTrack *track) +/* Return TRUE if looks like we're handling a bigDbSnp track */ +{ +return (sameType(type, "bigDbSnp")); +} + static boolean bigBedRecognizer(struct customFactory *fac, struct customPp *cpp, char *type, struct customTrack *track) /* Return TRUE if looks like we're handling a bigBed track */ { return (sameType(type, "bigBed")); } static struct customTrack *bigBedLoader(struct customFactory *fac, struct hash *chromHash, struct customPp *cpp, struct customTrack *track, boolean dbRequested) /* Load up big bed data until get next track line. */ { /* Not much to this. A bigBed has nothing here but a track line. */ struct hash *settings = track->tdb->settingsHash; @@ -2963,30 +2970,39 @@ NULL, "bigBarChart", bigBarChartRecognizer, bigBarChartLoader }; static struct customFactory bigInteractFactory = /* Factory for bigBarChart tracks */ { NULL, "bigInteract", bigInteractRecognizer, bigInteractLoader }; +static struct customFactory bigDbSnpFactory = +/* Factory for bigDbSnp tracks */ + { + NULL, + "bigDbSnp", + bigDbSnpRecognizer, + bigBedLoader, + }; + static struct customFactory bigBedFactory = /* Factory for bigBed tracks */ { NULL, "bigBed", bigBedRecognizer, bigBedLoader, }; /*** BAM Factory - for client-side BAM alignment files ***/ static boolean bamRecognizer(struct customFactory *fac, struct customPp *cpp, char *type, struct customTrack *track) /* Return TRUE if looks like we're handling a bam track */ @@ -3460,30 +3476,31 @@ slAddTail(&factoryList, &wigFactory); slAddTail(&factoryList, &bigWigFactory); slAddTail(&factoryList, &chromGraphFactory); slAddTail(&factoryList, &pslFactory); slAddTail(&factoryList, >fFactory); slAddTail(&factoryList, &gffFactory); slAddTail(&factoryList, &pgSnpFactory); slAddTail(&factoryList, &bedFactory); slAddTail(&factoryList, &bigGenePredFactory); slAddTail(&factoryList, &bigNarrowPeakFactory); slAddTail(&factoryList, &bigPslFactory); slAddTail(&factoryList, &bedTabixFactory); slAddTail(&factoryList, &longTabixFactory); slAddTail(&factoryList, &bigChainFactory); slAddTail(&factoryList, &bigMafFactory); + slAddTail(&factoryList, &bigDbSnpFactory); slAddTail(&factoryList, &bigBedFactory); slAddTail(&factoryList, &bedGraphFactory); slAddTail(&factoryList, µarrayFactory); slAddTail(&factoryList, &coloredExonFactory); slAddTail(&factoryList, &encodePeakFactory); slAddTail(&factoryList, &bedDetailFactory); slAddTail(&factoryList, &adjacencyFactory); slAddTail(&factoryList, &bamFactory); slAddTail(&factoryList, &vcfTabixFactory); slAddTail(&factoryList, &makeItemsFactory); slAddTail(&factoryList, &bigDataOopsFactory); slAddTail(&factoryList, &barChartFactory); slAddTail(&factoryList, &bigBarChartFactory); slAddTail(&factoryList, &interactFactory); slAddTail(&factoryList, &bigInteractFactory);