src/hg/instinct/bioInt2/bioIntUI.c 1.5
1.5 2009/03/31 01:06:15 jsanborn
added description field
Index: src/hg/instinct/bioInt2/bioIntUI.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/instinct/bioInt2/bioIntUI.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -B -U 4 -r1.4 -r1.5
--- src/hg/instinct/bioInt2/bioIntUI.c 29 Mar 2009 03:31:05 -0000 1.4
+++ src/hg/instinct/bioInt2/bioIntUI.c 31 Mar 2009 01:06:15 -0000 1.5
@@ -128,8 +128,18 @@
return cohortCorrLoadByQuery(conn, query);
}
+char *getFieldFromKgXref(struct sqlConnection *conn, char *geneSymbol,
+ char *field)
+{
+char query[256];
+safef(query, sizeof(query),
+ "select %s from %s where geneSymbol = \"%s\" ",
+ field, KX_TABLE, geneSymbol);
+
+return sqlQuickString(conn, query);
+}
/****** END HELPER FUNCTIONS *******/
@@ -208,16 +218,33 @@
break;
}
struct json *js = newJson();
+
+char *desc = getFieldFromKgXref(conn, af->feature_name, "description");
+if (!desc)
+ desc = cloneString(af->feature_name);
+
+/* String 'isoform xxx' from description... almost all entries have them */
+char *ptr = rStringIn("isoform", desc);
+if (ptr)
+ *ptr = '\0';
+jsonAddString(js, "description", desc);
+
+char *kgId = getFieldFromKgXref(conn, af->feature_name, "kgId");
+if (kgId)
+ jsonAddString(js, "hgg_gene", kgId);
+
+struct json *data = jsonAddContainer(js, "data");
struct sqlResult *sr = sqlGetResult(conn, query);
char **row = NULL;
while ((row = sqlNextRow(sr)) != NULL)
{
char *name = row[0];
double val = atof(row[1]);
- jsonAddDouble(js, name, val);
+ jsonAddDouble(data, name, val);
}
+sqlFreeResult(&sr);
if (js)
hPrintf("%s\n", js->print(js));