@datagrok/hit-triage 1.9.1 → 1.10.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/CHANGELOG.md +6 -0
- package/CLAUDE.md +199 -0
- package/css/hit-triage.css +0 -41
- package/dist/package-test.js +1 -1
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/files/pepTriage/campaigns/DMT-1/campaign.json +1 -0
- package/files/pepTriage/campaigns/DMT-1/enriched_table.csv +2262 -0
- package/files/pepTriage/templates/Demo Template.json +1 -0
- package/package.json +6 -4
- package/src/app/accordeons/new-campaign-accordeon.ts +24 -6
- package/src/app/accordeons/new-pep-triage-template-accordeon.ts +208 -0
- package/src/app/accordeons/new-template-accordeon.ts +15 -9
- package/src/app/consts.ts +23 -10
- package/src/app/dialogs/functions-dialog.ts +14 -221
- package/src/app/hit-app-base.ts +3 -6
- package/src/app/hit-design-views/info-view.ts +4 -4
- package/src/app/hit-triage-app.ts +44 -17
- package/src/app/hit-triage-views/info-view.ts +261 -44
- package/src/app/pep-triage-app.ts +87 -0
- package/src/app/pep-triage-views/info-view.ts +123 -0
- package/src/app/types.ts +20 -65
- package/src/app/utils/calculate-single-cell.ts +20 -219
- package/src/app/utils.ts +100 -123
- package/src/package-api.ts +12 -0
- package/src/package.g.ts +28 -0
- package/src/package.ts +66 -0
package/src/package.g.ts
CHANGED
|
@@ -20,6 +20,7 @@ export async function peptiHitAppTreeBrowser(treeNode: any) : Promise<void> {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
//name: Hit Triage
|
|
23
|
+
//tags: app
|
|
23
24
|
//output: view result
|
|
24
25
|
//meta.role: app
|
|
25
26
|
//meta.browsePath: Chem
|
|
@@ -28,6 +29,7 @@ export async function hitTriageApp() : Promise<any> {
|
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
//name: Hit Design
|
|
32
|
+
//tags: app
|
|
31
33
|
//output: view result
|
|
32
34
|
//meta.role: app
|
|
33
35
|
//meta.icon: images/icons/hit-design-icon.png
|
|
@@ -37,6 +39,7 @@ export async function hitDesignApp() : Promise<any> {
|
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
//name: PeptiHit
|
|
42
|
+
//tags: app
|
|
40
43
|
//output: view result
|
|
41
44
|
//meta.role: app
|
|
42
45
|
//meta.icon: images/icons/pepti-hit-icon.png
|
|
@@ -45,6 +48,22 @@ export async function peptiHitApp() : Promise<any> {
|
|
|
45
48
|
return await PackageFunctions.peptiHitApp();
|
|
46
49
|
}
|
|
47
50
|
|
|
51
|
+
//input: dynamic treeNode
|
|
52
|
+
//meta.app: PepTriage
|
|
53
|
+
export async function pepTriageAppTreeBrowser(treeNode: any) : Promise<void> {
|
|
54
|
+
await PackageFunctions.pepTriageAppTreeBrowser(treeNode);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
//name: PepTriage
|
|
58
|
+
//tags: app
|
|
59
|
+
//output: view result
|
|
60
|
+
//meta.role: app
|
|
61
|
+
//meta.icon: images/icons/hit-triage-icon.png
|
|
62
|
+
//meta.browsePath: Peptides
|
|
63
|
+
export async function pepTriageApp() : Promise<any> {
|
|
64
|
+
return await PackageFunctions.pepTriageApp();
|
|
65
|
+
}
|
|
66
|
+
|
|
48
67
|
//name: Demo Molecules 100
|
|
49
68
|
//output: dataframe result
|
|
50
69
|
//meta.role: hitTriageDataSource
|
|
@@ -67,6 +86,14 @@ export async function demoFileIngest2(numberOfMolecules: number) : Promise<any>
|
|
|
67
86
|
return await PackageFunctions.demoFileIngest2(numberOfMolecules);
|
|
68
87
|
}
|
|
69
88
|
|
|
89
|
+
//name: Demo Peptide Sequences
|
|
90
|
+
//input: double peptideCount
|
|
91
|
+
//output: dataframe result
|
|
92
|
+
//meta.role: pepTriageDataSource
|
|
93
|
+
export async function demoPeptideSequences(peptideCount: number) : Promise<any> {
|
|
94
|
+
return await PackageFunctions.demoPeptideSequences(peptideCount);
|
|
95
|
+
}
|
|
96
|
+
|
|
70
97
|
//name: Demo File Submit
|
|
71
98
|
//input: dataframe df { description: Dataframe }
|
|
72
99
|
//input: string molecules { description: Molecules column name }
|
|
@@ -98,6 +125,7 @@ export function gasteigerCellRenderer() : any {
|
|
|
98
125
|
}
|
|
99
126
|
|
|
100
127
|
//name: Hit Triage package settings editor
|
|
128
|
+
//tags: packageSettingsEditor
|
|
101
129
|
//input: object propList
|
|
102
130
|
//output: widget result
|
|
103
131
|
//meta.role: packageSettingsEditor
|
package/src/package.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {GasteigerPngRenderer} from './pngRenderers';
|
|
|
9
9
|
import {loadCampaigns, timeoutOneTimeEventListener} from './app/utils';
|
|
10
10
|
import {AppName, CampaignsType} from './app';
|
|
11
11
|
import {PeptiHitApp} from './app/pepti-hit-app';
|
|
12
|
+
import {PepTriageApp} from './app/pep-triage-app';
|
|
12
13
|
import {CampaignJsonName, PeptiHitHelmColName} from './app/consts';
|
|
13
14
|
import {htPackageSettingsEditorWidget} from './packageSettingsEditor';
|
|
14
15
|
import {deobfuscateSmiles, registerAllCampaignMols} from './app/utils/molreg';
|
|
@@ -152,6 +153,7 @@ export class PackageFunctions {
|
|
|
152
153
|
@grok.decorators.app({
|
|
153
154
|
browsePath: 'Chem',
|
|
154
155
|
name: 'Hit Triage',
|
|
156
|
+
tags: ['app'],
|
|
155
157
|
})
|
|
156
158
|
static async hitTriageApp(): Promise<DG.ViewBase> {
|
|
157
159
|
const c = grok.functions.getCurrentCall();
|
|
@@ -163,6 +165,7 @@ export class PackageFunctions {
|
|
|
163
165
|
icon: 'images/icons/hit-design-icon.png',
|
|
164
166
|
browsePath: 'Chem',
|
|
165
167
|
name: 'Hit Design',
|
|
168
|
+
tags: ['app'],
|
|
166
169
|
})
|
|
167
170
|
static async hitDesignApp(): Promise<DG.ViewBase> {
|
|
168
171
|
const c = grok.functions.getCurrentCall();
|
|
@@ -174,6 +177,7 @@ export class PackageFunctions {
|
|
|
174
177
|
icon: 'images/icons/pepti-hit-icon.png',
|
|
175
178
|
browsePath: 'Peptides',
|
|
176
179
|
name: 'PeptiHit',
|
|
180
|
+
tags: ['app'],
|
|
177
181
|
})
|
|
178
182
|
static async peptiHitApp(): Promise<DG.ViewBase> {
|
|
179
183
|
const c = grok.functions.getCurrentCall();
|
|
@@ -182,6 +186,25 @@ export class PackageFunctions {
|
|
|
182
186
|
}
|
|
183
187
|
|
|
184
188
|
|
|
189
|
+
@grok.decorators.treeBrowser({meta: {app: 'PepTriage'}})
|
|
190
|
+
static async pepTriageAppTreeBrowser(treeNode: DG.TreeViewGroup) {
|
|
191
|
+
await hitAppTB(treeNode, 'PepTriage');
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
@grok.decorators.app({
|
|
196
|
+
icon: 'images/icons/hit-triage-icon.png',
|
|
197
|
+
browsePath: 'Peptides',
|
|
198
|
+
name: 'PepTriage',
|
|
199
|
+
tags: ['app'],
|
|
200
|
+
})
|
|
201
|
+
static async pepTriageApp(): Promise<DG.ViewBase> {
|
|
202
|
+
const c = grok.functions.getCurrentCall();
|
|
203
|
+
await grok.functions.call('Bio:initBio', {});
|
|
204
|
+
return new PepTriageApp(c).multiView;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
|
|
185
208
|
@grok.decorators.func({
|
|
186
209
|
name: 'Demo Molecules 100',
|
|
187
210
|
meta: {role: 'hitTriageDataSource'},
|
|
@@ -217,6 +240,48 @@ export class PackageFunctions {
|
|
|
217
240
|
}
|
|
218
241
|
|
|
219
242
|
|
|
243
|
+
@grok.decorators.func({
|
|
244
|
+
name: 'Demo Peptide Sequences',
|
|
245
|
+
meta: {role: 'pepTriageDataSource'},
|
|
246
|
+
})
|
|
247
|
+
static async demoPeptideSequences(peptideCount: number): Promise<DG.DataFrame> {
|
|
248
|
+
const sequences = [
|
|
249
|
+
'PEPTIDE1{A.G.L.V.K}$$$$V2.0',
|
|
250
|
+
'PEPTIDE1{G.A.V.L.I.P}$$$$V2.0',
|
|
251
|
+
'PEPTIDE1{F.W.Y.H.K.R}$$$$V2.0',
|
|
252
|
+
'PEPTIDE1{D.E.N.Q.S.T}$$$$V2.0',
|
|
253
|
+
'PEPTIDE1{A.R.N.D.C.E}$$$$V2.0',
|
|
254
|
+
'PEPTIDE1{G.H.I.L.K.M}$$$$V2.0',
|
|
255
|
+
'PEPTIDE1{F.P.S.T.W.Y}$$$$V2.0',
|
|
256
|
+
'PEPTIDE1{V.A.G.L.I}$$$$V2.0',
|
|
257
|
+
'PEPTIDE1{K.R.H.D.E}$$$$V2.0',
|
|
258
|
+
'PEPTIDE1{N.Q.S.T.C.M}$$$$V2.0',
|
|
259
|
+
'PEPTIDE1{A.V.L.I.P.F}$$$$V2.0',
|
|
260
|
+
'PEPTIDE1{W.Y.G.A.R}$$$$V2.0',
|
|
261
|
+
'PEPTIDE1{K.H.D.E.N.Q}$$$$V2.0',
|
|
262
|
+
'PEPTIDE1{S.T.C.M.F.W}$$$$V2.0',
|
|
263
|
+
'PEPTIDE1{Y.A.G.V.L.I}$$$$V2.0',
|
|
264
|
+
'PEPTIDE1{P.K.R.H.D}$$$$V2.0',
|
|
265
|
+
'PEPTIDE1{E.N.Q.S.T.C}$$$$V2.0',
|
|
266
|
+
'PEPTIDE1{M.F.W.Y.A.G}$$$$V2.0',
|
|
267
|
+
'PEPTIDE1{V.L.I.P.K.R}$$$$V2.0',
|
|
268
|
+
'PEPTIDE1{H.D.E.N.Q.S}$$$$V2.0',
|
|
269
|
+
];
|
|
270
|
+
const extendedSequences = [];
|
|
271
|
+
for (let i = 0; i < peptideCount; i++)
|
|
272
|
+
extendedSequences.push(sequences[i % sequences.length]);
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
const col = DG.Column.fromStrings('Helm', extendedSequences);
|
|
276
|
+
col.semType = DG.SEMTYPE.MACROMOLECULE;
|
|
277
|
+
col.setTag('units', 'helm');
|
|
278
|
+
col.setTag('.alphabetIsMultichar', 'true');
|
|
279
|
+
const df = DG.DataFrame.fromColumns([col]);
|
|
280
|
+
df.name = 'Demo Peptide Sequences';
|
|
281
|
+
return df;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
|
|
220
285
|
@grok.decorators.func({
|
|
221
286
|
name: 'Demo File Submit',
|
|
222
287
|
meta: {role: 'hitTriageSubmitFunction'},
|
|
@@ -285,6 +350,7 @@ export class PackageFunctions {
|
|
|
285
350
|
@grok.decorators.func({
|
|
286
351
|
name: 'Hit Triage package settings editor',
|
|
287
352
|
meta: {role: 'packageSettingsEditor'},
|
|
353
|
+
tags: ['packageSettingsEditor'],
|
|
288
354
|
})
|
|
289
355
|
static async htPackageSettingEditor(
|
|
290
356
|
@grok.decorators.param({'name': 'propList', 'type': 'object'}) properties: DG.Property[]) : Promise<DG.Widget> {
|