d09b392333a2f5d2f943f2f36dad4be0a477381e kate Thu Sep 14 13:55:37 2017 -0700 Add pvalue and TSS distance for each eQTL. Input from Casey Brown, U Penn. refs #15646 diff --git src/hg/hgc/gtexEqtlClusterClick.c src/hg/hgc/gtexEqtlClusterClick.c index f25be1f..7152e66 100644 --- src/hg/hgc/gtexEqtlClusterClick.c +++ src/hg/hgc/gtexEqtlClusterClick.c @@ -96,41 +96,42 @@ posLink, end-start, FLANK); } static void printClusterDetails(struct gtexEqtlCluster *eqtl, char *table) /* Print details of an eQTL cluster */ { webNewSection("eQTL Cluster Details"); char *version = gtexVersion(table); struct gtexTissue *tissues = gtexGetTissues(version); struct hash *tissueHash = hashNew(0); struct gtexTissue *tis = NULL; for (tis = tissues; tis != NULL; tis = tis->next) hashAdd(tissueHash, tis->name, tis); printf("\n"); printf(""); -printf("\n"); +printf("\n"); int i; for (i=0; iexpCount; i++) { double effect = eqtl->expScores[i]; + double pval = eqtl->expPvals[i]; double prob = eqtl->expProbs[i]; struct gtexTissue *tis = (struct gtexTissue *)hashFindVal(tissueHash, eqtl->expNames[i]); unsigned color = tis ? tis->color : 0; // BLACK char *name = tis ? tis->description : "Unknown"; - printf("\n", - color, name, effect < 0 ? "" : "+", effect, prob); + printf("\n", + color, name, effect < 0 ? "" : "+", effect, pval, prob); } printf("
   TissueEffect   Probability
   TissueEffect   P-Value (-log10)Probability
%s%s%0.2f%0.2f
%s%s%0.2f%0.2f%0.2f
"); webEndSection(); } void doGtexEqtlDetails(struct trackDb *tdb, char *item) /* Details of GTEx eQTL item */ { char *chrom = cartString(cart, "c"); int start = cartInt(cart, "o"); int end = cartInt(cart, "t"); struct gtexEqtlCluster *eqtl = getGtexEqtl(item, chrom, start, end, tdb->table); char *geneName = eqtl->target; @@ -145,30 +146,31 @@ printf("%s
\n", hgGeneName(), database, geneName, geneName); printf("Description: %s\n", desc); } // TODO: Consider adding Ensembl gene ID, GENCODE biotype and class (as in gtexGene track) printf("
Variant: %s ", eqtl->name); if (startsWith("rs", eqtl->name)) { printDbSnpRsUrl(eqtl->name, "dbSNP"); printMinorAlleleFreq(eqtl->name, conn); printGwasCatalogTrait(eqtl->name, conn); } else printf("%s\n", eqtl->name); +printf("
Distance from TSS: %d\n", eqtl->distance); char posLink[1024]; safef(posLink, sizeof posLink,"%s:%d-%d", hgTracksPathAndSettings(), database, eqtl->chrom, eqtl->chromStart+1, eqtl->chromEnd, eqtl->chrom, eqtl->chromStart+1, eqtl->chromEnd); printf("
Position: %s\n", posLink); printf("
Score: %d\n", eqtl->score); printEqtlRegion(eqtl, tdb->table, conn); printf("
Number of tissues with this eQTL: %d\n", eqtl->expCount); // print link to GTEx portal printf("
"