@datagrok-libraries/bio 5.61.0 → 5.61.1
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
CHANGED
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
10
10
|
"friendlyName": "Datagrok bio library",
|
|
11
|
-
"version": "5.61.
|
|
11
|
+
"version": "5.61.1",
|
|
12
12
|
"description": "Bio utilities, types supporting Macromolecule, Molecule3D data",
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@datagrok-libraries/chem-meta": "^1.2.7",
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { UserLibSettings } from './types';
|
|
2
|
-
export declare const LIB_STORAGE_NAME = "Libraries";
|
|
3
|
-
export declare const SETS_STORAGE_NAME: string;
|
|
4
2
|
export declare function getUserLibSettings(): Promise<UserLibSettings>;
|
|
5
3
|
export declare function setUserLibSettings(value: UserLibSettings): Promise<void>;
|
|
6
4
|
//# sourceMappingURL=lib-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib-settings.d.ts","sourceRoot":"","sources":["lib-settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lib-settings.d.ts","sourceRoot":"","sources":["lib-settings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAiBxC,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAyBnE;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB9E"}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
|
+
/* eslint-disable max-len */
|
|
1
2
|
import * as grok from 'datagrok-api/grok';
|
|
2
3
|
// -- Monomer libraries --
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
const LIB_STORAGE_NAME = 'Libraries';
|
|
5
|
+
const LIB_SETTINGS_KEY = 'Settings';
|
|
6
|
+
const DUPLICATE_MONOMER_PREFERENCES_KEY = 'DuplicateMonomerPreferences';
|
|
5
7
|
let userLibSettingsPromise = Promise.resolve();
|
|
6
8
|
export async function getUserLibSettings() {
|
|
7
9
|
let res;
|
|
8
10
|
userLibSettingsPromise = userLibSettingsPromise.then(async () => {
|
|
9
|
-
const resStr = grok.userSettings.getValue(LIB_STORAGE_NAME,
|
|
11
|
+
const resStr = await grok.userSettings.getValue(LIB_STORAGE_NAME, LIB_SETTINGS_KEY, true);
|
|
10
12
|
res = resStr ? JSON.parse(resStr) : { exclude: [], explicit: [], duplicateMonomerPreferences: {} };
|
|
13
|
+
const duplicatePrefsStr = await grok.userSettings.getValue(LIB_STORAGE_NAME, DUPLICATE_MONOMER_PREFERENCES_KEY, true);
|
|
14
|
+
const duplicatePrefs = duplicatePrefsStr ? JSON.parse(duplicatePrefsStr) : {};
|
|
11
15
|
// Fix empty object returned in case there is no settings stored for user
|
|
12
16
|
res.exclude = res.exclude instanceof Array ? res.exclude : [];
|
|
13
17
|
res.explicit = res.explicit instanceof Array ? res.explicit : [];
|
|
14
18
|
res.duplicateMonomerPreferences = res.duplicateMonomerPreferences instanceof Object ?
|
|
15
19
|
res.duplicateMonomerPreferences : {};
|
|
20
|
+
// migrate from short hand if needed
|
|
21
|
+
for (const polymerType in duplicatePrefs) {
|
|
22
|
+
res.duplicateMonomerPreferences[polymerType] = res.duplicateMonomerPreferences[polymerType] ?? {};
|
|
23
|
+
for (const libraryName in duplicatePrefs[polymerType]) {
|
|
24
|
+
for (const monomerSymbol of duplicatePrefs[polymerType][libraryName])
|
|
25
|
+
res.duplicateMonomerPreferences[polymerType][monomerSymbol] = libraryName;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
16
28
|
console.debug(`Bio: getUserLibSettings()\n${JSON.stringify(res, undefined, 2)}`);
|
|
17
29
|
});
|
|
18
30
|
await userLibSettingsPromise;
|
|
@@ -20,8 +32,21 @@ export async function getUserLibSettings() {
|
|
|
20
32
|
}
|
|
21
33
|
export async function setUserLibSettings(value) {
|
|
22
34
|
userLibSettingsPromise = userLibSettingsPromise.then(async () => {
|
|
35
|
+
value.duplicateMonomerPreferences = value.duplicateMonomerPreferences ?? {};
|
|
23
36
|
console.debug(`Bio: setUserLibSettings()\n${JSON.stringify(value, undefined, 2)}`);
|
|
24
|
-
|
|
37
|
+
// extract short hand for duplicateMonomerPreferences
|
|
38
|
+
const duplicatePrefsShortHand = {};
|
|
39
|
+
for (const polymerType in value.duplicateMonomerPreferences) {
|
|
40
|
+
duplicatePrefsShortHand[polymerType] = {};
|
|
41
|
+
for (const monomerSymbol in value.duplicateMonomerPreferences[polymerType]) {
|
|
42
|
+
const libraryName = value.duplicateMonomerPreferences[polymerType][monomerSymbol];
|
|
43
|
+
duplicatePrefsShortHand[polymerType][libraryName] = duplicatePrefsShortHand[polymerType][libraryName] ?? [];
|
|
44
|
+
duplicatePrefsShortHand[polymerType][libraryName].push(monomerSymbol);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
await grok.userSettings.add(LIB_STORAGE_NAME, DUPLICATE_MONOMER_PREFERENCES_KEY, JSON.stringify(duplicatePrefsShortHand), true);
|
|
48
|
+
value.duplicateMonomerPreferences = {}; // clear to reduce size
|
|
49
|
+
await grok.userSettings.add(LIB_STORAGE_NAME, LIB_SETTINGS_KEY, JSON.stringify(value), true);
|
|
25
50
|
});
|
|
26
51
|
await userLibSettingsPromise;
|
|
27
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib-settings.js","sourceRoot":"","sources":["lib-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAG1C,0BAA0B;AAC1B,MAAM,
|
|
1
|
+
{"version":3,"file":"lib-settings.js","sourceRoot":"","sources":["lib-settings.ts"],"names":[],"mappings":"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"}
|