92d22aef00c95d22ddf0013f5a58d2d4c67a3100
max
Tue Dec 17 07:02:11 2019 -0800
changes after code review, refs #24660
diff --git src/hg/hgc/geneReviewsClick.c src/hg/hgc/geneReviewsClick.c
index f207b20..3e06283 100644
--- src/hg/hgc/geneReviewsClick.c
+++ src/hg/hgc/geneReviewsClick.c
@@ -1,133 +1,132 @@
/* geneReviewsClick - hgc code to display geneReviews track item detail page */
/* Copyright (C) 2014 The Regents of the University of California
* See README in this or parent directory for licensing information. */
#include "common.h"
#include "hgc.h"
#include "geneReviewsClick.h"
void doGeneReviews(struct trackDb *tdb, char *itemName)
/* generate the detail page for geneReviews */
{
struct sqlConnection *conn = hAllocConn(database);
char *table = tdb->table;
int start = cartInt(cart, "o");
int num = 4;
genericHeader(tdb, itemName);
- //removed genericBedClick(conn, tdb, itemName, start, num) and copied from there this more customized code
char query[512];
char **row;
struct bed *bed;
boolean hasBin = TRUE;
struct sqlResult *sr;
sqlSafef(query, sizeof query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d",
table, itemName, seqName, start);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
bed = bedLoadN(row+hasBin, num);
- printf("Link to Gene Review: %s
\n", bed->name, bed->name);
+ printf("Link to Gene Reviews: %s
\n", bed->name, bed->name);
printPos(bed->chrom, bed->chromStart, bed->chromEnd, NULL, TRUE, bed->name);
}
prGeneReviews(conn, itemName);
printf("
");
printTrackHtml(tdb);
hFreeConn(&conn);
}
void prGeneReviews(struct sqlConnection *conn, char *itemName)
/* print GeneReviews associated to this item
Note: this print function has been replaced by addGeneReviewToBed.pl
which print the same information to the field 5 of bigBed file
*/
{
struct sqlResult *sr;
char **row;
char query[512];
int i;
char *clickMsg = "Click GR short name link to find the GeneReviews article on NCBI Bookshelf.";
char *spacer = " ";
boolean firstTime = TRUE;
if (!sqlTableExists(conn, "geneReviewsDetail")) return;
sqlSafef(query, sizeof(query), "select grShort, NBKid, grTitle from geneReviewsDetail where geneSymbol='%s'", itemName);
sr = sqlGetResult(conn, query);
while ((row = sqlNextRow(sr)) != NULL)
{
char *grShort = *row++;
char *NBKid = *row++;
char *grTitle = *row++;
if (firstTime)
{
printf("
GeneReviews available for %s: (%s)
",itemName,clickMsg);
firstTime = FALSE;
printf("
"); // #123456789-123456789-123456789-123456789-123456789-123456789- printf("GR short name Disease name"); sqlFreeResult(&sr); } /* end of prGeneReviews */ void prGRShortRefGene(char *itemName) /* print GeneReviews short label associated to this refGene item */ { struct sqlConnection *conn = hAllocConn(database); struct sqlResult *sr; char **row; char query[512]; boolean firstTime = TRUE; if (!sqlTableExists(conn, "geneReviewsDetail")) return; sqlSafef(query, sizeof(query), "select grShort, NBKid, grTitle from geneReviewsDetail where geneSymbol='%s'", itemName); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { char *grShort = *row++; char *NBKid = *row++; char *grTitle = *row++; if (firstTime) { printf("Related GeneReviews disease(s): "); firstTime = FALSE; printf("%s", NBKid, grShort); printf(" ("); printf("%s", grTitle); printf(")"); } else { printf(", "); printf("%s", grShort, grShort); printf(" ("); printf("%s", grTitle); printf(")"); } } printf("
"); printf("---------------------------------------------------------"); printf("--------------------
"); } printf("%s", NBKid, grShort); if (strlen(grShort) <= 20) { for (i = 0; i < 20-strlen(grShort); i ++ ) { printf("%s", " " ); } } printf("%s%s
", spacer, grTitle); // printf("%s%s%s
", NBKid, NBKid, spacer, grTitle); } /* end while */ printf("