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

1.2 2009/03/24 05:21:54 jsanborn
updated
Index: src/hg/instinct/bioInt2/bioIntDriver.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/instinct/bioInt2/bioIntDriver.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -B -U 1000000 -r1.1 -r1.2
--- src/hg/instinct/bioInt2/bioIntDriver.h	20 Mar 2009 06:06:32 -0000	1.1
+++ src/hg/instinct/bioInt2/bioIntDriver.h	24 Mar 2009 05:21:54 -0000	1.2
@@ -1,152 +1,169 @@
 /* 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 DA_TABLE "datasets"
+#define DC_TABLE "datasetCohort"
+#define DT_TABLE "dataTypes"
+#define FE_TABLE "features"
+#define GL_TABLE "geneLookup"
+#define PA_TABLE "pathways"
+#define PG_TABLE "pathwayGenes"
+#define PI_TABLE "pathwayInfo"
+#define SA_TABLE "samples"
+#define TI_TABLE "tissues"
+
 struct biQuery {
     struct biQuery *next;
 
     char *db;
     char *dataset;
 
     boolean getAllProbes;
 
     struct slName *pathwayList;
     struct slName *probeList;
     struct slName *geneList;
     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 (*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 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;
 
     /* Probe data */
     struct slPair *probes;
     struct hash *probesHash;
 
     /* 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 *(*probesForGene)(struct biOmics *bi, char *gene);  
     
     struct biData *(*dataForProbe)(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 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 *(*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 *(*dataForSample)(struct biResults *br, char *sample);
     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);
 };
 
 
 void slPairSampleValFreeList(struct slPair **pList);
 
 void slPairValsFreeList(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);
 
 #endif /* BIOINTDRIVER_H */