b3bbb2830441deb68f6645938db234d0ce7f170d kate Thu Apr 28 13:17:13 2016 -0700 Cleanup for readability. diff --git src/hg/hgc/gtexClick.c src/hg/hgc/gtexClick.c index 1a73b20..7cd11df 100644 --- src/hg/hgc/gtexClick.c +++ src/hg/hgc/gtexClick.c @@ -33,60 +33,63 @@ return "#FE0000"; return unknown; } static struct gtexGeneBed *getGtexGene(char *item, char *chrom, int start, int end, char *table) /* Retrieve gene info for this item from the main track table */ { struct gtexGeneBed *gtexGene = NULL; struct sqlConnection *conn = hAllocConn(database); char **row; char query[512]; struct sqlResult *sr; if (sqlTableExists(conn, table)) { - sqlSafef(query, sizeof query, "select * from %s where name = '%s' and chrom = '%s' " + sqlSafef(query, sizeof query, "SELECT * FROM %s WHERE name = '%s' AND chrom = '%s' " " and chromStart = %d and chromEnd = %d", table, item, chrom, start, end); sr = sqlGetResult(conn, query); row = sqlNextRow(sr); if (row != NULL) { gtexGene = gtexGeneBedLoad(row); } sqlFreeResult(&sr); } hFreeConn(&conn); return gtexGene; } char *getGeneDescription(struct gtexGeneBed *gtexGene) /* Get description for gene. Needed because knownGene table semantics have changed in hg38 */ { char query[256]; if (sameString(database, "hg38")) { char *geneId = cloneString(gtexGene->geneId); chopSuffix(geneId); sqlSafef(query, sizeof(query), - "select kgXref.description from kgXref, knownCanonical where knownCanonical.protein like '%%%s%%' and knownCanonical.transcript=kgXref.kgID", geneId); + "SELECT kgXref.description FROM kgXref, knownCanonical WHERE " + "knownCanonical.protein LIKE '%%%s%%' AND " + "knownCanonical.transcript=kgXref.kgID", geneId); } else { sqlSafef(query, sizeof(query), - "select kgXref.description from kgXref where geneSymbol='%s'", gtexGene->name); + "SELECT kgXref.description FROM kgXref WHERE geneSymbol='%s'", + gtexGene->name); } struct sqlConnection *conn = hAllocConn(database); char *desc = sqlQuickString(conn, query); hFreeConn(&conn); return desc; } void doGtexGeneExpr(struct trackDb *tdb, char *item) /* Details of GTEx gene expression item */ { int start = cartInt(cart, "o"); int end = cartInt(cart, "t"); struct gtexGeneBed *gtexGene = getGtexGene(item, seqName, start, end, tdb->table); if (gtexGene == NULL) errAbort("Can't find gene %s in GTEx gene table %s\n", item, tdb->table); @@ -99,34 +102,35 @@ else { printf("<a target='_blank' href='%s?db=%s&hgg_gene=%s'>%s</a><br>\n", hgGeneName(), database, gtexGene->name, gtexGene->name); printf("<b>Description:</b> %s<br>\n", desc); } printf("<b>Ensembl gene ID:</b> %s<br>\n", gtexGene->geneId); // The actual transcript model is a union, so this identification is approximate // (used just to find a transcript class) char *geneClass = gtexGeneClass(gtexGene); printf("<b>GENCODE biotype: </b> %s<br>\n", gtexGene->geneType); printf("<b>Gene class: </b><span style='color: %s'>%s</span><br>\n", geneClassColorCode(geneClass), geneClass); printf("<b>Total median expression: </b> %0.2f RPKM<br>\n", gtexGeneTotalMedianExpression(gtexGene)); printf("<b>Score: </b> %d<br>\n", gtexGene->score); -printf("<b>Genomic position: </b>%s <a href='%s&db=%s&position=%s%%3A%d-%d'>%s:%d-%d</a><br>\n", +printf("<b>Genomic position: " + "</b>%s <a href='%s&db=%s&position=%s%%3A%d-%d'>%s:%d-%d</a><br>\n", database, hgTracksPathAndSettings(), database, gtexGene->chrom, gtexGene->chromStart+1, gtexGene->chromEnd, gtexGene->chrom, gtexGene->chromStart+1, gtexGene->chromEnd); puts("<p>"); // set gtexDetails (e.g. to 'log') to show log transformed details page // if hgTracks is log-transformed -boolean doLogTransform = (trackDbSetting(tdb, "gtexDetails") && +boolean doLogTransform = + (trackDbSetting(tdb, "gtexDetails") && cartUsualBooleanClosestToHome(cart, tdb, FALSE, GTEX_LOG_TRANSFORM, GTEX_LOG_TRANSFORM_DEFAULT)); char *version = gtexVersion(tdb->table); struct tempName pngTn; if (gtexGeneBoxplot(gtexGene->geneId, gtexGene->name, version, doLogTransform, &pngTn)) printf("<IMG SRC = \"%s\" BORDER=1><BR>\n", pngTn.forHtml); gtexPortalLink(gtexGene->geneId); - printTrackHtml(tdb); }