@datagrok-libraries/bio 5.39.13 → 5.39.14

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/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "access": "public"
9
9
  },
10
10
  "friendlyName": "Datagrok bio library",
11
- "version": "5.39.13",
11
+ "version": "5.39.14",
12
12
  "description": "",
13
13
  "dependencies": {
14
14
  "@datagrok-libraries/gridext": "^1.3.68",
@@ -36,4 +36,10 @@ export declare function calculateMonomerSimilarity(monomerSet: string[]): Promis
36
36
  [monomerId: string]: number;
37
37
  };
38
38
  }>;
39
+ export declare function getMonomerSubstitutionMatrix(monomerSet: string[], fingerprintType?: string): Promise<{
40
+ scoringMatrix: number[][];
41
+ alphabetIndexes: {
42
+ [monomerId: string]: number;
43
+ };
44
+ }>;
39
45
  //# sourceMappingURL=monomer-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAOtC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAe,MAAM,8BAA8B,CAAC;AAIxE,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAuB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAsB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAmBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAGD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CA8BpE;AAED,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,SAAS,IAAI,WAAW,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,6DAA6D;IAC7D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACnE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAOtE;AAED;;;;;0EAK0E;AAC1E,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1I,wBAAsB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AA0DhJ;;+KAE+K;AAC/K,wBAAsB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,GAClE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,eAAe,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAA;CAAC,CAAC,CAoBtF"}
1
+ {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAOtC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAe,MAAM,8BAA8B,CAAC;AAMxE,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAuB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAsB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAmBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAGD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CA8BpE;AAED,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,SAAS,IAAI,WAAW,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,6DAA6D;IAC7D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACnE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAOtE;AAED;;;;;0EAK0E;AAC1E,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1I,wBAAsB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AA0DhJ;;+KAE+K;AAC/K,wBAAsB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,GAClE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,eAAe,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAA;CAAC,CAAC,CAoBtF;AAED,wBAAsB,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,eAAe,GAAE,MAAiB,GACxG,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,eAAe,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAA;CAAC,CAAC,CAmCtF"}
@@ -4,6 +4,7 @@ import * as grok from 'datagrok-api/grok';
4
4
  import { HELM_CORE_FIELDS, jsonSdfMonomerLibDict, MONOMER_ENCODE_MAX, MONOMER_ENCODE_MIN, SDF_MONOMER_NAME, } from '../utils/const';
5
5
  import { UnitsHandler } from '../utils/units-handler';
6
6
  import { splitAlignedSequences } from '../utils/splitter';
7
+ import { tanimotoSimilarity } from '@datagrok-libraries/ml/src/distance-metrics-methods';
7
8
  export function encodeMonomers(col) {
8
9
  let encodeSymbol = MONOMER_ENCODE_MIN;
9
10
  const monomerSymbolDict = {};
@@ -192,4 +193,38 @@ export async function calculateMonomerSimilarity(monomerSet) {
192
193
  }
193
194
  return { scoringMatrix, alphabetIndexes };
194
195
  }
196
+ export async function getMonomerSubstitutionMatrix(monomerSet, fingerprintType = 'Morgan') {
197
+ const libHelper = await getMonomerLibHelper();
198
+ const monomerLib = libHelper.getBioLib();
199
+ const scoringMatrix = new Array(monomerSet.length).fill(0).map(() => new Array(monomerSet.length).fill(0));
200
+ const alphabetIndexes = {};
201
+ const monomerMolecules = monomerSet.map((monomer) => monomerLib.getMonomer('PEPTIDE', monomer)?.smiles ?? '');
202
+ const fingerprintsFunc = DG.Func.find({ package: 'Chem', name: 'getFingerprints' })[0];
203
+ if (!fingerprintsFunc) {
204
+ console.warn('Function "Chem:getFingerprints" is not found in chem package. falling back to Morgan fingerprints');
205
+ return await calculateMonomerSimilarity(monomerSet);
206
+ }
207
+ const monomerMoleculesCol = DG.Column.fromStrings('smiles', monomerMolecules);
208
+ // needed for function to work
209
+ const _unusedMolDf = DG.DataFrame.fromColumns([monomerMoleculesCol]);
210
+ const fingerPrints = (await fingerprintsFunc.apply({ col: monomerMoleculesCol, fingerprintType: fingerprintType }))?.entries;
211
+ if (!fingerPrints) {
212
+ console.warn(`${fingerprintType} Fingerprints could not be calculated for monomers from chem package.
213
+ falling back to Morgan fingerprints`);
214
+ return await calculateMonomerSimilarity(monomerSet);
215
+ }
216
+ for (let i = 0; i < fingerPrints.length; ++i) {
217
+ scoringMatrix[i][i] = 1;
218
+ alphabetIndexes[monomerSet[i]] = i;
219
+ if (!fingerPrints[i])
220
+ continue;
221
+ for (let j = i + 1; j < fingerPrints.length; ++j) {
222
+ if (!fingerPrints[j])
223
+ continue;
224
+ scoringMatrix[i][j] = scoringMatrix[j][i] = tanimotoSimilarity(fingerPrints[i], fingerPrints[j]);
225
+ }
226
+ }
227
+ return { scoringMatrix, alphabetIndexes };
228
+ }
229
+ ;
195
230
  //# sourceMappingURL=monomer-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-utils.js","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monomer-utils.js","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"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"}