45c5e17075e31abf2735b09ca201d29ce6e0e1f4 kate Thu Jun 29 18:17:22 2017 -0700 Add trackUi (body map and right-click versions) and implement filters in hgTracks. refs #15646 diff --git src/hg/inc/gtexUi.h src/hg/inc/gtexUi.h index 49cacb6..4ce0311 100644 --- src/hg/inc/gtexUi.h +++ src/hg/inc/gtexUi.h @@ -57,37 +57,83 @@ /* Hide exons */ #define GTEX_SHOW_EXONS "showExons" #define GTEX_SHOW_EXONS_DEFAULT FALSE /* Suppress whiteout behind graph (to show highlight and blue lines) */ #define GTEX_NO_WHITEOUT "noWhiteout" #define GTEX_NO_WHITEOUT_DEFAULT FALSE /* Item name is gene symbol, accession, or both */ #define GTEX_LABEL "label" #define GTEX_LABEL_SYMBOL "name" #define GTEX_LABEL_ACCESSION "accession" #define GTEX_LABEL_BOTH "both" #define GTEX_LABEL_DEFAULT GTEX_LABEL_SYMBOL -/* Identify GTEx gene track as it uses special trackUI. +/* GTEx eQTL track controls */ + +#define GTEX_EQTL_EFFECT "effect" +#define GTEX_EQTL_PROBABILITY "prob" +#define GTEX_EQTL_GENE "gene" + +/* Identify GTEx tracks that use special trackUI. * NOTE: trackDb must follow this naming convention unless/until there is * a new trackType. */ #define GTEX_GENE_TRACK_BASENAME "gtexGene" +#define GTEX_EQTL_TRACK_BASENAME "gtexEqtlCluster" boolean gtexIsGeneTrack(char *trackName); /* Identify GTEx gene track so custom trackUi CGI can be launched */ -char *gtexGeneTrackUiName(); +boolean gtexIsEqtlTrack(char *trackName); +/* Identify GTEx eqtl track so custom trackUi CGI can be launched */ + +char *gtexTrackUiName(); /* Refer to Body Map CGI if suitable */ void gtexPortalLink(char *geneId); /* print URL to GTEX portal gene expression page using Ensembl Gene Id*/ boolean gtexGeneBoxplot(char *geneId, char *geneName, char *version, boolean doLogTransform, struct tempName *pngTn); /* Create a png temp file with boxplot of GTEx expression values for this gene. * GeneId is the Ensembl gene ID. GeneName is the HUGO name, used for graph title; * If NULL, label with the Ensembl gene ID */ +/* UI controls */ + +void gtexGeneUiGeneLabel(struct cart *cart, char *track, struct trackDb *tdb); +/* Radio buttons to select format of gene label */ + +void gtexGeneUiCodingFilter(struct cart *cart, char *track, struct trackDb *tdb); +/* Checkbox to restrict display to protein coding genes */ + +void gtexGeneUiGeneModel(struct cart *cart, char *track, struct trackDb *tdb); +/* Checkbox to enable display of GTEx gene model */ + +void gtexGeneUiLogTransform(struct cart *cart, char *track, struct trackDb *tdb); +/* Checkbox to select log-transformed RPKM values */ + +void gtexGeneUiViewLimits(struct cart *cart, char *track, struct trackDb *tdb); +/* Set viewing limits if log transform not checked */ + +void gtexGeneUi(struct cart *cart, struct trackDb *tdb, char *name, char *title, boolean boxed); +/* GTEx (Genotype Tissue Expression) per gene data */ + +void gtexEqtlGene(struct cart *cart, char *track, struct trackDb *tdb); +/* Limit to selected gene */ + +void gtexEqtlEffectSize(struct cart *cart, char *track, struct trackDb *tdb); +/* Limit to items with absolute value of effect size >= threshold. Use largest + * effect size in tissue list */ + +void gtexEqtlProbability(struct cart *cart, char *track, struct trackDb *tdb); +/* Limit to items with specified probability. Use largest probability in tissue list, + * which is score/1000, so use that */ + +void gtexEqtlClusterUi(struct cart *cart, struct trackDb *tdb, char *track, char *title, + boolean boxed); +/* GTEx (Genotype Tissue Expression) eQTL clusters. Use this on right-click, + * (when hgGtexTrackSettings can't be) */ + #endif /* GTEXUI_H */