@datagrok/bio 2.23.2 → 2.24.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/.eslintrc.json +0 -2
- package/CHANGELOG.md +5 -0
- package/README.md +1 -1
- package/dist/package-test.js +3 -3
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +2 -2
- package/dist/package.js.map +1 -1
- package/package.json +2 -2
- package/src/package-types.ts +1 -1
- package/src/package.ts +9 -3
- package/src/tests/activity-cliffs-tests.ts +2 -2
- package/src/tests/monomer-libraries-tests.ts +8 -6
- package/src/tests/renderers-monomer-placer-tests.ts +1 -1
- package/src/tests/scoring.ts +1 -1
- package/src/tests/seq-handler-get-helm-tests.ts +1 -1
- package/src/tests/splitters-test.ts +2 -2
- package/src/tests/substructure-filters-tests.ts +11 -11
- package/src/tests/to-atomic-level-tests.ts +2 -2
- package/src/tests/to-atomic-level-ui-tests.ts +13 -14
- package/src/utils/cell-renderer.ts +1 -1
- package/src/utils/helm-to-molfile/converter/converter.ts +1 -1
- package/src/utils/helm-to-molfile/converter/mol-bonds.ts +1 -1
- package/src/utils/helm-to-molfile/converter/monomer-wrapper.ts +1 -1
- package/src/utils/helm-to-molfile/converter/polymer.ts +1 -1
- package/src/utils/helm-to-molfile/utils.ts +3 -2
- package/src/utils/monomer-cell-renderer-base.ts +1 -2
- package/src/utils/monomer-lib/consts.ts +1 -6
- package/src/utils/monomer-lib/lib-manager.ts +239 -112
- package/src/utils/monomer-lib/library-file-manager/monomers-lib-provider.ts +378 -0
- package/src/utils/monomer-lib/library-file-manager/ui.ts +119 -80
- package/src/utils/monomer-lib/monomer-colors.ts +37 -39
- package/src/utils/monomer-lib/monomer-lib-base.ts +3 -4
- package/src/utils/monomer-lib/monomer-lib.ts +7 -7
- package/src/utils/monomer-lib/monomer-manager/duplicate-monomer-manager.ts +3 -3
- package/src/utils/monomer-lib/monomer-manager/monomer-manager.ts +90 -81
- package/src/utils/monomer-lib/web-editor-monomer-of-library.ts +2 -1
- package/src/utils/seq-helper/seq-handler.ts +16 -3
- package/src/utils/seq-helper/seq-helper.ts +1 -2
- package/src/utils/sequence-to-mol.ts +1 -1
- package/src/viewers/web-logo-viewer.ts +1 -1
- package/src/widgets/composition-analysis-widget.ts +1 -1
- package/src/widgets/sequence-scrolling-widget.ts +1 -2
- package/test-console-output-1.log +672 -720
- package/test-record-1.mp4 +0 -0
- package/src/utils/monomer-lib/library-file-manager/custom-monomer-lib-handlers.ts +0 -41
- package/src/utils/monomer-lib/library-file-manager/event-manager.ts +0 -93
- package/src/utils/monomer-lib/library-file-manager/file-manager.ts +0 -317
- package/src/utils/monomer-lib/monomer-set.ts +0 -61
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "Davit Rizhinashvili",
|
|
6
6
|
"email": "drizhinashvili@datagrok.ai"
|
|
7
7
|
},
|
|
8
|
-
"version": "2.
|
|
8
|
+
"version": "2.24.0",
|
|
9
9
|
"description": "Bioinformatics support (import/export of sequences, conversion, visualization, analysis). [See more](https://github.com/datagrok-ai/public/blob/master/packages/Bio/README.md) for details.",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@biowasm/aioli": "^3.1.0",
|
|
47
|
-
"@datagrok-libraries/bio": "^5.
|
|
47
|
+
"@datagrok-libraries/bio": "^5.60.0",
|
|
48
48
|
"@datagrok-libraries/chem-meta": "^1.2.9",
|
|
49
49
|
"@datagrok-libraries/math": "^1.2.6",
|
|
50
50
|
"@datagrok-libraries/ml": "^6.10.6",
|
package/src/package-types.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {errInfo} from '@datagrok-libraries/bio/src/utils/err-info';
|
|
|
8
8
|
import {LoggerWrapper} from '@datagrok-libraries/bio/src/utils/logger';
|
|
9
9
|
import {RDModule} from '@datagrok-libraries/chem-meta/src/rdkit-api';
|
|
10
10
|
import {ISeqHelper} from '@datagrok-libraries/bio/src/utils/seq-helper';
|
|
11
|
-
import {IMonomerLib, IMonomerLibBase, IMonomerSet} from '@datagrok-libraries/bio/src/types';
|
|
11
|
+
import {IMonomerLib, IMonomerLibBase, IMonomerSet} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
12
12
|
|
|
13
13
|
/** Names of package properties/settings declared in properties section of {@link './package.json'} */
|
|
14
14
|
export const enum BioPackagePropertiesNames {
|
package/src/package.ts
CHANGED
|
@@ -13,11 +13,11 @@ import {getActivityCliffs} from '@datagrok-libraries/ml/src/viewers/activity-cli
|
|
|
13
13
|
import {MmDistanceFunctionsNames} from '@datagrok-libraries/ml/src/macromolecule-distance-functions';
|
|
14
14
|
import {BitArrayMetrics, KnownMetrics} from '@datagrok-libraries/ml/src/typed-metrics';
|
|
15
15
|
import {ALPHABET, NOTATION, TAGS as bioTAGS} from '@datagrok-libraries/bio/src/utils/macromolecule';
|
|
16
|
-
import {IMonomerLib} from '@datagrok-libraries/bio/src/types';
|
|
16
|
+
import {IMonomerLib, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
17
17
|
import {SeqPalette} from '@datagrok-libraries/bio/src/seq-palettes';
|
|
18
18
|
import {FastaFileHandler} from '@datagrok-libraries/bio/src/utils/fasta-handler';
|
|
19
19
|
import {SCORE} from '@datagrok-libraries/bio/src/utils/macromolecule/scoring';
|
|
20
|
-
import {createJsonMonomerLibFromSdf,
|
|
20
|
+
import {createJsonMonomerLibFromSdf,} from '@datagrok-libraries/bio/src/monomer-works/monomer-utils';
|
|
21
21
|
import {errInfo} from '@datagrok-libraries/bio/src/utils/err-info';
|
|
22
22
|
import {ActivityCliffsEditor} from '@datagrok-libraries/ml/src/functionEditors/activity-cliffs-function-editor';
|
|
23
23
|
import BitArray from '@datagrok-libraries/utils/src/bit-array';
|
|
@@ -78,6 +78,7 @@ import {molecular3DStructureWidget, toAtomicLevelWidget} from './widgets/to-atom
|
|
|
78
78
|
import {handleSequenceHeaderRendering} from './widgets/sequence-scrolling-widget';
|
|
79
79
|
import {PolymerType} from '@datagrok-libraries/js-draw-lite/src/types/org';
|
|
80
80
|
import {BilnNotationProvider} from './utils/biln';
|
|
81
|
+
import {MonomerLibFromFilesProvider} from './utils/monomer-lib/library-file-manager/monomers-lib-provider';
|
|
81
82
|
export const _package = new BioPackage(/*{debug: true}/**/);
|
|
82
83
|
export * from './package.g';
|
|
83
84
|
|
|
@@ -1056,9 +1057,14 @@ export class PackageFunctions {
|
|
|
1056
1057
|
return await showManageLibrariesView(false);
|
|
1057
1058
|
}
|
|
1058
1059
|
|
|
1060
|
+
// @grok.decorators.func({tags: ['monomer-lib-provider'], result: {type: 'object', name: 'result'}})
|
|
1061
|
+
// static async getMonomerLibFileProvider(): Promise<MonomerLibFromFilesProvider> {
|
|
1062
|
+
// return
|
|
1063
|
+
// }
|
|
1064
|
+
|
|
1059
1065
|
@grok.decorators.func({name: 'Monomer Manager Tree Browser', meta: {role: 'appTreeBrowser'}})
|
|
1060
1066
|
static async manageMonomerLibrariesViewTreeBrowser(treeNode: DG.TreeViewGroup) {
|
|
1061
|
-
const libraries = (await (await MonomerLibManager.getInstance()).
|
|
1067
|
+
const libraries = (await (await MonomerLibManager.getInstance()).getAvaliableLibraryNames());
|
|
1062
1068
|
libraries.forEach((libName) => {
|
|
1063
1069
|
const nodeName = libName.endsWith('.json') ? libName.substring(0, libName.length - 5) : libName;
|
|
1064
1070
|
const libNode = treeNode.item(nodeName);
|
|
@@ -8,7 +8,7 @@ import {_testActivityCliffsOpen} from './activity-cliffs-utils';
|
|
|
8
8
|
|
|
9
9
|
import {MmDistanceFunctionsNames} from '@datagrok-libraries/ml/src/macromolecule-distance-functions';
|
|
10
10
|
import {BitArrayMetricsNames} from '@datagrok-libraries/ml/src/typed-metrics';
|
|
11
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
11
|
+
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
12
12
|
import {
|
|
13
13
|
getUserLibSettings, setUserLibSettings
|
|
14
14
|
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
@@ -67,7 +67,7 @@ category('activityCliffs', async () => {
|
|
|
67
67
|
if (helmPackInstalled) {
|
|
68
68
|
const df = await _package.files.readCsv('samples/HELM_50.csv');
|
|
69
69
|
const _view = grok.shell.addTableView(df);
|
|
70
|
-
|
|
70
|
+
|
|
71
71
|
await _testActivityCliffsOpen(df, DimReductionMethods.UMAP,
|
|
72
72
|
'HELM', 'Activity', 65, 20, BitArrayMetricsNames.Tanimoto, helmEncodingFunc);
|
|
73
73
|
}
|
|
@@ -3,13 +3,13 @@ import * as DG from 'datagrok-api/dg';
|
|
|
3
3
|
import * as ui from 'datagrok-api/ui';
|
|
4
4
|
|
|
5
5
|
import {test, after, before, category, expect, expectObject} from '@datagrok-libraries/utils/src/test';
|
|
6
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
6
|
+
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
7
7
|
import {
|
|
8
8
|
getUserLibSettings, setUserLibSettings
|
|
9
9
|
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
10
10
|
import {expectMonomerLib} from '@datagrok-libraries/bio/src/tests/monomer-lib-tests';
|
|
11
11
|
import {MonomerTypes, PolymerTypes} from '@datagrok-libraries/bio/src/helm/consts';
|
|
12
|
-
import {Monomer} from '@datagrok-libraries/bio/src/types/
|
|
12
|
+
import {Monomer} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
13
13
|
|
|
14
14
|
import {monomerLibForTestsSummary} from '../utils/monomer-lib/consts';
|
|
15
15
|
|
|
@@ -50,11 +50,13 @@ category('monomerLibraries', () => {
|
|
|
50
50
|
test('empty', async () => {
|
|
51
51
|
// exclude all monomer libraries for empty set
|
|
52
52
|
const libSettings = await getUserLibSettings();
|
|
53
|
-
const libFileManager = await monomerLibHelper.getFileManager();
|
|
54
53
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
|
|
55
|
+
let libFnList = await monomerLibHelper.getAvaliableLibraryNames();
|
|
56
|
+
if (libFnList.length === 0) {
|
|
57
|
+
await monomerLibHelper.refreshValidLibraryLists();
|
|
58
|
+
libFnList = await monomerLibHelper.getAvaliableLibraryNames();
|
|
59
|
+
}
|
|
58
60
|
|
|
59
61
|
libSettings.exclude = libFnList;
|
|
60
62
|
libSettings.explicit = [];
|
|
@@ -8,7 +8,7 @@ import wu from 'wu';
|
|
|
8
8
|
import {after, before, category, expect, expectArray, test} from '@datagrok-libraries/utils/src/test';
|
|
9
9
|
import {MonomerPlacer, hitBounds} from '@datagrok-libraries/bio/src/utils/cell-renderer-monomer-placer';
|
|
10
10
|
import {monomerToShort} from '@datagrok-libraries/bio/src/utils/macromolecule';
|
|
11
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
11
|
+
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
12
12
|
import {
|
|
13
13
|
getUserLibSettings, setUserLibSettings
|
|
14
14
|
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
package/src/tests/scoring.ts
CHANGED
|
@@ -6,7 +6,7 @@ import wu from 'wu';
|
|
|
6
6
|
|
|
7
7
|
import {category, test, expectFloat, before, after, expect} from '@datagrok-libraries/utils/src/test';
|
|
8
8
|
import {NOTATION} from '@datagrok-libraries/bio/src/utils/macromolecule';
|
|
9
|
-
import {IMonomerLibHelper, getMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
9
|
+
import {IMonomerLibHelper, getMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
10
10
|
|
|
11
11
|
import {
|
|
12
12
|
getUserLibSettings, setUserLibSettings
|
|
@@ -5,7 +5,7 @@ import * as DG from 'datagrok-api/dg';
|
|
|
5
5
|
import {after, before, category, expect, test} from '@datagrok-libraries/utils/src/test';
|
|
6
6
|
import {ISeqHelper, getSeqHelper} from '@datagrok-libraries/bio/src/utils/seq-helper';
|
|
7
7
|
import {NOTATION} from '@datagrok-libraries/bio/src/utils/macromolecule';
|
|
8
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
8
|
+
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
9
9
|
import {getUserLibSettings, setUserLibSettings} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
10
10
|
import {UserLibSettings} from '@datagrok-libraries/bio/src/monomer-works/types';
|
|
11
11
|
|
|
@@ -8,9 +8,9 @@ import {after, before, category, test, expect, expectArray} from '@datagrok-libr
|
|
|
8
8
|
import {TAGS as bioTAGS, splitterAsFasta} from '@datagrok-libraries/bio/src/utils/macromolecule';
|
|
9
9
|
import {splitterAsHelm} from '@datagrok-libraries/bio/src/utils/macromolecule/utils';
|
|
10
10
|
import {ISeqSplitted} from '@datagrok-libraries/bio/src/utils/macromolecule/types';
|
|
11
|
-
import {IMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
11
|
+
import {IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
12
12
|
import {UserLibSettings} from '@datagrok-libraries/bio/src/monomer-works/types';
|
|
13
|
-
import {getMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
13
|
+
import {getMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
14
14
|
import {ISeqHelper, getSeqHelper} from '@datagrok-libraries/bio/src/utils/seq-helper';
|
|
15
15
|
|
|
16
16
|
import {splitToMonomersUI} from '../utils/split-to-monomers';
|
|
@@ -8,7 +8,7 @@ import $ from 'cash-dom';
|
|
|
8
8
|
import wu from 'wu';
|
|
9
9
|
|
|
10
10
|
import {after, before, category, test, expect, delay, testEvent, awaitCheck} from '@datagrok-libraries/utils/src/test';
|
|
11
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
11
|
+
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
12
12
|
import {
|
|
13
13
|
getUserLibSettings, setUserLibSettings
|
|
14
14
|
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
@@ -159,7 +159,7 @@ category('bio-substructure-filters', async () => {
|
|
|
159
159
|
const view = grok.shell.addTableView(df);
|
|
160
160
|
await grok.data.detectSemanticTypes(df);
|
|
161
161
|
await df.meta.detectSemanticTypes();
|
|
162
|
-
|
|
162
|
+
|
|
163
163
|
_package.logger.debug(`${logPrefix}, filter attaching.`);
|
|
164
164
|
const filter = new BioSubstructureFilter(seqHelper, _package.logger);
|
|
165
165
|
filter.attach(df);
|
|
@@ -168,7 +168,7 @@ category('bio-substructure-filters', async () => {
|
|
|
168
168
|
try {
|
|
169
169
|
const bf = filter.bioFilter as HelmBioFilter;
|
|
170
170
|
expect(filter.bioFilter !== null, true, 'bioFilter is not created');
|
|
171
|
-
|
|
171
|
+
|
|
172
172
|
// filter 1
|
|
173
173
|
_package.logger.debug(`${logPrefix}, filter 1 change awaiting...`);
|
|
174
174
|
await testEvent(df.onRowsFiltered, () => {}, () => {
|
|
@@ -177,7 +177,7 @@ category('bio-substructure-filters', async () => {
|
|
|
177
177
|
_package.logger.debug(`${logPrefix}, filter 1 changed.`);
|
|
178
178
|
expect(filter.dataFrame!.filter.trueCount, 1);
|
|
179
179
|
expect(filter.dataFrame!.filter.toBinaryString(), '0001');
|
|
180
|
-
|
|
180
|
+
|
|
181
181
|
// filter 2
|
|
182
182
|
_package.logger.debug(`${logPrefix}, filter 2 change awaiting...`);
|
|
183
183
|
await testEvent(df.onRowsFiltered, () => {}, () => {
|
|
@@ -206,9 +206,9 @@ category('bio-substructure-filters', async () => {
|
|
|
206
206
|
const col = df.getCol('HELM string');
|
|
207
207
|
await grok.data.detectSemanticTypes(df);
|
|
208
208
|
const view = grok.shell.addTableView(df);
|
|
209
|
-
|
|
209
|
+
|
|
210
210
|
const fg = view.getFiltersGroup();
|
|
211
|
-
|
|
211
|
+
|
|
212
212
|
// await awaitCheck(() => fg.filters.length == 1, 'await filters.length == 1', 1000);
|
|
213
213
|
// const filter = fg.filters.filter((f) => f.columnName == col.name)[0] as BioSubstructureFilter;
|
|
214
214
|
await awaitGrid(view.grid);
|
|
@@ -287,10 +287,10 @@ category('bio-substructure-filters', async () => {
|
|
|
287
287
|
const df = await _package.files.readCsv('tests/filter_HELM.csv');
|
|
288
288
|
await grok.data.detectSemanticTypes(df);
|
|
289
289
|
const view = grok.shell.addTableView(df);
|
|
290
|
-
|
|
290
|
+
|
|
291
291
|
const fSubStr: string = 'PEPTIDE1{A.C}$$$$V2.0';
|
|
292
292
|
const fTrueCount: number = 1;
|
|
293
|
-
|
|
293
|
+
|
|
294
294
|
const f1 = await createFilter('HELM string', df);
|
|
295
295
|
const f2 = await createFilter('HELM string', df);
|
|
296
296
|
const dlg = ui.dialog('Test filters').add(f1.root).add(f2.root).show(); // to waitForElementInDom
|
|
@@ -302,18 +302,18 @@ category('bio-substructure-filters', async () => {
|
|
|
302
302
|
expect(f2.bioFilter!.type, 'HelmBioFilter');
|
|
303
303
|
const bf1 = f1.bioFilter as HelmBioFilter;
|
|
304
304
|
const bf2 = f2.bioFilter as HelmBioFilter;
|
|
305
|
-
|
|
305
|
+
|
|
306
306
|
await testEvent(df.onRowsFiltered, () => {}, () => {
|
|
307
307
|
bf1.props = new BioFilterProps(fSubStr, undefined, _package.logger);
|
|
308
308
|
}, 60000, 'await onRowsFiltered'); // wait to load monomers
|
|
309
309
|
await awaitGrid(view.grid);
|
|
310
310
|
//debugger;
|
|
311
|
-
|
|
311
|
+
|
|
312
312
|
_package.logger.debug('Bio tests: substructureFilters/sync-helm, before changed event');
|
|
313
313
|
await delay(f1.debounceTime * 2);
|
|
314
314
|
_package.logger.debug('Bio tests: substructureFilters/sync-helm, after changed event');
|
|
315
315
|
expect(df.filter.trueCount, fTrueCount);
|
|
316
|
-
|
|
316
|
+
|
|
317
317
|
await f1.awaitRendered();
|
|
318
318
|
expect(bf2.props.substructure, fSubStr);
|
|
319
319
|
} finally {
|
|
@@ -8,9 +8,9 @@ import wu from 'wu';
|
|
|
8
8
|
import {before, after, category, test, expectArray, expect} from '@datagrok-libraries/utils/src/test';
|
|
9
9
|
import {RDModule} from '@datagrok-libraries/chem-meta/src/rdkit-api';
|
|
10
10
|
import {_toAtomicLevel} from '@datagrok-libraries/bio/src/monomer-works/to-atomic-level';
|
|
11
|
-
import {IMonomerLib} from '@datagrok-libraries/bio/src/types';
|
|
11
|
+
import {IMonomerLib} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
12
12
|
import {ALPHABET, NOTATION, TAGS as bioTAGS} from '@datagrok-libraries/bio/src/utils/macromolecule';
|
|
13
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
13
|
+
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
14
14
|
import {
|
|
15
15
|
getUserLibSettings, setUserLibSettings
|
|
16
16
|
} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
@@ -2,9 +2,9 @@ import * as DG from 'datagrok-api/dg';
|
|
|
2
2
|
import * as grok from 'datagrok-api/grok';
|
|
3
3
|
|
|
4
4
|
import {after, before, category, expect, expectArray, test} from '@datagrok-libraries/utils/src/test';
|
|
5
|
-
import {IMonomerLib} from '@datagrok-libraries/bio/src/types';
|
|
5
|
+
import {IMonomerLib} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
6
6
|
import {sequenceToMolfile} from '../utils/sequence-to-mol';
|
|
7
|
-
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/
|
|
7
|
+
import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
8
8
|
import {getUserLibSettings, setUserLibSettings} from '@datagrok-libraries/bio/src/monomer-works/lib-settings';
|
|
9
9
|
import {UserLibSettings} from '@datagrok-libraries/bio/src/monomer-works/types';
|
|
10
10
|
|
|
@@ -20,7 +20,6 @@ type TestDataType = {
|
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
category('toAtomicLevel-ui', () => {
|
|
23
|
-
|
|
24
23
|
let monomerLibHelper: IMonomerLibHelper;
|
|
25
24
|
let userLibSettings: UserLibSettings;
|
|
26
25
|
let seqHelper: ISeqHelper;
|
|
@@ -64,16 +63,16 @@ category('toAtomicLevel-ui', () => {
|
|
|
64
63
|
},
|
|
65
64
|
};
|
|
66
65
|
|
|
67
|
-
// const fastaCsv = `seq
|
|
68
|
-
// MDYKETLLMPKTDFPMRGGLPNKEPQIQEKW
|
|
69
|
-
// MIEVFLFGIVLGLIPITLAGLFVTAYLQYRRGDQLDL
|
|
70
|
-
// MMELVLKTIIGPIVVGVVLRIVDKWLNKDK
|
|
71
|
-
// `;
|
|
72
|
-
// const helmCsv = `seq
|
|
73
|
-
// PEPTIDE1{meI.hHis.Aca.N.T.dK.Thr_PO3H2.Aca.D-Tyr_Et.Aze.dV.E.N.dV.Phe_4Me}$$$$
|
|
74
|
-
// PEPTIDE1{meI.hHis.Aca.N.T.dK.Thr_PO3H2.Aca.meM.D-Chg.dV.E.N.D-Orn.D-aThr.Phe_4Me}$$$$
|
|
75
|
-
// PEPTIDE1{meI.Aca.N.T.dK.Thr_PO3H2.Aca.D-Tyr_Et.Tyr_ab-dehydroMe.dV.D-Cit.N.D-Orn.D-aThr.Phe_4Me}$$$$
|
|
76
|
-
// `;
|
|
66
|
+
// const fastaCsv = `seq
|
|
67
|
+
// MDYKETLLMPKTDFPMRGGLPNKEPQIQEKW
|
|
68
|
+
// MIEVFLFGIVLGLIPITLAGLFVTAYLQYRRGDQLDL
|
|
69
|
+
// MMELVLKTIIGPIVVGVVLRIVDKWLNKDK
|
|
70
|
+
// `;
|
|
71
|
+
// const helmCsv = `seq
|
|
72
|
+
// PEPTIDE1{meI.hHis.Aca.N.T.dK.Thr_PO3H2.Aca.D-Tyr_Et.Aze.dV.E.N.dV.Phe_4Me}$$$$
|
|
73
|
+
// PEPTIDE1{meI.hHis.Aca.N.T.dK.Thr_PO3H2.Aca.meM.D-Chg.dV.E.N.D-Orn.D-aThr.Phe_4Me}$$$$
|
|
74
|
+
// PEPTIDE1{meI.Aca.N.T.dK.Thr_PO3H2.Aca.D-Tyr_Et.Tyr_ab-dehydroMe.dV.D-Cit.N.D-Orn.D-aThr.Phe_4Me}$$$$
|
|
75
|
+
// `;
|
|
77
76
|
|
|
78
77
|
const getSeqCol = async (testData: TestDataType): Promise<DG.Column<string>> => {
|
|
79
78
|
const seq = testData.src.seq;
|
|
@@ -98,7 +97,7 @@ category('toAtomicLevel-ui', () => {
|
|
|
98
97
|
await _testToAtomicLevelFunc(seqCol, true, testData.tgt);
|
|
99
98
|
});
|
|
100
99
|
}
|
|
101
|
-
}
|
|
100
|
+
}
|
|
102
101
|
|
|
103
102
|
async function _testToAtomicLevelFunc(
|
|
104
103
|
seqCol: DG.Column<string>, nonlinear: boolean, tgt: TestDataTargetType,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
} from '@datagrok-libraries/bio/src/utils/macromolecule';
|
|
21
21
|
import {ISeqHelper} from '@datagrok-libraries/bio/src/utils/seq-helper';
|
|
22
22
|
import {getSplitter} from '@datagrok-libraries/bio/src/utils/macromolecule/utils';
|
|
23
|
-
import {IMonomerLibBase} from '@datagrok-libraries/bio/src/types';
|
|
23
|
+
import {IMonomerLibBase} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
24
24
|
import {GapOriginals} from '@datagrok-libraries/bio/src/utils/macromolecule/consts';
|
|
25
25
|
import {execMonomerHoverLinks} from '@datagrok-libraries/bio/src/monomer-works/monomer-hover';
|
|
26
26
|
import {CellRendererBackBase, getGridCellColTemp} from '@datagrok-libraries/bio/src/utils/cell-renderer-back-base';
|
|
@@ -4,7 +4,7 @@ import * as OCL from 'openchemlib/full';
|
|
|
4
4
|
|
|
5
5
|
import {errInfo} from '@datagrok-libraries/bio/src/utils/err-info';
|
|
6
6
|
import {RDModule, RDMol} from '@datagrok-libraries/chem-meta/src/rdkit-api';
|
|
7
|
-
import {IMonomerLibBase} from '@datagrok-libraries/bio/src/types/
|
|
7
|
+
import {IMonomerLibBase} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
8
8
|
import {IHelmHelper} from '@datagrok-libraries/bio/src/helm/helm-helper';
|
|
9
9
|
import {MolfileWithMap, MonomerMap} from '@datagrok-libraries/bio/src/monomer-works/types';
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ export abstract class MolfileBonds {
|
|
|
4
4
|
protected bondedAtomPairs: number[][] = [];
|
|
5
5
|
protected rawBondLines: string[] = [];
|
|
6
6
|
|
|
7
|
-
public get count(): number { return this.bondedAtomPairs.length;}
|
|
7
|
+
public get count(): number { return this.bondedAtomPairs.length; }
|
|
8
8
|
|
|
9
9
|
/** Get bond lines with new values for bonded atoms */
|
|
10
10
|
abstract getBondLines(): string[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {IMonomerLib, IMonomerLibBase, Monomer} from '@datagrok-libraries/bio/src/types';
|
|
1
|
+
import {IMonomerLib, IMonomerLibBase, Monomer} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
2
2
|
import {HELM_RGROUP_FIELDS} from '@datagrok-libraries/bio/src/utils/const';
|
|
3
3
|
import {RDModule, RDMol} from '@datagrok-libraries/chem-meta/src/rdkit-api';
|
|
4
4
|
import {MolfileHandler} from '@datagrok-libraries/chem-meta/src/parsing-utils/molfile-handler';
|
|
@@ -3,7 +3,7 @@ import wu from 'wu';
|
|
|
3
3
|
import {RDModule} from '@datagrok-libraries/chem-meta/src/rdkit-api';
|
|
4
4
|
import {V3K_CONST} from '@datagrok-libraries/chem-meta/src/formats/molfile-const';
|
|
5
5
|
import {HelmTypes, PolymerTypes} from '@datagrok-libraries/bio/src/helm/consts';
|
|
6
|
-
import {IMonomerLib, IMonomerLibBase} from '@datagrok-libraries/bio/src/types/
|
|
6
|
+
import {IMonomerLib, IMonomerLibBase} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
7
7
|
import {NOTATION} from '@datagrok-libraries/bio/src/utils/macromolecule';
|
|
8
8
|
import {GapOriginals} from '@datagrok-libraries/bio/src/utils/macromolecule/consts';
|
|
9
9
|
import {MolfileWithMap, MonomerMap} from '@datagrok-libraries/bio/src/monomer-works/types';
|
|
@@ -2,7 +2,7 @@ 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 {IMonomerLibBase} from '@datagrok-libraries/bio/src/types';
|
|
5
|
+
import {IMonomerLibBase} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
6
6
|
|
|
7
7
|
import {SeqHelper} from '../seq-helper';
|
|
8
8
|
|
|
@@ -14,7 +14,8 @@ export async function getMolColumnFromHelm(
|
|
|
14
14
|
): Promise<DG.Column<string>> {
|
|
15
15
|
const seqHelper: SeqHelper = _package.seqHelper as SeqHelper;
|
|
16
16
|
const converter = await seqHelper.getHelmToMolfileConverter(monomerLib);
|
|
17
|
-
const molCol = converter
|
|
17
|
+
const molCol = converter
|
|
18
|
+
.convertToRdKitBeautifiedMolfileColumn(helmCol, chiralityEngine, _package.rdKitModule, monomerLib);
|
|
18
19
|
molCol.semType = DG.SEMTYPE.MOLECULE;
|
|
19
20
|
return molCol;
|
|
20
21
|
}
|
|
@@ -2,9 +2,8 @@ import * as grok from 'datagrok-api/grok';
|
|
|
2
2
|
import * as DG from 'datagrok-api/dg';
|
|
3
3
|
import * as ui from 'datagrok-api/ui';
|
|
4
4
|
|
|
5
|
-
import {getMonomerLibHelper} from '@datagrok-libraries/bio/src/monomer-works/monomer-utils';
|
|
6
5
|
import {CellRendererBackBase} from '@datagrok-libraries/bio/src/utils/cell-renderer-back-base';
|
|
7
|
-
import {IMonomerLibBase} from '@datagrok-libraries/bio/src/types/
|
|
6
|
+
import {IMonomerLibBase, getMonomerLibHelper} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
8
7
|
import {ISeqHelper, getSeqHelper} from '@datagrok-libraries/bio/src/utils/seq-helper';
|
|
9
8
|
|
|
10
9
|
import {_package} from '../package';
|
|
@@ -3,12 +3,7 @@ import * as ui from 'datagrok-api/ui';
|
|
|
3
3
|
import * as DG from 'datagrok-api/dg';
|
|
4
4
|
|
|
5
5
|
import {UserLibSettings} from '@datagrok-libraries/bio/src/monomer-works/types';
|
|
6
|
-
import {MonomerLibSummaryType} from '@datagrok-libraries/bio/src/types/
|
|
7
|
-
|
|
8
|
-
export const LIB_PATH = 'System:AppData/Bio/monomer-libraries/';
|
|
9
|
-
export const SETS_PATH: string = 'System:AppData/Bio/monomer-sets/';
|
|
10
|
-
|
|
11
|
-
export const HELM_JSON_SCHEMA_PATH = 'System:AppData/Bio/tests/libraries/HELMmonomerSchema.json';
|
|
6
|
+
import {MonomerLibSummaryType} from '@datagrok-libraries/bio/src/types/monomer-library';
|
|
12
7
|
|
|
13
8
|
export const LIB_SETTINGS_FOR_TESTS: UserLibSettings =
|
|
14
9
|
{explicit: ['HELMCoreLibrary.json', 'polytool-lib.json'], exclude: [], duplicateMonomerPreferences: {}};
|