7bc24686024ec14d351ab208b5179ab251d7c463 tdreszer Fri Oct 14 16:34:15 2011 -0700 Major work on bedFilt, psl and wigMaf to make them properly composite ready. diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index e8b51ea..6c6d0d2 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -1670,59 +1670,30 @@ for (i=0; i < nonCodingTypeLabelsSize; i++) { nonCodingTypeIncludeCart[i] = cartUsualBoolean(cart, nonCodingTypeIncludeStrings[i], nonCodingTypeIncludeDefault[i]); cgiMakeCheckBox(nonCodingTypeIncludeStrings[i], nonCodingTypeIncludeCart[i]); printf(" %s", nonCodingTypeLabels[i]); } } void ensemblNonCodingUI(struct trackDb *tdb) /* Put up Ensembl Non-Coding genes-specific controls */ { ensemblNonCodingTypeConfig(tdb); } -void mrnaUi(struct trackDb *tdb, boolean isXeno) -/* Put up UI for an mRNA (or EST) track. */ -{ -struct mrnaUiData *mud = newMrnaUiData(tdb->track, isXeno); -struct mrnaFilter *fil; -struct controlGrid *cg = NULL; -char *filterTypeVar = mud->filterTypeVar; -char *filterTypeVal = cartUsualString(cart, filterTypeVar, "red"); -char *logicTypeVar = mud->logicTypeVar; -char *logicTypeVal = cartUsualString(cart, logicTypeVar, "and"); - -/* Define type of filter. */ -filterButtons(filterTypeVar, filterTypeVal, FALSE); -printf(" Combination Logic: "); -radioButton(logicTypeVar, logicTypeVal, "and"); -radioButton(logicTypeVar, logicTypeVal, "or"); -printf("
\n"); - -/* List various fields you can filter on. */ -printf("\n", CONTROL_TABLE_WIDTH); -cg = startControlGrid(4, NULL); -for (fil = mud->filterList; fil != NULL; fil = fil->next) - oneMrnaFilterUi(cg, fil->label, fil->key, cart); -endControlGrid(&cg); -baseColorDrawOptDropDown(cart, tdb); -indelShowOptions(cart, tdb); -} - - void transRegCodeUi(struct trackDb *tdb) /* Put up UI for transcriptional regulatory code - not * much more than score UI. */ { printf("%s", "

The scoring ranges from 0 to 1000 and is based on the number of lines " "of evidence that support the motif being active. Each of the two " "sensu stricto species in which the motif was conserved counts " "as a line of evidence. If the ChIP-chip data showed good (P ≤ 0.001) " "evidence of binding to the transcription factor associated with the " "motif, that counts as two lines of evidence. If the ChIP-chip data " "showed weaker (P ≤ 0.005) evidence of binding, that counts as just one line " "of evidence. The following table shows the relationship between lines " "of evidence and score:"); printf("

"); @@ -2411,30 +2382,31 @@ // TODO: use hTrackUiName() printf("

NOTE: Early access to additional track data may be available on the Preview Browser.", "genome-preview.ucsc.edu", db, tdb->track); } } } void specificUi(struct trackDb *tdb, struct trackDb *tdbList, struct customTrack *ct, boolean ajax) /* Draw track specific parts of UI. */ { char *track = tdb->track; // Ideally check cfgTypeFromTdb()/cfgByCfgType() first, but with all these special cases already in // place, lets be cautious at this time. // NOTE: Developer, please try to use cfgTypeFromTdb()/cfgByCfgType(). +boolean boxed = trackDbSettingClosestToHomeOn(tdb, "boxedCfg"); // UI precedence: // 1) supers to get them out of the way: they have no controls // 2) special cases based upon track name (developer please avoid) // 3) cfgTypeFromTdb()/cfgByCfgType() <== prefered method // 4) special cases falling through the cracks but based upon type if (tdbIsSuperTrack(tdb)) superTrackUi(tdb, tdbList); else if (sameString(track, "stsMap")) stsMapUi(tdb); else if (sameString(track, "affyTxnPhase2")) affyTxnPhase2Ui(tdb); else if (sameString(track, "cgapSage")) cgapSageUi(tdb); else if (sameString(track, "stsMapMouseNew")) stsMapMouseUi(tdb); @@ -2474,41 +2446,30 @@ else if (sameString(track, "omimLocation")) omimLocationUI(tdb); else if (sameString(track, "omimGene2")) omimGene2UI(tdb); else if (sameString(track, "omimGene")) omimGeneUI(tdb); else if (sameString(track, "hg17Kg")) hg17KgUI(tdb); else if (startsWith("ucscRetro", track) || startsWith("retroMrnaInfo", track)) retroGeneUI(tdb); else if (sameString(track, "ensGeneNonCoding")) ensemblNonCodingUI(tdb); else if (sameString(track, "vegaGeneComposite")) vegaGeneUI(tdb); -else if (sameString(track, "all_mrna") - || sameString(track, "mrna") - || sameString(track, "all_est") - || sameString(track, "est") - || sameString(track, "tightMrna") - || sameString(track, "tightEst") - || sameString(track, "intronEst")) - mrnaUi(tdb, FALSE); -else if (sameString(track, "xenoMrna") - || sameString(track, "xenoEst")) - mrnaUi(tdb, TRUE); else if (sameString(track, "rosetta")) rosettaUi(tdb); else if (startsWith("blastDm", track)) blastFBUi(tdb); else if (sameString(track, "blastSacCer1SG")) blastSGUi(tdb); else if (sameString(track, "blastHg17KG") || sameString(track, "blastHg16KG") || sameString(track, "blastCe3WB") || sameString(track, "blastHg18KG") || sameString(track, "blatzHg17KG") || startsWith("mrnaMap", track) || startsWith("mrnaXeno", track)) blastUi(tdb); else if (sameString(track, "hgPcrResult")) @@ -2554,37 +2515,46 @@ else if (sameString(track, "oreganno")) oregannoUi(tdb); else if (startsWith("retroposons", track)) retroposonsUi(tdb); else if (sameString(track, "tfbsConsSites")) tfbsConsSitesUi(tdb); else if (sameString(track, "CGHBreastCancerUCSF")) ucsfdemoUi(tdb); else if (startsWith("hapmapSnps", track)) hapmapSnpsUi(tdb); else if (sameString(track, "switchDbTss")) switchDbScoreUi(tdb); else if (sameString(track, "dgv") || (startsWith("dgvV", track) && isdigit(track[4]))) dgvUi(tdb); +else if (sameString(track, "all_mrna") + || sameString(track, "mrna") + || sameString(track, "all_est") + || sameString(track, "est") + || sameString(track, "tightMrna") + || sameString(track, "tightEst") + || sameString(track, "intronEst") + || sameString(track, "xenoMrna") + || sameString(track, "xenoEst")) + mrnaCfgUi(cart, tdb, tdb->track, NULL, boxed); else if (tdb->type != NULL) { // NOTE for developers: please avoid special cases and use cfgTypeFromTdb//cfgByCfgType() // When you do, then multi-view cfg and subtrack cfg will work. eCfgType cType = cfgTypeFromTdb(tdb,FALSE); if (cType != cfgNone) { - boolean boxed = trackDbSettingClosestToHomeOn(tdb, "boxedCfg"); cfgByCfgType(cType,database, cart, tdb,tdb->track, NULL, boxed); } // NOTE: these cases that fall through the cracks should probably get folded into cfgByCfgType() else if (startsWithWord("expRatio", tdb->type)) expRatioUi(tdb); else if (startsWith("chromGraph", tdb->type)) chromGraphUi(tdb); else if (startsWith("sample", tdb->type)) genericWiggleUi(tdb,7); else if (startsWithWord("array",tdb->type)) /* not quite the same as an "expRatio" type (custom tracks) */ expRatioCtUi(tdb); else if (startsWithWord("factorSource",tdb->type)) factorSourceUi(database,tdb); }