@datagrok-libraries/bio 5.30.1 → 5.30.2

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/cleanup ADDED
@@ -0,0 +1,14 @@
1
+ #!/bin/bash
2
+
3
+ # remove results of a previous build
4
+
5
+ for file in $(find . -name '*.ts')
6
+ do
7
+ template=$(dirname $file)/$(basename $file .ts)
8
+ dts=$template.d.ts
9
+ map=$dts.map
10
+ js=$template.js
11
+ if [[ -f $js && -f $map && -f $js ]]; then
12
+ rm --verbose -- $dts $map $js
13
+ fi
14
+ done
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "access": "public"
9
9
  },
10
10
  "friendlyName": "Datagrok bio library",
11
- "version": "5.30.1",
11
+ "version": "5.30.2",
12
12
  "description": "",
13
13
  "dependencies": {
14
14
  "@datagrok-libraries/gridext": "^1.3.22",
@@ -1,6 +1,5 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
2
  import { IMonomerLib } from '../types/index';
3
- export declare const expectedMonomerData: string[];
4
3
  export declare function encodeMonomers(col: DG.Column): DG.Column | null;
5
4
  export declare function getMolfilesFromSeq(col: DG.Column, monomersLibObject: any[]): any[][] | null;
6
5
  export declare function getMolfilesFromSingleSeq(cell: DG.Cell, monomersLibObject: any[]): any[][] | null;
@@ -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,EAAU,MAAM,gBAAgB,CAAC;AAMpD,eAAO,MAAM,mBAAmB,UAAyE,CAAC;AAE1G,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAwB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAuB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAoBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAED,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"}
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;AAK3C,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAwB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAuB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAoBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAED,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"}
@@ -12,7 +12,6 @@ import * as DG from 'datagrok-api/dg';
12
12
  import * as grok from 'datagrok-api/grok';
13
13
  import { HELM_CORE_FIELDS, jsonSdfMonomerLibDict, MONOMER_ENCODE_MAX, MONOMER_ENCODE_MIN, SDF_MONOMER_NAME } from '../utils/const';
14
14
  import { getSplitter } from '../utils/macromolecule/utils';
15
- export const expectedMonomerData = ['symbol', 'name', 'molfile', 'rgroups', 'polymerType', 'monomerType'];
16
15
  export function encodeMonomers(col) {
17
16
  let encodeSymbol = MONOMER_ENCODE_MIN;
18
17
  const monomerSymbolDict = {};
@@ -112,10 +111,10 @@ export function createJsonMonomerLibFromSdf(table) {
112
111
  const rgroup = {};
113
112
  const altAtom = g.substring(g.lastIndexOf(']') + 1);
114
113
  const radicalNum = g.match(/\[R(\d+)\]/)[1];
115
- rgroup["capGroupSmiles" /* RGROUP_FIELDS.CAP_GROUP_SMILES */] = altAtom === 'H' ? `[*:${radicalNum}][H]` : `O[*:${radicalNum}]`;
116
- rgroup["alternateId" /* RGROUP_FIELDS.ALTER_ID */] = altAtom === 'H' ? `R${radicalNum}-H` : `R${radicalNum}-OH`;
117
- rgroup["capGroupName" /* RGROUP_FIELDS.CAP_GROUP_NAME */] = altAtom === 'H' ? `H` : `OH`;
118
- rgroup["label" /* RGROUP_FIELDS.LABEL */] = `R${radicalNum}`;
114
+ rgroup["capGroupSmiles" /* HELM_RGROUP_FIELDS.CAP_GROUP_SMILES */] = altAtom === 'H' ? `[*:${radicalNum}][H]` : `O[*:${radicalNum}]`;
115
+ rgroup["alternateId" /* HELM_RGROUP_FIELDS.ALTERNATE_ID */] = altAtom === 'H' ? `R${radicalNum}-H` : `R${radicalNum}-OH`;
116
+ rgroup["capGroupName" /* HELM_RGROUP_FIELDS.CAP_GROUP_NAME */] = altAtom === 'H' ? `H` : `OH`;
117
+ rgroup["label" /* HELM_RGROUP_FIELDS.LABEL */] = `R${radicalNum}`;
119
118
  jsonRgroups.push(rgroup);
120
119
  });
121
120
  monomer[key] = jsonRgroups;
@@ -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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"}
@@ -11,7 +11,5 @@ export declare class MonomerWorks {
11
11
  private monomerLib;
12
12
  constructor(monomerLib: IMonomerLib);
13
13
  getCappedRotatedMonomer(monomerType: string, monomerName: string): string | null;
14
- /** Consumes a list of monomer symbols and restores molfileV3K (SequenceTranslator/ST version) */
15
- getAtomicLevel(monomers: string[], polymerType: string): string | null;
16
14
  }
17
15
  //# sourceMappingURL=monomer-works.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-works.d.ts","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAU,MAAM,UAAU,CAAC;AAG9C;;;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;IAQvF,iGAAiG;IAC1F,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAK9E"}
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,4 +1,3 @@
1
- import { sequenceToMolFileST } from './to-atomic-level';
2
1
  export class MonomerWorks {
3
2
  //private molfileConverter: IMolfileConverter;
4
3
  constructor(monomerLib /*, molfileConverter: IMolfileConverter*/) {
@@ -12,9 +11,5 @@ export class MonomerWorks {
12
11
  return monomer.molfile; //TODO cap
13
12
  return null;
14
13
  }
15
- /** Consumes a list of monomer symbols and restores molfileV3K (SequenceTranslator/ST version) */
16
- getAtomicLevel(monomers, polymerType) {
17
- return sequenceToMolFileST(monomers, this.monomerLib.getMonomerMolsByType(polymerType));
18
- }
19
14
  }
20
15
  //# sourceMappingURL=monomer-works.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-works.js","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAetD,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;IAED,iGAAiG;IAC1F,cAAc,CAAC,QAAkB,EAAE,WAAmB;QAC3D,OAAO,mBAAmB,CACxB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAE,CAC7D,CAAC;IACJ,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,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"}
@@ -11,14 +11,4 @@ export declare function parseCapGroups(rGroupObjList: any[]): string[];
11
11
  export declare function getSymbolToCappedMolfileMap(monomersLibList: any[]): Promise<Map<string, string> | undefined>;
12
12
  /** Get the V3K molfile corresponding to the capped Monomer (default cap groups) */
13
13
  export declare function capPeptideMonomer(monomer: Monomer): string;
14
- /** Currently the ST has peculiar types of monomers, which do not fit the HELM
15
- * Core library types (in particular, the RNA monomers are backbones only,
16
- * and presented in Molfile V3K format).
17
- * TODO: integrate this part with the above functionality
18
- * Custom _toAtomicLevel version for SequenceTranslator
19
- */
20
- export declare function sequenceToMolFileST(monomerSeq: string[], // sequence of values of 'symbol' field for monomers
21
- symbolToMolfileV3KObj: {
22
- [symbol: string]: string;
23
- }): string | null;
24
14
  //# sourceMappingURL=to-atomic-level.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-atomic-level.d.ts","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAOtC,OAAO,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAuH9C,kHAAkH;AAClH,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,GACnE,OAAO,CAAC;IAAE,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAG,CAAA;CAAE,CAAC,CAwEzD;AA0QD;YACY;AACZ,wBAAgB,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAe7D;AAggCD,wBAAsB,2BAA2B,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CA6BlH;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmB1D;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAAE,EAAE,oDAAoD;AAC1E,qBAAqB,EAAE;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAClD,MAAM,GAAG,IAAI,CAkBf"}
1
+ {"version":3,"file":"to-atomic-level.d.ts","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAStC,OAAO,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAuH9C,kHAAkH;AAClH,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,GACnE,OAAO,CAAC;IAAE,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAG,CAAA;CAAE,CAAC,CAkEzD;AAwND;YACY;AACZ,wBAAgB,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAe7D;AA09BD,wBAAsB,2BAA2B,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CA6BlH;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmB1D"}
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  /* Do not change these import lines to match external modules in webpack configuration */
11
11
  import * as grok from 'datagrok-api/grok';
12
12
  import * as DG from 'datagrok-api/dg';
13
- import { HELM_CORE_FIELDS } from '../utils/const';
13
+ import { HELM_CORE_FIELDS, } from '../utils/const';
14
14
  import { getSplitter } from '../utils/macromolecule/utils';
15
15
  import { NotationConverter } from '../utils/notation-converter';
16
16
  import { errorToConsole } from '@datagrok-libraries/utils/src/to-console';
@@ -79,11 +79,6 @@ export function _toAtomicLevel(df, seqCol, monomerLib) {
79
79
  const msg = `Unexpected column's '${srcCol.name}' alphabet '${alphabet}'.`;
80
80
  return { col: null, warnings: [msg] };
81
81
  }
82
- // work in standard mode, where, as in HELMCoreLibrary:
83
- // - monomers with polymerType 'PEPTIDE' have monomer type 'backbone'
84
- // - monomers with polymerType 'RNA' have monomer type 'branch' and 'backbone'
85
- // - the library provides molfiles in format V2000
86
- const mode = 0 /* MODE.STANDARD */;
87
82
  const monomerSequencesArray = getMonomerSequencesArray(srcCol);
88
83
  const monomersDict = yield getMonomersDictFromLib(monomerSequencesArray, monomerLib, polymerType, alphabet);
89
84
  const srcColLength = srcCol.length;
@@ -92,7 +87,7 @@ export function _toAtomicLevel(df, seqCol, monomerLib) {
92
87
  for (let rowI = 0; rowI < srcColLength; ++rowI) {
93
88
  try {
94
89
  const monomerSeq = monomerSequencesArray[rowI];
95
- molfileList[rowI] = monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerType, mode);
90
+ molfileList[rowI] = monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerType);
96
91
  }
97
92
  catch (err) {
98
93
  const errMsg = err instanceof Error ? err.message : err.toString();
@@ -116,25 +111,21 @@ export function _toAtomicLevel(df, seqCol, monomerLib) {
116
111
  */
117
112
  function getFormattedMonomerLib(monomerLib, polymerType, alphabet) {
118
113
  const map = new Map();
119
- for (const monomerType of monomerLib.getTypes()) {
120
- for (const monomerName of monomerLib.getMonomerNamesByType(monomerType)) {
121
- const it = monomerLib.getMonomer(monomerType, monomerName);
122
- if (it["polymerType" /* HELM_FIELDS.POLYMER_TYPE */] === polymerType) {
123
- if (polymerType === "RNA" /* HELM_POLYMER_TYPE.RNA */ &&
124
- (it["monomerType" /* HELM_FIELDS.MONOMER_TYPE */] === "Branch" /* HELM_MONOMER_TYPE.BRANCH */ ||
125
- alphabet === "DNA" /* ALPHABET.DNA */ && it["symbol" /* HELM_FIELDS.SYMBOL */] === DEOXYRIBOSE ||
126
- alphabet === "RNA" /* ALPHABET.RNA */ && it["symbol" /* HELM_FIELDS.SYMBOL */] === RIBOSE ||
127
- it["symbol" /* HELM_FIELDS.SYMBOL */] === PHOSPHATE) ||
128
- polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */ &&
129
- it["monomerType" /* HELM_FIELDS.MONOMER_TYPE */] !== "Branch" /* HELM_MONOMER_TYPE.BRANCH */) {
130
- const monomerObject = {};
131
- HELM_CORE_FIELDS.forEach((field) => {
132
- //@ts-ignore
133
- monomerObject[field] = it[field];
134
- });
135
- map.set(it["symbol" /* HELM_FIELDS.SYMBOL */], monomerObject);
136
- }
137
- }
114
+ for (const monomerSymbol of monomerLib.getMonomerSymbolsByType(polymerType)) {
115
+ const it = monomerLib.getMonomer(polymerType, monomerSymbol);
116
+ if (polymerType === "RNA" /* HELM_POLYMER_TYPE.RNA */ &&
117
+ (it["monomerType" /* HELM_FIELDS.MONOMER_TYPE */] === "Branch" /* HELM_MONOMER_TYPE.BRANCH */ ||
118
+ alphabet === "DNA" /* ALPHABET.DNA */ && it["symbol" /* HELM_FIELDS.SYMBOL */] === DEOXYRIBOSE ||
119
+ alphabet === "RNA" /* ALPHABET.RNA */ && it["symbol" /* HELM_FIELDS.SYMBOL */] === RIBOSE ||
120
+ it["symbol" /* HELM_FIELDS.SYMBOL */] === PHOSPHATE) ||
121
+ polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */ &&
122
+ it["monomerType" /* HELM_FIELDS.MONOMER_TYPE */] !== "Branch" /* HELM_MONOMER_TYPE.BRANCH */) {
123
+ const monomerObject = {};
124
+ HELM_CORE_FIELDS.forEach((field) => {
125
+ //@ts-ignore
126
+ monomerObject[field] = it[field];
127
+ });
128
+ map.set(it["symbol" /* HELM_FIELDS.SYMBOL */], monomerObject);
138
129
  }
139
130
  }
140
131
  return map;
@@ -202,34 +193,6 @@ function getAngleBetweenSugarBranchAndOY(molGraph) {
202
193
  const yShift = y[rNode] - y[terminalNode];
203
194
  return Math.atan(yShift / xShift) + Math.PI / 2;
204
195
  }
205
- /** Get a mapping of monomer symbols to MolGraph objects from a map whose keys
206
- * are symbols and values, V3000 molfiles */
207
- function getMonomersDictFromMap(symbolToMolfileV3KMap) {
208
- const monomersDict = new Map();
209
- const mapKeyList = Array.from(symbolToMolfileV3KMap.keys());
210
- for (const sym of mapKeyList) {
211
- const molfileV3K = symbolToMolfileV3KMap.get(sym); // ! is guaranteed
212
- const counts = parseAtomAndBondCounts(molfileV3K);
213
- const atoms = parseAtomBlock(molfileV3K, counts.atomCount);
214
- const bonds = parseBondBlock(molfileV3K, counts.bondCount);
215
- // the rNodes are set to 0th and the last atom!
216
- // this is used because as for now it is unclear how to include the R-groups
217
- // into the V3K molfile
218
- const meta = getMonomerMetadata(atoms, bonds);
219
- const monomerGraph = { atoms: atoms, bonds: bonds, meta: meta };
220
- const leftNodeIdx = meta.rNodes[0] - 1;
221
- const rightNodeIdx = meta.terminalNodes[1] - 1;
222
- // todo: consider rotation?
223
- adjustBackboneMonomerGraph(monomerGraph, leftNodeIdx, rightNodeIdx);
224
- // set shifts
225
- // todo: wrap as a separate function?
226
- monomerGraph.meta.backboneShift = getShiftBetweenNodes(monomerGraph, rightNodeIdx, leftNodeIdx);
227
- removeNodeAndBonds(monomerGraph, monomerGraph.meta.rNodes[1]);
228
- monomersDict.set(sym, monomerGraph);
229
- }
230
- // console.log(monomersDict);
231
- return monomersDict;
232
- }
233
196
  /** Adds MolGraph object for 'sym' to the monomers dict when necessary */
234
197
  function addMonomerToDict(monomersDict, sym, formattedMonomerLib, moduleRdkit, polymerType, pointerToBranchAngle) {
235
198
  if (!monomersDict.has(sym)) {
@@ -314,16 +277,8 @@ function getMonomerMetadata(atoms, bonds, capGroups, capGroupIdxMap) {
314
277
  terminalNodes: [],
315
278
  rNodes: [],
316
279
  };
317
- // corresponds to MODE.STANDARD
318
- const standardMode = typeof capGroups !== 'undefined' && typeof capGroupIdxMap !== 'undefined';
319
- if (standardMode) {
320
- substituteCapGroups(atoms, capGroups, capGroupIdxMap);
321
- setRNodes(capGroupIdxMap, meta);
322
- }
323
- else { // the case used in SequenceTranslator
324
- // todo: verify that the monomers are prepared in such a way that this works
325
- meta.rNodes = [0, atoms.x.length];
326
- }
280
+ substituteCapGroups(atoms, capGroups, capGroupIdxMap);
281
+ setRNodes(capGroupIdxMap, meta);
327
282
  setTerminalNodes(bonds, meta);
328
283
  return meta;
329
284
  }
@@ -335,10 +290,10 @@ export function parseCapGroups(rGroupObjList) {
335
290
  // supposing that elements in rGroupObjList are sorted w.r.t. the rgroups idx
336
291
  const capGroupsArray = [];
337
292
  for (const obj of rGroupObjList) {
338
- let capGroup = obj["capGroupSmiles" /* RGROUP_FIELDS.CAP_GROUP_SMILES */];
293
+ let capGroup = obj["capGroupSmiles" /* HELM_RGROUP_FIELDS.CAP_GROUP_SMILES */];
339
294
  // in some cases the smiles field is written with uppercase
340
295
  if (!capGroup)
341
- capGroup = obj["capGroupSMILES" /* RGROUP_FIELDS.CAP_GROUP_SMILES_UPPERCASE */];
296
+ capGroup = obj["capGroupSMILES" /* HELM_RGROUP_FIELDS.CAP_GROUP_SMILES_UPPERCASE */];
342
297
  capGroup = capGroup.replace(/(\[|\]|\*|:|\d)/g, '');
343
298
  capGroupsArray.push(capGroup);
344
299
  }
@@ -682,18 +637,6 @@ function adjustPhosphateMonomerGraph(monomer) {
682
637
  // rotate the centered graph so that P-O is on OX
683
638
  rotateCenteredGraph(monomer.atoms, Math.PI / 2 - angle);
684
639
  }
685
- /** Adjust a backbone graph so that nodeOne is at origin and nodeTwo is at OX.
686
- * Notice: node indexing in molfiles starts from 1 */
687
- function adjustBackboneMonomerGraph(monomer, nodeOneIdx, nodeTwoIdx) {
688
- const x = monomer.atoms.x;
689
- const y = monomer.atoms.y;
690
- // place nodeOne at origin
691
- shiftCoordinates(monomer, -x[nodeOneIdx], -y[nodeOneIdx]);
692
- // angle is measured between OX and the rotated node
693
- const angle = findAngleWithOX(x[nodeTwoIdx], y[nodeTwoIdx]);
694
- // rotate the centered graph, so that 'nodeTwo' ends up on the positive ray of OX
695
- rotateCenteredGraph(monomer.atoms, -angle);
696
- }
697
640
  function adjustSugarMonomerGraph(monomer, pointerToBranchAngle) {
698
641
  const x = monomer.atoms.x;
699
642
  const y = monomer.atoms.y;
@@ -880,33 +823,27 @@ function shiftCoordinates(molGraph, xShift, yShift) {
880
823
  }
881
824
  }
882
825
  /** Translate a sequence of monomer symbols into Molfile V3000 */
883
- function monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerType, mode) {
826
+ function monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerType) {
884
827
  if (monomerSeq.length === 0) {
885
828
  // throw new Error('monomerSeq is empty');
886
829
  return '';
887
830
  }
888
831
  // define atom and bond counts, taking into account the bond type
889
- const getAtomAndBondCounts = (mode === 0 /* MODE.STANDARD */) ?
890
- getResultingAtomBondCounts : getResultingAtomBondCountsST;
891
- const { atomCount, bondCount } = getAtomAndBondCounts(monomerSeq, monomersDict, alphabet, polymerType, mode);
832
+ const getAtomAndBondCounts = getResultingAtomBondCounts;
833
+ const { atomCount, bondCount } = getAtomAndBondCounts(monomerSeq, monomersDict, alphabet, polymerType);
892
834
  // create arrays to store lines of the resulting molfile
893
835
  const molfileAtomBlock = new Array(atomCount);
894
836
  const molfileBondBlock = new Array(bondCount);
895
837
  let addMonomerToMolblock; // todo: types?
896
838
  let sugar = null;
897
839
  let phosphate = null;
898
- if (mode === 0 /* MODE.STANDARD */) {
899
- if (polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */) {
900
- addMonomerToMolblock = addAminoAcidToMolblock;
901
- }
902
- else { // nucleotides
903
- addMonomerToMolblock = addNucleotideToMolblock;
904
- sugar = (alphabet === "DNA" /* ALPHABET.DNA */) ? monomersDict.get(DEOXYRIBOSE) : monomersDict.get(RIBOSE);
905
- phosphate = monomersDict.get(PHOSPHATE);
906
- }
840
+ if (polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */) {
841
+ addMonomerToMolblock = addAminoAcidToMolblock;
907
842
  }
908
- else {
909
- addMonomerToMolblock = addMonomerToMolblockST;
843
+ else { // nucleotides
844
+ addMonomerToMolblock = addNucleotideToMolblock;
845
+ sugar = (alphabet === "DNA" /* ALPHABET.DNA */) ? monomersDict.get(DEOXYRIBOSE) : monomersDict.get(RIBOSE);
846
+ phosphate = monomersDict.get(PHOSPHATE);
910
847
  }
911
848
  const v = {
912
849
  i: 0,
@@ -929,7 +866,7 @@ function monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerType, mo
929
866
  const monomer = monomersDict.get(monomerSeq[v.i]);
930
867
  addMonomerToMolblock(monomer, molfileAtomBlock, molfileBondBlock, v, C);
931
868
  }
932
- capResultingMolblock(molfileAtomBlock, molfileBondBlock, v, C, mode);
869
+ capResultingMolblock(molfileAtomBlock, molfileBondBlock, v, C);
933
870
  const molfileCountsLine = V3K_BEGIN_COUNTS_LINE + atomCount + ' ' + bondCount + V3K_COUNTS_LINE_ENDING;
934
871
  // todo: possible optimization may be achieved by replacing .join('') with +=
935
872
  // since counterintuitively joining an array into a new string is reportedly
@@ -951,27 +888,22 @@ function monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerType, mo
951
888
  return result;
952
889
  }
953
890
  /** Cap the resulting (after sewing up all the monomers) molfile with 'O' */
954
- function capResultingMolblock(molfileAtomBlock, molfileBondBlock, v, C, mode) {
955
- if (mode === 0 /* MODE.STANDARD */) {
956
- // add terminal oxygen
957
- const atomIdx = v.nodeShift + 1;
958
- molfileAtomBlock[C.atomCount] = V3K_BEGIN_DATA_LINE + atomIdx + ' ' +
959
- OXYGEN + ' ' + keepPrecision(v.backbonePositionShift[0]) + ' ' +
960
- v.flipFactor * keepPrecision(v.backbonePositionShift[1]) + ' ' + '0.000000 0' + '\n';
961
- // add terminal bond
962
- const firstAtom = v.backboneAttachNode;
963
- const secondAtom = atomIdx;
964
- molfileBondBlock[C.bondCount] = V3K_BEGIN_DATA_LINE + v.bondShift + ' ' +
965
- 1 + ' ' + firstAtom + ' ' + secondAtom + '\n';
966
- }
891
+ function capResultingMolblock(molfileAtomBlock, molfileBondBlock, v, C) {
892
+ // add terminal oxygen
893
+ const atomIdx = v.nodeShift + 1;
894
+ molfileAtomBlock[C.atomCount] = V3K_BEGIN_DATA_LINE + atomIdx + ' ' +
895
+ OXYGEN + ' ' + keepPrecision(v.backbonePositionShift[0]) + ' ' +
896
+ v.flipFactor * keepPrecision(v.backbonePositionShift[1]) + ' ' + '0.000000 0' + '\n';
897
+ // add terminal bond
898
+ const firstAtom = v.backboneAttachNode;
899
+ const secondAtom = atomIdx;
900
+ molfileBondBlock[C.bondCount] = V3K_BEGIN_DATA_LINE + v.bondShift + ' ' +
901
+ 1 + ' ' + firstAtom + ' ' + secondAtom + '\n';
967
902
  }
968
903
  function addAminoAcidToMolblock(monomer, molfileAtomBlock, molfileBondBlock, v) {
969
904
  v.flipFactor = Math.pow((-1), (v.i % 2)); // to flip every even monomer over OX
970
905
  addBackboneMonomerToMolblock(monomer, molfileAtomBlock, molfileBondBlock, v);
971
906
  }
972
- function addMonomerToMolblockST(monomer, molfileAtomBlock, molfileBondBlock, v) {
973
- addBranchMonomerToMolblock(monomer, molfileAtomBlock, molfileBondBlock, v);
974
- }
975
907
  function addBackboneMonomerToMolblock(monomer, molfileAtomBlock, molfileBondBlock, v) {
976
908
  // todo: remove these comments to the docstrings of the corr. functions
977
909
  // construnct the lines of V3K molfile atom block
@@ -986,8 +918,6 @@ function addBackboneMonomerToMolblock(monomer, molfileAtomBlock, molfileBondBloc
986
918
  // update loop variables
987
919
  updateChainExtendingVariables(monomer, v);
988
920
  }
989
- /** Defined for 'standard mode' RNA monomers, i.e. of 'branch' type, as in
990
- * HELMCoreLibrary. Will not work in SEQ_TRAN mode */
991
921
  function addNucleotideToMolblock(nucleobase, molfileAtomBlock, molfileBondBlock, v, C) {
992
922
  // construnct the lines of V3K molfile atom block corresponding to phosphate
993
923
  // and sugar
@@ -1087,7 +1017,7 @@ function fillBackboneToBranchBond(branchMonomer, molfileBondBlock, v) {
1087
1017
  }
1088
1018
  /** Compute the atom/bond counts for the resulting molfile, depending on the
1089
1019
  * type of polymer (peptide/nucleotide) */
1090
- function getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerType, mode) {
1020
+ function getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerType) {
1091
1021
  let atomCount = 0;
1092
1022
  let bondCount = 0;
1093
1023
  // sum up all the atoms/nodes provided by the sequence
@@ -1099,35 +1029,30 @@ function getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerT
1099
1029
  bondCount += monomer.bonds.bondTypes.length;
1100
1030
  }
1101
1031
  // add extra values depending on the polymer type
1102
- if (mode === 0 /* MODE.STANDARD */) {
1103
- if (polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */) {
1104
- // add the rightmost/terminating cap group 'OH' (i.e. 'O')
1105
- atomCount += 1;
1106
- // add chain-extending bonds (C-NH per each monomer pair and terminal C-OH)
1107
- bondCount += monomerSeq.length;
1108
- }
1109
- else { // nucleotides
1110
- const sugar = (alphabet === "DNA" /* ALPHABET.DNA */) ?
1111
- monomersDict.get(DEOXYRIBOSE) : monomersDict.get(RIBOSE);
1112
- const phosphate = monomersDict.get(PHOSPHATE);
1113
- // add phosphate per each pair of nucleobase symbols
1114
- atomCount += (monomerSeq.length - 1) * phosphate.atoms.x.length;
1115
- // add sugar per each nucleobase symbol
1116
- atomCount += monomerSeq.length * sugar.atoms.x.length;
1117
- // add the leftmost cap group 'OH' (i.e. 'O')
1118
- atomCount += 1;
1119
- // add bonds from phosphate monomers
1120
- bondCount += (monomerSeq.length - 1) * phosphate.bonds.bondTypes.length;
1121
- // add bonds from sugar monomers
1122
- bondCount += monomerSeq.length * sugar.bonds.bondTypes.length;
1123
- // exclude the first chain-extending bond O-P (absent, no 'leftmost' phosphate)
1124
- bondCount -= 1;
1125
- // add chain-extending and branch bonds (O-P, C-O and C-N per each nucleotide)
1126
- bondCount += monomerSeq.length * 3;
1127
- }
1032
+ if (polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */) {
1033
+ // add the rightmost/terminating cap group 'OH' (i.e. 'O')
1034
+ atomCount += 1;
1035
+ // add chain-extending bonds (C-NH per each monomer pair and terminal C-OH)
1036
+ bondCount += monomerSeq.length;
1128
1037
  }
1129
- else {
1130
- // todo: fill for SequenceTranslator
1038
+ else { // nucleotides
1039
+ const sugar = (alphabet === "DNA" /* ALPHABET.DNA */) ?
1040
+ monomersDict.get(DEOXYRIBOSE) : monomersDict.get(RIBOSE);
1041
+ const phosphate = monomersDict.get(PHOSPHATE);
1042
+ // add phosphate per each pair of nucleobase symbols
1043
+ atomCount += (monomerSeq.length - 1) * phosphate.atoms.x.length;
1044
+ // add sugar per each nucleobase symbol
1045
+ atomCount += monomerSeq.length * sugar.atoms.x.length;
1046
+ // add the leftmost cap group 'OH' (i.e. 'O')
1047
+ atomCount += 1;
1048
+ // add bonds from phosphate monomers
1049
+ bondCount += (monomerSeq.length - 1) * phosphate.bonds.bondTypes.length;
1050
+ // add bonds from sugar monomers
1051
+ bondCount += monomerSeq.length * sugar.bonds.bondTypes.length;
1052
+ // exclude the first chain-extending bond O-P (absent, no 'leftmost' phosphate)
1053
+ bondCount -= 1;
1054
+ // add chain-extending and branch bonds (O-P, C-O and C-N per each nucleotide)
1055
+ bondCount += monomerSeq.length * 3;
1131
1056
  }
1132
1057
  return { atomCount, bondCount };
1133
1058
  }
@@ -1237,62 +1162,4 @@ export function capPeptideMonomer(monomer) {
1237
1162
  const molfile = convertMolGraphToMolfileV3K(monomerGraph);
1238
1163
  return molfile;
1239
1164
  }
1240
- /////////////// Sequence translator /////////////////
1241
- /** Currently the ST has peculiar types of monomers, which do not fit the HELM
1242
- * Core library types (in particular, the RNA monomers are backbones only,
1243
- * and presented in Molfile V3K format).
1244
- * TODO: integrate this part with the above functionality
1245
- * Custom _toAtomicLevel version for SequenceTranslator
1246
- */
1247
- export function sequenceToMolFileST(monomerSeq, // sequence of values of 'symbol' field for monomers
1248
- symbolToMolfileV3KObj // mapping of symbol to molfile V3000
1249
- ) {
1250
- // work in SEQ_TRAN mode, where:
1251
- // - monomers with polymerType 'RNA' have monomer type 'backbone'
1252
- // - the library provides molfiles in format V3000
1253
- const mode = 1 /* MODE.SEQ_TRAN */;
1254
- const alphabet = "PT" /* ALPHABET.PT */; // dummy value! todo: make the argument optional
1255
- const polymerType = "RNA" /* HELM_POLYMER_TYPE.RNA */; // dummy value! todo: make the argument optional
1256
- // todo: consider refactoring from obj to map in monomer-worls
1257
- const symbolToMolfileV3KMap = new Map();
1258
- for (const sym in symbolToMolfileV3KObj)
1259
- symbolToMolfileV3KMap.set(sym, symbolToMolfileV3KObj[sym]);
1260
- const monomersDict = getMonomersDictFromMap(symbolToMolfileV3KMap);
1261
- const result = monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerType, mode);
1262
- // console.log(reconstructed[row]);
1263
- return result;
1264
- }
1265
- /** Compute the atom/bond counts for the resulting molfile, depending on the
1266
- * type of polymer (peptide/nucleotide) */
1267
- function getResultingAtomBondCountsST(monomerSeq, monomersDict, alphabet, polymerType) {
1268
- let atomCount = 0;
1269
- let bondCount = 0;
1270
- // sum up all the atoms/nodes provided by the sequence
1271
- for (const monomerSymbol of monomerSeq) {
1272
- const monomer = monomersDict.get(monomerSymbol);
1273
- atomCount += monomer.atoms.x.length;
1274
- bondCount += monomer.bonds.bondTypes.length;
1275
- }
1276
- // add extra values depending on the polymer type
1277
- if (polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */) {
1278
- // add the rightmost/terminating cap group 'OH' (i.e. 'O')
1279
- atomCount += 1;
1280
- // add chain-extending bonds (C-NH per each monomer pair and terminal C-OH)
1281
- bondCount += monomerSeq.length;
1282
- }
1283
- else { // nucleotides
1284
- const sugar = (alphabet === "DNA" /* ALPHABET.DNA */) ?
1285
- monomersDict.get(DEOXYRIBOSE) : monomersDict.get(RIBOSE);
1286
- const phosphate = monomersDict.get(PHOSPHATE);
1287
- // add phosphate and sugar per each nucleobase symbol
1288
- atomCount += monomerSeq.length * (phosphate.atoms.x.length + sugar.atoms.x.length);
1289
- // add the leftmost cap group 'OH' (i.e. 'O') to the first phosphate
1290
- atomCount += 1;
1291
- // add bonds from phosphate and sugar
1292
- bondCount += monomerSeq.length * (phosphate.bonds.bondTypes.length + sugar.bonds.bondTypes.length);
1293
- // add chain-extending and branch bonds (O-P, C-O and C-N per each nucleotide)
1294
- bondCount += monomerSeq.length * 3;
1295
- }
1296
- return { atomCount, bondCount };
1297
- }
1298
1165
  //# sourceMappingURL=to-atomic-level.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-atomic-level.js","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-atomic-level.js","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,36 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { HELM_REQUIRED_FIELDS as REQ, HELM_RGROUP_FIELDS as RGP, HELM_OPTIONAL_FIELDS as OPT } from '../utils/const';
3
+ type RGroup = {
4
+ [RGP.CAP_GROUP_SMILES]: string;
5
+ [RGP.ALTERNATE_ID]: string;
6
+ [RGP.CAP_GROUP_NAME]: string;
7
+ [RGP.LABEL]: string;
8
+ };
2
9
  export type Monomer = {
3
- symbol: string;
4
- name: string;
5
- naturalAnalog: string;
6
- molfile: string;
7
- polymerType: string;
8
- monomerType: string;
9
- rgroups: {
10
- capGroupSmiles: string;
11
- alternateId: string;
12
- capGroupName: string;
13
- label: string;
14
- }[];
15
- data: {
10
+ [REQ.SYMBOL]: string;
11
+ [REQ.NAME]: string;
12
+ [REQ.MOLFILE]: string;
13
+ [REQ.AUTHOR]: string;
14
+ [REQ.ID]: number;
15
+ [REQ.RGROUPS]: RGroup[];
16
+ [REQ.SMILES]: string;
17
+ [REQ.POLYMER_TYPE]: string;
18
+ [REQ.MONOMER_TYPE]: string;
19
+ [REQ.CREATE_DATE]: string | null;
20
+ [OPT.NATURAL_ANALOG]?: string;
21
+ [OPT.META]?: {
16
22
  [property: string]: any;
17
23
  };
18
24
  };
19
25
  export interface IMonomerLib {
20
- getMonomer(monomerType: string, monomerName: string): Monomer | null;
21
- getMonomerMolsByType(type: string): {
22
- [symbol: string]: string;
26
+ getMonomer(polymerType: string, monomerSymbol: string): Monomer | null;
27
+ getMonomerMolsByPolymerType(polymerType: string): {
28
+ [monomerSymbol: string]: string;
23
29
  } | null;
24
- getMonomerNamesByType(type: string): string[];
25
- getTypes(): string[];
30
+ getMonomerSymbolsByType(polymerType: string): string[];
31
+ getPolymerTypes(): string[];
26
32
  update(lib: IMonomerLib): void;
27
33
  get onChanged(): Observable<any>;
28
34
  }
35
+ export {};
29
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAGhC,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/F,IAAI,EAAE;QAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;CAChC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACrE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACtE,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9C,QAAQ,IAAI,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EAAC,oBAAoB,IAAI,GAAG,EACjC,kBAAkB,IAAI,GAAG,EAAE,oBAAoB,IAAI,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEhF,KAAK,MAAM,GAAG;IACZ,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;QAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;CAAC,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACvE,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAC3F,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;CAClC"}
@@ -1,4 +1,22 @@
1
1
  export declare const HELM_CORE_LIB_FILENAME = "/data/HELMCoreLibrary.json";
2
+ /** Required HELM library monomer fields:
3
+ * https://github.com/PistoiaHELM/HELMMonomerSets/blob/master/HELMmonomerSchema.json */
4
+ export declare const enum HELM_REQUIRED_FIELDS {
5
+ SYMBOL = "symbol",
6
+ NAME = "name",
7
+ MOLFILE = "molfile",
8
+ AUTHOR = "author",
9
+ ID = "id",
10
+ RGROUPS = "rgroups",
11
+ SMILES = "smiles",
12
+ POLYMER_TYPE = "polymerType",
13
+ MONOMER_TYPE = "monomerType",
14
+ CREATE_DATE = "createDate"
15
+ }
16
+ export declare const enum HELM_OPTIONAL_FIELDS {
17
+ NATURAL_ANALOG = "naturalAnalog",
18
+ META = "meta"
19
+ }
2
20
  export declare const enum HELM_FIELDS {
3
21
  MONOMER_TYPE = "monomerType",
4
22
  SMILES = "smiles",
@@ -12,14 +30,10 @@ export declare const enum HELM_FIELDS {
12
30
  POLYMER_TYPE = "polymerType",
13
31
  SYMBOL = "symbol"
14
32
  }
15
- export declare const enum MODE {
16
- STANDARD = 0,
17
- SEQ_TRAN = 1
18
- }
19
- export declare const enum RGROUP_FIELDS {
33
+ export declare const enum HELM_RGROUP_FIELDS {
20
34
  CAP_GROUP_SMILES = "capGroupSmiles",
21
35
  CAP_GROUP_SMILES_UPPERCASE = "capGroupSMILES",
22
- ALTER_ID = "alternateId",
36
+ ALTERNATE_ID = "alternateId",
23
37
  CAP_GROUP_NAME = "capGroupName",
24
38
  LABEL = "label"
25
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["const.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AAEnE,0BAAkB,WAAW;IAC3B,YAAY,gBAAgB;IAC5B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,cAAc,kBAAkB;IAChC,OAAO,YAAY;IACnB,WAAW,eAAe;IAC1B,EAAE,OAAO;IACT,YAAY,gBAAgB;IAC5B,MAAM,WAAW;CAClB;AAGD,0BAAkB,IAAI;IACpB,QAAQ,IAAA;IACR,QAAQ,IAAA;CACT;AAGD,0BAAkB,aAAa;IAC7B,gBAAgB,mBAAmB;IACnC,0BAA0B,mBAAmB;IAC7C,QAAQ,gBAAgB;IACxB,cAAc,iBAAiB;IAC/B,KAAK,UAAU;CAChB;AAGD,0BAAkB,iBAAiB;IACjC,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,0BAAkB,iBAAiB;IACjC,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAGD,eAAO,MAAM,gBAAgB,eAO5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAG9C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAYjC,CAAC;AAGF,eAAO,MAAM,kBAAkB,MAAQ,CAAC;AACxC,eAAO,MAAM,kBAAkB,OAAQ,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["const.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AAEnE;uFACuF;AACvF,0BAAkB,oBAAoB;IACpC,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,YAAY,gBAAgB;IAC5B,YAAY,gBAAgB;IAC5B,WAAW,eAAe;CAC3B;AAED,0BAAkB,oBAAoB;IACpC,cAAc,kBAAkB;IAChC,IAAI,SAAS;CACd;AAED,0BAAkB,WAAW;IAC3B,YAAY,gBAAgB;IAC5B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,cAAc,kBAAkB;IAChC,OAAO,YAAY;IACnB,WAAW,eAAe;IAC1B,EAAE,OAAO;IACT,YAAY,gBAAgB;IAC5B,MAAM,WAAW;CAClB;AAGD,0BAAkB,kBAAkB;IAClC,gBAAgB,mBAAmB;IACnC,0BAA0B,mBAAmB;IAC7C,YAAY,gBAAgB;IAC5B,cAAc,iBAAiB;IAC/B,KAAK,UAAU;CAChB;AAGD,0BAAkB,iBAAiB;IACjC,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,0BAAkB,iBAAiB;IACjC,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAGD,eAAO,MAAM,gBAAgB,eAO5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAG9C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAYjC,CAAC;AAGF,eAAO,MAAM,kBAAkB,MAAQ,CAAC;AACxC,eAAO,MAAM,kBAAkB,OAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["const.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AA2CnE,oEAAoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;IAK9B,2EAA2E;IAC3E,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE9C,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,UAAU;IACrB,eAAe,EAAE,0BAA0B;IAC3C,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,aAAa;CACxB,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["const.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAyDnE,oEAAoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;IAK9B,2EAA2E;IAC3E,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE9C,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,UAAU;IACrB,eAAe,EAAE,0BAA0B;IAC3C,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,aAAa;CACxB,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC"}
@@ -261,7 +261,7 @@ export class UnitsHandler {
261
261
  const monomerLibHelper = yield getMonomerLibHelper();
262
262
  const bioLib = monomerLibHelper.getBioLib();
263
263
  // retrieve peptides
264
- const peptides = bioLib.getMonomerNamesByType("PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */.toString());
264
+ const peptides = bioLib.getMonomerSymbolsByType("PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */.toString());
265
265
  // convert the peptides list to a set for faster lookup
266
266
  const peptidesSet = new Set(peptides);
267
267
  // get splitter for given separator and check if all monomers are in the lib
@@ -1 +1 @@
1
- {"version":3,"file":"units-handler.js","sourceRoot":"","sources":["units-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"units-handler.js","sourceRoot":"","sources":["units-handler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAsB,kBAAkB,EAAiB,MAAM,wBAAwB,CAAC;AAE/F,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,QAAQ,EACR,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,MAC/C,6DAA6D,CAAC;AAErE,OAAO,EAAC,mBAAmB,EAAoB,MAAM,gCAAgC,CAAC;AAGtF,iEAAiE;AACjE,MAAM,OAAO,YAAY;IAWhB,MAAM,CAAC,qBAAqB,CAAC,GAAc;QAChD,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iCAAmB;YAC1F,MAAM,IAAI,KAAK,CAAC,2BAA2B,4BAAc,cAAc,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAEvG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,+BAAiB,CAAC;QAC1C,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,GAAc,EAAE,SAAkB;QACxE,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,yCAAuB;YAC9F,MAAM,IAAI,KAAK,CAAC,2BAA2B,oCAAkB,cAAc,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAC3G,IAAI,CAAC,SAAS;YACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,oCAAkB,gCAAgC,CAAC,CAAC;QAEjG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,uCAAqB,CAAC;QAC9C,GAAG,CAAC,MAAM,mCAAiB,SAAS,CAAC,CAAC;QACtC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,GAAc;QAC/C,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,aAAa;YAC1C,MAAM,IAAI,KAAK,CAAC,2BAA2B,0BAAa,cAAc,EAAE,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;QAErG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,6BAAgB,CAAC;QACzC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED,+BAA+B;IACxB,MAAM,CAAC,OAAO,CAAC,GAAc,EAAE,QAAsB;QAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAa,CAAC;QACpD,MAAM,KAAK,GAAgB,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9E,IAAI,oEAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACxD,wCAAwC;YACxC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAE/E,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,mCAAmB,CAAC,0BAAc,CAAC;YACrE,GAAG,CAAC,MAAM,+BAAe,OAAO,CAAC,CAAC;YAElC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAChE,GAAG,CAAC,MAAM,iCAAgB,QAAQ,CAAC,CAAC;YACpC,IAAI,QAAQ,2BAAgB,EAAE;gBAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9E,GAAG,CAAC,MAAM,0CAAoB,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvD,GAAG,CAAC,MAAM,wDAA2B,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC9E;SACF;IACH,CAAC;IAED,IAAc,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAErD,IAAc,MAAM,KAAgB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1D,IAAW,QAAQ,KAAe,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1D,IAAW,gBAAgB,KAAa,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExE,IAAW,SAAS;;QAClB,MAAM,SAAS,GAAuB,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,kCAAgB,mCAAI,SAAS,CAAC;QACtF,IAAI,IAAI,CAAC,QAAQ,yCAAuB,IAAI,SAAS,KAAK,SAAS;YACjE,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,MAAM,CAAC,IAAI,kBAAkB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC9G,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAW,OAAO;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,8BAAc,CAAC;QAEjD,iFAAiF;QACjF,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iCAAiC;IACjC,IAAW,QAAQ;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,gCAAe,CAAC;QAEnD,kFAAkF;QAClF,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAE1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAc,cAAc;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,iDAAuB,CAAC;IACnD,CAAC;IAEM,eAAe;QACpB,IAAI,IAAI,CAAC,QAAQ,8BAAiB,IAAI,IAAI,CAAC,QAAQ,0BAAe,EAAE;YAClE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,yCAAmB,CAAC;YAC9D,IAAI,YAAoB,CAAC;YACzB,IAAI,eAAe,EAAE;gBACnB,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;aAC1C;iBAAM;gBACL,mCAAmC;gBACnC,MAAM,QAAQ,GAAiB,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACjD,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;aAC/C;YACD,OAAO,YAAY,CAAC;SACrB;aAAM;YACL,QAAQ,IAAI,CAAC,QAAQ,EAAE;gBACrB;oBACE,OAAO,EAAE,CAAC;gBACZ,8BAAkB;gBAClB;oBACE,OAAO,CAAC,CAAC;gBACX,KAAK,IAAI;oBACP,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBAC1C,OAAO,CAAC,CAAC;gBACX;oBACE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;aAC9D;SACF;IACH,CAAC;IAEM,sBAAsB;QAC3B,IAAI,IAAI,CAAC,QAAQ,+BAAkB;YACjC,OAAO,IAAI,CAAC;aACT,IAAI,IAAI,CAAC,QAAQ,2BAAgB;YACpC,OAAO,KAAK,CAAC;;YAEb,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,uDAA0B,KAAK,MAAM,CAAC;IACnE,CAAC;IAEM,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,iCAAmB,CAAC,CAAC,CAAC;IAE/D,WAAW,KAAc,OAAO,IAAI,CAAC,QAAQ,yCAAuB,CAAC,CAAC,CAAC;IAEvE,MAAM,KAAc,OAAO,IAAI,CAAC,QAAQ,+BAAkB,CAAC,CAAC,CAAC;IAE7D,KAAK,KAAc,OAAO,IAAI,CAAC,QAAQ,6BAAiB,CAAC,CAAC,CAAC;IAE3D,KAAK,KAAc,OAAO,IAAI,CAAC,QAAQ,6BAAiB,CAAC,CAAC,CAAC;IAE3D,SAAS,KAAc,OAAO,IAAI,CAAC,QAAQ,2BAAgB,CAAC,CAAC,CAAC;IAE9D,KAAK,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9F,gBAAgB,KAAc,OAAO,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC;IAC7E,4DAA4D;IAC5D;;OAEG;IACO,WAAW;QACnB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,8BAAgB;YACrD,oCAAsB;aACnB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,sCAAoB;YAC9D,4CAA0B;aACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,4BAAe;YACzD,kCAAqB;;YAErB,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,8BAA8B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;OAMG;IACO,YAAY,CAAC,cAAwB,EAAE,SAAkB;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QACvB,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QACjE,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,cAAc,yCAAuB,EAAE;YACzC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,oCAAkB,8BAA8B,CAAC,CAAC;YAChG,SAAS,CAAC,MAAM,mCAAiB,SAAS,CAAC,CAAC;SAC7C;QACD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,8BAAc,CAAC;QAC5C,IAAI,UAAU;YACZ,SAAS,CAAC,MAAM,+BAAe,UAAU,CAAC,CAAC;QAE7C,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,gCAAe,CAAC;QAC9C,IAAI,WAAW;YACb,SAAS,CAAC,MAAM,iCAAgB,WAAW,CAAC,CAAC;QAE/C,IAAI,eAAe,GAAW,GAAG,CAAC,MAAM,yCAAmB,CAAC;QAC5D,IAAI,eAAe;YACjB,SAAS,CAAC,MAAM,0CAAoB,eAAe,CAAC,CAAC;QAEvD,MAAM,sBAAsB,GAAW,GAAG,CAAC,MAAM,uDAA0B,CAAC;QAC5E,IAAI,sBAAsB,KAAK,SAAS;YACtC,SAAS,CAAC,MAAM,wDAA2B,sBAAsB,CAAC,CAAC;QAErE,IAAI,cAAc,8BAAiB,EAAE;YACnC,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpD,SAAS,CAAC,MAAM,0CAAoB,eAAe,CAAC,CAAC;SACtD;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,YAAY,CAAC,WAAsB;QAC/C,MAAM,GAAG,GAAiB,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC;QACpC,OAAO,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB,CAAC,KAAa;QAC5C,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,gGAAmD,CAAC;QACrE,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEvC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,sBAAsB,CAClC,GAAW,EACX,IAAY,EACZ,KAAa;QAEb,4EAA4E;QAC5E,2BAA2B;QAC3B,+CAA+C;QAC/C,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,uBAAuB;QAC5B,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,wBAAwB,CAAC,OAAO,CAAC;QAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACvB,yEAAyE;YACzE,kEAAkE;YAChE,8BAAkB;YAClB;gBACE,OAAO,wBAAwB,CAAC,WAAW,CAAC;YAC9C;gBACE,OAAO,wBAAwB,CAAC,iBAAiB,CAAC;YAClD,mDAAmD;YACrD;gBACE,OAAO,wBAAwB,CAAC,WAAW,CAAC;SAC/C;IACH,CAAC;IAEM,mBAAmB;QACxB,OAAO,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,mEAAmE;IACtD,sBAAsB;;YACjC,2DAA2D;YAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,iDAAuB;gBAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,iDAAuB,KAAK,MAAM,CAAC;YAE9D,oDAAoD;YACpD,MAAM,gBAAgB,GAAsB,MAAM,mBAAmB,EAAE,CAAC;YACxE,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAC5C,oBAAoB;YACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,uBAAuB,CAAC,0CAA0B,QAAQ,EAAE,CAAC,CAAC;YACtF,uDAAuD;YACvD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,4EAA4E;YAC5E,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;YAC/D,gFAAgF;YAChF,sFAAsF;YACtF,iDAAiD;YACjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;oBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;wBAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,kDAAwB,OAAO,CAAC,CAAC;wBACnD,OAAO,KAAK,CAAC;qBACd;iBACF;aACF;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,kDAAwB,MAAM,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED,YAAmB,GAAc;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;;YAEpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACrF,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAC1D,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC;QAElD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,8BAAc,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,gCAAe;YAC7E,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,uDAA0B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,2BAAgB,CAAC,EACpG;YACA,oFAAoF;YACpF,4DAA4D;YAC5D,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;gBAClB,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACjD;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,kCAAgB,CAAC;gBAC7C,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;aAChE;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACxB,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7E;SACF;QAED,kDAAkD;QAClD,uBAAuB;QACvB,2FAA2F;QAC3F,qDAAqD;QACrD,6CAA6C;QAC7C,2FAA2F;QAC3F,qDAAqD;QACrD,IAAI;QAEJ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,uDAA0B,EAAE;YACnD,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,MAAM,wDAA2B,MAAM,CAAC,CAAC;aACtD;iBAAM,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,IAAI,kBAAkB,IAAI,CAAC,QAAQ,IAAI;oBAChF,QAAQ,qDAAwB,iBAAiB,CAAC,CAAC;aACtD;SACF;IACH,CAAC;;AA5WyB,mCAAsB,GAAG;IACjD,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,GAAG;CACX,CAAC"}