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 */