src/hg/instinct/bioInt2/bioIntDriver.h 1.5

1.5 2009/04/27 06:15:48 jsanborn
updated lots of stuff, will break older implementation of database
Index: src/hg/instinct/bioInt2/bioIntDriver.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/instinct/bioInt2/bioIntDriver.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -B -U 1000000 -r1.4 -r1.5
--- src/hg/instinct/bioInt2/bioIntDriver.h	31 Mar 2009 01:06:15 -0000	1.4
+++ src/hg/instinct/bioInt2/bioIntDriver.h	27 Apr 2009 06:15:48 -0000	1.5
@@ -1,172 +1,189 @@
 /* bioIntDriver.h 
  * All rights reserved -- J. Zachary Sanborn
  */
 
 #ifndef BIOINTDRIVER_H
 #define BIOINTDRIVER_H 
 
 #include "common.h"
 #include "bioIntDb.h"
 
 #define DBL_NULL  -9999.98  /* fairly unique number... TODO: better way? */
 #define DEBUG 0
 
 #define AN_TABLE "analyses"
 #define AF_TABLE "analysisFeatures"
 #define AM_TABLE "analysisModules"
 #define AP_TABLE "analysisParams"
 #define CD_TABLE "clinicalData"
 #define CO_TABLE "cohorts"
 #define CC_TABLE "cohortCorr"
 #define DA_TABLE "datasets"
 #define DC_TABLE "datasetCohort"
 #define DT_TABLE "dataTypes"
 #define FE_TABLE "features"
 #define GL_TABLE "geneLookup"
 #define KG_TABLE "knownGene"
 #define KX_TABLE "kgXref"
-#define PA_TABLE "pathways"
-#define PG_TABLE "pathwayGenes"
-#define PI_TABLE "pathwayInfo"
+#define GE_TABLE "genesets"
+#define GG_TABLE "genesetGenes"
+#define GI_TABLE "genesetInfo"
 #define SA_TABLE "samples"
 #define TI_TABLE "tissues"
 
 struct biQuery {
     struct biQuery *next;
 
     char *db;
     char *dataset;
 
-    boolean getAllProbes;
+    boolean getAllFeatures;
 
-    struct slName *pathwayList;
-    struct slName *probeList;
-    struct slName *geneList;
+    struct slName *genesetList;
+    struct slName *featureList;
     struct slName *sampleList;
     struct slName *featureValList;
     struct slName *featureCodeList; 
 
     /* Methods */
-    int (*addPathways)(struct biQuery *bq, char *str, char sep);
-    int (*addProbes)(struct biQuery *bq, char *str, char sep);
-    int (*addGenes)(struct biQuery *bq, char *str, char sep);
+    int (*addGenesets)(struct biQuery *bq, char *str, char sep);
+    int (*addFeatures)(struct biQuery *bq, char *str, char sep);
     int (*addSamples)(struct biQuery *bq, char *str, char sep);
     int (*addFeatureVals)(struct biQuery *bq, char *str, char sep);
     int (*addFeatureCodes)(struct biQuery *bq, char *str, char sep);
 };
 
 struct biData {
     struct biData *next;
     char *name;
     char *type;
 
-    struct slDouble *data;
+    struct analysisVals *data;
     struct hash *hash;
 };
 
 struct biOmics {
     struct biOmics *next;
 
     char *db;
     char *name;
     char *type;       // data type (cnv, expression, etc.)
 
     struct hash *sampleIndices;
-    struct hash *geneAliases;
     struct hash *datasetProbes;
 
     struct datasets *dataset;
 
     struct samples *samples;
     struct hash *samplesHash;
 
-    struct probeInfo *probeInfo;
-    struct hash *probeInfoHash;
+    struct analysisFeatures *features;
+    struct hash *featuresHash;
 
     /* Probe data */
-    struct slPair *probes;
-    struct hash *probesHash;
+    struct slPair *data;
+    struct hash *dataHash;
 
     /* Methods */
     int (*populate)(struct biOmics *bi, struct biQuery *bq);
     int (*populateAll)(struct biOmics *bi, struct biQuery *bq);
     int (*populateRandom)(struct biOmics *bi, struct biQuery *bq, int numProbes);
     
     void (*loadData)(struct sqlConnection *conn, struct biOmics *bi, boolean allData);
     void (*freeData)(struct slPair **pList);
     struct slName *(*allSamples)(struct biOmics *bi);  
-    struct slName *(*allProbes)(struct biOmics *bi); 
+    struct slName *(*allFeatures)(struct biOmics *bi); 
  
-    struct slName *(*probesForGene)(struct biOmics *bi, char *gene);  
-    
-    struct biData *(*dataForProbe)(struct biOmics *bi, char *probe);
+    struct biData *(*dataForFeature)(struct biOmics *bi, char *probe);
     struct biData *(*dataForSample)(struct biOmics *bi, char *sample);
-    double (*dataForProbeSample)(struct biOmics *bi, char *probe, char *sample);
-    
-    void (*toZscores)(struct biOmics *bi);
-    void (*toLogP)(struct biOmics *bi);
+    struct analysisVals *(*dataForFeatureSample)(struct biOmics *bi, char *probe, char *sample);
 };
 
 struct biResults {
     struct biOmics *datasets;
 
     /* Methods */
     struct slName *(*allDatasets)(struct biResults *br);
 
-    struct slName *(*allProbes)(struct biResults *br);
-    struct slName *(*allProbesInDataset)(struct biResults *br, char *dataset);
+    struct slName *(*allFeatures)(struct biResults *br);
+    struct slName *(*allFeaturesInDataset)(struct biResults *br, char *dataset);
 
     struct slName *(*allSamples)(struct biResults *br);
     struct slName *(*allSamplesInCommon)(struct biResults *br);
     struct slName *(*allSamplesInDataset)(struct biResults *br, char *dataset);
 
-    struct slName *(*probesForGene)(struct biResults *br, char *gene);  
-    struct slName *(*probesForGeneInDataset)(struct biResults *br, char *gene, char *dataset); 
-
-    struct biData *(*dataForProbe)(struct biResults *br, char *probe);  
-    struct biData *(*dataForProbeInDataset)(struct biResults *br, char *probe, char *dataset);  
+    struct biData *(*dataForFeature)(struct biResults *br, char *feature);  
+    struct biData *(*dataForFeatureInDataset)(struct biResults *br, char *feature, 
+					      char *dataset);  
 
     struct biData *(*dataForSample)(struct biResults *br, char *sample);
-    struct biData *(*dataForSampleInDataset)(struct biResults *br, char *sample, char *dataset);
+    struct biData *(*dataForSampleInDataset)(struct biResults *br, char *sample, 
+					     char *dataset);
 
-    struct biData *(*dataForProbeSample)(struct biResults *br, char *probe, char *sample);
-    double (*dataForProbeSampleInDataset)(struct biResults *br, char *probe, char *sample, char *dataset);
-
-    void (*toZscores)(struct biResults *br);
-    void (*toLogP)(struct biResults *br);
+    struct biData *(*dataForFeatureSample)(struct biResults *br, char *feature, 
+					   char *sample);
+    struct analysisVals *(*dataForFeatureSampleInDataset)(struct biResults *br, char *feature, 
+					    char *sample, char *dataset);
 };
 
 
-void slPairSampleValFreeList(struct slPair **pList);
-
-void slPairValsFreeList(struct slPair **pList); 
+void slPairAnalysisValsFreeList(struct slPair **pList);
 
 struct biOmics *newBiOmics(char *db, char *dataset);
 
 void biOmicsFree(struct biOmics **ptr);
 
 struct biQuery *biQueryNew(char *db, char *dataset);
 
 void biQueryAppend(struct biQuery **list, struct biQuery *bq);
 
 void biQueryFree(struct biQuery **pEl);
 
 void biQueryFreeList(struct biQuery **pList);
 
 struct biResults *biQueryResults(struct biQuery *bqList);
 
 struct biResults *biQueryResultsRandomize(struct biQuery *bqList, int numProbes);
 
 void biResultsFree(struct biResults **pEl);
 
 void biDataAppendName(struct biData *bd, char *name);
  
 struct biData *biDataNew(char *name);
 
 void biDataFree(struct biData **pEl);
 
 void biDataFreeList(struct biData **pList);
 
 struct biData *biDataFind(struct biData *bdList, char *name);
 
+void slPairAnalysisValsFree(struct slPair **pEl);
+
+void slPairAnalysisValsFreeList(struct slPair **pList);
+
+struct analysisVals *cloneAnalysisVals(struct analysisVals *av);
+
+void storeAnalysisValsInDb(struct sqlConnection *biConn, char *tableName,
+			   struct analysisVals *avList);
+
+struct hash *createIdHash(struct sqlConnection *biConn, char *tableName, char *fieldName);
+
+/* Create table syntax */
+
+void createDataTypesTable(struct sqlConnection *biConn, char *tableName);
+void createTissuesTable(struct sqlConnection *biConn, char *tableName);
+void createDatasetsTable(struct sqlConnection *biConn, char *tableName);
+void createSamplesTable(struct sqlConnection *biConn, char *tableName);
+void createFeaturesTable(struct sqlConnection *biConn, char *tableName);
+void createClinicalDataTable(struct sqlConnection *biConn, char *tableName);
+void createGeneLookupTable(struct sqlConnection *biConn, char *tableName);
+void createGenesetsTable(struct sqlConnection *biConn, char *tableName);
+void createGenesetGenesTable(struct sqlConnection *biConn, char *tableName);
+void createGenesetInfoTable(struct sqlConnection *biConn, char *tableName);
+void createAnalysisFeaturesTable(struct sqlConnection *biConn, char *tableName); 
+void createAnalysisValsTable(struct sqlConnection *biConn, char *tableName); 
+void createAnalysisModulesTable(struct sqlConnection *biConn, char *tableName);
+void createAnalysesTable(struct sqlConnection *biConn, char *tableName); 
+void createAnalysisParamsTable(struct sqlConnection *biConn, char *tableName);
+
 #endif /* BIOINTDRIVER_H */