@datagrok-libraries/bio 5.41.0 → 5.41.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 (61) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +1 -1
  3. package/src/helm/helm-helper.d.ts +1 -0
  4. package/src/helm/helm-helper.d.ts.map +1 -1
  5. package/src/helm/helm-helper.js +1 -0
  6. package/src/helm/helm-helper.js.map +1 -1
  7. package/src/monomer-works/monomer-utils.d.ts +19 -0
  8. package/src/monomer-works/monomer-utils.d.ts.map +1 -1
  9. package/src/monomer-works/monomer-utils.js +2 -2
  10. package/src/monomer-works/monomer-utils.js.map +1 -1
  11. package/src/monomer-works/monomer-works.d.ts +3 -2
  12. package/src/monomer-works/monomer-works.d.ts.map +1 -1
  13. package/src/monomer-works/monomer-works.js +27 -0
  14. package/src/monomer-works/monomer-works.js.map +1 -1
  15. package/src/monomer-works/to-atomic-level.js +1 -1
  16. package/src/tests/monomer-lib-tests.d.ts +7 -0
  17. package/src/tests/monomer-lib-tests.d.ts.map +1 -0
  18. package/src/tests/monomer-lib-tests.js +27 -0
  19. package/src/tests/monomer-lib-tests.js.map +1 -0
  20. package/src/types/helm-web-editor.d.ts +26 -0
  21. package/src/types/helm-web-editor.d.ts.map +1 -0
  22. package/src/types/helm-web-editor.js +2 -0
  23. package/src/types/helm-web-editor.js.map +1 -0
  24. package/src/types/helm.d.ts +53 -14
  25. package/src/types/helm.d.ts.map +1 -1
  26. package/src/types/index.d.ts +26 -10
  27. package/src/types/index.d.ts.map +1 -1
  28. package/src/types/index.js +1 -0
  29. package/src/types/index.js.map +1 -1
  30. package/src/types/jsdraw2.d.ts +36 -0
  31. package/src/types/jsdraw2.d.ts.map +1 -1
  32. package/src/types/renderer.d.ts +2 -2
  33. package/src/types/renderer.d.ts.map +1 -1
  34. package/src/types/renderer.js +5 -4
  35. package/src/types/renderer.js.map +1 -1
  36. package/src/utils/cell-renderer-async-base.d.ts +1 -5
  37. package/src/utils/cell-renderer-async-base.d.ts.map +1 -1
  38. package/src/utils/cell-renderer-async-base.js +1 -13
  39. package/src/utils/cell-renderer-async-base.js.map +1 -1
  40. package/src/utils/cell-renderer-back-base.d.ts +10 -3
  41. package/src/utils/cell-renderer-back-base.d.ts.map +1 -1
  42. package/src/utils/cell-renderer-back-base.js +24 -0
  43. package/src/utils/cell-renderer-back-base.js.map +1 -1
  44. package/src/utils/cell-renderer-monomer-placer.d.ts +4 -5
  45. package/src/utils/cell-renderer-monomer-placer.d.ts.map +1 -1
  46. package/src/utils/cell-renderer-monomer-placer.js +51 -20
  47. package/src/utils/cell-renderer-monomer-placer.js.map +1 -1
  48. package/src/utils/const.d.ts +10 -10
  49. package/src/utils/const.d.ts.map +1 -1
  50. package/src/utils/const.js +1 -0
  51. package/src/utils/const.js.map +1 -1
  52. package/src/utils/macromolecule/utils.d.ts.map +1 -1
  53. package/src/utils/macromolecule/utils.js +14 -1
  54. package/src/utils/macromolecule/utils.js.map +1 -1
  55. package/src/utils/seq-handler.d.ts +1 -1
  56. package/src/utils/seq-handler.d.ts.map +1 -1
  57. package/src/utils/seq-handler.js +4 -4
  58. package/src/utils/seq-handler.js.map +1 -1
  59. package/src/viewers/viewer.d.ts.map +1 -1
  60. package/src/viewers/viewer.js +2 -2
  61. package/src/viewers/viewer.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # bio changelog
2
2
 
3
+ ## 5.41.1 (2024-05-13)
4
+
5
+ ### Features
6
+
7
+ * Add types for Helm Web Editor
8
+
9
+ ### Bug fixes
10
+
11
+ * Unveil cell renderer errors for tests
12
+ * Fix cell renderer for StackOverflow error on long seqs
13
+ * Optimize SeqHandler.getSplitter for split limit (separator)
14
+
3
15
  ## 5.41.0 (2024-05-01)
4
16
 
5
17
  Optimize cell renderer on async renderer base
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "access": "public"
9
9
  },
10
10
  "friendlyName": "Datagrok bio library",
11
- "version": "5.41.0",
11
+ "version": "5.41.1",
12
12
  "description": "Bio utilities, types supporting Macromolecule, Molecule3D data",
13
13
  "dependencies": {
14
14
  "@datagrok-libraries/gridext": "^1.3.71",
@@ -1,3 +1,4 @@
1
+ import '../types/helm';
1
2
  import * as org from 'org';
2
3
  import { IHelmWebEditor } from './types';
3
4
  export interface IHelmHelper {
@@ -1 +1 @@
1
- {"version":3,"file":"helm-helper.d.ts","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,mBAAmB,IAAI,cAAc,CAAC;IAEtC,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;CACjF;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D"}
1
+ {"version":3,"file":"helm-helper.d.ts","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AAIA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,mBAAmB,IAAI,cAAc,CAAC;IAEtC,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;CACjF;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D"}
@@ -1,4 +1,5 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
+ import '../types/helm';
2
3
  export async function getHelmHelper() {
3
4
  const packageName = 'Helm';
4
5
  const funcList = DG.Func.find({ package: packageName, name: `getHelmHelper` });
@@ -1 +1 @@
1
- {"version":3,"file":"helm-helper.js","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAatC,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"}
1
+ {"version":3,"file":"helm-helper.js","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,eAAe,CAAC;AAWvB,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"}
@@ -1,4 +1,5 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
+ import { Observable } from 'rxjs';
2
3
  import { IMonomerLib } from '../types/index';
3
4
  import { ISeqSplitted } from '../utils/macromolecule/types';
4
5
  export declare function encodeMonomers(col: DG.Column): DG.Column | null;
@@ -8,9 +9,27 @@ export declare function createMomomersMolDict(lib: any[]): {
8
9
  [key: string]: string | any;
9
10
  };
10
11
  export declare function createJsonMonomerLibFromSdf(table: DG.DataFrame): any;
12
+ export interface IMonomerLibFileEventManager {
13
+ get addLibraryFileRequested$(): Observable<void>;
14
+ get updateUIControlsRequested$(): Observable<string[]>;
15
+ get librarySelectionRequested$(): Observable<[string, boolean]>;
16
+ updateLibrarySelectionStatus(libFileName: string, isSelected: boolean): void;
17
+ }
18
+ export interface IMonomerLibFileManager {
19
+ get eventManager(): IMonomerLibFileEventManager;
20
+ getValidLibraryPaths(): string[];
21
+ getValidLibraryPathsAsynchronously(): Promise<string[]>;
22
+ addLibraryFile(fileContent: string, fileName: string): Promise<void>;
23
+ deleteLibraryFile(fileName: string): Promise<void>;
24
+ loadLibraryFromFile(path: string, fileName: string): Promise<IMonomerLib>;
25
+ }
11
26
  export interface IMonomerLibHelper {
27
+ get eventManager(): IMonomerLibFileEventManager;
28
+ /** Ensures files are loaded and validated, throws error after timeout */
29
+ awaitLoaded(timeout?: number): Promise<void>;
12
30
  /** Singleton monomer library */
13
31
  getBioLib(): IMonomerLib;
32
+ getFileManager(): Promise<IMonomerLibFileManager>;
14
33
  /** (Re)Loads libraries based on settings in user storage {@link LIB_STORAGE_NAME} to singleton.
15
34
  * @param {boolean} reload Clean {@link monomerLib} before load libraries [false]
16
35
  */
@@ -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,EAAa,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAMtE,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,CAkBhG;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,CAoCpE;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;AAG1E,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;AA6DhJ;;+KAE+K;AAC/K,wBAAsB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,GAClE,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,eAAe,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAqB1F;AAED,wBAAsB,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,eAAe,GAAE,MAAiB,GACxG,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,eAAe,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAmC1F"}
1
+ {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  // import * as ui from 'datagrok-api/ui';
2
2
  import * as DG from 'datagrok-api/dg';
3
3
  import * as grok from 'datagrok-api/grok';
4
+ import { tanimotoSimilarity } from '@datagrok-libraries/ml/src/distance-metrics-methods';
4
5
  import { HELM_CORE_FIELDS, jsonSdfMonomerLibDict, MONOMER_ENCODE_MAX, MONOMER_ENCODE_MIN, SDF_MONOMER_NAME, } from '../utils/const';
5
6
  import { GAP_SYMBOL } from '../utils/macromolecule/types';
6
7
  import { SeqHandler } from '../utils/seq-handler';
7
8
  import { splitAlignedSequences } from '../utils/splitter';
8
- import { tanimotoSimilarity } from '@datagrok-libraries/ml/src/distance-metrics-methods';
9
9
  export function encodeMonomers(col) {
10
10
  let encodeSymbol = MONOMER_ENCODE_MIN;
11
11
  const monomerSymbolDict = {};
@@ -102,7 +102,7 @@ export function createJsonMonomerLibFromSdf(table) {
102
102
  const rgroup = {};
103
103
  const altAtom = g.substring(g.lastIndexOf(']') + 1);
104
104
  const radicalNum = g.match(/\[R(\d+)\]/)[1];
105
- rgroup["capGroupSMILES" /* HELM_RGROUP_FIELDS.CAP_GROUP_SMILES */] = altAtom === 'H' ? `[*:${radicalNum}][H]` : `O[*:${radicalNum}]`;
105
+ rgroup["capGroupSmiles" /* HELM_RGROUP_FIELDS.CAP_GROUP_SMILES */] = altAtom === 'H' ? `[*:${radicalNum}][H]` : `O[*:${radicalNum}]`;
106
106
  rgroup["alternateId" /* HELM_RGROUP_FIELDS.ALTERNATE_ID */] = altAtom === 'H' ? `R${radicalNum}-H` : `R${radicalNum}-OH`;
107
107
  rgroup["capGroupName" /* HELM_RGROUP_FIELDS.CAP_GROUP_NAME */] = altAtom === 'H' ? `H` : `OH`;
108
108
  rgroup["label" /* HELM_RGROUP_FIELDS.LABEL */] = `R${radicalNum}`;
@@ -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,4 +1,4 @@
1
- import { IMonomerLib } from '../types';
1
+ import { IMonomerLib, HelmType, PolymerType } from '../types';
2
2
  /** Hypothetical interface to convert mol block notation.
3
3
  * It should be placed in the chem-meta package, and have an implementation in the Chem package.
4
4
  * So dependency of MonomerWorks on molfile conversion operation becomes explicit.
@@ -10,6 +10,7 @@ export interface IMolfileConverter {
10
10
  export declare class MonomerWorks {
11
11
  private monomerLib;
12
12
  constructor(monomerLib: IMonomerLib);
13
- getCappedRotatedMonomer(monomerType: string, monomerName: string): string | null;
13
+ getCappedRotatedMonomer(monomerType: PolymerType, monomerName: string): string | null;
14
14
  }
15
+ export declare function helmTypeToPolymerType(helmType: HelmType): PolymerType;
15
16
  //# sourceMappingURL=monomer-works.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-works.d.ts","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAGrC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAc;gBAIpB,UAAU,EAAE,WAAW;IAM5B,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAOxF"}
1
+ {"version":3,"file":"monomer-works.d.ts","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAG5D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAc;gBAIpB,UAAU,EAAE,WAAW;IAM5B,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAQ7F;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAyBrE"}
@@ -6,10 +6,37 @@ export class MonomerWorks {
6
6
  }
7
7
  //types according to Monomer possible
8
8
  getCappedRotatedMonomer(monomerType, monomerName) {
9
+ // TODO: Check type of monomerType arg
9
10
  const monomer = this.monomerLib.getMonomer(monomerType, monomerName);
10
11
  if (monomer)
11
12
  return monomer.molfile; //TODO cap
12
13
  return null;
13
14
  }
14
15
  }
16
+ export function helmTypeToPolymerType(helmType) {
17
+ let polymerType = undefined;
18
+ switch (helmType) {
19
+ case "HELM_BASE" /* HelmTypes.BASE */:
20
+ case "HELM_SUGAR" /* HelmTypes.SUGAR */: // r - ribose, d - deoxyribose
21
+ case "HELM_LINKER" /* HelmTypes.LINKER */: // p - phosphate
22
+ case "HELM_NUCLETIDE" /* HelmTypes.NUCLEOTIDE */:
23
+ // @ts-ignore
24
+ case 'nucleotide':
25
+ polymerType = "RNA" /* PolymerTypes.RNA */;
26
+ break;
27
+ case "HELM_AA" /* HelmTypes.AA */:
28
+ polymerType = "PEPTIDE" /* PolymerTypes.PEPTIDE */;
29
+ break;
30
+ case "HELM_CHEM" /* HelmTypes.CHEM */:
31
+ polymerType = "CHEM" /* PolymerTypes.CHEM */;
32
+ break;
33
+ case "HELM_BLOB" /* HelmTypes.BLOB */:
34
+ polymerType = "BLOB" /* PolymerTypes.BLOB */;
35
+ break;
36
+ default:
37
+ polymerType = "PEPTIDE" /* PolymerTypes.PEPTIDE */;
38
+ console.warn(`Unexpected HelmType '${helmType}'`);
39
+ }
40
+ return polymerType;
41
+ }
15
42
  //# sourceMappingURL=monomer-works.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-works.js","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAiBA,MAAM,OAAO,YAAY;IAGvB,8CAA8C;IAE9C,YAAY,UAAuB,CAAA,yCAAyC;QAC1E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,2CAA2C;IAC7C,CAAC;IAED,qCAAqC;IAC9B,uBAAuB,CAAC,WAAmB,EAAE,WAAmB;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,OAAO;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"monomer-works.js","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAiBA,MAAM,OAAO,YAAY;IAGvB,8CAA8C;IAE9C,YAAY,UAAuB,CAAA,yCAAyC;QAC1E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,2CAA2C;IAC7C,CAAC;IAED,qCAAqC;IAC9B,uBAAuB,CAAC,WAAwB,EAAE,WAAmB;QAC1E,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,OAAO;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACtD,IAAI,WAAW,GAA4B,SAAS,CAAC;IACrD,QAAQ,QAAQ,EAAE;QAClB,sCAAoB;QACpB,wCAAqB,CAAC,8BAA8B;QACpD,0CAAsB,CAAC,gBAAgB;QACvC,iDAA0B;QACxB,aAAa;QACf,KAAK,YAAY;YACf,WAAW,+BAAmB,CAAC;YAC/B,MAAM;QACR;YACE,WAAW,uCAAuB,CAAC;YACnC,MAAM;QACR;YACE,WAAW,iCAAoB,CAAC;YAChC,MAAM;QACR;YACE,WAAW,iCAAoB,CAAC;YAChC,MAAM;QACR;YACE,WAAW,uCAAuB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,GAAG,CAAC,CAAC;KACnD;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -252,7 +252,7 @@ export function parseCapGroups(rGroupObjList) {
252
252
  // supposing that elements in rGroupObjList are sorted w.r.t. the rgroups idx
253
253
  const capGroupsArray = [];
254
254
  for (const obj of rGroupObjList) {
255
- let capGroup = obj["capGroupSMILES" /* HELM_RGROUP_FIELDS.CAP_GROUP_SMILES */];
255
+ let capGroup = obj["capGroupSmiles" /* HELM_RGROUP_FIELDS.CAP_GROUP_SMILES */];
256
256
  // in some cases the smiles field is written with uppercase
257
257
  if (!capGroup)
258
258
  capGroup = obj["capGroupSMILES" /* HELM_RGROUP_FIELDS.CAP_GROUP_SMILES_UPPERCASE */];
@@ -0,0 +1,7 @@
1
+ import { IMonomerLib, MonomerLibSummaryType } from '../types/index';
2
+ /** Summary for HELMCoreLibrary.json */
3
+ export declare const defaultMonomerLibSummary: MonomerLibSummaryType;
4
+ export declare function expectMonomerLib(lib: IMonomerLib, summary?: {
5
+ [polymerType: string]: number;
6
+ }): void;
7
+ //# sourceMappingURL=monomer-lib-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monomer-lib-tests.d.ts","sourceRoot":"","sources":["monomer-lib-tests.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,WAAW,EAAE,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAElE,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,EAAE,qBAA+D,CAAC;AAEvG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;IAAE,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,CAqBpG"}
@@ -0,0 +1,27 @@
1
+ import { expectObject } from '@datagrok-libraries/utils/src/test';
2
+ /** Summary for HELMCoreLibrary.json */
3
+ export const defaultMonomerLibSummary = { 'PEPTIDE': 322, 'RNA': 383, 'CHEM': 0 };
4
+ export function expectMonomerLib(lib, summary) {
5
+ const exp = summary ?? defaultMonomerLibSummary;
6
+ const act = lib.getSummary();
7
+ for (const pt in exp)
8
+ if (!exp[pt])
9
+ delete exp[pt];
10
+ for (const pt in act)
11
+ if (!act[pt])
12
+ delete act[pt];
13
+ if (Object.keys(exp).length == 0 && Object.keys(act).length != 0)
14
+ throw new Error('Expected empty monomer lib, actual is not.');
15
+ else if (Object.keys(exp).length != 0 && Object.keys(act).length == 0)
16
+ throw new Error('Expected non-empty monomer lib, actual is empty.');
17
+ else {
18
+ try {
19
+ expectObject(act, exp);
20
+ expectObject(exp, act);
21
+ }
22
+ catch (err) {
23
+ throw new Error(`Expected monomer lib ${JSON.stringify(exp)} does not match actual ${JSON.stringify(act)}.`);
24
+ }
25
+ }
26
+ }
27
+ //# sourceMappingURL=monomer-lib-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monomer-lib-tests.js","sourceRoot":"","sources":["monomer-lib-tests.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAIhE,uCAAuC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAA0B,EAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC;AAEvG,MAAM,UAAU,gBAAgB,CAAC,GAAgB,EAAE,OAA2C;IAC5F,MAAM,GAAG,GAA0B,OAAO,IAAI,wBAAwB,CAAC;IACvE,MAAM,GAAG,GAA0B,GAAG,CAAC,UAAU,EAAE,CAAC;IAEpD,KAAK,MAAM,EAAE,IAAI,GAAG;QAClB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,GAAG;QAClB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;IAE/B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACjE;QACH,IAAI;YACF,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACxB;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAC9G;KACF;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface IEditorOptions {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export interface IEditor {
6
+ get options(): IEditorOptions;
7
+ get div(): HTMLDivElement;
8
+ get m(): IEditorMol;
9
+ resize(width: number, height: number): void;
10
+ /** Clear all contents */ clear(redraw: boolean, fireevents: boolean): void;
11
+ /** Resets and clears undo and redo buffers */ reset(): void;
12
+ setData(data: string, format: string): void;
13
+ }
14
+ export interface IEditorMol {
15
+ get atoms(): IEditorMolAtom[];
16
+ clone(selectedOnly: boolean): IEditorMol;
17
+ }
18
+ export interface IEditorMolAtom {
19
+ get p(): IEditorPoint;
20
+ get elem(): string;
21
+ }
22
+ export interface IEditorPoint {
23
+ get x(): number;
24
+ get y(): number;
25
+ }
26
+ //# sourceMappingURL=helm-web-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm-web-editor.d.ts","sourceRoot":"","sources":["helm-web-editor.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,OAAO,IAAI,cAAc,CAAC;IAE9B,IAAI,GAAG,IAAI,cAAc,CAAC;IAC1B,IAAI,CAAC,IAAI,UAAU,CAAC;IAEpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5E,8CAA8C,CAAC,KAAK,IAAI,IAAI,CAAC;IAC7D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;IAE9B,KAAK,CAAC,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,YAAY,CAAC;IAEtB,IAAI,IAAI,IAAI,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,IAAI,MAAM,CAAC;IAEhB,IAAI,CAAC,IAAI,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=helm-web-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm-web-editor.js","sourceRoot":"","sources":["helm-web-editor.ts"],"names":[],"mappings":""}
@@ -1,21 +1,31 @@
1
1
  declare module 'scil' {
2
2
  function apply<T>(dest: T, atts: Partial<T>, defaults?: Partial<T>): void;
3
- namespace Utils {
4
- function alert(s: string): void;
5
- function isNullOrEmpty(s: string): boolean;
6
- function endswith(s: string, token: string, casesensitive?: boolean): boolean;
3
+ interface IUtils {
4
+ alert: (s: string) => void;
5
+ isNullOrEmpty(s: string): boolean;
6
+ endswith(s: string, token: string, casesensitive?: boolean): boolean;
7
7
  }
8
+ const Utils: IUtils;
8
9
  }
9
10
  declare module 'org' {
11
+ import * as JSDraw2 from 'JSDraw2';
10
12
  namespace helm {
13
+ type WebEditorRGroups = {
14
+ [group: string]: string;
15
+ };
16
+ type WebEditorMonomer = {
17
+ /** symbol */ id: string;
18
+ /** name */ n?: string;
19
+ /** natural analog */ na?: string;
20
+ /** polymer type */ type?: PolymerType;
21
+ /** monomer type */ mt?: MonomerType;
22
+ /** molfile */ m?: string;
23
+ /** substituents */ at: WebEditorRGroups;
24
+ /** number of substituents */ get rs(): number;
25
+ };
11
26
  interface IPistoiaBase {
12
27
  get T(): string;
13
28
  }
14
- interface IAtom extends IPistoiaBase {
15
- get T(): 'ATOM';
16
- get elem(): string;
17
- biotype(): string;
18
- }
19
29
  interface IMonomer {
20
30
  }
21
31
  interface IAppOptions {
@@ -62,19 +72,48 @@ declare module 'org' {
62
72
  }
63
73
  interface IMonomers {
64
74
  addOneMonomer(monomer: IMonomer): void;
65
- getMonomer(a: IAtom | string, elem: string): IAtom | null;
75
+ getMonomer(a: JSDraw2.Atom<HelmType> | HelmType, elem: string | undefined): WebEditorMonomer | null;
66
76
  getMonomerSet(biotype: string): any;
67
77
  clear(): void;
68
78
  }
69
79
  interface IWebEditorIO {
70
80
  trimBracket(s: string): string;
71
81
  }
82
+ const enum MonomerTypes {
83
+ BACKBONE = "Backbone",
84
+ BRANCH = "Branch",
85
+ TERMINAL = "Terminal"
86
+ }
87
+ /** 'Backbone' | 'Branch' | 'Terminal' */
88
+ type MonomerType = `${MonomerTypes}`;
89
+ const enum PolymerTypes {
90
+ RNA = "RNA",
91
+ PEPTIDE = "PEPTIDE",
92
+ CHEM = "CHEM",
93
+ BLOB = "BLOB",
94
+ G = "G"
95
+ }
96
+ /** 'RNA' | 'PEPTIDE' | 'CHEM' | 'BLOB' | 'G' */
97
+ type PolymerType = `${PolymerTypes}`;
98
+ const enum HelmTypes {
99
+ BASE = "HELM_BASE",
100
+ SUGAR = "HELM_SUGAR",
101
+ LINKER = "HELM_LINKER",
102
+ AA = "HELM_AA",
103
+ CHEM = "HELM_CHEM",
104
+ BLOB = "HELM_BLOB",
105
+ NUCLEOTIDE = "HELM_NUCLETIDE"
106
+ }
107
+ /** 'HELM_BASE' | 'HELM_SUGAR' | 'HELM_LINKER' | 'HELM_AA' | 'HELM_CHEM' | 'HELM_BLOB' | 'HELM_NUCLETIDE' */
108
+ type HelmType = `${HelmTypes}`;
109
+ type IHelmTypes = Record<HelmTypes, HelmType>;
72
110
  interface IOrgHelmWebEditor {
73
- App: IApp;
74
- Monomers: IMonomers;
75
- MolViewer: IMolViewer;
76
- IO: IWebEditorIO;
111
+ readonly App: IApp;
112
+ readonly Monomers: IMonomers;
113
+ readonly MolViewer: IMolViewer;
114
+ readonly IO: IWebEditorIO;
77
115
  kCaseSensitive: boolean;
116
+ readonly HELM: IHelmTypes;
78
117
  monomerTypeList(): string[];
79
118
  }
80
119
  const webeditor: IOrgHelmWebEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["helm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["helm.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ import * as DG from 'datagrok-api/dg';
2
+ import './helm';
3
+ import * as org from 'org';
4
+ import PolymerType = org.helm.PolymerType;
5
+ import HelmType = org.helm.HelmType;
6
+ import MonomerType = org.helm.MonomerType;
7
+ import WebEditorMonomer = org.helm.WebEditorMonomer;
8
+ export { WebEditorMonomer, PolymerType, HelmType, MonomerType };
1
9
  import { Observable } from 'rxjs';
2
10
  import { HELM_REQUIRED_FIELD as REQ, HELM_RGROUP_FIELDS as RGP, HELM_OPTIONAL_FIELDS as OPT, HELM_POLYMER_TYPE } from '../utils/const';
3
11
  export type RGroup = {
@@ -6,6 +14,7 @@ export type RGroup = {
6
14
  [RGP.CAP_GROUP_NAME]: string;
7
15
  [RGP.LABEL]: string;
8
16
  };
17
+ /** https://github.com/PistoiaHELM/HELMMonomerSets/blob/master/HELMmonomerSchema.json */
9
18
  export type Monomer = {
10
19
  [REQ.SYMBOL]: string;
11
20
  [REQ.NAME]: string;
@@ -14,30 +23,37 @@ export type Monomer = {
14
23
  [REQ.ID]: number;
15
24
  [REQ.RGROUPS]: RGroup[];
16
25
  [REQ.SMILES]: string;
17
- [REQ.POLYMER_TYPE]: string;
18
- [REQ.MONOMER_TYPE]: string;
26
+ [REQ.POLYMER_TYPE]: PolymerType;
27
+ [REQ.MONOMER_TYPE]: MonomerType;
19
28
  [REQ.CREATE_DATE]: string | null;
20
29
  [OPT.NATURAL_ANALOG]?: string;
21
30
  [OPT.META]?: {
22
31
  [property: string]: any;
23
32
  };
24
33
  lib?: IMonomerLib;
34
+ wem?: WebEditorMonomer;
35
+ };
36
+ export type MonomerLibSummaryType = {
37
+ [polymerType: string]: number;
25
38
  };
26
39
  export interface IMonomerLib {
27
40
  get source(): string | undefined;
28
41
  get error(): string | undefined;
29
- getMonomer(polymerType: string, monomerSymbol: string): Monomer | null;
30
- getMonomerMolsByPolymerType(polymerType: string): {
42
+ getMonomer(polymerType: PolymerType, monomerSymbol: string): Monomer | null;
43
+ addMissingMonomer(polymerType: PolymerType, monomerSymbol: string): Monomer;
44
+ getMonomerMolsByPolymerType(polymerType: PolymerType): {
31
45
  [monomerSymbol: string]: string;
32
46
  } | null;
33
- getMonomerSymbolsByRGroup(rGroupNumber: number, polymerType: string, element?: string): string[];
34
- getMonomerSymbolsByType(polymerType: string): string[];
35
- getPolymerTypes(): string[];
47
+ getMonomerSymbolsByRGroup(rGroupNumber: number, polymerType: PolymerType, element?: string): string[];
48
+ getMonomerSymbolsByType(polymerType: PolymerType): string[];
49
+ getPolymerTypes(): PolymerType[];
36
50
  update(lib: IMonomerLib): void;
37
51
  get onChanged(): Observable<any>;
38
- /** Summary with lib monomer count by type, csv */
39
- getSummary(): string;
40
- getTooltip(polymerType: string, monomerSymbol: string): HTMLElement;
52
+ /** Summary with lib monomer count by type */
53
+ getSummary(): MonomerLibSummaryType;
54
+ /** Gets dataframe with columns 'polymerType', 'count'. */
55
+ getSummaryDf(): DG.DataFrame;
56
+ getTooltip(polymerType: PolymerType, monomerSymbol: string): HTMLElement;
41
57
  }
42
58
  export declare const alphabetPolymerTypes: {
43
59
  DNA: HELM_POLYMER_TYPE;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EACL,mBAAmB,IAAI,GAAG,EAC1B,kBAAkB,IAAI,GAAG,EAAE,oBAAoB,IAAI,GAAG,EAAE,iBAAiB,EAC1E,MAAM,gBAAgB,CAAC;AAGxB,MAAM,MAAM,MAAM,GAAG;IACnB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC/B,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAC7B,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AACD,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACzC,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAAC;IAEhC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACvE,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7F,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjG,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvD,eAAe,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAEjC,kDAAkD;IAClD,UAAU,IAAI,MAAM,CAAC;IACrB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAAC;CACrE;AAED,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import './helm';
1
2
  export const alphabetPolymerTypes = {
2
3
  ["DNA" /* ALPHABET.DNA */]: "RNA" /* HELM_POLYMER_TYPE.RNA */,
3
4
  ["RNA" /* ALPHABET.RNA */]: "RNA" /* HELM_POLYMER_TYPE.RNA */,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAkDA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,0BAAc,mCAAuB;IACrC,0BAAc,mCAAuB;IACrC,wBAAa,2CAA2B;IACxC,wBAAa,2CAA2B;CACzC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,CAAC;AAkEhB,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,0BAAc,mCAAuB;IACrC,0BAAc,mCAAuB;IACrC,wBAAa,2CAA2B;IACxC,wBAAa,2CAA2B;CACzC,CAAC"}
@@ -40,5 +40,41 @@ declare module 'JSDraw2' {
40
40
  getMolfile(): string;
41
41
  constructor(host: HTMLElement, options?: Partial<IEditorOptions>);
42
42
  }
43
+ interface IPistoiaBase {
44
+ get T(): string;
45
+ }
46
+ const enum BioTypes {
47
+ AA = "AA",
48
+ ANTIBODY = "ANTIBODY",
49
+ PROTEIN = "PROTEIN",
50
+ GENE = "GENE",
51
+ DNA = "DNA",
52
+ RNA = "RNA",
53
+ BASE_DNA = "BASEDNA",
54
+ BASE_RNA = "BASERNA"
55
+ }
56
+ type BioType = `${BioTypes}`;
57
+ interface IBio<TBio> {
58
+ id?: number | null;
59
+ type: TBio;
60
+ ambiguity?: string | null;
61
+ annotation?: string | null;
62
+ annotationshowright?: string | null;
63
+ }
64
+ abstract class JsAtom<TBio> implements IPistoiaBase {
65
+ get T(): 'ATOM';
66
+ get p(): Point;
67
+ get elem(): string;
68
+ get bio(): IBio<TBio>;
69
+ }
70
+ class Atom<TBio> extends JsAtom<TBio> {
71
+ biotype(): TBio;
72
+ constructor(p: Point, elem: string, bio: IBio<TBio>);
73
+ }
74
+ class Point {
75
+ x: number;
76
+ y: number;
77
+ constructor(x: number, y: number);
78
+ }
43
79
  }
44
80
  //# sourceMappingURL=jsdraw2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsdraw2.d.ts","sourceRoot":"","sources":["jsdraw2.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAiB,cAAc;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;KACnB;IAED,UAAiB,YAAY;QAC3B,IAAI,CAAC,IAAI,MAAM,CAAC;QAEhB,IAAI,CAAC,IAAI,MAAM,CAAC;KACjB;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GACzC,gBAAgB,CAAC;KAEjE;IAED,UAAiB,cAAc;QAC7B,IAAI,CAAC,IAAI,YAAY,CAAC;QAEtB,IAAI,IAAI,IAAI,MAAM,CAAC;QAEnB,IAAI,GAAG,IAAI,QAAQ,CAAC;KACrB;IAED,UAAiB,cAAc;QAC7B,IAAI,EAAE,IAAI,cAAc,CAAC;QACzB,IAAI,EAAE,IAAI,cAAc,CAAC;QAEzB,IAAI,IAAI,IAAI,MAAM,CAAC;KACpB;IAED,UAAiB,UAAU;QACzB,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;QAC9B,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;QAE9B,KAAK,CAAC,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;KAC1C;IAED,MAAa,MAAM;QACjB,IAAI,OAAO,IAAI,cAAc,CAAC;QAE9B,IAAI,GAAG,IAAI,cAAc,CAAC;QAE1B,IAAI,CAAC,IAAI,UAAU,CAAC;QAEpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;QAE3C,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;QAE3E,8CAA8C,CAAC,KAAK,IAAI,IAAI;QAE5D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;QAE3C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;QAE3B,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;QAEnC,UAAU,IAAI,MAAM;oBAER,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;KACjE;CACF"}
1
+ {"version":3,"file":"jsdraw2.d.ts","sourceRoot":"","sources":["jsdraw2.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ export interface IRenderer {
5
5
  /** @param timeout Default 5000 ms */
6
6
  awaitRendered(timeout?: number): Promise<void>;
7
7
  }
8
- export declare function isIRenderer(value: IRenderer): value is IRenderer;
9
- export declare function asIRenderer(o: any): IRenderer | null;
8
+ export declare function isRenderer(value: IRenderer): value is IRenderer;
9
+ export declare function asRenderer(o: any): IRenderer | null;
10
10
  //# sourceMappingURL=renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["renderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,MAAM,WAAW,SAAS;IACxB,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,sCAAsC;IACtC,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,SAAS,CAEhE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAEpD"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["renderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,MAAM,WAAW,SAAS;IACxB,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,sCAAsC;IACtC,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,SAAS,CAG/D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAEnD"}