@sjcrh/proteinpaint-types 2.135.2-0 → 2.137.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-ZAMCS7PC.js → chunk-K5POIB3P.js} +71 -43
- package/dist/chunk-Z2VOERJ2.js +339 -0
- package/dist/grin2.js +11 -0
- package/dist/index.js +26 -18
- package/dist/termdb.singlecellData.js +1 -1
- package/package.json +1 -1
- package/src/dataset.ts +47 -11
- package/src/index.ts +1 -0
- package/src/routes/grin2.ts +119 -0
- package/src/routes/termdb.singlecellData.ts +10 -8
|
@@ -21,13 +21,31 @@ var termdbSingleCellDataPayload = {
|
|
|
21
21
|
var validTermdbSingleCellDataRequest = (input) => {
|
|
22
22
|
const errors = [];
|
|
23
23
|
const __is = (input2) => {
|
|
24
|
-
const $
|
|
24
|
+
const $join = import_typia.createValidate.join;
|
|
25
|
+
const $io0 = (input3) => "string" === typeof input3.genome && "string" === typeof input3.dslabel && ("object" === typeof input3.sample && null !== input3.sample && $io1(input3.sample)) && (Array.isArray(input3.plots) && input3.plots.every((elem) => "string" === typeof elem)) && (void 0 === input3.gene || "string" === typeof input3.gene) && (void 0 === input3.colorBy || "object" === typeof input3.colorBy && null !== input3.colorBy && false === Array.isArray(input3.colorBy) && $io2(input3.colorBy)) && (void 0 === input3.colorMap || "object" === typeof input3.colorMap && null !== input3.colorMap && false === Array.isArray(input3.colorMap) && $io3(input3.colorMap));
|
|
25
26
|
const $io1 = (input3) => (void 0 === input3.eID || "string" === typeof input3.eID) && "string" === typeof input3.sID;
|
|
27
|
+
const $io2 = (input3) => Object.keys(input3).every((key) => {
|
|
28
|
+
const value = input3[key];
|
|
29
|
+
if (void 0 === value)
|
|
30
|
+
return true;
|
|
31
|
+
if (RegExp(/(.*)/).test(key))
|
|
32
|
+
return "string" === typeof value;
|
|
33
|
+
return true;
|
|
34
|
+
});
|
|
35
|
+
const $io3 = (input3) => Object.keys(input3).every((key) => {
|
|
36
|
+
const value = input3[key];
|
|
37
|
+
if (void 0 === value)
|
|
38
|
+
return true;
|
|
39
|
+
if (RegExp(/(.*)/).test(key))
|
|
40
|
+
return "string" === typeof value;
|
|
41
|
+
return true;
|
|
42
|
+
});
|
|
26
43
|
return "object" === typeof input2 && null !== input2 && $io0(input2);
|
|
27
44
|
};
|
|
28
45
|
if (false === __is(input)) {
|
|
29
46
|
const $report = import_typia.createValidate.report(errors);
|
|
30
47
|
((input2, _path, _exceptionable = true) => {
|
|
48
|
+
const $join = import_typia.createValidate.join;
|
|
31
49
|
const $vo0 = (input3, _path2, _exceptionable2 = true) => ["string" === typeof input3.genome || $report(_exceptionable2, {
|
|
32
50
|
path: _path2 + ".genome",
|
|
33
51
|
expected: "string",
|
|
@@ -60,6 +78,22 @@ var validTermdbSingleCellDataRequest = (input) => {
|
|
|
60
78
|
path: _path2 + ".gene",
|
|
61
79
|
expected: "(string | undefined)",
|
|
62
80
|
value: input3.gene
|
|
81
|
+
}), void 0 === input3.colorBy || ("object" === typeof input3.colorBy && null !== input3.colorBy && false === Array.isArray(input3.colorBy) || $report(_exceptionable2, {
|
|
82
|
+
path: _path2 + ".colorBy",
|
|
83
|
+
expected: "(__type.o1 | undefined)",
|
|
84
|
+
value: input3.colorBy
|
|
85
|
+
})) && $vo2(input3.colorBy, _path2 + ".colorBy", _exceptionable2) || $report(_exceptionable2, {
|
|
86
|
+
path: _path2 + ".colorBy",
|
|
87
|
+
expected: "(__type.o1 | undefined)",
|
|
88
|
+
value: input3.colorBy
|
|
89
|
+
}), void 0 === input3.colorMap || ("object" === typeof input3.colorMap && null !== input3.colorMap && false === Array.isArray(input3.colorMap) || $report(_exceptionable2, {
|
|
90
|
+
path: _path2 + ".colorMap",
|
|
91
|
+
expected: "(__type.o2 | undefined)",
|
|
92
|
+
value: input3.colorMap
|
|
93
|
+
})) && $vo3(input3.colorMap, _path2 + ".colorMap", _exceptionable2) || $report(_exceptionable2, {
|
|
94
|
+
path: _path2 + ".colorMap",
|
|
95
|
+
expected: "(__type.o2 | undefined)",
|
|
96
|
+
value: input3.colorMap
|
|
63
97
|
})].every((flag) => flag);
|
|
64
98
|
const $vo1 = (input3, _path2, _exceptionable2 = true) => [void 0 === input3.eID || "string" === typeof input3.eID || $report(_exceptionable2, {
|
|
65
99
|
path: _path2 + ".eID",
|
|
@@ -70,6 +104,30 @@ var validTermdbSingleCellDataRequest = (input) => {
|
|
|
70
104
|
expected: "string",
|
|
71
105
|
value: input3.sID
|
|
72
106
|
})].every((flag) => flag);
|
|
107
|
+
const $vo2 = (input3, _path2, _exceptionable2 = true) => [false === _exceptionable2 || Object.keys(input3).map((key) => {
|
|
108
|
+
const value = input3[key];
|
|
109
|
+
if (void 0 === value)
|
|
110
|
+
return true;
|
|
111
|
+
if (RegExp(/(.*)/).test(key))
|
|
112
|
+
return "string" === typeof value || $report(_exceptionable2, {
|
|
113
|
+
path: _path2 + $join(key),
|
|
114
|
+
expected: "string",
|
|
115
|
+
value
|
|
116
|
+
});
|
|
117
|
+
return true;
|
|
118
|
+
}).every((flag) => flag)].every((flag) => flag);
|
|
119
|
+
const $vo3 = (input3, _path2, _exceptionable2 = true) => [false === _exceptionable2 || Object.keys(input3).map((key) => {
|
|
120
|
+
const value = input3[key];
|
|
121
|
+
if (void 0 === value)
|
|
122
|
+
return true;
|
|
123
|
+
if (RegExp(/(.*)/).test(key))
|
|
124
|
+
return "string" === typeof value || $report(_exceptionable2, {
|
|
125
|
+
path: _path2 + $join(key),
|
|
126
|
+
expected: "string",
|
|
127
|
+
value
|
|
128
|
+
});
|
|
129
|
+
return true;
|
|
130
|
+
}).every((flag) => flag)].every((flag) => flag);
|
|
73
131
|
return ("object" === typeof input2 && null !== input2 || $report(true, {
|
|
74
132
|
path: _path + "",
|
|
75
133
|
expected: "TermdbSingleCellDataRequest",
|
|
@@ -91,20 +149,11 @@ var validTermdbSingleCellDataRequest = (input) => {
|
|
|
91
149
|
var validTermdbSingleCellDataResponse = (input) => {
|
|
92
150
|
const errors = [];
|
|
93
151
|
const __is = (input2) => {
|
|
94
|
-
const $join = import_typia.createValidate.join;
|
|
95
152
|
const $io0 = (input3) => "number" === typeof input3.status && "string" === typeof input3.error;
|
|
96
153
|
const $io1 = (input3) => "boolean" === typeof input3.nodata;
|
|
97
154
|
const $io2 = (input3) => Array.isArray(input3.plots) && input3.plots.every((elem) => "object" === typeof elem && null !== elem && $io3(elem));
|
|
98
|
-
const $io3 = (input3) => "string" === typeof input3.name && (
|
|
155
|
+
const $io3 = (input3) => "string" === typeof input3.name && (Array.isArray(input3.expCells) && input3.expCells.every((elem) => "object" === typeof elem && null !== elem && $io4(elem))) && (Array.isArray(input3.noExpCells) && input3.noExpCells.every((elem) => "object" === typeof elem && null !== elem && $io4(elem))) && (Array.isArray(input3.colorColumns) && input3.colorColumns.every((elem) => "string" === typeof elem)) && "string" === typeof input3.colorBy && true;
|
|
99
156
|
const $io4 = (input3) => "string" === typeof input3.cellId && "number" === typeof input3.x && "number" === typeof input3.y && (void 0 === input3.z || "number" === typeof input3.z) && "string" === typeof input3.category && (void 0 === input3.geneExp || "number" === typeof input3.geneExp);
|
|
100
|
-
const $io5 = (input3) => Object.keys(input3).every((key) => {
|
|
101
|
-
const value = input3[key];
|
|
102
|
-
if (void 0 === value)
|
|
103
|
-
return true;
|
|
104
|
-
if (RegExp(/(.*)/).test(key))
|
|
105
|
-
return "string" === typeof value;
|
|
106
|
-
return true;
|
|
107
|
-
});
|
|
108
157
|
const $iu0 = (input3) => (() => {
|
|
109
158
|
if (void 0 !== input3.status)
|
|
110
159
|
return $io0(input3);
|
|
@@ -119,7 +168,6 @@ var validTermdbSingleCellDataResponse = (input) => {
|
|
|
119
168
|
if (false === __is(input)) {
|
|
120
169
|
const $report = import_typia.createValidate.report(errors);
|
|
121
170
|
((input2, _path, _exceptionable = true) => {
|
|
122
|
-
const $join = import_typia.createValidate.join;
|
|
123
171
|
const $vo0 = (input3, _path2, _exceptionable2 = true) => ["number" === typeof input3.status || $report(_exceptionable2, {
|
|
124
172
|
path: _path2 + ".status",
|
|
125
173
|
expected: "number",
|
|
@@ -155,9 +203,9 @@ var validTermdbSingleCellDataResponse = (input) => {
|
|
|
155
203
|
path: _path2 + ".name",
|
|
156
204
|
expected: "string",
|
|
157
205
|
value: input3.name
|
|
158
|
-
}),
|
|
206
|
+
}), (Array.isArray(input3.expCells) || $report(_exceptionable2, {
|
|
159
207
|
path: _path2 + ".expCells",
|
|
160
|
-
expected: "
|
|
208
|
+
expected: "Array<Cell>",
|
|
161
209
|
value: input3.expCells
|
|
162
210
|
})) && input3.expCells.map((elem, _index2) => ("object" === typeof elem && null !== elem || $report(_exceptionable2, {
|
|
163
211
|
path: _path2 + ".expCells[" + _index2 + "]",
|
|
@@ -169,11 +217,11 @@ var validTermdbSingleCellDataResponse = (input) => {
|
|
|
169
217
|
value: elem
|
|
170
218
|
})).every((flag) => flag) || $report(_exceptionable2, {
|
|
171
219
|
path: _path2 + ".expCells",
|
|
172
|
-
expected: "
|
|
220
|
+
expected: "Array<Cell>",
|
|
173
221
|
value: input3.expCells
|
|
174
|
-
}),
|
|
222
|
+
}), (Array.isArray(input3.noExpCells) || $report(_exceptionable2, {
|
|
175
223
|
path: _path2 + ".noExpCells",
|
|
176
|
-
expected: "
|
|
224
|
+
expected: "Array<Cell>",
|
|
177
225
|
value: input3.noExpCells
|
|
178
226
|
})) && input3.noExpCells.map((elem, _index3) => ("object" === typeof elem && null !== elem || $report(_exceptionable2, {
|
|
179
227
|
path: _path2 + ".noExpCells[" + _index3 + "]",
|
|
@@ -185,12 +233,8 @@ var validTermdbSingleCellDataResponse = (input) => {
|
|
|
185
233
|
value: elem
|
|
186
234
|
})).every((flag) => flag) || $report(_exceptionable2, {
|
|
187
235
|
path: _path2 + ".noExpCells",
|
|
188
|
-
expected: "
|
|
236
|
+
expected: "Array<Cell>",
|
|
189
237
|
value: input3.noExpCells
|
|
190
|
-
}), "string" === typeof input3.colorBy || $report(_exceptionable2, {
|
|
191
|
-
path: _path2 + ".colorBy",
|
|
192
|
-
expected: "string",
|
|
193
|
-
value: input3.colorBy
|
|
194
238
|
}), (Array.isArray(input3.colorColumns) || $report(_exceptionable2, {
|
|
195
239
|
path: _path2 + ".colorColumns",
|
|
196
240
|
expected: "Array<string>",
|
|
@@ -203,15 +247,11 @@ var validTermdbSingleCellDataResponse = (input) => {
|
|
|
203
247
|
path: _path2 + ".colorColumns",
|
|
204
248
|
expected: "Array<string>",
|
|
205
249
|
value: input3.colorColumns
|
|
206
|
-
}),
|
|
207
|
-
path: _path2 + ".
|
|
208
|
-
expected: "
|
|
209
|
-
value: input3.
|
|
210
|
-
})
|
|
211
|
-
path: _path2 + ".colorMap",
|
|
212
|
-
expected: "(__type | undefined)",
|
|
213
|
-
value: input3.colorMap
|
|
214
|
-
})].every((flag) => flag);
|
|
250
|
+
}), "string" === typeof input3.colorBy || $report(_exceptionable2, {
|
|
251
|
+
path: _path2 + ".colorBy",
|
|
252
|
+
expected: "string",
|
|
253
|
+
value: input3.colorBy
|
|
254
|
+
}), true].every((flag) => flag);
|
|
215
255
|
const $vo4 = (input3, _path2, _exceptionable2 = true) => ["string" === typeof input3.cellId || $report(_exceptionable2, {
|
|
216
256
|
path: _path2 + ".cellId",
|
|
217
257
|
expected: "string",
|
|
@@ -237,18 +277,6 @@ var validTermdbSingleCellDataResponse = (input) => {
|
|
|
237
277
|
expected: "(number | undefined)",
|
|
238
278
|
value: input3.geneExp
|
|
239
279
|
})].every((flag) => flag);
|
|
240
|
-
const $vo5 = (input3, _path2, _exceptionable2 = true) => [false === _exceptionable2 || Object.keys(input3).map((key) => {
|
|
241
|
-
const value = input3[key];
|
|
242
|
-
if (void 0 === value)
|
|
243
|
-
return true;
|
|
244
|
-
if (RegExp(/(.*)/).test(key))
|
|
245
|
-
return "string" === typeof value || $report(_exceptionable2, {
|
|
246
|
-
path: _path2 + $join(key),
|
|
247
|
-
expected: "string",
|
|
248
|
-
value
|
|
249
|
-
});
|
|
250
|
-
return true;
|
|
251
|
-
}).every((flag) => flag)].every((flag) => flag);
|
|
252
280
|
const $vu0 = (input3, _path2, _exceptionable2 = true) => (() => {
|
|
253
281
|
if (void 0 !== input3.status)
|
|
254
282
|
return $vo0(input3, _path2, _exceptionable2);
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__toESM,
|
|
3
|
+
require_lib
|
|
4
|
+
} from "./chunk-CNSSF43V.js";
|
|
5
|
+
|
|
6
|
+
// dist/grin2.ts
|
|
7
|
+
var import_typia = __toESM(require_lib(), 1);
|
|
8
|
+
|
|
9
|
+
// src/routes/grin2.ts
|
|
10
|
+
var GRIN2Payload = {
|
|
11
|
+
request: {
|
|
12
|
+
typeId: "GRIN2Request"
|
|
13
|
+
},
|
|
14
|
+
response: {
|
|
15
|
+
typeId: "GRIN2Response"
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// dist/grin2.ts
|
|
20
|
+
var validGRIN2Request = (input) => {
|
|
21
|
+
const errors = [];
|
|
22
|
+
const __is = (input2) => {
|
|
23
|
+
const $io0 = (input3) => "string" === typeof input3.genome && "string" === typeof input3.dslabel && true && (void 0 === input3.snvindelOptions || "object" === typeof input3.snvindelOptions && null !== input3.snvindelOptions && false === Array.isArray(input3.snvindelOptions) && $io1(input3.snvindelOptions)) && (void 0 === input3.cnvOptions || "object" === typeof input3.cnvOptions && null !== input3.cnvOptions && false === Array.isArray(input3.cnvOptions) && $io2(input3.cnvOptions)) && (void 0 === input3.fusionOptions || "object" === typeof input3.fusionOptions && null !== input3.fusionOptions && false === Array.isArray(input3.fusionOptions) && $io3(input3.fusionOptions));
|
|
24
|
+
const $io1 = (input3) => (void 0 === input3.minTotalDepth || "number" === typeof input3.minTotalDepth) && (void 0 === input3.minAltAlleleCount || "number" === typeof input3.minAltAlleleCount) && (void 0 === input3.consequences || Array.isArray(input3.consequences) && input3.consequences.every((elem) => "string" === typeof elem)) && (void 0 === input3.hyperMutator || "number" === typeof input3.hyperMutator);
|
|
25
|
+
const $io2 = (input3) => (void 0 === input3.lossThreshold || "number" === typeof input3.lossThreshold) && (void 0 === input3.gainThreshold || "number" === typeof input3.gainThreshold) && (void 0 === input3.maxSegLength || "number" === typeof input3.maxSegLength) && (void 0 === input3.minSegLength || "number" === typeof input3.minSegLength) && (void 0 === input3.hyperMutator || "number" === typeof input3.hyperMutator);
|
|
26
|
+
const $io3 = (input3) => (void 0 === input3.fusionTypes || Array.isArray(input3.fusionTypes) && input3.fusionTypes.every((elem) => "gene-gene" === elem || "gene-intergenic" === elem || "readthrough" === elem)) && (void 0 === input3.minConfidence || "number" === typeof input3.minConfidence);
|
|
27
|
+
return "object" === typeof input2 && null !== input2 && $io0(input2);
|
|
28
|
+
};
|
|
29
|
+
if (false === __is(input)) {
|
|
30
|
+
const $report = import_typia.createValidate.report(errors);
|
|
31
|
+
((input2, _path, _exceptionable = true) => {
|
|
32
|
+
const $vo0 = (input3, _path2, _exceptionable2 = true) => ["string" === typeof input3.genome || $report(_exceptionable2, {
|
|
33
|
+
path: _path2 + ".genome",
|
|
34
|
+
expected: "string",
|
|
35
|
+
value: input3.genome
|
|
36
|
+
}), "string" === typeof input3.dslabel || $report(_exceptionable2, {
|
|
37
|
+
path: _path2 + ".dslabel",
|
|
38
|
+
expected: "string",
|
|
39
|
+
value: input3.dslabel
|
|
40
|
+
}), true, void 0 === input3.snvindelOptions || ("object" === typeof input3.snvindelOptions && null !== input3.snvindelOptions && false === Array.isArray(input3.snvindelOptions) || $report(_exceptionable2, {
|
|
41
|
+
path: _path2 + ".snvindelOptions",
|
|
42
|
+
expected: "(__type | undefined)",
|
|
43
|
+
value: input3.snvindelOptions
|
|
44
|
+
})) && $vo1(input3.snvindelOptions, _path2 + ".snvindelOptions", _exceptionable2) || $report(_exceptionable2, {
|
|
45
|
+
path: _path2 + ".snvindelOptions",
|
|
46
|
+
expected: "(__type | undefined)",
|
|
47
|
+
value: input3.snvindelOptions
|
|
48
|
+
}), void 0 === input3.cnvOptions || ("object" === typeof input3.cnvOptions && null !== input3.cnvOptions && false === Array.isArray(input3.cnvOptions) || $report(_exceptionable2, {
|
|
49
|
+
path: _path2 + ".cnvOptions",
|
|
50
|
+
expected: "(__type.o1 | undefined)",
|
|
51
|
+
value: input3.cnvOptions
|
|
52
|
+
})) && $vo2(input3.cnvOptions, _path2 + ".cnvOptions", _exceptionable2) || $report(_exceptionable2, {
|
|
53
|
+
path: _path2 + ".cnvOptions",
|
|
54
|
+
expected: "(__type.o1 | undefined)",
|
|
55
|
+
value: input3.cnvOptions
|
|
56
|
+
}), void 0 === input3.fusionOptions || ("object" === typeof input3.fusionOptions && null !== input3.fusionOptions && false === Array.isArray(input3.fusionOptions) || $report(_exceptionable2, {
|
|
57
|
+
path: _path2 + ".fusionOptions",
|
|
58
|
+
expected: "(__type.o2 | undefined)",
|
|
59
|
+
value: input3.fusionOptions
|
|
60
|
+
})) && $vo3(input3.fusionOptions, _path2 + ".fusionOptions", _exceptionable2) || $report(_exceptionable2, {
|
|
61
|
+
path: _path2 + ".fusionOptions",
|
|
62
|
+
expected: "(__type.o2 | undefined)",
|
|
63
|
+
value: input3.fusionOptions
|
|
64
|
+
})].every((flag) => flag);
|
|
65
|
+
const $vo1 = (input3, _path2, _exceptionable2 = true) => [void 0 === input3.minTotalDepth || "number" === typeof input3.minTotalDepth || $report(_exceptionable2, {
|
|
66
|
+
path: _path2 + ".minTotalDepth",
|
|
67
|
+
expected: "(number | undefined)",
|
|
68
|
+
value: input3.minTotalDepth
|
|
69
|
+
}), void 0 === input3.minAltAlleleCount || "number" === typeof input3.minAltAlleleCount || $report(_exceptionable2, {
|
|
70
|
+
path: _path2 + ".minAltAlleleCount",
|
|
71
|
+
expected: "(number | undefined)",
|
|
72
|
+
value: input3.minAltAlleleCount
|
|
73
|
+
}), void 0 === input3.consequences || (Array.isArray(input3.consequences) || $report(_exceptionable2, {
|
|
74
|
+
path: _path2 + ".consequences",
|
|
75
|
+
expected: "(Array<string> | undefined)",
|
|
76
|
+
value: input3.consequences
|
|
77
|
+
})) && input3.consequences.map((elem, _index1) => "string" === typeof elem || $report(_exceptionable2, {
|
|
78
|
+
path: _path2 + ".consequences[" + _index1 + "]",
|
|
79
|
+
expected: "string",
|
|
80
|
+
value: elem
|
|
81
|
+
})).every((flag) => flag) || $report(_exceptionable2, {
|
|
82
|
+
path: _path2 + ".consequences",
|
|
83
|
+
expected: "(Array<string> | undefined)",
|
|
84
|
+
value: input3.consequences
|
|
85
|
+
}), void 0 === input3.hyperMutator || "number" === typeof input3.hyperMutator || $report(_exceptionable2, {
|
|
86
|
+
path: _path2 + ".hyperMutator",
|
|
87
|
+
expected: "(number | undefined)",
|
|
88
|
+
value: input3.hyperMutator
|
|
89
|
+
})].every((flag) => flag);
|
|
90
|
+
const $vo2 = (input3, _path2, _exceptionable2 = true) => [void 0 === input3.lossThreshold || "number" === typeof input3.lossThreshold || $report(_exceptionable2, {
|
|
91
|
+
path: _path2 + ".lossThreshold",
|
|
92
|
+
expected: "(number | undefined)",
|
|
93
|
+
value: input3.lossThreshold
|
|
94
|
+
}), void 0 === input3.gainThreshold || "number" === typeof input3.gainThreshold || $report(_exceptionable2, {
|
|
95
|
+
path: _path2 + ".gainThreshold",
|
|
96
|
+
expected: "(number | undefined)",
|
|
97
|
+
value: input3.gainThreshold
|
|
98
|
+
}), void 0 === input3.maxSegLength || "number" === typeof input3.maxSegLength || $report(_exceptionable2, {
|
|
99
|
+
path: _path2 + ".maxSegLength",
|
|
100
|
+
expected: "(number | undefined)",
|
|
101
|
+
value: input3.maxSegLength
|
|
102
|
+
}), void 0 === input3.minSegLength || "number" === typeof input3.minSegLength || $report(_exceptionable2, {
|
|
103
|
+
path: _path2 + ".minSegLength",
|
|
104
|
+
expected: "(number | undefined)",
|
|
105
|
+
value: input3.minSegLength
|
|
106
|
+
}), void 0 === input3.hyperMutator || "number" === typeof input3.hyperMutator || $report(_exceptionable2, {
|
|
107
|
+
path: _path2 + ".hyperMutator",
|
|
108
|
+
expected: "(number | undefined)",
|
|
109
|
+
value: input3.hyperMutator
|
|
110
|
+
})].every((flag) => flag);
|
|
111
|
+
const $vo3 = (input3, _path2, _exceptionable2 = true) => [void 0 === input3.fusionTypes || (Array.isArray(input3.fusionTypes) || $report(_exceptionable2, {
|
|
112
|
+
path: _path2 + ".fusionTypes",
|
|
113
|
+
expected: '(Array<"gene-gene" | "gene-intergenic" | "readthrough"> | undefined)',
|
|
114
|
+
value: input3.fusionTypes
|
|
115
|
+
})) && input3.fusionTypes.map((elem, _index2) => "gene-gene" === elem || "gene-intergenic" === elem || "readthrough" === elem || $report(_exceptionable2, {
|
|
116
|
+
path: _path2 + ".fusionTypes[" + _index2 + "]",
|
|
117
|
+
expected: '("gene-gene" | "gene-intergenic" | "readthrough")',
|
|
118
|
+
value: elem
|
|
119
|
+
})).every((flag) => flag) || $report(_exceptionable2, {
|
|
120
|
+
path: _path2 + ".fusionTypes",
|
|
121
|
+
expected: '(Array<"gene-gene" | "gene-intergenic" | "readthrough"> | undefined)',
|
|
122
|
+
value: input3.fusionTypes
|
|
123
|
+
}), void 0 === input3.minConfidence || "number" === typeof input3.minConfidence || $report(_exceptionable2, {
|
|
124
|
+
path: _path2 + ".minConfidence",
|
|
125
|
+
expected: "(number | undefined)",
|
|
126
|
+
value: input3.minConfidence
|
|
127
|
+
})].every((flag) => flag);
|
|
128
|
+
return ("object" === typeof input2 && null !== input2 || $report(true, {
|
|
129
|
+
path: _path + "",
|
|
130
|
+
expected: "GRIN2Request",
|
|
131
|
+
value: input2
|
|
132
|
+
})) && $vo0(input2, _path + "", true) || $report(true, {
|
|
133
|
+
path: _path + "",
|
|
134
|
+
expected: "GRIN2Request",
|
|
135
|
+
value: input2
|
|
136
|
+
});
|
|
137
|
+
})(input, "$input", true);
|
|
138
|
+
}
|
|
139
|
+
const success = 0 === errors.length;
|
|
140
|
+
return {
|
|
141
|
+
success,
|
|
142
|
+
errors,
|
|
143
|
+
data: success ? input : void 0
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
var validGRIN2Response = (input) => {
|
|
147
|
+
const errors = [];
|
|
148
|
+
const __is = (input2) => {
|
|
149
|
+
const $io0 = (input3) => ("success" === input3.status || "error" === input3.status) && (void 0 === input3.error || "string" === typeof input3.error) && (void 0 === input3.pngImg || "string" === typeof input3.pngImg) && true && (void 0 === input3.topGeneTable || "object" === typeof input3.topGeneTable && null !== input3.topGeneTable && $io1(input3.topGeneTable)) && (void 0 === input3.totalGenes || "number" === typeof input3.totalGenes) && (void 0 === input3.showingTop || "number" === typeof input3.showingTop) && (void 0 === input3.timing || "object" === typeof input3.timing && null !== input3.timing && $io4(input3.timing)) && (void 0 === input3.processingSummary || "object" === typeof input3.processingSummary && null !== input3.processingSummary && $io5(input3.processingSummary));
|
|
150
|
+
const $io1 = (input3) => Array.isArray(input3.columns) && input3.columns.every((elem) => "object" === typeof elem && null !== elem && $io2(elem)) && (Array.isArray(input3.rows) && input3.rows.every((elem) => Array.isArray(elem) && elem.every((elem2) => "object" === typeof elem2 && null !== elem2 && $io3(elem2))));
|
|
151
|
+
const $io2 = (input3) => "string" === typeof input3.label && "boolean" === typeof input3.sortable;
|
|
152
|
+
const $io3 = (input3) => "string" === typeof input3.value || "number" === typeof input3.value;
|
|
153
|
+
const $io4 = (input3) => "number" === typeof input3.processingTime && "number" === typeof input3.grin2Time && "number" === typeof input3.totalTime;
|
|
154
|
+
const $io5 = (input3) => "number" === typeof input3.totalSamples && "number" === typeof input3.successfulSamples && "number" === typeof input3.failedSamples && (Array.isArray(input3.failedFiles) && input3.failedFiles.every((elem) => "object" === typeof elem && null !== elem && $io6(elem)));
|
|
155
|
+
const $io6 = (input3) => "string" === typeof input3.sampleName && "string" === typeof input3.filePath && "string" === typeof input3.error;
|
|
156
|
+
return "object" === typeof input2 && null !== input2 && $io0(input2);
|
|
157
|
+
};
|
|
158
|
+
if (false === __is(input)) {
|
|
159
|
+
const $report = import_typia.createValidate.report(errors);
|
|
160
|
+
((input2, _path, _exceptionable = true) => {
|
|
161
|
+
const $vo0 = (input3, _path2, _exceptionable2 = true) => ["success" === input3.status || "error" === input3.status || $report(_exceptionable2, {
|
|
162
|
+
path: _path2 + ".status",
|
|
163
|
+
expected: '("error" | "success")',
|
|
164
|
+
value: input3.status
|
|
165
|
+
}), void 0 === input3.error || "string" === typeof input3.error || $report(_exceptionable2, {
|
|
166
|
+
path: _path2 + ".error",
|
|
167
|
+
expected: "(string | undefined)",
|
|
168
|
+
value: input3.error
|
|
169
|
+
}), void 0 === input3.pngImg || "string" === typeof input3.pngImg || $report(_exceptionable2, {
|
|
170
|
+
path: _path2 + ".pngImg",
|
|
171
|
+
expected: "(string | undefined)",
|
|
172
|
+
value: input3.pngImg
|
|
173
|
+
}), true, void 0 === input3.topGeneTable || ("object" === typeof input3.topGeneTable && null !== input3.topGeneTable || $report(_exceptionable2, {
|
|
174
|
+
path: _path2 + ".topGeneTable",
|
|
175
|
+
expected: "(__type | undefined)",
|
|
176
|
+
value: input3.topGeneTable
|
|
177
|
+
})) && $vo1(input3.topGeneTable, _path2 + ".topGeneTable", _exceptionable2) || $report(_exceptionable2, {
|
|
178
|
+
path: _path2 + ".topGeneTable",
|
|
179
|
+
expected: "(__type | undefined)",
|
|
180
|
+
value: input3.topGeneTable
|
|
181
|
+
}), void 0 === input3.totalGenes || "number" === typeof input3.totalGenes || $report(_exceptionable2, {
|
|
182
|
+
path: _path2 + ".totalGenes",
|
|
183
|
+
expected: "(number | undefined)",
|
|
184
|
+
value: input3.totalGenes
|
|
185
|
+
}), void 0 === input3.showingTop || "number" === typeof input3.showingTop || $report(_exceptionable2, {
|
|
186
|
+
path: _path2 + ".showingTop",
|
|
187
|
+
expected: "(number | undefined)",
|
|
188
|
+
value: input3.showingTop
|
|
189
|
+
}), void 0 === input3.timing || ("object" === typeof input3.timing && null !== input3.timing || $report(_exceptionable2, {
|
|
190
|
+
path: _path2 + ".timing",
|
|
191
|
+
expected: "(__type.o3 | undefined)",
|
|
192
|
+
value: input3.timing
|
|
193
|
+
})) && $vo4(input3.timing, _path2 + ".timing", _exceptionable2) || $report(_exceptionable2, {
|
|
194
|
+
path: _path2 + ".timing",
|
|
195
|
+
expected: "(__type.o3 | undefined)",
|
|
196
|
+
value: input3.timing
|
|
197
|
+
}), void 0 === input3.processingSummary || ("object" === typeof input3.processingSummary && null !== input3.processingSummary || $report(_exceptionable2, {
|
|
198
|
+
path: _path2 + ".processingSummary",
|
|
199
|
+
expected: "(__type.o4 | undefined)",
|
|
200
|
+
value: input3.processingSummary
|
|
201
|
+
})) && $vo5(input3.processingSummary, _path2 + ".processingSummary", _exceptionable2) || $report(_exceptionable2, {
|
|
202
|
+
path: _path2 + ".processingSummary",
|
|
203
|
+
expected: "(__type.o4 | undefined)",
|
|
204
|
+
value: input3.processingSummary
|
|
205
|
+
})].every((flag) => flag);
|
|
206
|
+
const $vo1 = (input3, _path2, _exceptionable2 = true) => [(Array.isArray(input3.columns) || $report(_exceptionable2, {
|
|
207
|
+
path: _path2 + ".columns",
|
|
208
|
+
expected: "Array<__type>",
|
|
209
|
+
value: input3.columns
|
|
210
|
+
})) && input3.columns.map((elem, _index1) => ("object" === typeof elem && null !== elem || $report(_exceptionable2, {
|
|
211
|
+
path: _path2 + ".columns[" + _index1 + "]",
|
|
212
|
+
expected: "__type.o1",
|
|
213
|
+
value: elem
|
|
214
|
+
})) && $vo2(elem, _path2 + ".columns[" + _index1 + "]", _exceptionable2) || $report(_exceptionable2, {
|
|
215
|
+
path: _path2 + ".columns[" + _index1 + "]",
|
|
216
|
+
expected: "__type.o1",
|
|
217
|
+
value: elem
|
|
218
|
+
})).every((flag) => flag) || $report(_exceptionable2, {
|
|
219
|
+
path: _path2 + ".columns",
|
|
220
|
+
expected: "Array<__type>",
|
|
221
|
+
value: input3.columns
|
|
222
|
+
}), (Array.isArray(input3.rows) || $report(_exceptionable2, {
|
|
223
|
+
path: _path2 + ".rows",
|
|
224
|
+
expected: "Array<Array<__type>>",
|
|
225
|
+
value: input3.rows
|
|
226
|
+
})) && input3.rows.map((elem, _index2) => (Array.isArray(elem) || $report(_exceptionable2, {
|
|
227
|
+
path: _path2 + ".rows[" + _index2 + "]",
|
|
228
|
+
expected: "Array<__type>.o1",
|
|
229
|
+
value: elem
|
|
230
|
+
})) && elem.map((elem2, _index3) => ("object" === typeof elem2 && null !== elem2 || $report(_exceptionable2, {
|
|
231
|
+
path: _path2 + ".rows[" + _index2 + "][" + _index3 + "]",
|
|
232
|
+
expected: "__type.o2",
|
|
233
|
+
value: elem2
|
|
234
|
+
})) && $vo3(elem2, _path2 + ".rows[" + _index2 + "][" + _index3 + "]", _exceptionable2) || $report(_exceptionable2, {
|
|
235
|
+
path: _path2 + ".rows[" + _index2 + "][" + _index3 + "]",
|
|
236
|
+
expected: "__type.o2",
|
|
237
|
+
value: elem2
|
|
238
|
+
})).every((flag) => flag) || $report(_exceptionable2, {
|
|
239
|
+
path: _path2 + ".rows[" + _index2 + "]",
|
|
240
|
+
expected: "Array<__type>.o1",
|
|
241
|
+
value: elem
|
|
242
|
+
})).every((flag) => flag) || $report(_exceptionable2, {
|
|
243
|
+
path: _path2 + ".rows",
|
|
244
|
+
expected: "Array<Array<__type>>",
|
|
245
|
+
value: input3.rows
|
|
246
|
+
})].every((flag) => flag);
|
|
247
|
+
const $vo2 = (input3, _path2, _exceptionable2 = true) => ["string" === typeof input3.label || $report(_exceptionable2, {
|
|
248
|
+
path: _path2 + ".label",
|
|
249
|
+
expected: "string",
|
|
250
|
+
value: input3.label
|
|
251
|
+
}), "boolean" === typeof input3.sortable || $report(_exceptionable2, {
|
|
252
|
+
path: _path2 + ".sortable",
|
|
253
|
+
expected: "boolean",
|
|
254
|
+
value: input3.sortable
|
|
255
|
+
})].every((flag) => flag);
|
|
256
|
+
const $vo3 = (input3, _path2, _exceptionable2 = true) => ["string" === typeof input3.value || "number" === typeof input3.value || $report(_exceptionable2, {
|
|
257
|
+
path: _path2 + ".value",
|
|
258
|
+
expected: "(number | string)",
|
|
259
|
+
value: input3.value
|
|
260
|
+
})].every((flag) => flag);
|
|
261
|
+
const $vo4 = (input3, _path2, _exceptionable2 = true) => ["number" === typeof input3.processingTime || $report(_exceptionable2, {
|
|
262
|
+
path: _path2 + ".processingTime",
|
|
263
|
+
expected: "number",
|
|
264
|
+
value: input3.processingTime
|
|
265
|
+
}), "number" === typeof input3.grin2Time || $report(_exceptionable2, {
|
|
266
|
+
path: _path2 + ".grin2Time",
|
|
267
|
+
expected: "number",
|
|
268
|
+
value: input3.grin2Time
|
|
269
|
+
}), "number" === typeof input3.totalTime || $report(_exceptionable2, {
|
|
270
|
+
path: _path2 + ".totalTime",
|
|
271
|
+
expected: "number",
|
|
272
|
+
value: input3.totalTime
|
|
273
|
+
})].every((flag) => flag);
|
|
274
|
+
const $vo5 = (input3, _path2, _exceptionable2 = true) => ["number" === typeof input3.totalSamples || $report(_exceptionable2, {
|
|
275
|
+
path: _path2 + ".totalSamples",
|
|
276
|
+
expected: "number",
|
|
277
|
+
value: input3.totalSamples
|
|
278
|
+
}), "number" === typeof input3.successfulSamples || $report(_exceptionable2, {
|
|
279
|
+
path: _path2 + ".successfulSamples",
|
|
280
|
+
expected: "number",
|
|
281
|
+
value: input3.successfulSamples
|
|
282
|
+
}), "number" === typeof input3.failedSamples || $report(_exceptionable2, {
|
|
283
|
+
path: _path2 + ".failedSamples",
|
|
284
|
+
expected: "number",
|
|
285
|
+
value: input3.failedSamples
|
|
286
|
+
}), (Array.isArray(input3.failedFiles) || $report(_exceptionable2, {
|
|
287
|
+
path: _path2 + ".failedFiles",
|
|
288
|
+
expected: "Array<__type>.o2",
|
|
289
|
+
value: input3.failedFiles
|
|
290
|
+
})) && input3.failedFiles.map((elem, _index4) => ("object" === typeof elem && null !== elem || $report(_exceptionable2, {
|
|
291
|
+
path: _path2 + ".failedFiles[" + _index4 + "]",
|
|
292
|
+
expected: "__type.o5",
|
|
293
|
+
value: elem
|
|
294
|
+
})) && $vo6(elem, _path2 + ".failedFiles[" + _index4 + "]", _exceptionable2) || $report(_exceptionable2, {
|
|
295
|
+
path: _path2 + ".failedFiles[" + _index4 + "]",
|
|
296
|
+
expected: "__type.o5",
|
|
297
|
+
value: elem
|
|
298
|
+
})).every((flag) => flag) || $report(_exceptionable2, {
|
|
299
|
+
path: _path2 + ".failedFiles",
|
|
300
|
+
expected: "Array<__type>.o2",
|
|
301
|
+
value: input3.failedFiles
|
|
302
|
+
})].every((flag) => flag);
|
|
303
|
+
const $vo6 = (input3, _path2, _exceptionable2 = true) => ["string" === typeof input3.sampleName || $report(_exceptionable2, {
|
|
304
|
+
path: _path2 + ".sampleName",
|
|
305
|
+
expected: "string",
|
|
306
|
+
value: input3.sampleName
|
|
307
|
+
}), "string" === typeof input3.filePath || $report(_exceptionable2, {
|
|
308
|
+
path: _path2 + ".filePath",
|
|
309
|
+
expected: "string",
|
|
310
|
+
value: input3.filePath
|
|
311
|
+
}), "string" === typeof input3.error || $report(_exceptionable2, {
|
|
312
|
+
path: _path2 + ".error",
|
|
313
|
+
expected: "string",
|
|
314
|
+
value: input3.error
|
|
315
|
+
})].every((flag) => flag);
|
|
316
|
+
return ("object" === typeof input2 && null !== input2 || $report(true, {
|
|
317
|
+
path: _path + "",
|
|
318
|
+
expected: "GRIN2Response",
|
|
319
|
+
value: input2
|
|
320
|
+
})) && $vo0(input2, _path + "", true) || $report(true, {
|
|
321
|
+
path: _path + "",
|
|
322
|
+
expected: "GRIN2Response",
|
|
323
|
+
value: input2
|
|
324
|
+
});
|
|
325
|
+
})(input, "$input", true);
|
|
326
|
+
}
|
|
327
|
+
const success = 0 === errors.length;
|
|
328
|
+
return {
|
|
329
|
+
success,
|
|
330
|
+
errors,
|
|
331
|
+
data: success ? input : void 0
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
export {
|
|
336
|
+
GRIN2Payload,
|
|
337
|
+
validGRIN2Request,
|
|
338
|
+
validGRIN2Response
|
|
339
|
+
};
|
package/dist/grin2.js
ADDED
package/dist/index.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import {
|
|
2
|
+
topMutatedGenePayload,
|
|
3
|
+
validtopMutatedGeneRequest,
|
|
4
|
+
validtopMutatedGeneResponse
|
|
5
|
+
} from "./chunk-YGX6BZZY.js";
|
|
1
6
|
import {
|
|
2
7
|
termdbTopTermsByTypePayload,
|
|
3
8
|
validTermdbTopTermsByTypeRequest,
|
|
@@ -28,6 +33,11 @@ import {
|
|
|
28
33
|
validWSISamplesResponse,
|
|
29
34
|
wsiSamplesPayload
|
|
30
35
|
} from "./chunk-W6NLM363.js";
|
|
36
|
+
import {
|
|
37
|
+
rootTermPayload,
|
|
38
|
+
validRootTermRequest,
|
|
39
|
+
validRootTermResponse
|
|
40
|
+
} from "./chunk-AASWRJMS.js";
|
|
31
41
|
import {
|
|
32
42
|
termdbSampleImagesPayload,
|
|
33
43
|
validTermdbSampleImagesRequest,
|
|
@@ -47,7 +57,7 @@ import {
|
|
|
47
57
|
termdbSingleCellDataPayload,
|
|
48
58
|
validTermdbSingleCellDataRequest,
|
|
49
59
|
validTermdbSingleCellDataResponse
|
|
50
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-K5POIB3P.js";
|
|
51
61
|
import {
|
|
52
62
|
termdbSingleCellSamplesPayload,
|
|
53
63
|
validTermdbSingleCellSamplesRequest,
|
|
@@ -64,10 +74,10 @@ import {
|
|
|
64
74
|
validTermsByIdsResponse
|
|
65
75
|
} from "./chunk-HLGKC33X.js";
|
|
66
76
|
import {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
} from "./chunk-
|
|
77
|
+
boxplotPayload,
|
|
78
|
+
validBoxPlotRequest,
|
|
79
|
+
validBoxPlotResponse
|
|
80
|
+
} from "./chunk-VMZC4IN7.js";
|
|
71
81
|
import {
|
|
72
82
|
termdbCategoriesPayload,
|
|
73
83
|
validCategoriesRequest,
|
|
@@ -104,10 +114,10 @@ import {
|
|
|
104
114
|
validPercentileResponse
|
|
105
115
|
} from "./chunk-GVBBTRW4.js";
|
|
106
116
|
import {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
} from "./chunk-
|
|
117
|
+
ntseqPayload,
|
|
118
|
+
validNtseqRequest,
|
|
119
|
+
validNtseqResponse
|
|
120
|
+
} from "./chunk-HIPWQ6AW.js";
|
|
111
121
|
import {
|
|
112
122
|
pdomainPayload,
|
|
113
123
|
validPdomainRequest,
|
|
@@ -144,10 +154,10 @@ import {
|
|
|
144
154
|
validDEResponse
|
|
145
155
|
} from "./chunk-3C26VWPU.js";
|
|
146
156
|
import {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
} from "./chunk-
|
|
157
|
+
GRIN2Payload,
|
|
158
|
+
validGRIN2Request,
|
|
159
|
+
validGRIN2Response
|
|
160
|
+
} from "./chunk-Z2VOERJ2.js";
|
|
151
161
|
import {
|
|
152
162
|
healthcheckPayload,
|
|
153
163
|
validHealthCheckRequest,
|
|
@@ -178,11 +188,6 @@ import {
|
|
|
178
188
|
validIsoformLstRequest,
|
|
179
189
|
validIsoformLstResponse
|
|
180
190
|
} from "./chunk-B43GFRT4.js";
|
|
181
|
-
import {
|
|
182
|
-
ntseqPayload,
|
|
183
|
-
validNtseqRequest,
|
|
184
|
-
validNtseqResponse
|
|
185
|
-
} from "./chunk-HIPWQ6AW.js";
|
|
186
191
|
import {
|
|
187
192
|
dzImagesPayload,
|
|
188
193
|
validDZImagesRequest,
|
|
@@ -267,6 +272,7 @@ import "./chunk-CNSSF43V.js";
|
|
|
267
272
|
export {
|
|
268
273
|
CorrelationVolcanoPayload,
|
|
269
274
|
FilterTermValuesPayload,
|
|
275
|
+
GRIN2Payload,
|
|
270
276
|
GdcMafPayload,
|
|
271
277
|
ProfileFormScoresPayload,
|
|
272
278
|
ProfileScoresPayload,
|
|
@@ -341,6 +347,8 @@ export {
|
|
|
341
347
|
validDsDataResponse,
|
|
342
348
|
validFilterTermValuesRequest,
|
|
343
349
|
validFilterTermValuesResponse,
|
|
350
|
+
validGRIN2Request,
|
|
351
|
+
validGRIN2Response,
|
|
344
352
|
validGdcGRIN2listRequest,
|
|
345
353
|
validGdcGRIN2listResponse,
|
|
346
354
|
validGdcMafBuildRequest,
|
package/package.json
CHANGED
package/src/dataset.ts
CHANGED
|
@@ -371,11 +371,45 @@ type SvFusion = {
|
|
|
371
371
|
}
|
|
372
372
|
|
|
373
373
|
type SingleSampleMutationQuery = {
|
|
374
|
+
/** for native ds, each file should contain a stringified json array with elements below
|
|
375
|
+
for non-native ds, the getter should return an json array with same structure:
|
|
376
|
+
|
|
377
|
+
cnv example entry:
|
|
378
|
+
{
|
|
379
|
+
"chromosome": "chr1",
|
|
380
|
+
"start": 123456,
|
|
381
|
+
"end": 123789,
|
|
382
|
+
"type": "cnv",
|
|
383
|
+
"log2Ratio": null
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
snvindel example entry:
|
|
387
|
+
{
|
|
388
|
+
"chromosome": "chr1",
|
|
389
|
+
"start": 123456,
|
|
390
|
+
"end": 123789,
|
|
391
|
+
"type": "snvindel"
|
|
392
|
+
}
|
|
393
|
+
TODO specify property names for read depth; needed for grin2 filtering
|
|
394
|
+
|
|
395
|
+
fusion example entry:
|
|
396
|
+
{
|
|
397
|
+
"chromosome": "chr1",
|
|
398
|
+
"start": 123456,
|
|
399
|
+
"end": 123789,
|
|
400
|
+
"type": "fusion",
|
|
401
|
+
"fusionType": null,
|
|
402
|
+
"confidence": null
|
|
403
|
+
}
|
|
404
|
+
*/
|
|
374
405
|
src: 'native' | 'gdcapi' | string
|
|
375
406
|
/** which property of client mutation object to retrieve sample identifier for
|
|
376
407
|
* querying single sample data with */
|
|
377
408
|
sample_id_key: string
|
|
378
|
-
/** only required for src=native
|
|
409
|
+
/** only required for src=native
|
|
410
|
+
folder contains a set of files, one file per sample, file named by sample name
|
|
411
|
+
each file contains a stringified json array of mutation/cnv/sv entries (aka mlst)
|
|
412
|
+
*/
|
|
379
413
|
folder?: string
|
|
380
414
|
/** disco plot will be launched when singleSampleMutation is enabled. supply customization options here */
|
|
381
415
|
discoPlot?: {
|
|
@@ -766,24 +800,26 @@ type ColorColumn = {
|
|
|
766
800
|
|
|
767
801
|
/** defines a tsne type of plot for cells from one sample */
|
|
768
802
|
type SingleCellPlot = {
|
|
769
|
-
/**
|
|
803
|
+
/** value is display as plot name on ui and also used as identifier for a plot, must be unique */
|
|
770
804
|
name: string
|
|
771
805
|
/** folder in which per-sample files are stored.
|
|
772
|
-
each file is a tabular text file with all cells (rows) from that sample.
|
|
773
|
-
all files must have same set of columns
|
|
774
|
-
|
|
775
|
-
|
|
806
|
+
each file is a tabular text file with all cells (rows) from that sample.
|
|
807
|
+
all files must have same set of columns:
|
|
808
|
+
- 1st column is cell barcode
|
|
809
|
+
- x/y coordinate column number is defined in coordsColumns{x,y} below
|
|
810
|
+
- additional columns for cell annotations, corresponds to colorColumns
|
|
811
|
+
*/
|
|
776
812
|
folder: string
|
|
813
|
+
/** 0-based column number for x/y coordinate for this plot */
|
|
814
|
+
coordsColumns: { x: number; y: number }
|
|
777
815
|
/** optional suffix to locate the file for a sample, via ${folder}/${sampleName}${fileSuffix}
|
|
778
|
-
assumes that file name always start with sample name.
|
|
779
|
-
if not introduce filePrefix
|
|
780
|
-
*/
|
|
816
|
+
assumes that file name always start with sample name.
|
|
817
|
+
if not introduce filePrefix
|
|
818
|
+
*/
|
|
781
819
|
fileSuffix?: string
|
|
782
820
|
/** list of columns in tabular text file that define cell categories and can be used to color the cells in the plot. must have categorical values
|
|
783
821
|
*/
|
|
784
822
|
colorColumns: ColorColumn[]
|
|
785
|
-
/** 0-based column number for x/y coordinate for this plot */
|
|
786
|
-
coordsColumns: { x: number; y: number }
|
|
787
823
|
/** if true the plot is shown by default. otherwise hidden */
|
|
788
824
|
selected?: boolean
|
|
789
825
|
}
|
package/src/index.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './routes/filter.gdc.ts'
|
|
|
18
18
|
export * from './routes/gdc.maf.ts'
|
|
19
19
|
export * from './routes/gdc.mafBuild.ts'
|
|
20
20
|
export * from './routes/gdc.grin2.ts'
|
|
21
|
+
export * from './routes/grin2.ts'
|
|
21
22
|
export * from './routes/termdb.topMutatedGenes.ts'
|
|
22
23
|
export * from './routes/genelookup.ts'
|
|
23
24
|
export * from './routes/genesetEnrichment.ts'
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/** General GRIN2 route
|
|
2
|
+
* This route handles the GRIN2 analysis for any non-GDC data.
|
|
3
|
+
* It processes the incoming data structure via PP's existing filter infrastructure
|
|
4
|
+
* and returns the same structured results as GDC-GRIN2.
|
|
5
|
+
* Specifically it will return a sortable table of top mutated genes and
|
|
6
|
+
* a static PNG manhattan-like plot of the -log10(q-value).
|
|
7
|
+
* We allow the user to customize the snvindel, CNV, and fusion filtering options.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { RoutePayload } from './routeApi.js'
|
|
11
|
+
|
|
12
|
+
/** GRIN2 request */
|
|
13
|
+
export type GRIN2Request = {
|
|
14
|
+
/** Genome build identifier (e.g., 'hg38', 'hg19') */
|
|
15
|
+
genome: string
|
|
16
|
+
|
|
17
|
+
/** Dataset label within the genome */
|
|
18
|
+
dslabel: string
|
|
19
|
+
|
|
20
|
+
/** Filter from existing PP infrastructure */
|
|
21
|
+
filter: any // Filter object passed to get_samples(filter, ds)
|
|
22
|
+
|
|
23
|
+
/** Options for filtering SNV/indel file content */
|
|
24
|
+
snvindelOptions?: {
|
|
25
|
+
/** Minimum total depth of returned SNV/indel files */
|
|
26
|
+
minTotalDepth?: number // Default: 10
|
|
27
|
+
/** Minimum alternate allele count of returned SNV/indel files */
|
|
28
|
+
minAltAlleleCount?: number // Default: 2
|
|
29
|
+
/** String array of consequence types to include */
|
|
30
|
+
consequences?: string[]
|
|
31
|
+
/** Maximum mutation count cutoff for highly mutated scenarios */
|
|
32
|
+
hyperMutator?: number // Default: 1000
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Options for filtering CNV file content */
|
|
36
|
+
cnvOptions?: {
|
|
37
|
+
/** Threshold for copy number loss detection */
|
|
38
|
+
lossThreshold?: number // Default: -0.4
|
|
39
|
+
/** Threshold for copy number gain detection */
|
|
40
|
+
gainThreshold?: number // Default: 0.3
|
|
41
|
+
/** Maximum segment length to include (0 = no filter) */
|
|
42
|
+
maxSegLength?: number // Default: 0
|
|
43
|
+
/** Minimum segment length to include (0 = no filter) */
|
|
44
|
+
minSegLength?: number // Default: 0
|
|
45
|
+
/** Hypermutator max cut off for CNVs per case */
|
|
46
|
+
hyperMutator?: number // Default: 500
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** Options for filtering fusion file content */
|
|
50
|
+
fusionOptions?: {
|
|
51
|
+
/** Filter by fusion type */
|
|
52
|
+
fusionTypes?: ('gene-gene' | 'gene-intergenic' | 'readthrough')[]
|
|
53
|
+
/** Minimum confidence score (0-1) */
|
|
54
|
+
minConfidence?: number // Default: 0.7
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Response for GRIN2 analysis run
|
|
60
|
+
*/
|
|
61
|
+
export type GRIN2Response = {
|
|
62
|
+
/** Status of the analysis */
|
|
63
|
+
status: 'success' | 'error'
|
|
64
|
+
/** Error message if status is 'error' */
|
|
65
|
+
error?: string
|
|
66
|
+
/** Base64-encoded PNG Manhattan plot image */
|
|
67
|
+
pngImg?: string
|
|
68
|
+
/** Download status/info */
|
|
69
|
+
download?: any
|
|
70
|
+
/** Sortable table of top genes identified by GRIN2 */
|
|
71
|
+
topGeneTable?: {
|
|
72
|
+
/** Column definitions with labels and sort capabilities */
|
|
73
|
+
columns: Array<{
|
|
74
|
+
label: string
|
|
75
|
+
sortable: boolean
|
|
76
|
+
}>
|
|
77
|
+
/** Data rows with gene information and statistics */
|
|
78
|
+
rows: Array<
|
|
79
|
+
Array<{
|
|
80
|
+
value: string | number
|
|
81
|
+
}>
|
|
82
|
+
>
|
|
83
|
+
}
|
|
84
|
+
/** Summary statistics */
|
|
85
|
+
totalGenes?: number
|
|
86
|
+
showingTop?: number
|
|
87
|
+
/** Timing info for the analysis */
|
|
88
|
+
timing?: {
|
|
89
|
+
/** Time taken to run data processing */
|
|
90
|
+
processingTime: number
|
|
91
|
+
/** Time taken to run GRIN2 processing */
|
|
92
|
+
grin2Time: number
|
|
93
|
+
/** Total time taken for the entire run */
|
|
94
|
+
totalTime: number
|
|
95
|
+
}
|
|
96
|
+
/** Detailed processing summary */
|
|
97
|
+
processingSummary?: {
|
|
98
|
+
totalSamples: number
|
|
99
|
+
successfulSamples: number
|
|
100
|
+
failedSamples: number
|
|
101
|
+
failedFiles: Array<{
|
|
102
|
+
sampleName: string
|
|
103
|
+
filePath: string
|
|
104
|
+
error: string
|
|
105
|
+
}>
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Route payload definitions for type checking
|
|
111
|
+
*/
|
|
112
|
+
export const GRIN2Payload: RoutePayload = {
|
|
113
|
+
request: {
|
|
114
|
+
typeId: 'GRIN2Request'
|
|
115
|
+
},
|
|
116
|
+
response: {
|
|
117
|
+
typeId: 'GRIN2Response'
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -20,13 +20,12 @@ export type Plot = {
|
|
|
20
20
|
/** name of the plot */
|
|
21
21
|
name: string
|
|
22
22
|
/** List of cells with gene expression */
|
|
23
|
-
expCells
|
|
23
|
+
expCells: Cell[]
|
|
24
24
|
/** List of cells with no gene expression, if no gene provided all cells will be here */
|
|
25
|
-
noExpCells
|
|
26
|
-
/** Column name to color by, e.g Cell type, CNV, Fusion */
|
|
27
|
-
colorBy: string
|
|
25
|
+
noExpCells: Cell[]
|
|
28
26
|
colorColumns: string[]
|
|
29
|
-
|
|
27
|
+
colorBy: string
|
|
28
|
+
colorMap: any
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
export type TermdbSingleCellDataRequest = {
|
|
@@ -41,14 +40,17 @@ export type TermdbSingleCellDataRequest = {
|
|
|
41
40
|
plots: string[]
|
|
42
41
|
/** Gene name to retrieve expression data for all cells of the given sample, and to overlay on maps */
|
|
43
42
|
gene?: string
|
|
43
|
+
/** in each plot, what Column name to color by
|
|
44
|
+
key: plot.name, value: column name
|
|
45
|
+
if missing, use default setting of the plot
|
|
46
|
+
*/
|
|
47
|
+
colorBy?: { [key: string]: string }
|
|
48
|
+
colorMap?: { [key: string]: string }
|
|
44
49
|
}
|
|
45
50
|
|
|
46
51
|
export type HasdataResponse = {
|
|
47
52
|
/** List of plots from singlecell experiment of this sample */
|
|
48
53
|
plots: Plot[]
|
|
49
|
-
|
|
50
|
-
/** Terms used to annotate cells */
|
|
51
|
-
//terms: Term[]
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
export type NodataResponse = {
|