/
top10.sql
422 lines (391 loc) · 16.3 KB
/
top10.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
/*
Compare gene expression level across genome
between stage I and stage II of breast cancer
sudo su postgres
psql --host='instance.userid.region.rds.amazonaws.com' --port='5432' --username='username' --dbname='dbname'
*/
DROP TABLE IF EXISTS exprsort_breast;
CREATE TABLE exprsort_breast AS (
WITH stage2to1 AS (
WITH stage1 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Breast'
AND (disease_stage = 'Stage I' OR
disease_stage = 'Stage IA' OR
disease_stage = 'Stage IB'
)
)
GROUP BY gene_id
), stage2 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Breast'
AND (disease_stage = 'Stage II' OR
disease_stage = 'Stage IIA' OR
disease_stage = 'Stage IIB'
)
)
GROUP BY gene_id
)
SELECT stage1.gene_id, (stage2.avg_expr / stage1.avg_expr) AS fold_change
FROM stage1 INNER JOIN stage2 ON (stage1.gene_id = stage2.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage2to1 LEFT OUTER JOIN hs_genome ON (stage2to1.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Bladder */
DROP TABLE IF EXISTS exprsort_bladder;
CREATE TABLE exprsort_bladder AS (
WITH stage3to2 AS (
WITH stage2 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Bladder'
AND disease_stage = 'Stage II'
)
GROUP BY gene_id
), stage3 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Bladder'
AND disease_stage = 'Stage III'
)
GROUP BY gene_id
)
SELECT stage3.gene_id, (stage3.avg_expr / stage2.avg_expr) AS fold_change
FROM stage3 INNER JOIN stage2 ON (stage3.gene_id = stage2.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage3to2 LEFT OUTER JOIN hs_genome ON (stage3to2.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Colon */
DROP TABLE IF EXISTS exprsort_colon;
CREATE TABLE exprsort_colon AS (
WITH stage3to2 AS (
WITH stage2 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Colon'
AND disease_stage ~ 'Stage II'
)
GROUP BY gene_id
), stage3 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Colon'
AND disease_stage ~ 'Stage III'
)
GROUP BY gene_id
)
SELECT stage3.gene_id, (stage3.avg_expr / stage2.avg_expr) AS fold_change
FROM stage3 INNER JOIN stage2 ON (stage3.gene_id = stage2.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage3to2 LEFT OUTER JOIN hs_genome ON (stage3to2.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Esophagus */
DROP TABLE IF EXISTS exprsort_esophagus;
CREATE TABLE exprsort_esophagus AS (
WITH stage2bto2a AS (
WITH stage2b AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Esophagus'
AND disease_stage = 'Stage IIB'
)
GROUP BY gene_id
), stage2a AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Esophagus'
AND disease_stage = 'Stage IIA'
)
GROUP BY gene_id
)
SELECT stage2b.gene_id, (stage2b.avg_expr / stage2a.avg_expr) AS fold_change
FROM stage2b INNER JOIN stage2a ON (stage2b.gene_id = stage2a.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage2bto2a LEFT OUTER JOIN hs_genome ON (stage2bto2a.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Extremities */
DROP TABLE IF EXISTS exprsort_extremities;
CREATE TABLE exprsort_extremities(
gene_name text,
info text,
fold_change float
);
/* Head and Neck */
DROP TABLE IF EXISTS exprsort_headandneck;
CREATE TABLE exprsort_headandneck AS (
WITH stage3to2 AS (
WITH stage2 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Head and Neck'
AND disease_stage = 'Stage II'
)
GROUP BY gene_id
), stage3 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Head and Neck'
AND disease_stage = 'Stage III'
)
GROUP BY gene_id
)
SELECT stage3.gene_id, (stage3.avg_expr / stage2.avg_expr) AS fold_change
FROM stage3 INNER JOIN stage2 ON (stage3.gene_id = stage2.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage3to2 LEFT OUTER JOIN hs_genome ON (stage3to2.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Kidney */
DROP TABLE IF EXISTS exprsort_Kidney;
CREATE TABLE exprsort_Kidney AS (
WITH stage3to2 AS (
WITH stage2 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Kidney'
AND disease_stage = 'Stage II'
)
GROUP BY gene_id
), stage3 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Kidney'
AND disease_stage = 'Stage III'
)
GROUP BY gene_id
)
SELECT stage3.gene_id, (stage3.avg_expr / stage2.avg_expr) AS fold_change
FROM stage3 INNER JOIN stage2 ON (stage3.gene_id = stage2.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage3to2 LEFT OUTER JOIN hs_genome ON (stage3to2.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Liver */
DROP TABLE IF EXISTS exprsort_Liver;
CREATE TABLE exprsort_Liver AS (
WITH stage2to1 AS (
WITH stage2 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Liver'
AND disease_stage = 'Stage II'
)
GROUP BY gene_id
), stage1 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Liver'
AND disease_stage = 'Stage I'
)
GROUP BY gene_id
)
SELECT stage1.gene_id, (stage2.avg_expr / stage1.avg_expr) AS fold_change
FROM stage1 INNER JOIN stage2 ON (stage1.gene_id = stage2.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage2to1 LEFT OUTER JOIN hs_genome ON (stage2to1.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Lung */
DROP TABLE IF EXISTS exprsort_Lung;
CREATE TABLE exprsort_Lung AS (
WITH stage1bto1a AS (
WITH stage1a AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Lung'
AND disease_stage = 'Stage IA'
)
GROUP BY gene_id
), stage1b AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Lung'
AND disease_stage = 'Stage IB'
)
GROUP BY gene_id
)
SELECT stage1a.gene_id, (stage1b.avg_expr / stage1a.avg_expr) AS fold_change
FROM stage1b INNER JOIN stage1a ON (stage1b.gene_id = stage1a.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage1bto1a LEFT OUTER JOIN hs_genome ON (stage1bto1a.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Other Specify */
DROP TABLE IF EXISTS exprsort_OtherSpecify;
CREATE TABLE exprsort_OtherSpecify(
gene_name text,
info text,
fold_change float
);
/* Pancreas */
DROP TABLE IF EXISTS exprsort_Pancreas;
CREATE TABLE exprsort_Pancreas AS (
WITH stage2bto2a AS (
WITH stage2a AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Pancreas'
AND disease_stage = 'Stage IIA'
)
GROUP BY gene_id
), stage2b AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Pancreas'
AND disease_stage = 'Stage IIB'
)
GROUP BY gene_id
)
SELECT stage2a.gene_id, (stage2b.avg_expr / stage2a.avg_expr) AS fold_change
FROM stage2b INNER JOIN stage2a ON (stage2b.gene_id = stage2a.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage2bto2a LEFT OUTER JOIN hs_genome ON (stage2bto2a.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Rectum */
DROP TABLE IF EXISTS exprsort_Rectum;
CREATE TABLE exprsort_Rectum(
gene_name text,
info text,
fold_change float
);
/* Stomach */
DROP TABLE IF EXISTS exprsort_Stomach;
CREATE TABLE exprsort_Stomach AS (
WITH stage3bto3a AS (
WITH stage3a AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Stomach'
AND disease_stage = 'Stage IIIA'
)
GROUP BY gene_id
), stage3b AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Stomach'
AND disease_stage = 'Stage IIIB'
)
GROUP BY gene_id
)
SELECT stage3b.gene_id, (stage3b.avg_expr / stage3a.avg_expr) AS fold_change
FROM stage3a INNER JOIN stage3b ON (stage3a.gene_id = stage3b.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage3bto3a LEFT OUTER JOIN hs_genome ON (stage3bto3a.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Thyroid */
DROP TABLE IF EXISTS exprsort_Thyroid;
CREATE TABLE exprsort_Thyroid AS (
WITH stage3to2 AS (
WITH stage2 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Thyroid'
AND disease_stage = 'Stage II'
)
GROUP BY gene_id
), stage3 AS (
SELECT gene_id, AVG(gene_expr) as avg_expr
FROM gene_expr_table
WHERE case_id IN (
SELECT case_id
FROM patient_info
WHERE disease_type = 'Thyroid'
AND disease_stage = 'Stage III'
)
GROUP BY gene_id
)
SELECT stage3.gene_id, (stage3.avg_expr / stage2.avg_expr) AS fold_change
FROM stage3 INNER JOIN stage2 ON (stage3.gene_id = stage2.gene_id)
)
SELECT gene_id, hs_genome.name as gene_name, fold_change, hs_genome.chromosome, hs_genome.info
FROM stage3to2 LEFT OUTER JOIN hs_genome ON (stage3to2.gene_id = hs_genome.id)
ORDER BY fold_change DESC
);
/* Trunk */
DROP TABLE IF EXISTS exprsort_trunk;
CREATE TABLE exprsort_trunk(
gene_name text,
info text,
fold_change float
);