src/hg/instinct/bioInt2/grabData.c 1.7

1.7 2009/06/05 20:55:40 sbenz
Fixed issue where clinical data was querying wrong field, also starting to add pathway stuff
Index: src/hg/instinct/bioInt2/grabData.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/instinct/bioInt2/grabData.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -b -B -U 4 -r1.6 -r1.7
--- src/hg/instinct/bioInt2/grabData.c	20 May 2009 20:34:36 -0000	1.6
+++ src/hg/instinct/bioInt2/grabData.c	5 Jun 2009 20:55:40 -0000	1.7
@@ -39,8 +39,18 @@
     double val;
     double conf;
 };
 
+boolean isPathwayAnalysisTable(struct sqlConnection *conn, char *tableName)
+{
+char query[256];
+safef(query, sizeof(query), 
+      "select * from %s aTable,%s mTable where aTable.result_table = \"%s\" AND aTable.module_id = mTable.id AND mTable.name = \"%s\"",
+      AN_TABLE, AM_TABLE, tableName, "factorGraph");
+
+return sqlExists(conn, query);
+}
+
 
 void spHashListTranspose(struct slPair *spList, struct slName *slList, 
 			 struct slPair **retSpList, struct slName **retSlList)
 {
@@ -178,9 +188,9 @@
 struct samples *getSamples(struct sqlConnection *conn, struct datasets *da)
 {
 char query[256];
 safef(query, sizeof(query), 
-      "select * from %s where dataset_id = %d order by exp_id", 
+      "select * from %s where dataset_id = %d order by id", 
       SA_TABLE, da->id);
 
 return samplesLoadByQuery(conn, query);
 }
@@ -293,9 +303,18 @@
 
 void grabAnalysisData(struct sqlConnection *conn, char *tableName)
 {
 struct hash *sampleIdHash = createHash(conn, SA_TABLE, "id", "name");
-struct hash *featureIdHash = createHash(conn, AF_TABLE, "id", "feature_name");
+boolean isPathwayTable = isPathwayAnalysisTable(conn,tableName);
+struct hash *featureIdHash;
+struct hash *pathwayIdHash;
+if(isPathwayTable)
+{
+	featureIdHash = createHash(conn, EN_TABLE, "entity_id", "entity_name");
+	pathwayIdHash = createHash(conn, EP_TABLE, "pathway_id", "pathway_name");
+}
+else
+	featureIdHash = createHash(conn, AF_TABLE, "id", "feature_name");
 
 char query[256];
 safef(query, sizeof(query), "select * from %s", tableName);