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);
}