@datagrok-libraries/bio 5.43.1 → 5.44.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.
Files changed (86) hide show
  1. package/CHANGELOG.md +27 -3
  2. package/package.json +5 -4
  3. package/src/helm/helm-helper.d.ts +17 -2
  4. package/src/helm/helm-helper.d.ts.map +1 -1
  5. package/src/helm/helm-helper.js +22 -0
  6. package/src/helm/helm-helper.js.map +1 -1
  7. package/src/helm/types.d.ts +4 -2
  8. package/src/helm/types.d.ts.map +1 -1
  9. package/src/monomer-works/consts.d.ts +13 -3
  10. package/src/monomer-works/consts.d.ts.map +1 -1
  11. package/src/monomer-works/consts.js +3 -3
  12. package/src/monomer-works/consts.js.map +1 -1
  13. package/src/monomer-works/monomer-hover.d.ts +10 -0
  14. package/src/monomer-works/monomer-hover.d.ts.map +1 -0
  15. package/src/monomer-works/monomer-hover.js +123 -0
  16. package/src/monomer-works/monomer-hover.js.map +1 -0
  17. package/src/monomer-works/monomer-utils.d.ts.map +1 -1
  18. package/src/monomer-works/monomer-utils.js +3 -2
  19. package/src/monomer-works/monomer-utils.js.map +1 -1
  20. package/src/monomer-works/seq-to-molfile-worker.js +5 -5
  21. package/src/monomer-works/seq-to-molfile-worker.js.map +1 -1
  22. package/src/monomer-works/seq-to-molfile.d.ts +14 -5
  23. package/src/monomer-works/seq-to-molfile.d.ts.map +1 -1
  24. package/src/monomer-works/seq-to-molfile.js +56 -12
  25. package/src/monomer-works/seq-to-molfile.js.map +1 -1
  26. package/src/monomer-works/to-atomic-level-utils.d.ts +7 -7
  27. package/src/monomer-works/to-atomic-level-utils.d.ts.map +1 -1
  28. package/src/monomer-works/to-atomic-level-utils.js +50 -25
  29. package/src/monomer-works/to-atomic-level-utils.js.map +1 -1
  30. package/src/monomer-works/to-atomic-level.d.ts +8 -9
  31. package/src/monomer-works/to-atomic-level.d.ts.map +1 -1
  32. package/src/monomer-works/to-atomic-level.js +40 -47
  33. package/src/monomer-works/to-atomic-level.js.map +1 -1
  34. package/src/monomer-works/types.d.ts +44 -0
  35. package/src/monomer-works/types.d.ts.map +1 -1
  36. package/src/monomer-works/types.js +25 -1
  37. package/src/monomer-works/types.js.map +1 -1
  38. package/src/monomer-works/utils.d.ts +15 -0
  39. package/src/monomer-works/utils.d.ts.map +1 -0
  40. package/src/monomer-works/utils.js +34 -0
  41. package/src/monomer-works/utils.js.map +1 -0
  42. package/src/types/index.d.ts +15 -13
  43. package/src/types/index.d.ts.map +1 -1
  44. package/src/types/index.js +1 -7
  45. package/src/types/index.js.map +1 -1
  46. package/src/utils/cell-renderer-back-base.d.ts +15 -4
  47. package/src/utils/cell-renderer-back-base.d.ts.map +1 -1
  48. package/src/utils/cell-renderer-back-base.js +16 -2
  49. package/src/utils/cell-renderer-back-base.js.map +1 -1
  50. package/src/utils/cell-renderer-consts.d.ts +19 -0
  51. package/src/utils/cell-renderer-consts.d.ts.map +1 -0
  52. package/src/utils/cell-renderer-consts.js +5 -0
  53. package/src/utils/cell-renderer-consts.js.map +1 -0
  54. package/src/utils/cell-renderer-monomer-placer.d.ts +6 -2
  55. package/src/utils/cell-renderer-monomer-placer.d.ts.map +1 -1
  56. package/src/utils/cell-renderer-monomer-placer.js +120 -16
  57. package/src/utils/cell-renderer-monomer-placer.js.map +1 -1
  58. package/src/utils/generator.d.ts.map +1 -1
  59. package/src/utils/generator.js +2 -1
  60. package/src/utils/generator.js.map +1 -1
  61. package/src/utils/macromolecule/alignment.d.ts.map +1 -1
  62. package/src/utils/macromolecule/alignment.js +6 -6
  63. package/src/utils/macromolecule/alignment.js.map +1 -1
  64. package/src/utils/macromolecule/consts.d.ts +7 -1
  65. package/src/utils/macromolecule/consts.d.ts.map +1 -1
  66. package/src/utils/macromolecule/consts.js +8 -0
  67. package/src/utils/macromolecule/consts.js.map +1 -1
  68. package/src/utils/macromolecule/scoring.d.ts.map +1 -1
  69. package/src/utils/macromolecule/scoring.js +1 -1
  70. package/src/utils/macromolecule/scoring.js.map +1 -1
  71. package/src/utils/macromolecule/types.d.ts +2 -4
  72. package/src/utils/macromolecule/types.d.ts.map +1 -1
  73. package/src/utils/macromolecule/types.js +0 -2
  74. package/src/utils/macromolecule/types.js.map +1 -1
  75. package/src/utils/macromolecule/utils.d.ts +0 -4
  76. package/src/utils/macromolecule/utils.d.ts.map +1 -1
  77. package/src/utils/macromolecule/utils.js +11 -13
  78. package/src/utils/macromolecule/utils.js.map +1 -1
  79. package/src/utils/seq-handler.d.ts +2 -3
  80. package/src/utils/seq-handler.d.ts.map +1 -1
  81. package/src/utils/seq-handler.js +22 -11
  82. package/src/utils/seq-handler.js.map +1 -1
  83. package/src/utils/seq-helper.d.ts +6 -15
  84. package/src/utils/seq-helper.d.ts.map +1 -1
  85. package/src/utils/seq-helper.js +0 -1
  86. package/src/utils/seq-helper.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,12 +1,36 @@
1
1
  # bio changelog
2
2
 
3
- ## 5.43.1
3
+ ## 5.44.1 (2024-09-25)
4
+
5
+ ### New features
6
+
7
+ * Add IMonomerLibBase interface for overriding libraries
8
+ * Add custom notation for sequences
9
+
10
+ ## 5.44.0 (2024-09-24)
11
+
12
+ ### New features
13
+
14
+ * Add monomer hover link
15
+ * Add getMolHighlight to build ISubstruct from monomer map
16
+ * Add HelmHelper parse and removeGaps methods
17
+
18
+ ### Bug fixes
19
+
20
+ * Fix toAtomicLevel for sequences with gaps
21
+ * Fix toAtomicLevel for polymerType of sequence monomer
22
+ * Fix ISeqMonomer for biotype and add position
23
+ * Fix ISeqSplitted remove .canonicals and .originals
24
+ * Fix IMonomerLib .getTooltip for biotype of HelmType
25
+ * Fix toAtomicLevel linear for sequences with gaps
26
+
27
+ ## 5.43.1 (2024-09-22)
4
28
 
5
29
  Add monomer background coloring
6
30
 
7
- ## 5.43.0
31
+ ## 5.43.0 (2024-09-18)
8
32
 
9
- Add coloring from monomer library to seaprator/fasta renderer
33
+ Add coloring from monomer library to separator/fasta renderer
10
34
 
11
35
  ## 5.42.15 (2024-09-10)
12
36
 
package/package.json CHANGED
@@ -8,19 +8,20 @@
8
8
  "access": "public"
9
9
  },
10
10
  "friendlyName": "Datagrok bio library",
11
- "version": "5.43.1",
11
+ "version": "5.44.1",
12
12
  "description": "Bio utilities, types supporting Macromolecule, Molecule3D data",
13
13
  "dependencies": {
14
- "@datagrok-libraries/chem-meta": "^1.2.5",
14
+ "@datagrok-libraries/chem-meta": "^1.2.7",
15
15
  "@datagrok-libraries/gridext": "^1.3.71",
16
16
  "@datagrok-libraries/ml": "^6.7.1",
17
- "@datagrok-libraries/utils": "^4.3.0",
17
+ "@datagrok-libraries/utils": "^4.3.4",
18
18
  "@deck.gl/core": "8.8.12",
19
19
  "cash-dom": "latest",
20
20
  "datagrok-api": "^1.21.1",
21
21
  "dayjs": "latest",
22
22
  "fastest-levenshtein": "^1.0.16",
23
23
  "js-base64": "^3.7.5",
24
+ "lru-cache": "^11.0.1",
24
25
  "mjolnir.js": "^2.7.0",
25
26
  "rxjs": "^6.5.5",
26
27
  "uuid": "^9.0.1",
@@ -52,4 +53,4 @@
52
53
  "lint": "eslint \"./src/**/*.ts\"",
53
54
  "lint-fix": "eslint \"./src/**/*.ts\" --fix"
54
55
  }
55
- }
56
+ }
@@ -1,9 +1,9 @@
1
1
  import * as ui from 'datagrok-api/ui';
2
2
  import * as DG from 'datagrok-api/dg';
3
- import type { App } from '@datagrok-libraries/helm-web-editor/helm/App';
3
+ import { Observable } from 'rxjs';
4
+ import type { Point, App, HelmType } from './types';
4
5
  import { MonomersFuncs, HelmMol, HelmString, IHelmWebEditor, HelmAtom, IHelmDrawOptions } from './types';
5
6
  import { IMonomerLib } from '../types/index';
6
- import { Observable } from 'rxjs';
7
7
  export type IHelmInputInitOptions = ui.input.IInputInitOptions<HelmString | HelmMol> & {
8
8
  editable: boolean;
9
9
  };
@@ -15,6 +15,17 @@ export declare abstract class HelmInputBase extends DG.JsInputBase<HelmString> {
15
15
  abstract redraw(): void;
16
16
  abstract showTooltip(content: HTMLElement | string, a: HelmAtom): void;
17
17
  }
18
+ /**
19
+ * @property {Map<number, number>} monomerMap srcPosIdx -> resPosIdx
20
+ */
21
+ export type HelmConvertRes = {
22
+ srcHelm: string;
23
+ resHelm: string;
24
+ monomerMap: Map<number, number> | null;
25
+ };
26
+ export declare class HelmNotSupportedError extends Error {
27
+ constructor(message?: string);
28
+ }
18
29
  export interface IHelmHelper {
19
30
  createHelmInput(name: string, options?: IHelmInputInitOptions): HelmInputBase;
20
31
  createHelmWebEditor(host?: HTMLElement, drawOptions?: Partial<IHelmDrawOptions>): IHelmWebEditor;
@@ -26,6 +37,8 @@ export interface IHelmHelper {
26
37
  getHoveredAtom(x: number, y: number, mol: HelmMol, height: number): HelmAtom | null;
27
38
  /** Gets pseudo molfiles with monomers as atoms */
28
39
  getMolfiles(helmStrList: string[]): string[];
40
+ parse(helm: string, origin?: Point): HelmMol;
41
+ removeGaps(helm: string): HelmConvertRes;
29
42
  }
30
43
  export declare function getHelmHelper(): Promise<IHelmHelper>;
31
44
  declare module 'datagrok-api/ui' {
@@ -36,4 +49,6 @@ declare module 'datagrok-api/ui' {
36
49
  function helmAsync(name: string, options?: IHelmInputInitOptions): Promise<HelmInputBase>;
37
50
  }
38
51
  }
52
+ /** Inputs logic */
53
+ export declare function getMonomerHandleArgs(a: HelmAtom | HelmType, name?: string): [ /** biotype *//** biotype */ HelmType, /** elem */ string];
39
54
  //# sourceMappingURL=helm-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helm-helper.d.ts","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,8CAA8C,CAAC;AACtE,OAAO,EACW,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAC/F,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG;IACrF,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,8BAAsB,aAAc,SAAQ,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;IACpE,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC;IACjC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE;IAEtC,QAAQ,KAAK,WAAW,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAEnD,QAAQ,KAAK,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAE/C,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI;CACvE;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,aAAa,CAAC;IAE9E,mBAAmB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;IAEjG,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAE7D,IAAI,qBAAqB,IAAI,aAAa,GAAG,IAAI,CAAC;IAElD,yBAAyB,CAAC,UAAU,EAAE,WAAW,GAAG,aAAa,CAAC;IAElE,qBAAqB,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC;IACnE,2BAA2B,IAAI,aAAa,CAAC;IAE7C,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEpF,kDAAkD;IAClD,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;CAC9C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D;AAED,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAiB,KAAK,CAAC;QACrB;;WAEG;QACH,SAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;KAClG;CACF"}
1
+ {"version":3,"file":"helm-helper.d.ts","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,OAAO,KAAK,EAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAClD,OAAO,EACW,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAC/F,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG;IACrF,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,8BAAsB,aAAc,SAAQ,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;IACpE,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC;IACjC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE;IAEtC,QAAQ,KAAK,WAAW,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAEnD,QAAQ,KAAK,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAE/C,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI;CACvE;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACxC,CAAA;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,aAAa,CAAC;IAE9E,mBAAmB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;IAEjG,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAE7D,IAAI,qBAAqB,IAAI,aAAa,GAAG,IAAI,CAAC;IAElD,yBAAyB,CAAC,UAAU,EAAE,WAAW,GAAG,aAAa,CAAC;IAElE,qBAAqB,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC;IACnE,2BAA2B,IAAI,aAAa,CAAC;IAE7C,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEpF,kDAAkD;IAClD,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAC7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;CAC1C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D;AAED,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAiB,KAAK,CAAC;QACrB;;WAEG;QACH,SAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;KAClG;CACF;AAOD,mBAAmB;AACnB,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GACpC,EAAC,cAAc,AAAd,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAc/C"}
@@ -2,6 +2,11 @@ import * as ui from 'datagrok-api/ui';
2
2
  import * as DG from 'datagrok-api/dg';
3
3
  export class HelmInputBase extends DG.JsInputBase {
4
4
  }
5
+ export class HelmNotSupportedError extends Error {
6
+ constructor(message) {
7
+ super(message);
8
+ }
9
+ }
5
10
  export async function getHelmHelper() {
6
11
  const packageName = 'Helm';
7
12
  const funcList = DG.Func.find({ package: packageName, name: `getHelmHelper` });
@@ -13,4 +18,21 @@ export async function getHelmHelper() {
13
18
  ui.input.helmAsync = async function (name, options) {
14
19
  return (await getHelmHelper()).createHelmInput(name, options);
15
20
  };
21
+ /** Inputs logic */
22
+ export function getMonomerHandleArgs(a, name) {
23
+ if (!a)
24
+ throw new Error(`Argument 'a' of type Atom or HelmType is mandatory.`);
25
+ let biotype;
26
+ let elem;
27
+ const aa = a;
28
+ if (aa.T === 'ATOM') {
29
+ biotype = aa.biotype();
30
+ elem = aa.elem;
31
+ }
32
+ else {
33
+ biotype = a;
34
+ elem = name;
35
+ }
36
+ return [biotype, elem];
37
+ }
16
38
  //# sourceMappingURL=helm-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helm-helper.js","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AActC,MAAM,OAAgB,aAAc,SAAQ,EAAE,CAAC,WAAuB;CAWrE;AAsBD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,qCAAqC,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAiB,CAAC;IACtF,OAAO,GAAG,CAAC;AACb,CAAC;AAWD,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,WACxB,IAAY,EAAE,OAA+B;IAC7C,OAAO,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC,CAAC"}
1
+ {"version":3,"file":"helm-helper.js","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAetC,MAAM,OAAgB,aAAc,SAAQ,EAAE,CAAC,WAAuB;CAWrE;AAWD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAyBD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,qCAAqC,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAiB,CAAC;IACtF,OAAO,GAAG,CAAC;AACb,CAAC;AAWD,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,WACxB,IAAY,EAAE,OAA+B;IAC7C,OAAO,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,mBAAmB;AACnB,MAAM,UAAU,oBAAoB,CAClC,CAAsB,EAAE,IAAa;IAErC,IAAI,CAAC,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,IAAI,OAAiB,CAAC;IACtB,IAAI,IAAY,CAAC;IACjB,MAAM,EAAE,GAAG,CAAa,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,GAAG,EAAE,CAAC,OAAO,EAAG,CAAC;QACxB,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAa,CAAC;QACxB,IAAI,GAAG,IAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { HelmType, PolymerType, MonomerType, IWebEditorMonomer, WebEditorRGroups, IMonomerColors, MonomerSetType } from '@datagrok-libraries/js-draw-lite/src/types/org';
2
+ import type { Point } from '@datagrok-libraries/js-draw-lite/src/Point';
2
3
  import type { Atom } from '@datagrok-libraries/js-draw-lite/src/Atom';
3
4
  import type { IJsAtom } from '@datagrok-libraries/js-draw-lite/src/types/jsdraw2';
4
5
  import type { Bond } from '@datagrok-libraries/js-draw-lite/src/Bond';
@@ -14,13 +15,14 @@ import type { OrgType } from '@datagrok-libraries/helm-web-editor/src/types/org-
14
15
  import type { Monomers } from '@datagrok-libraries/helm-web-editor/helm/Monomers';
15
16
  import type { DojoType, DojoxType } from '@datagrok-libraries/js-draw-lite/src/types/dojo';
16
17
  export { HelmType, PolymerType, MonomerType, WebEditorRGroups };
17
- export { Atom, IJsAtom, Bond, Mol, Editor, MonomerExplorer };
18
+ export { Point, Atom, IJsAtom, Bond, Mol, Editor, MonomerExplorer };
18
19
  export { HelmAtom, HelmBond, HelmMol, HelmEditor, HelmString };
19
20
  export { IWebEditorMonomer, IMonomerColors, IOrgHelmWebEditor, IOrgHelmMonomers, IHelmDrawOptions, App, Monomers, GetMonomerFunc, GetMonomerResType };
20
21
  export { DojoType, DojoxType };
21
22
  export { HweWindow, ScilModuleType, JSDraw2ModuleType, OrgType };
22
23
  export interface ISeqMonomer {
23
- polymerType: PolymerType;
24
+ position: number;
25
+ biotype: HelmType;
24
26
  symbol: string;
25
27
  }
26
28
  export interface IHelmWebEditor {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EACxG,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,2CAA2C,CAAC;AACpE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,2CAA2C,CAAC;AACpE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,0CAA0C,CAAC;AAClE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAE/E,OAAO,KAAK,EACV,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EACnD,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EACrF,gBAAgB,EACjB,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,+CAA+C,CAAC;AAC7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0DAA0D,CAAC;AAC9F,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,8CAA8C,CAAC;AAGtE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAClG,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,wDAAwD,CAAC;AACpF,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mDAAmD,CAAC;AAChF,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,iDAAiD,CAAC;AAEzF,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC;AAC9D,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAC,CAAC;AAE3D,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;AAE7D,OAAO,EACL,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EACxF,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EACjD,CAAC;AAEF,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,CAAC;AAC7B,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAC,CAAC;AAG/D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,MAAM,IAAI,UAAU,CAAC;IACzB,IAAI,IAAI,IAAI,cAAc,CAAC;IAE3B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACnD;AAED,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EACxG,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,4CAA4C,CAAC;AACtE,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,2CAA2C,CAAC;AACpE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,2CAA2C,CAAC;AACpE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,0CAA0C,CAAC;AAClE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAE/E,OAAO,KAAK,EACV,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EACnD,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EACrF,gBAAgB,EACjB,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,+CAA+C,CAAC;AAC7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0DAA0D,CAAC;AAC9F,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,8CAA8C,CAAC;AAGtE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAClG,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,wDAAwD,CAAC;AACpF,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mDAAmD,CAAC;AAChF,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,iDAAiD,CAAC;AAEzF,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC;AAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAC,CAAC;AAElE,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;AAE7D,OAAO,EACL,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EACxF,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EACjD,CAAC;AAEF,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,CAAC;AAC7B,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAC,CAAC;AAG/D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,MAAM,IAAI,UAAU,CAAC;IACzB,IAAI,IAAI,IAAI,cAAc,CAAC;IAE3B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACnD;AAED,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { PolymerTypes } from '../helm/consts';
1
2
  export declare const monomerWorksConsts: {
2
3
  readonly V2K_RGP_SHIFT: 8;
3
4
  readonly V2K_RGP_LINE: "M RGP";
@@ -18,9 +19,18 @@ export declare const monomerWorksConsts: {
18
19
  readonly V3K_BEGIN_DATA_LINE: "M V30 ";
19
20
  readonly V3K_END: "M END";
20
21
  readonly PRECISION_FACTOR: 10000;
21
- readonly DEOXYRIBOSE: "d";
22
- readonly RIBOSE: "r";
23
- readonly PHOSPHATE: "p";
22
+ readonly DEOXYRIBOSE: {
23
+ readonly polymerType: PolymerTypes.RNA;
24
+ readonly symbol: "d";
25
+ };
26
+ readonly RIBOSE: {
27
+ readonly polymerType: PolymerTypes.RNA;
28
+ readonly symbol: "r";
29
+ };
30
+ readonly PHOSPHATE: {
31
+ readonly polymerType: PolymerTypes.RNA;
32
+ readonly symbol: "p";
33
+ };
24
34
  readonly OXYGEN: "O";
25
35
  readonly HYDROGEN: "H";
26
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;CA6BrB,CAAC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BrB,CAAC"}
@@ -21,9 +21,9 @@ export const monomerWorksConsts = {
21
21
  V3K_END: 'M END',
22
22
  PRECISION_FACTOR: 10000, // HELMCoreLibrary has 4 significant digits after decimal point in atom coordinates
23
23
  // symbols for the corresponding monomers in HELM library
24
- DEOXYRIBOSE: 'd',
25
- RIBOSE: 'r',
26
- PHOSPHATE: 'p',
24
+ DEOXYRIBOSE: { polymerType: "RNA" /* PolymerTypes.RNA */, symbol: 'd' },
25
+ RIBOSE: { polymerType: "RNA" /* PolymerTypes.RNA */, symbol: 'r' },
26
+ PHOSPHATE: { polymerType: "RNA" /* PolymerTypes.RNA */, symbol: 'p' },
27
27
  OXYGEN: 'O',
28
28
  HYDROGEN: 'H',
29
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAClC,sCAAsC;IACpC,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,KAAK;IACjB,wDAAwD;IACxD,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,CAAC;IAChB,qBAAqB,EAAE,sCAAsC;IAC7D,sBAAsB,EAAE,2CAA2C;IACnE,oBAAoB,EAAE,qBAAqB;IAC3C,kBAAkB,EAAE,mBAAmB;IACvC,qBAAqB,EAAE,gBAAgB;IACvC,sBAAsB,EAAE,UAAU;IAClC,oBAAoB,EAAE,qBAAqB;IAC3C,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,kBAAkB,EAAE,mBAAmB;IACvC,eAAe,EAAE,OAAO;IACxB,mBAAmB,EAAE,SAAS;IAC9B,OAAO,EAAE,QAAQ;IACjB,gBAAgB,EAAE,KAAM,EAAE,mFAAmF;IAC7G,yDAAyD;IACzD,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IAEd,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;CACL,CAAC"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["consts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAClC,sCAAsC;IACpC,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,KAAK;IACjB,wDAAwD;IACxD,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,CAAC;IAChB,qBAAqB,EAAE,sCAAsC;IAC7D,sBAAsB,EAAE,2CAA2C;IACnE,oBAAoB,EAAE,qBAAqB;IAC3C,kBAAkB,EAAE,mBAAmB;IACvC,qBAAqB,EAAE,gBAAgB;IACvC,sBAAsB,EAAE,UAAU;IAClC,oBAAoB,EAAE,qBAAqB;IAC3C,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,kBAAkB,EAAE,mBAAmB;IACvC,eAAe,EAAE,OAAO;IACxB,mBAAmB,EAAE,SAAS;IAC9B,OAAO,EAAE,QAAQ;IACjB,gBAAgB,EAAE,KAAM,EAAE,mFAAmF;IAC7G,yDAAyD;IAEzD,WAAW,EAAE,EAAC,WAAW,8BAAkB,EAAE,MAAM,EAAE,GAAG,EAAC;IACzD,MAAM,EAAE,EAAC,WAAW,8BAAkB,EAAE,MAAM,EAAE,GAAG,EAAC;IACpD,SAAS,EAAE,EAAC,WAAW,8BAAkB,EAAE,MAAM,EAAE,GAAG,EAAC;IAEvD,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;CACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as DG from 'datagrok-api/dg';
2
+ import { RDModule } from '@datagrok-libraries/chem-meta/src/rdkit-api';
3
+ import { IMonomerLib } from '../types/index';
4
+ import { ISeqMonomer } from '../helm/types';
5
+ import { MonomerHoverLink } from './utils';
6
+ export declare const MonomerHoverLinksTemp = "MonomerHoverLinks";
7
+ export declare function buildMonomerHoverLink(seqCol: DG.Column<string>, molCol: DG.Column<string>, monomerLib: IMonomerLib, rdKitModule: RDModule): MonomerHoverLink;
8
+ export declare function execMonomerHoverLinks(seqGridCell: DG.GridCell, seqMonomer: ISeqMonomer | null): void;
9
+ export declare function getMonomerHoverLinks(seqCol: DG.Column<string>): MonomerHoverLink[];
10
+ //# sourceMappingURL=monomer-hover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monomer-hover.d.ts","sourceRoot":"","sources":["monomer-hover.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAMtC,OAAO,EAAC,QAAQ,EAAC,MAAM,6CAA6C,CAAC;AAIrE,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAO1C,OAAO,EAAkB,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAI1D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAUzD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,GACnG,gBAAgB,CAgGlB;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI,GACvD,IAAI,CAcN;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAElF"}
@@ -0,0 +1,123 @@
1
+ import wu from 'wu';
2
+ import { LRUCache } from 'lru-cache';
3
+ import { addSubstructProvider, getMonomerHover, setMonomerHover } from '@datagrok-libraries/chem-meta/src/types';
4
+ import { HelmTypes } from '../helm/consts';
5
+ import { SeqHandler } from '../utils/seq-handler';
6
+ import { ALPHABET } from '../utils/macromolecule';
7
+ import { getMonomersDictFromLib } from './to-atomic-level';
8
+ import { monomerSeqToMolfile } from './to-atomic-level-utils';
9
+ import { getMolHighlight } from './seq-to-molfile';
10
+ export const MonomerHoverLinksTemp = 'MonomerHoverLinks';
11
+ function addMonomerHoverLink(seqColTemp, resLink) {
12
+ let mhhList = seqColTemp[MonomerHoverLinksTemp];
13
+ if (!mhhList)
14
+ mhhList = seqColTemp[MonomerHoverLinksTemp] = [];
15
+ mhhList.push(resLink);
16
+ seqColTemp[MonomerHoverLinksTemp] = mhhList;
17
+ }
18
+ export function buildMonomerHoverLink(seqCol, molCol, monomerLib, rdKitModule) {
19
+ function buildMonomerMap(seqCol, tableRowIdx) {
20
+ const seqSH = SeqHandler.forColumn(seqCol);
21
+ const seqSS = seqSH.getSplitted(tableRowIdx);
22
+ const biotype = seqSH.alphabet == ALPHABET.RNA || seqSH.alphabet == ALPHABET.DNA ? HelmTypes.NUCLEOTIDE : HelmTypes.AA;
23
+ const seqMList = wu.count(0).take(seqSS.length)
24
+ .map((posIdx) => { return { position: posIdx, symbol: seqSS.getCanonical(posIdx), biotype: biotype }; })
25
+ .toArray();
26
+ const alphabet = seqSH.alphabet;
27
+ const polymerType = alphabet == ALPHABET.RNA || alphabet == ALPHABET.DNA ? "RNA" /* PolymerTypes.RNA */ : "PEPTIDE" /* PolymerTypes.PEPTIDE */;
28
+ const monomersDict = getMonomersDictFromLib([seqMList], polymerType, alphabet, monomerLib, rdKitModule);
29
+ // Call seq-to-molfile worker core directly
30
+ const molWM = monomerSeqToMolfile(seqMList, monomersDict, alphabet, polymerType);
31
+ return molWM.monomers;
32
+ }
33
+ const monomerMapLruCache = new LRUCache({ max: 100 });
34
+ function getMonomerMap(seqCol, tableRowIdx) {
35
+ const seq = seqCol.get(tableRowIdx);
36
+ if (seq == null)
37
+ return null;
38
+ let resMonomerMap = monomerMapLruCache.get(seq);
39
+ if (!resMonomerMap) {
40
+ monomerMapLruCache.set(seq, resMonomerMap = buildMonomerMap(seqCol, tableRowIdx));
41
+ }
42
+ return resMonomerMap;
43
+ }
44
+ const resLink = {
45
+ targetCol: molCol,
46
+ handler: (seqGridCell, seqMonomer, targetGridCol) => {
47
+ const grid = targetGridCol.grid;
48
+ const tableRowIdx = seqGridCell.tableRowIndex;
49
+ const gridRowIdx = seqGridCell.gridRow;
50
+ const targetGridCell = grid.cell(targetGridCol.name, gridRowIdx);
51
+ const prev = getMonomerHover();
52
+ if (!prev || (prev && (prev.dataFrameId != seqCol.dataFrame.id || prev.gridRowIdx != gridRowIdx ||
53
+ prev.seqColName != seqCol.name || prev.seqPosition != seqMonomer?.position))) {
54
+ if (prev) {
55
+ setMonomerHover(null);
56
+ prev.gridCell.grid?.invalidate();
57
+ }
58
+ if (!seqMonomer) {
59
+ setMonomerHover(null);
60
+ return true;
61
+ }
62
+ setMonomerHover({
63
+ gridCell: targetGridCell,
64
+ dataFrameId: seqCol.dataFrame.id,
65
+ gridRowIdx: gridRowIdx,
66
+ seqColName: seqCol.name,
67
+ seqPosition: seqMonomer ? seqMonomer.position : -1,
68
+ getSubstruct: () => {
69
+ if (!seqMonomer || seqMonomer.symbol === '*')
70
+ return undefined;
71
+ const molMonomerMap = getMonomerMap(seqCol, tableRowIdx);
72
+ if (!molMonomerMap)
73
+ return undefined;
74
+ const monomerMap = molMonomerMap.get(seqMonomer.position); // single monomer
75
+ if (!monomerMap)
76
+ return { atoms: [], bonds: [], highlightAtomColors: [], highlightBondColors: [] };
77
+ const res = getMolHighlight([monomerMap], monomerLib);
78
+ return res;
79
+ }
80
+ });
81
+ // TODO: Invalidate targetGridCell
82
+ grid.invalidate();
83
+ }
84
+ return true;
85
+ },
86
+ /* ISubstructProvider.*/ getSubstruct: (tableRowIdx) => {
87
+ if (molCol.getTag(".sequence-src-highlight-monomers" /* ChemTags.SEQUENCE_SRC_HL_MONOMERS */) != 'true')
88
+ return undefined;
89
+ if (tableRowIdx == null)
90
+ return undefined;
91
+ const seq = seqCol.get(tableRowIdx);
92
+ if (!seq)
93
+ return undefined;
94
+ const molMonomerMap = getMonomerMap(seqCol, tableRowIdx);
95
+ if (!molMonomerMap)
96
+ return undefined;
97
+ const res = getMolHighlight(molMonomerMap.values(), monomerLib);
98
+ return res;
99
+ }
100
+ };
101
+ addMonomerHoverLink(seqCol.temp, resLink);
102
+ addSubstructProvider(molCol.temp, resLink);
103
+ return resLink;
104
+ }
105
+ export function execMonomerHoverLinks(seqGridCell, seqMonomer) {
106
+ const seqCol = seqGridCell.tableColumn;
107
+ if (!seqCol)
108
+ return;
109
+ const mhlList = getMonomerHoverLinks(seqCol);
110
+ for (let mhlI = mhlList.length - 1; mhlI >= 0; --mhlI) {
111
+ const mhl = mhlList[mhlI];
112
+ const molGridCol = seqGridCell.grid.col(mhl.targetCol.name);
113
+ if (molGridCol) {
114
+ const handlerRes = mhl.handler(seqGridCell, seqMonomer, molGridCol);
115
+ if (!handlerRes)
116
+ break;
117
+ }
118
+ }
119
+ }
120
+ export function getMonomerHoverLinks(seqCol) {
121
+ return seqCol.temp[MonomerHoverLinksTemp] ?? [];
122
+ }
123
+ //# sourceMappingURL=monomer-hover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monomer-hover.js","sourceRoot":"","sources":["monomer-hover.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@ import * as DG from 'datagrok-api/dg';
3
3
  import * as grok from 'datagrok-api/grok';
4
4
  import { tanimotoSimilarity } from '@datagrok-libraries/ml/src/distance-metrics-methods';
5
5
  import { HELM_CORE_FIELDS, jsonSdfMonomerLibDict, MONOMER_ENCODE_MAX, MONOMER_ENCODE_MIN, SDF_MONOMER_NAME, } from '../utils/const';
6
- import { GAP_SYMBOL } from '../utils/macromolecule/types';
7
6
  import { SeqHandler } from '../utils/seq-handler';
8
7
  import { splitAlignedSequences } from '../utils/splitter';
8
+ import { GAP_SYMBOL } from '../utils/macromolecule/consts';
9
9
  export function encodeMonomers(col) {
10
10
  let encodeSymbol = MONOMER_ENCODE_MIN;
11
11
  const monomerSymbolDict = {};
@@ -15,7 +15,8 @@ export function encodeMonomers(col) {
15
15
  for (let rowIdx = 0; rowIdx < rowCount; ++rowIdx) {
16
16
  let encodedMonomerStr = '';
17
17
  const monomers = sh.getSplitted(rowIdx);
18
- for (const cm of monomers.canonicals) {
18
+ for (let posIdx = 0; posIdx < monomers.length; ++posIdx) {
19
+ const cm = monomers.getCanonical(posIdx);
19
20
  if (!monomerSymbolDict[cm]) {
20
21
  if (encodeSymbol > MONOMER_ENCODE_MAX) {
21
22
  grok.shell.error(`Not enough symbols to encode monomers`);
@@ -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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"}
@@ -1,12 +1,12 @@
1
1
  import { monomerSeqToMolfile } from './to-atomic-level-utils';
2
2
  onmessage = (event) => {
3
- const { monomerSequencesArray, monomersDict, alphabet, polymerType, start, end } = event.data;
4
- const molfileList = new Array(end - start);
3
+ const { seqList, monomersDict, alphabet, polymerType, start, end } = event.data;
4
+ const resMolList = new Array(end - start);
5
5
  const molfileWarningList = new Array(0);
6
6
  for (let rowI = start; rowI < end; ++rowI) {
7
7
  try {
8
- const monomerSeq = monomerSequencesArray[rowI];
9
- molfileList[rowI - start] = monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerType);
8
+ const seq = seqList[rowI];
9
+ resMolList[rowI - start] = monomerSeqToMolfile(seq, monomersDict, alphabet, polymerType);
10
10
  }
11
11
  catch (err) {
12
12
  const errMsg = err instanceof Error ? err.message : err.toString();
@@ -14,6 +14,6 @@ onmessage = (event) => {
14
14
  molfileWarningList.push(msg);
15
15
  }
16
16
  }
17
- postMessage({ molfileList, molfileWarningList });
17
+ postMessage({ molfiles: resMolList, warnings: molfileWarningList });
18
18
  };
19
19
  //# sourceMappingURL=seq-to-molfile-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seq-to-molfile-worker.js","sourceRoot":"","sources":["seq-to-molfile-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAC5D,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;IACpB,MAAM,EAAC,qBAAqB,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAC,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5F,MAAM,WAAW,GAAa,IAAI,KAAK,CAAS,GAAG,GAAG,KAAK,CAAC,CAAC;IAC7D,MAAM,kBAAkB,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC;IAChD,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,MAAM,GAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC3E,MAAM,GAAG,GAAW,8BAA8B,IAAI,KAAK,MAAM,GAAG,CAAC;YACrE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,WAAW,CAAC,EAAC,WAAW,EAAE,kBAAkB,EAAC,CAAC,CAAC;AACjD,CAAC,CAAC"}
1
+ {"version":3,"file":"seq-to-molfile-worker.js","sourceRoot":"","sources":["seq-to-molfile-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAG5D,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;IACpB,MAAM,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAC,GAA2B,KAAK,CAAC,IAAI,CAAC;IACtG,MAAM,UAAU,GAAqB,IAAI,KAAK,CAAiB,GAAG,GAAG,KAAK,CAAC,CAAC;IAC5E,MAAM,kBAAkB,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC;IAChD,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,MAAM,GAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC3E,MAAM,GAAG,GAAW,8BAA8B,IAAI,KAAK,MAAM,GAAG,CAAC;YACrE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,WAAW,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAA0B,CAAC,CAAC;AAC7F,CAAC,CAAC"}
@@ -1,9 +1,18 @@
1
- import { HELM_POLYMER_TYPE } from '../utils/const';
1
+ import * as DG from 'datagrok-api/dg';
2
+ import { RDModule } from '@datagrok-libraries/chem-meta/src/rdkit-api';
2
3
  import { ALPHABET } from '../utils/macromolecule';
3
- import { MolGraph } from './types';
4
+ import { MonomerMap, MonomerMapValue, MonomerMolGraphMap } from './types';
5
+ import { ToAtomicLevelRes } from '../utils/seq-helper';
6
+ import { IMonomerLib, IMonomerLibBase } from '../types';
7
+ import { PolymerType } from '../helm/types';
8
+ import { ISubstruct } from '@datagrok-libraries/chem-meta/src/types';
4
9
  export type SeqToMolfileResult = {
5
- molfileWarningList: string[];
6
- molfileList: string[];
10
+ mols: {
11
+ molfile: string;
12
+ monomers: MonomerMap;
13
+ }[];
14
+ warnings: string[];
7
15
  };
8
- export declare function seqToMolFileWorker(monomerSequencesArray: string[][], monomersDict: Map<string, MolGraph>, alphabet: ALPHABET, polymerType: HELM_POLYMER_TYPE, srcColLength: number): Promise<SeqToMolfileResult>;
16
+ export declare function seqToMolFileWorker(seqCol: DG.Column<string>, monomersDict: MonomerMolGraphMap, alphabet: ALPHABET, polymerType: PolymerType, monomerLib: IMonomerLib, rdKitModule: RDModule): Promise<ToAtomicLevelRes>;
17
+ export declare function getMolHighlight(monomerMaps: Iterable<MonomerMapValue>, monomerLib: IMonomerLibBase): ISubstruct;
9
18
  //# sourceMappingURL=seq-to-molfile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seq-to-molfile.d.ts","sourceRoot":"","sources":["seq-to-molfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAAG;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAA;CACxB,CAAA;AAED,wBAAsB,kBAAkB,CAAC,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC7G,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,GACvE,OAAO,CAAC,kBAAkB,CAAC,CA+B7B"}
1
+ {"version":3,"file":"seq-to-molfile.d.ts","sourceRoot":"","sources":["seq-to-molfile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAItC,OAAO,EAAC,QAAQ,EAAC,MAAM,6CAA6C,CAAC;AAGrE,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACqB,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAC1E,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,UAAU,CAAC;AACtD,OAAO,EAAc,WAAW,EAAC,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAC,UAAU,EAAC,MAAM,yCAAyC,CAAC;AAGnE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,UAAU,CAAA;KACrB,EAAE,CAAC;IACJ,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAClG,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,GAC3F,OAAO,CAAC,gBAAgB,CAAC,CAoD3B;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,eAAe,GAAG,UAAU,CAsB/G"}