018505887b2ec414e3a30419422a9b2c61f8f5c3 markd Thu Aug 9 00:23:28 2012 -0700 fixed breaking control over gene labels when gencode track was refactored diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index 1df21c5..5a48a5d 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -10036,60 +10036,64 @@ void dgvMethods(struct track *tg) /* Database of Genomic Variants. */ { linkedFeaturesMethods(tg); tg->loadItems = loadDgv; } void loadGenePred(struct track *tg) /* Convert gene pred in window to linked feature. */ { tg->items = lfFromGenePredInRange(tg, tg->table, chromName, winStart, winEnd); /* filter items on selected criteria if filter is available */ filterItems(tg, genePredClassFilter, "include"); } -void loadGenePredWithConfiguredName(struct track *tg) -/* Convert gene pred info in window to linked feature. Include name - * in "extra" field (gene name, accession, or both, depending on UI) */ +void genePredAssignConfiguredName(struct track *tg) +/* Set name on genePred in "extra" field to gene name, accession, or both, + * depending, on UI on all items in track */ { -char *geneLabel; -boolean useGeneName, useAcc; -struct linkedFeatures *lf; - -geneLabel = cartUsualStringClosestToHome(cart, tg->tdb, FALSE, "label","gene"); -useGeneName = sameString(geneLabel, "gene") +char *geneLabel = cartUsualStringClosestToHome(cart, tg->tdb, FALSE, "label","gene"); +boolean useGeneName = sameString(geneLabel, "gene") || sameString(geneLabel, "name") || sameString(geneLabel, "both"); -useAcc = sameString(geneLabel, "accession") || sameString(geneLabel, "both"); +boolean useAcc = sameString(geneLabel, "accession") || sameString(geneLabel, "both"); -loadGenePredWithName2(tg); +struct linkedFeatures *lf; for (lf = tg->items; lf != NULL; lf = lf->next) { struct dyString *name = dyStringNew(SMALLDYBUF); if (useGeneName && !isEmpty((char*)lf->extra)) { dyStringAppend(name, lf->extra); if (useAcc) dyStringAppendC(name, '/'); } if (useAcc) dyStringAppend(name, lf->name); lf->extra = dyStringCannibalize(&name); } } +void loadGenePredWithConfiguredName(struct track *tg) +/* Convert gene pred info in window to linked feature. Include name + * in "extra" field (gene name, accession, or both, depending on UI) */ +{ +loadGenePredWithName2(tg); +genePredAssignConfiguredName(tg); +} + Color genePredItemAttrColor(struct track *tg, void *item, struct hvGfx *hvg) /* Return color to draw a genePred in based on looking it up in a itemAttr * table. */ { struct linkedFeatures *lf = item; if (lf->itemAttr != NULL) return hvGfxFindColorIx(hvg, lf->itemAttr->colorR, lf->itemAttr->colorG, lf->itemAttr->colorB); else return tg->ixColor; } Color genePredItemClassColor(struct track *tg, void *item, struct hvGfx *hvg) /* Return color to draw a genePred based on looking up the gene class */ /* in an itemClass table. */ {