6da76acba7f617920cc7eaa161b7d987362be78f markd Wed Feb 14 11:29:46 2018 -0800 hide patent GenBank mRNA sequences by default based on accession prefix diff --git src/hg/lib/hui.c src/hg/lib/hui.c index f929cd4..8bbf70a 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -1162,32 +1162,31 @@ { char buf[256]; char *disabled = NULL; safef(buf, sizeof(buf), "codonColoringChanged('%s');", name); puts("<P><B>Color track by codons:</B>"); cgiMakeDropListFull(var, baseColorDrawGenomicOptionLabels, baseColorDrawGenomicOptionValues, ArraySize(baseColorDrawGenomicOptionLabels), curValue, "change", buf); printf("<A HREF=\"%s\">Help on codon coloring</A><BR>", CDS_HELP_PAGE); safef(buf, sizeof(buf), "%s.%s", name, CODON_NUMBERING_SUFFIX); if (curOpt == baseColorDrawOff) disabled = "disabled"; printf("<br /><b><span id='%sCodonNumberingLabel' %s>Show codon numbering</b>:</span>\n", - name, curOpt == baseColorDrawOff ? "class='disabled'" : ""); - cgiMakeCheckBoxMore(buf, cartUsualBooleanClosestToHome(cart, tdb, FALSE, CODON_NUMBERING_SUFFIX, TRUE), disabled); + name, curOpt == baseColorDrawOff ? "class='disabled'" : ""); cgiMakeCheckBoxMore(buf, cartUsualBooleanClosestToHome(cart, tdb, FALSE, CODON_NUMBERING_SUFFIX, TRUE), disabled); } else if (gotSeq) { puts("<P><B>Color track by bases:</B>"); cgiMakeDropListFull(var, baseColorDrawItemOptionLabels, baseColorDrawItemOptionValues, ArraySize(baseColorDrawItemOptionLabels), curValue, NULL, NULL); printf("<A HREF=\"%s\">Help on base coloring</A><BR>", CDS_BASE_HELP_PAGE); } } void baseColorDrawOptDropDown(struct cart *cart, struct trackDb *tdb) /* Make appropriately labeled drop down of options if any are applicable.*/ @@ -5287,30 +5286,39 @@ char buffer[256]; safef(buffer, sizeof buffer,"%s.%s",prefix,mud->filterTypeSuffix); filterButtons(buffer, filterTypeVal, FALSE); printf("</br>"); /* List various fields you can filter on. */ cg = startControlGrid(4, NULL); for (fil = mud->filterList; fil != NULL; fil = fil->next) { safef(buffer, sizeof buffer,"%s.%s",prefix,fil->suffix); oneMrnaFilterUi(cg, tdb, fil->label, buffer, fil->suffix, cart); } endControlGrid(&cg); cfgEndBox(boxed); } +void genbankShowPatentControl(struct cart *cart, struct trackDb *tdb, char *prefix) +/* controls for enabling display of GENBANK RNA patent sequences */ +{ +char name[256]; +safef(name, sizeof(name), "%s.%s", prefix, SHOW_PATENT_SEQUENCES_SUFFIX); +printf("<P><B>Show patent sequences</B>:"); +cgiMakeCheckBox(name, cartUsualBoolean(cart, name, FALSE)); +} + void mrnaCfgUi(struct cart *cart, struct trackDb *tdb, char *prefix, char *title, boolean boxed) /* Put up UI for an mRNA (or EST) track. */ { boolean isXeno = (sameString(tdb->track, "xenoMrna") || sameString(tdb->track, "xenoEst")); struct mrnaUiData *mud = newMrnaUiData(prefix, isXeno); struct mrnaFilter *fil; struct controlGrid *cg = NULL; boolean parentLevel = isNameAtParentLevel(tdb,prefix); char *filterTypeVal = cartUsualStringClosestToHome(cart, tdb, parentLevel, mud->filterTypeSuffix,"red"); char *logicTypeVal = cartUsualStringClosestToHome(cart, tdb, parentLevel, mud->logicTypeSuffix, "and"); boxed = cfgBeginBoxAndTitle(tdb, boxed, title); /* Define type of filter. */ @@ -5322,30 +5330,32 @@ radioButton(buffer, logicTypeVal, "and"); radioButton(buffer, logicTypeVal, "or"); printf("<BR>\n"); /* List various fields you can filter on. */ printf("<table border=0 cellspacing=1 cellpadding=1 width=%d>\n", CONTROL_TABLE_WIDTH); cg = startControlGrid(4, NULL); for (fil = mud->filterList; fil != NULL; fil = fil->next) { safef(buffer,sizeof buffer,"%s.%s",prefix,fil->suffix); oneMrnaFilterUi(cg, tdb, fil->label, buffer, fil->suffix, cart); } endControlGrid(&cg); baseColorDrawOptDropDown(cart, tdb); indelShowOptions(cart, tdb); +if (sameString(tdb->track, "mrna") || sameString(tdb->track, "xenoMrna")) + genbankShowPatentControl(cart, tdb, prefix); wigOption(cart, prefix, title, tdb); cfgEndBox(boxed); } void scoreGrayLevelCfgUi(struct cart *cart, struct trackDb *tdb, char *prefix, int scoreMax) // If scoreMin has been set, let user select the shade of gray for that score, in case // the default is too light to see or darker than necessary. { boolean parentLevel = isNameAtParentLevel(tdb,prefix); char *scoreMinStr = trackDbSettingClosestToHome(tdb, GRAY_LEVEL_SCORE_MIN); if (scoreMinStr != NULL) { int scoreMin = atoi(scoreMinStr); // maxShade=9 taken from hgTracks/simpleTracks.c. Ignore the 10 in shadesOfGray[10+1] --