@datagrok/helm 2.1.21 → 2.1.22
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/package-test.js +1 -1
- package/dist/package-test.js.map +1 -1
- package/dist/package.js.map +1 -1
- package/package.json +2 -1
- package/src/package-test.ts +2 -0
- package/src/tests/findMonomers-tests.ts +10 -10
- package/src/tests/get-molfiles.ts +49 -0
- package/src/{utils.ts → utils/index.ts} +2 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datagrok/helm",
|
|
3
3
|
"friendlyName": "Helm",
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.22",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Oleksandra Serhiienko",
|
|
7
7
|
"email": "oserhiienko@datagrok.ai"
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@datagrok-libraries/bio": "^5.39.6",
|
|
19
|
+
"@datagrok-libraries/chem-meta": "^1.2.1",
|
|
19
20
|
"@datagrok-libraries/utils": "^4.0.17",
|
|
20
21
|
"cash-dom": "^8.1.1",
|
|
21
22
|
"datagrok-api": "^1.10.2",
|
package/src/package-test.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
2
|
import * as grok from 'datagrok-api/grok';
|
|
3
|
+
|
|
3
4
|
import {runTests, tests, TestContext} from '@datagrok-libraries/utils/src/test';
|
|
4
5
|
|
|
5
6
|
import './tests/helm-tests.ts';
|
|
6
7
|
import './tests/findMonomers-tests';
|
|
7
8
|
import './tests/renderers-tests';
|
|
9
|
+
import './tests/get-molfiles';
|
|
8
10
|
|
|
9
11
|
export const _package = new DG.Package();
|
|
10
12
|
export {tests};
|
|
@@ -2,33 +2,33 @@ import * as grok from 'datagrok-api/grok';
|
|
|
2
2
|
import * as ui from 'datagrok-api/ui';
|
|
3
3
|
import * as DG from 'datagrok-api/dg';
|
|
4
4
|
|
|
5
|
-
import {_package} from '../package-test';
|
|
6
5
|
import {after, before, category, delay, expect, expectObject, test} from '@datagrok-libraries/utils/src/test';
|
|
7
|
-
import {findMonomers, parseHelm} from '../utils';
|
|
8
6
|
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/monomer-works/monomer-utils';
|
|
7
|
+
import {
|
|
8
|
+
getUserLibSettings, LibSettings, setUserLibSettings, setUserLibSettingsForTests
|
|
9
|
+
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
export const LIB_DEFAULT: { [fileName: string]: string } = {'HELMCoreLibrary.json': 'HELMCoreLibrary.json'};
|
|
11
|
+
import {findMonomers, parseHelm} from '../utils';
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
/** Tests with default monomer library */
|
|
15
15
|
category('findMonomers', () => {
|
|
16
|
-
|
|
17
16
|
let monomerLibHelper: IMonomerLibHelper;
|
|
18
17
|
/** Backup actual user's monomer libraries settings */
|
|
19
|
-
let
|
|
18
|
+
let userLibSettings: LibSettings;
|
|
20
19
|
|
|
21
20
|
before(async () => {
|
|
22
21
|
monomerLibHelper = await getMonomerLibHelper();
|
|
23
|
-
|
|
22
|
+
userLibSettings = await getUserLibSettings();
|
|
24
23
|
|
|
25
24
|
// Tests 'findMonomers' requires default monomer library loaded
|
|
26
|
-
await
|
|
27
|
-
await monomerLibHelper.loadLibraries(true); // load default libraries
|
|
25
|
+
await setUserLibSettingsForTests();
|
|
26
|
+
await monomerLibHelper.loadLibraries(true); // load default libraries for tests
|
|
28
27
|
});
|
|
29
28
|
|
|
30
29
|
after(async () => {
|
|
31
|
-
await
|
|
30
|
+
await setUserLibSettings(userLibSettings);
|
|
31
|
+
await monomerLibHelper.loadLibraries(true);
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
const tests: { [testName: string]: { test: string, tgt: Set<string> } } = {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as grok from 'datagrok-api/grok';
|
|
2
|
+
import * as ui from 'datagrok-api/ui';
|
|
3
|
+
import * as DG from 'datagrok-api/dg';
|
|
4
|
+
|
|
5
|
+
import {after, before, category, delay, expect, test, expectArray, testEvent} from '@datagrok-libraries/utils/src/test';
|
|
6
|
+
import {
|
|
7
|
+
getUserLibSettings, LibSettings, setUserLibSettings, setUserLibSettingsForTests
|
|
8
|
+
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
9
|
+
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/monomer-works/monomer-utils';
|
|
10
|
+
import {MolfileHandler} from '@datagrok-libraries/chem-meta/src/parsing-utils/molfile-handler';
|
|
11
|
+
import {MolfileHandlerBase} from '@datagrok-libraries/chem-meta/src/parsing-utils/molfile-handler-base';
|
|
12
|
+
|
|
13
|
+
category('getMolfiles', () => {
|
|
14
|
+
let monomerLibHelper: IMonomerLibHelper;
|
|
15
|
+
let userLibSettings: LibSettings;
|
|
16
|
+
|
|
17
|
+
before(async () => {
|
|
18
|
+
monomerLibHelper = await getMonomerLibHelper();
|
|
19
|
+
userLibSettings = await getUserLibSettings();
|
|
20
|
+
await setUserLibSettingsForTests();
|
|
21
|
+
await monomerLibHelper.loadLibraries(true);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
after(async () => {
|
|
25
|
+
await setUserLibSettings(userLibSettings);
|
|
26
|
+
await monomerLibHelper.loadLibraries(true);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const csv = `Helm, atoms, bonds
|
|
30
|
+
PEPTIDE1{meI.hHis.Aca.N.T.dE.Thr_PO3H2.Aca.D-Tyr_Et.Tyr_ab-dehydroMe.dV}$$$$,11,10
|
|
31
|
+
PEPTIDE1{meI.hHis.Aca.Cys_SEt.T.dK.Thr_PO3H2.Aca.Tyr_PO3H2.D-Chg.dV}$$$$,11,10
|
|
32
|
+
PEPTIDE1{Lys_Boc.hHis.Aca.Cys_SEt.T.dK.Thr_PO3H2.Aca.Tyr_PO3H2}$$$$,9,8`;
|
|
33
|
+
|
|
34
|
+
test('linear1', async () => {
|
|
35
|
+
const df = DG.DataFrame.fromCsv(csv);
|
|
36
|
+
const helmCol = df.getCol('Helm');
|
|
37
|
+
const view = grok.shell.addTableView(df);
|
|
38
|
+
const resCol: DG.Column<string> = await grok.functions.call('Helm:getMolfiles', {col: helmCol});
|
|
39
|
+
|
|
40
|
+
await delay(100);
|
|
41
|
+
await testEvent(view.grid.onAfterDrawContent, () => {}, () => {
|
|
42
|
+
view.grid.invalidate();
|
|
43
|
+
});
|
|
44
|
+
expect(resCol.length, helmCol.length);
|
|
45
|
+
const resMolfileList: MolfileHandlerBase[] = resCol.toList().map((molfile) => MolfileHandler.getInstance(molfile));
|
|
46
|
+
expectArray(resMolfileList.map((mf) => mf.atomCount), df.getCol('atoms').toList());
|
|
47
|
+
expectArray(resMolfileList.map((mf) => mf.bondCount), df.getCol('bonds').toList());
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
|
+
|
|
2
3
|
import {
|
|
3
4
|
RGROUP_CAP_GROUP_NAME,
|
|
4
5
|
RGROUP_CAP_GROUP_SMILES,
|
|
@@ -8,7 +9,7 @@ import {
|
|
|
8
9
|
RGROUPS,
|
|
9
10
|
RGROUP_LABEL,
|
|
10
11
|
SDF_MONOMER_NAME
|
|
11
|
-
} from '
|
|
12
|
+
} from '../constants';
|
|
12
13
|
|
|
13
14
|
export function getParts(subParts: string[], s: string): string[] {
|
|
14
15
|
const j = 0;
|