@datagrok/bio 2.16.8 → 2.16.9
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 +4 -0
- package/dist/package-test.js +1 -1
- 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.ts +28 -33
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "Aleksandr Tanas",
|
|
6
6
|
"email": "atanas@datagrok.ai"
|
|
7
7
|
},
|
|
8
|
-
"version": "2.16.
|
|
8
|
+
"version": "2.16.9",
|
|
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",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@biowasm/aioli": "^3.1.0",
|
|
40
|
-
"@datagrok-libraries/bio": "^5.45.
|
|
40
|
+
"@datagrok-libraries/bio": "^5.45.7",
|
|
41
41
|
"@datagrok-libraries/chem-meta": "^1.2.7",
|
|
42
42
|
"@datagrok-libraries/math": "^1.2.2",
|
|
43
43
|
"@datagrok-libraries/ml": "^6.7.4",
|
package/src/package.ts
CHANGED
|
@@ -102,52 +102,46 @@ let initBioPromise: Promise<void> | null = null;
|
|
|
102
102
|
|
|
103
103
|
//tags: init
|
|
104
104
|
export async function initBio(): Promise<void> {
|
|
105
|
-
if (initBioPromise === null)
|
|
105
|
+
if (initBioPromise === null)
|
|
106
106
|
initBioPromise = initBioInt();
|
|
107
|
-
|
|
107
|
+
|
|
108
108
|
await initBioPromise;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
async function initBioInt() {
|
|
112
112
|
const logPrefix = 'Bio: _package.initBio()';
|
|
113
113
|
_package.logger.debug(`${logPrefix}, start`);
|
|
114
|
-
let monomerLib!: IMonomerLib;
|
|
115
|
-
let monomerSets!: IMonomerSet;
|
|
116
|
-
let rdKitModule!: RDModule;
|
|
117
|
-
let libHelper!: MonomerLibManager;
|
|
118
114
|
const t1: number = window.performance.now();
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
const bioPkgProps = new BioPackageProperties(pkgProps);
|
|
138
|
-
_package.properties = bioPkgProps;
|
|
139
|
-
})(),
|
|
140
|
-
(async () => { rdKitModule = await getRdKitModule(); })(),
|
|
141
|
-
]).finally(() => {
|
|
142
|
-
const t2: number = window.performance.now();
|
|
143
|
-
_package.logger.debug(`${logPrefix}, loading ET: ${t2 - t1} ms`);
|
|
115
|
+
// very important that loading should happen in correct order!
|
|
116
|
+
// first make sure chem and rdkit module are loaded
|
|
117
|
+
const rdKitModule = await getRdKitModule();
|
|
118
|
+
// then load package settings
|
|
119
|
+
const pkgProps = await _package.getProperties();
|
|
120
|
+
const bioPkgProps = new BioPackageProperties(pkgProps);
|
|
121
|
+
_package.properties = bioPkgProps;
|
|
122
|
+
// then load monomer lib
|
|
123
|
+
const libHelper = await MonomerLibManager.getInstance();
|
|
124
|
+
// Fix user lib settings for explicit stuck from a terminated test
|
|
125
|
+
const libSettings = await getUserLibSettings();
|
|
126
|
+
if (libSettings.explicit) {
|
|
127
|
+
libSettings.explicit = [];
|
|
128
|
+
await setUserLibSettings(libSettings);
|
|
129
|
+
}
|
|
130
|
+
libHelper.awaitLoaded(Infinity).then(() => {
|
|
131
|
+
// Do not wait for monomers and sets loaded
|
|
132
|
+
return Promise.all([libHelper.loadMonomerLib(), libHelper.loadMonomerSets()]);
|
|
144
133
|
});
|
|
145
|
-
const
|
|
146
|
-
|
|
134
|
+
const monomerLib = libHelper.getMonomerLib();
|
|
135
|
+
const monomerSets = libHelper.getMonomerSets();
|
|
136
|
+
// finally log
|
|
137
|
+
const t2: number = window.performance.now();
|
|
138
|
+
_package.logger.debug(`${logPrefix}, loading ET: ${t2 - t1} ms`);
|
|
147
139
|
|
|
148
140
|
const monomers: string[] = [];
|
|
149
141
|
const logPs: number[] = [];
|
|
150
142
|
|
|
143
|
+
const seqHelper = new SeqHelper(libHelper, rdKitModule);
|
|
144
|
+
_package.completeInit(seqHelper, monomerLib, monomerSets, rdKitModule);
|
|
151
145
|
const series = monomerLib!.getMonomerMolsByPolymerType('PEPTIDE')!;
|
|
152
146
|
Object.keys(series).forEach((symbol) => {
|
|
153
147
|
monomers.push(symbol);
|
|
@@ -1216,6 +1210,7 @@ export async function detectMacromoleculeProbe(file: DG.FileInfo, colName: strin
|
|
|
1216
1210
|
//name: getSeqHelper
|
|
1217
1211
|
//output: object result
|
|
1218
1212
|
export async function getSeqHelper(): Promise<ISeqHelper> {
|
|
1213
|
+
await initBio();
|
|
1219
1214
|
return _package.seqHelper;
|
|
1220
1215
|
}
|
|
1221
1216
|
|