87165caa138700c2f604737f7448685797bf1954 angie Wed Dec 18 14:20:37 2019 -0800 Apply same base and indel coloring defaults to BAM tracks in hgTrackUi as in hgTracks. refs #24674 diff --git src/hg/hgTracks/bamTrack.c src/hg/hgTracks/bamTrack.c index f05de2c..251e284 100644 --- src/hg/hgTracks/bamTrack.c +++ src/hg/hgTracks/bamTrack.c @@ -1,27 +1,28 @@ /* bamTrack -- handlers for alignments in BAM format (produced by MAQ, * BWA and some other short-read alignment tools). */ /* Copyright (C) 2014 The Regents of the University of California * See README in this or parent directory for licensing information. */ #include "common.h" #include "hCommon.h" #include "hash.h" #include "linefile.h" #include "htmshell.h" +#include "hui.h" #include "jksql.h" #include "hdb.h" #include "hgTracks.h" #include "cds.h" #include "hgBam.h" #include "wigCommon.h" #include "knetUdc.h" #include "udc.h" #include "bigWarn.h" #include "errCatch.h" #include "hgConfig.h" struct bamTrackData { @@ -770,53 +771,30 @@ } void bamLinkedFeaturesDraw(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg, int xOff, int yOff, int width, MgFont *font, Color color, enum trackVisibility vis) /* Draw linked features items. */ { linkedFeaturesDraw(tg, seqStart, seqEnd, hvg, xOff, yOff, width, font, color, vis); if(tg->customInt) doMapBoxPerRow(tg, seqStart, seqEnd, hvg, xOff, yOff, width, font, color, vis); } -#define BAM_DEFAULT_SHOW_DIFF_BASES_MAX_ZOOM "100" - -static void addBamBaseAndIndelSettings(struct trackDb *tdb) -/* Unless already set in trackDb, add settings to enable - * base-level differences and indel display. */ -{ -struct hash *settings = tdb->settingsHash; -if (!hashLookup(settings, BASE_COLOR_USE_SEQUENCE)) - hashAdd(settings, BASE_COLOR_USE_SEQUENCE, cloneString("lfExtra")); -if (!hashLookup(settings, BASE_COLOR_DEFAULT)) - hashAdd(settings, BASE_COLOR_DEFAULT, cloneString(BASE_COLOR_DRAW_DIFF_BASES)); -if (!hashLookup(settings, SHOW_DIFF_BASES_ALL_SCALES)) - hashAdd(settings, SHOW_DIFF_BASES_ALL_SCALES, cloneString(".")); -if (!hashLookup(settings, INDEL_DOUBLE_INSERT)) - hashAdd(settings, INDEL_DOUBLE_INSERT, cloneString("on")); -if (!hashLookup(settings, INDEL_QUERY_INSERT)) - hashAdd(settings, INDEL_QUERY_INSERT, cloneString("on")); -if (!hashLookup(settings, INDEL_POLY_A)) - hashAdd(settings, INDEL_POLY_A, cloneString("on")); -if (!hashLookup(settings, "showDiffBasesMaxZoom")) - hashAdd(settings, "showDiffBasesMaxZoom", cloneString(BAM_DEFAULT_SHOW_DIFF_BASES_MAX_ZOOM)); -} - void bamMethods(struct track *track) /* Methods for BAM alignment files. */ { knetUdcInstall(); boolean isBamWig = cartUsualBooleanClosestToHome(cart, track->tdb, FALSE, BAMWIG_MODE, (trackDbSettingClosestToHome(track->tdb, BAMWIG_MODE) != NULL)); if (isBamWig) { bamWigMethods(track, track->tdb, 0, NULL); return; } track->canPack = TRUE; boolean isPaired = cartUsualBooleanClosestToHome(cart, track->tdb, FALSE, @@ -824,31 +802,31 @@ (trackDbSettingClosestToHome(track->tdb, BAM_PAIR_ENDS_BY_NAME) != NULL)); char *tdbShowNames = trackDbSetting(track->tdb, BAM_SHOW_NAMES); boolean showNames = cartUsualBooleanClosestToHome(cart, track->tdb, FALSE, BAM_SHOW_NAMES, SETTING_IS_ON(tdbShowNames)); char *colorMode = cartOrTdbString(cart, track->tdb, BAM_COLOR_MODE, BAM_COLOR_MODE_DEFAULT); char *userTag = cartOrTdbString(cart, track->tdb, BAM_COLOR_TAG, BAM_COLOR_TAG_DEFAULT); if (sameString(colorMode, BAM_COLOR_MODE_TAG) && userTag != NULL) { if (! (isalpha(userTag[0]) && isalnum(userTag[1]) && userTag[2] == '\0')) { warn("%s: BAM tag '%s' is not valid -- must be a letter followed by a letter or number.", track->tdb->shortLabel, htmlEncode(userTag)); cartRemoveVariableClosestToHome(cart, track->tdb, FALSE, BAM_COLOR_TAG); } } -addBamBaseAndIndelSettings(track->tdb); +bamAddBaseAndIndelSettings(track->tdb); if (isPaired) { linkedFeaturesSeriesMethods(track); track->loadItems = bamPairedLoadItems; track->drawItems = bamLinkedFeaturesSeriesDraw; track->drawItemAt = bamPairedDrawAt; } else { linkedFeaturesMethods(track); track->loadItems = bamLoadItems; track->drawItems = bamLinkedFeaturesDraw; track->drawItemAt = bamDrawAt; }