@datagrok-libraries/bio 5.64.1 → 5.65.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/monomer-works/to-atomic-level-utils.d.ts.map +1 -1
- package/src/monomer-works/to-atomic-level-utils.js +93 -96
- package/src/monomer-works/to-atomic-level-utils.js.map +1 -1
- package/src/monomer-works/to-atomic-level.d.ts.map +1 -1
- package/src/monomer-works/to-atomic-level.js +300 -47
- package/src/monomer-works/to-atomic-level.js.map +1 -1
- package/src/monomer-works/types.d.ts +10 -2
- package/src/monomer-works/types.d.ts.map +1 -1
- package/src/monomer-works/types.js +9 -1
- package/src/monomer-works/types.js.map +1 -1
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
10
10
|
"friendlyName": "Datagrok bio library",
|
|
11
|
-
"version": "5.
|
|
11
|
+
"version": "5.65.1",
|
|
12
12
|
"description": "Bio utilities, types supporting Macromolecule, Molecule3D data",
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@datagrok-libraries/chem-meta": "^1.2.7",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-atomic-level-utils.d.ts","sourceRoot":"","sources":["to-atomic-level-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4C,cAAc,EAAwB,kBAAkB,EACzG,cAAc,EAAC,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAC,QAAQ,EAAa,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,eAAe,EAAU,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAIvD;;;;iHAIiH;AACjH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GACxE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"to-atomic-level-utils.d.ts","sourceRoot":"","sources":["to-atomic-level-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4C,cAAc,EAAwB,kBAAkB,EACzG,cAAc,EAAC,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAC,QAAQ,EAAa,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,eAAe,EAAU,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAIvD;;;;iHAIiH;AACjH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GACxE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAqBlB;AAED;;;;;;;+EAO+E;AAC/E,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,kBAAkB,EAC3D,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAC5C,KAAK,CAAC,EAAE,cAAc,EAAE,GACvB,cAAc,CA6HhB;AAsZD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable max-len */
|
|
2
2
|
import { monomerWorksConsts as C } from './consts';
|
|
3
|
-
import { getMolGraph, MolfileWithMap, MonomerMap } from './types';
|
|
3
|
+
import { getMolGraph, MolfileWithMap, MonomerMap, NucleotideRole } from './types';
|
|
4
4
|
import { HELM_CORE_FIELDS, } from '../utils/const';
|
|
5
5
|
import { ALPHABET, GAP_SYMBOL } from '../utils/macromolecule/consts';
|
|
6
6
|
import { helmTypeToPolymerType } from './monomer-works';
|
|
@@ -17,11 +17,8 @@ export function getFormattedMonomerLib(monomerLib, polymerType, alphabet) {
|
|
|
17
17
|
// RNA: all branch monomers (bases) and all backbone monomers (sugars +
|
|
18
18
|
// phosphates, including modified ones). Modifications are looked up by
|
|
19
19
|
// symbol at assembly time, so they MUST be present in the formatted lib.
|
|
20
|
-
polymerType === "RNA" /* HELM_POLYMER_TYPE.RNA */ &&
|
|
21
|
-
|
|
22
|
-
it["monomerType" /* HELM_FIELDS.MONOMER_TYPE */] === "Backbone" /* HELM_MONOMER_TYPE.BACKBONE */) ||
|
|
23
|
-
polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */ &&
|
|
24
|
-
it["monomerType" /* HELM_FIELDS.MONOMER_TYPE */] !== "Branch" /* HELM_MONOMER_TYPE.BRANCH */) {
|
|
20
|
+
polymerType === "RNA" /* HELM_POLYMER_TYPE.RNA */ || (polymerType === "PEPTIDE" /* HELM_POLYMER_TYPE.PEPTIDE */ &&
|
|
21
|
+
it["monomerType" /* HELM_FIELDS.MONOMER_TYPE */] !== "Branch" /* HELM_MONOMER_TYPE.BRANCH */)) {
|
|
25
22
|
const monomerObject = {};
|
|
26
23
|
HELM_CORE_FIELDS.forEach((field) => {
|
|
27
24
|
//@ts-ignore
|
|
@@ -45,13 +42,15 @@ export function monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerT
|
|
|
45
42
|
// throw new Error('monomerSeq is empty');
|
|
46
43
|
return MolfileWithMap.createEmpty();
|
|
47
44
|
}
|
|
48
|
-
// Triples mode is on only when
|
|
49
|
-
// (
|
|
50
|
-
//
|
|
45
|
+
// Triples mode is on only when the caller flagged the row with roles
|
|
46
|
+
// (built and validated by `buildRolesForHelmRna` in to-atomic-level.ts).
|
|
47
|
+
// The roles array carries the per-position semantics — including
|
|
48
|
+
// TERMINAL_5P / TERMINAL_3P for non-canonical chain ends — so we don't
|
|
49
|
+
// re-validate the length here.
|
|
51
50
|
const triplesMode = polymerType === "RNA" /* HELM_POLYMER_TYPE.RNA */ && !!roles &&
|
|
52
|
-
roles.length === monomerSeq.length
|
|
51
|
+
roles.length === monomerSeq.length;
|
|
53
52
|
// define atom and bond counts, taking into account the bond type
|
|
54
|
-
const { atomCount, bondCount, needsCapping } = getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerType, triplesMode);
|
|
53
|
+
const { atomCount, bondCount, needsCapping } = getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerType, triplesMode, roles);
|
|
55
54
|
// create arrays to store lines of the resulting molfile
|
|
56
55
|
const molfileAtomBlock = new Array(atomCount);
|
|
57
56
|
const molfileBondBlock = new Array(bondCount);
|
|
@@ -92,7 +91,7 @@ export function monomerSeqToMolfile(monomerSeq, monomersDict, alphabet, polymerT
|
|
|
92
91
|
let nAtoms = 0;
|
|
93
92
|
let lastMonomerCappingAtom = undefined;
|
|
94
93
|
if (triplesMode) {
|
|
95
|
-
runTriplesAssembly(monomerSeq, monomersDict, molfileAtomBlock, molfileBondBlock, v, LC, monomers, steabsCollection, (a) => { nAtoms += a; }, () => nAtoms);
|
|
94
|
+
runTriplesAssembly(monomerSeq, roles, monomersDict, molfileAtomBlock, molfileBondBlock, v, LC, monomers, steabsCollection, (a) => { nAtoms += a; }, () => nAtoms);
|
|
96
95
|
}
|
|
97
96
|
else {
|
|
98
97
|
for (v.i = 0; v.i < LC.seqLength; ++v.i) {
|
|
@@ -305,8 +304,9 @@ function fillBackboneToBranchBond(branchMonomer, molfileBondBlock, v) {
|
|
|
305
304
|
* @param {ALPHABET} alphabet - the alphabet of the monomers
|
|
306
305
|
* @param {PolymerType} polymerType - the type of polymer
|
|
307
306
|
* @param {boolean} triplesMode - true when monomerSeq is a flat list of HELM RNA triples
|
|
307
|
+
* @param {Array} roles - per-position role tags (only meaningful when triplesMode is true)
|
|
308
308
|
* @return {Object} the atom/bond counts plus needsCapping flag */
|
|
309
|
-
function getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerType, triplesMode) {
|
|
309
|
+
function getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerType, triplesMode, roles) {
|
|
310
310
|
let atomCount = 0;
|
|
311
311
|
let bondCount = 0;
|
|
312
312
|
let monomerCount = 0;
|
|
@@ -349,14 +349,19 @@ function getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerT
|
|
|
349
349
|
else if (triplesMode) { // nucleotides — HELM triples (per-position sugar/base/phosphate)
|
|
350
350
|
void lastPhosphateGraph; // kept for symmetry; trailing P is now retained when HELM wrote it
|
|
351
351
|
// Per-monomer-loop already summed sugars + bases + phosphates for every
|
|
352
|
-
// entry in monomerSeq. Reservation: each backbone
|
|
353
|
-
// reserves +1 bond slot for the
|
|
354
|
-
// reserves +1 for its branch
|
|
355
|
-
//
|
|
356
|
-
// length === 3N - 1 → trailing P absent, monomerCount = 3N - 1.
|
|
357
|
-
// Either way, bondCount = sum_bonds + monomerCount.
|
|
358
|
-
atomCount += 1; // OH cap atom (rides on trailing P or on last sugar's R2)
|
|
352
|
+
// entry in monomerSeq (terminals included). Reservation: each backbone
|
|
353
|
+
// emit (sugar / phosphate / terminal) reserves +1 bond slot for the
|
|
354
|
+
// chain-extending bond, each branch (base) reserves +1 for its branch
|
|
355
|
+
// bond. Total reservations = monomerCount.
|
|
359
356
|
bondCount += monomerCount;
|
|
357
|
+
// OH cap atom rides on the 3'-end. Skip it when HELM specified a
|
|
358
|
+
// 3'-terminal modifier (e.g. GalNAc) that IS the chain end.
|
|
359
|
+
const has3pTerm = !!roles && roles.length > 0 &&
|
|
360
|
+
roles[roles.length - 1] === NucleotideRole.TERMINAL_3P;
|
|
361
|
+
if (has3pTerm)
|
|
362
|
+
needsCapping = false;
|
|
363
|
+
else
|
|
364
|
+
atomCount += 1; // OH cap atom (rides on trailing P or on last sugar's R2)
|
|
360
365
|
}
|
|
361
366
|
else { // nucleotides — bases-only legacy path with default sugar/phosphate
|
|
362
367
|
const sugar = (alphabet === ALPHABET.DNA) ?
|
|
@@ -379,60 +384,66 @@ function getResultingAtomBondCounts(monomerSeq, monomersDict, alphabet, polymerT
|
|
|
379
384
|
}
|
|
380
385
|
return { atomCount, bondCount, needsCapping };
|
|
381
386
|
}
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
const
|
|
400
|
-
|
|
401
|
-
const
|
|
387
|
+
// Triples-mode RNA assembly. Iterates by NUCLEOTIDE over the row's "core"
|
|
388
|
+
// positions (those tagged SUGAR/BASE/PHOSPHATE), and emits at most one
|
|
389
|
+
// TERMINAL_5P at the head and one TERMINAL_3P at the tail.
|
|
390
|
+
//
|
|
391
|
+
// Layout permutations the function handles:
|
|
392
|
+
// roles = [SUGAR, BASE, PHOSPHATE, ...] // standard RNA
|
|
393
|
+
// roles = [..., SUGAR, BASE] // no trailing P
|
|
394
|
+
// roles = [TERMINAL_5P, SUGAR, BASE, PHOSPHATE, ...] // 5' modifier
|
|
395
|
+
// roles = [..., SUGAR, BASE, TERMINAL_3P] // 3' modifier (replaces last P)
|
|
396
|
+
// roles = [TERMINAL_5P, ..., TERMINAL_3P] // both
|
|
397
|
+
//
|
|
398
|
+
// When a TERMINAL_3P is present the OH cap MUST be skipped (the last
|
|
399
|
+
// monomer is the chain end, period); the caller takes responsibility for
|
|
400
|
+
// needsCapping=false in `getResultingAtomBondCounts`.
|
|
401
|
+
function runTriplesAssembly(monomerSeq, roles, monomersDict, molfileAtomBlock, molfileBondBlock, v, LC, monomers, steabsCollection, addAtoms, getAtoms) {
|
|
402
|
+
const has5pTerm = roles.length > 0 && roles[0] === NucleotideRole.TERMINAL_5P;
|
|
403
|
+
const has3pTerm = roles.length > 0 && roles[roles.length - 1] === NucleotideRole.TERMINAL_3P;
|
|
404
|
+
const coreStart = has5pTerm ? 1 : 0;
|
|
405
|
+
const coreEnd = has3pTerm ? roles.length - 1 : roles.length;
|
|
406
|
+
const coreLen = coreEnd - coreStart;
|
|
407
|
+
const N = Math.ceil(coreLen / 3); // nucleotide count in the core
|
|
408
|
+
// coreLen === 3N → trailing P present. coreLen === 3N - 1 → no trailing P.
|
|
409
|
+
const hasTrailingP = coreLen === 3 * N;
|
|
410
|
+
// Helper: emit one monomer as a backbone unit and record its atom/bond
|
|
411
|
+
// ranges in the per-row monomer map.
|
|
412
|
+
const emitBackbone = (sm, mapKey) => {
|
|
413
|
+
const mG = getMolGraph(monomersDict, { symbol: sm.symbol, polymerType: helmTypeToPolymerType(sm.biotype) });
|
|
414
|
+
const aFirst = v.nodeShift;
|
|
415
|
+
const bFirst = v.bondShift;
|
|
416
|
+
addBackboneMonomerToMolblock(mG, molfileAtomBlock, molfileBondBlock, v);
|
|
417
|
+
mG.stereoAtoms?.forEach((i) => steabsCollection.push(i + getAtoms()));
|
|
418
|
+
addAtoms(mG.atoms.x.length);
|
|
419
|
+
const aList = [];
|
|
420
|
+
for (let a = aFirst; a < v.nodeShift; ++a)
|
|
421
|
+
aList.push(a);
|
|
422
|
+
const bList = [];
|
|
423
|
+
for (let b = bFirst; b < v.bondShift; ++b)
|
|
424
|
+
bList.push(b);
|
|
425
|
+
monomers.set(mapKey, { biotype: sm.biotype, symbol: sm.symbol, atoms: aList, bonds: bList });
|
|
426
|
+
};
|
|
427
|
+
// 1. 5'-end terminal modifier (e.g. Chol).
|
|
428
|
+
if (has5pTerm) {
|
|
429
|
+
v.i = 0;
|
|
430
|
+
emitBackbone(monomerSeq[0], 0);
|
|
431
|
+
}
|
|
432
|
+
// 2. Core triples loop: each iteration emits [prev-P (if n>=1)] + sugar + base.
|
|
402
433
|
for (let n = 0; n < N; ++n) {
|
|
403
|
-
v.i = n;
|
|
404
|
-
const
|
|
405
|
-
const
|
|
434
|
+
v.i = n + (has5pTerm ? 1 : 0); // keep v.i monotone across emits
|
|
435
|
+
const sugarSeqIdx = coreStart + 3 * n;
|
|
436
|
+
const baseSeqIdx = sugarSeqIdx + 1;
|
|
437
|
+
const sugarSm = monomerSeq[sugarSeqIdx];
|
|
438
|
+
const baseSm = monomerSeq[baseSeqIdx];
|
|
406
439
|
const sugarG = getMolGraph(monomersDict, { symbol: sugarSm.symbol, polymerType: helmTypeToPolymerType(sugarSm.biotype) });
|
|
407
440
|
const baseG = getMolGraph(monomersDict, { symbol: baseSm.symbol, polymerType: helmTypeToPolymerType(baseSm.biotype) });
|
|
408
|
-
//
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
getMolGraph(monomersDict, { symbol: monomerSeq[3 * (n - 1) + 2].symbol,
|
|
413
|
-
polymerType: helmTypeToPolymerType(monomerSeq[3 * (n - 1) + 2].biotype) });
|
|
414
|
-
// emit prevPhosphate (chain linker), then sugar, then base
|
|
415
|
-
const seqStartIdx = 3 * n; // for keying the per-row monomer map by HELM splitter index
|
|
416
|
-
if (prevPhosG) {
|
|
417
|
-
const prevAtomFirst = v.nodeShift;
|
|
418
|
-
const prevBondFirst = v.bondShift;
|
|
419
|
-
addBackboneMonomerToMolblock(prevPhosG, molfileAtomBlock, molfileBondBlock, v);
|
|
420
|
-
prevPhosG.stereoAtoms?.forEach((i) => steabsCollection.push(i + getAtoms()));
|
|
421
|
-
addAtoms(prevPhosG.atoms.x.length);
|
|
422
|
-
// The phosphate "belongs to" nucleotide n-1's HELM index (3*(n-1)+2).
|
|
423
|
-
const prevPhosKey = 3 * (n - 1) + 2;
|
|
424
|
-
const aList = [];
|
|
425
|
-
for (let a = prevAtomFirst; a < v.nodeShift; ++a)
|
|
426
|
-
aList.push(a);
|
|
427
|
-
const bList = [];
|
|
428
|
-
for (let b = prevBondFirst; b < v.bondShift; ++b)
|
|
429
|
-
bList.push(b);
|
|
430
|
-
monomers.set(prevPhosKey, {
|
|
431
|
-
biotype: monomerSeq[prevPhosKey].biotype,
|
|
432
|
-
symbol: monomerSeq[prevPhosKey].symbol,
|
|
433
|
-
atoms: aList, bonds: bList,
|
|
434
|
-
});
|
|
441
|
+
// Inter-nucleotide phosphate sits at coreStart + 3*(n-1) + 2 for n >= 1.
|
|
442
|
+
if (n >= 1) {
|
|
443
|
+
const prevPhosKey = coreStart + 3 * (n - 1) + 2;
|
|
444
|
+
emitBackbone(monomerSeq[prevPhosKey], prevPhosKey);
|
|
435
445
|
}
|
|
446
|
+
// Sugar (backbone)
|
|
436
447
|
const sugarAtomFirst = v.nodeShift;
|
|
437
448
|
const sugarBondFirst = v.bondShift;
|
|
438
449
|
addBackboneMonomerToMolblock(sugarG, molfileAtomBlock, molfileBondBlock, v);
|
|
@@ -444,10 +455,11 @@ function runTriplesAssembly(monomerSeq, monomersDict, molfileAtomBlock, molfileB
|
|
|
444
455
|
const sBList = [];
|
|
445
456
|
for (let b = sugarBondFirst; b < v.bondShift; ++b)
|
|
446
457
|
sBList.push(b);
|
|
447
|
-
monomers.set(
|
|
458
|
+
monomers.set(sugarSeqIdx, {
|
|
448
459
|
biotype: sugarSm.biotype, symbol: sugarSm.symbol,
|
|
449
460
|
atoms: sAList, bonds: sBList,
|
|
450
461
|
});
|
|
462
|
+
// Base (branch)
|
|
451
463
|
const baseAtomFirst = v.nodeShift;
|
|
452
464
|
const baseBondFirst = v.bondShift;
|
|
453
465
|
addBranchMonomerToMolblock(baseG, molfileAtomBlock, molfileBondBlock, v);
|
|
@@ -459,36 +471,21 @@ function runTriplesAssembly(monomerSeq, monomersDict, molfileAtomBlock, molfileB
|
|
|
459
471
|
const bBList = [];
|
|
460
472
|
for (let b = baseBondFirst; b < v.bondShift; ++b)
|
|
461
473
|
bBList.push(b);
|
|
462
|
-
monomers.set(
|
|
474
|
+
monomers.set(baseSeqIdx, {
|
|
463
475
|
biotype: baseSm.biotype, symbol: baseSm.symbol,
|
|
464
476
|
atoms: bAList, bonds: bBList,
|
|
465
477
|
});
|
|
466
478
|
}
|
|
467
|
-
//
|
|
468
|
-
//
|
|
469
|
-
// rides on its free oxygen (3'-phosphate-OH terminus). If HELM omitted
|
|
470
|
-
// the trailing phosphate, the cap rides on the last sugar's R2 — that
|
|
471
|
-
// requires no extra emission here, since v.backboneAttachNode already
|
|
472
|
-
// points at the last sugar's R2 attach.
|
|
479
|
+
// 3. Trailing phosphate (the LAST nucleotide's P) — only if HELM wrote
|
|
480
|
+
// one AND there is no 3'-terminal modifier replacing it.
|
|
473
481
|
if (hasTrailingP) {
|
|
474
|
-
const lastPhosKey = 3 * (N - 1) + 2;
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
addAtoms(lastPhosG.atoms.x.length);
|
|
482
|
-
const tAList = [];
|
|
483
|
-
for (let a = trailAtomFirst; a < v.nodeShift; ++a)
|
|
484
|
-
tAList.push(a);
|
|
485
|
-
const tBList = [];
|
|
486
|
-
for (let b = trailBondFirst; b < v.bondShift; ++b)
|
|
487
|
-
tBList.push(b);
|
|
488
|
-
monomers.set(lastPhosKey, {
|
|
489
|
-
biotype: lastPhosSm.biotype, symbol: lastPhosSm.symbol,
|
|
490
|
-
atoms: tAList, bonds: tBList,
|
|
491
|
-
});
|
|
482
|
+
const lastPhosKey = coreStart + 3 * (N - 1) + 2;
|
|
483
|
+
emitBackbone(monomerSeq[lastPhosKey], lastPhosKey);
|
|
484
|
+
}
|
|
485
|
+
// 4. 3'-end terminal modifier (e.g. GalNAc).
|
|
486
|
+
if (has3pTerm) {
|
|
487
|
+
v.i = N + (has5pTerm ? 1 : 0);
|
|
488
|
+
emitBackbone(monomerSeq[roles.length - 1], roles.length - 1);
|
|
492
489
|
}
|
|
493
490
|
}
|
|
494
491
|
/** Keep precision upon floating point operations over atom coordinates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-atomic-level-utils.js","sourceRoot":"","sources":["to-atomic-level-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"to-atomic-level-utils.js","sourceRoot":"","sources":["to-atomic-level-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-atomic-level.d.ts","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAItC,OAAO,EAAC,QAAQ,EAAC,MAAM,6CAA6C,CAAC;AAGrE,OAAO,EAAC,QAAQ,EAAW,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAG/E,OAAO,EAAQ,KAAK,EAA2C,QAAQ,EACpD,kBAAkB,EAAE,cAAc,EAAoC,MAAM,SAAS,CAAC;AACzG,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAAW,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAMjE;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC3C,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,GACpE,OAAO,CAAC,gBAAgB,CAAC,CA8E3B;
|
|
1
|
+
{"version":3,"file":"to-atomic-level.d.ts","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAItC,OAAO,EAAC,QAAQ,EAAC,MAAM,6CAA6C,CAAC;AAGrE,OAAO,EAAC,QAAQ,EAAW,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAG/E,OAAO,EAAQ,KAAK,EAA2C,QAAQ,EACpD,kBAAkB,EAAE,cAAc,EAAoC,MAAM,SAAS,CAAC;AACzG,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAAW,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAMjE;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC3C,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,GACpE,OAAO,CAAC,gBAAgB,CAAC,CA8E3B;AAoHD;;4EAE4E;AAC5E,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,WAAW,EAAE,EAAE,CAuB/G;AAGD;;;;;;;;;mFASmF;AACnF,wBAAgB,sBAAsB,CACpC,qBAAqB,EAAE,WAAW,EAAE,EAAE,EACtC,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC,EAAE,EAC5C,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAC5C,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,GACjD,kBAAkB,CAwDpB;AAyRD;;wDAEwD;AACxD,wBAAgB,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAgB7D;AAmGD;;;qCAGqC;AACrC,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,MAAM,CAMhF;AAED;;;sBAGsB;AACtB,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAkBpE;AAED;;;mCAGmC;AACnC,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CA8C3E;AAED;;;;8EAI8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGxE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAyC9E;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAc9E;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAcnG;AA6nBD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAmEtE;AAED,wBAAsB,2BAA2B,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CA8BlH;AAED;;iCAEiC;AACjC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAoB1D"}
|
|
@@ -60,7 +60,7 @@ export async function _toAtomicLevel(df, seqCol, monomerLib, seqHelper, rdKitMod
|
|
|
60
60
|
const monomerSequencesArray = getMonomerSequencesArray(srcCol, seqHelper);
|
|
61
61
|
// Per-row roles: only set in HELM RNA/DNA mode where the splitter emits triples.
|
|
62
62
|
const rolesArray = keepHelmTriples ?
|
|
63
|
-
buildRolesForHelmRna(monomerSequencesArray) :
|
|
63
|
+
buildRolesForHelmRna(monomerSequencesArray, monomerLib, polymerType) :
|
|
64
64
|
new Array(monomerSequencesArray.length).fill(undefined);
|
|
65
65
|
// In triples mode, override the per-row biotype so it carries NUCLEOTIDE
|
|
66
66
|
// (rather than whatever the seq-handler defaults to for an UN-alphabet column).
|
|
@@ -135,23 +135,77 @@ function pickRnaAlphabetFromHelm(seqCol, seqHelper) {
|
|
|
135
135
|
}
|
|
136
136
|
return ALPHABET.RNA;
|
|
137
137
|
}
|
|
138
|
+
// Returns 'r1-only' if the lib monomer has a single R-group labeled R1
|
|
139
|
+
// (i.e. a 3'-end terminal modifier like GalNAc), 'r2-only' if it has only
|
|
140
|
+
// R2 (a 5'-end terminal modifier like Chol), and null otherwise.
|
|
141
|
+
//
|
|
142
|
+
// IMPORTANT: nucleobases (A/C/G/U/T and their modified forms) are
|
|
143
|
+
// monomerType='Branch' with a single R1, but they are NOT terminal
|
|
144
|
+
// modifiers — they're branch attachments to the sugar's R3. We exclude
|
|
145
|
+
// Branch monomers explicitly so the splitter's i-th-base position keeps
|
|
146
|
+
// its BASE role.
|
|
147
|
+
function classifyTerminal(monomerLib, polymerType, symbol) {
|
|
148
|
+
const m = monomerLib.getMonomer(polymerType, symbol);
|
|
149
|
+
if (!m || !m.rgroups || m.rgroups.length !== 1)
|
|
150
|
+
return null;
|
|
151
|
+
if (m["monomerType" /* HELM_FIELDS.MONOMER_TYPE */] === "Branch" /* HELM_MONOMER_TYPE.BRANCH */)
|
|
152
|
+
return null;
|
|
153
|
+
const lbl = m.rgroups[0].label;
|
|
154
|
+
if (lbl === 'R1')
|
|
155
|
+
return 'r1-only';
|
|
156
|
+
if (lbl === 'R2')
|
|
157
|
+
return 'r2-only';
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
138
160
|
// For HELM RNA rows, the splitter emits sugar/base/phosphate triples in
|
|
139
|
-
// that fixed order (per `
|
|
140
|
-
// role from
|
|
141
|
-
//
|
|
142
|
-
//
|
|
143
|
-
|
|
161
|
+
// that fixed order (per `RNA_HELM_TRIPLET_MONOMER_REG`). Tag each entry
|
|
162
|
+
// with its role from its index, then promote first / last entries to
|
|
163
|
+
// TERMINAL_5P / TERMINAL_3P when the lib says they are single-R-group
|
|
164
|
+
// terminal modifiers (Chol / GalNAc-style monomers).
|
|
165
|
+
//
|
|
166
|
+
// Validation: after stripping the terminal positions the remaining "core"
|
|
167
|
+
// length must be 0, 3K, or 3K+2 (the no-trailing-P variant). Rows that
|
|
168
|
+
// don't fit fall back to bases-only mode by returning undefined for that
|
|
169
|
+
// row.
|
|
170
|
+
function buildRolesForHelmRna(monomerSequencesArray, monomerLib, polymerType) {
|
|
144
171
|
const out = new Array(monomerSequencesArray.length);
|
|
145
172
|
for (let rowI = 0; rowI < monomerSequencesArray.length; ++rowI) {
|
|
146
173
|
const row = monomerSequencesArray[rowI];
|
|
147
|
-
|
|
148
|
-
|
|
174
|
+
if (row.length === 0) {
|
|
175
|
+
out[rowI] = undefined;
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
// Detect terminals at row boundaries. Conventionally the start would
|
|
179
|
+
// require r2-only (Chol-style) and the end would require r1-only
|
|
180
|
+
// (GalNAc/Bio-style), but HELM authors sometimes put the "wrong" one
|
|
181
|
+
// at either end. We accept ANY single-R-group non-Branch monomer at
|
|
182
|
+
// each boundary; getMolGraph then swaps the rNodes so the real R
|
|
183
|
+
// ends up where the role expects it.
|
|
184
|
+
const startTerm = row.length >= 1 &&
|
|
185
|
+
classifyTerminal(monomerLib, polymerType, row[0].symbol) !== null;
|
|
186
|
+
// Don't double-count when row.length === 1 and the single monomer
|
|
187
|
+
// already became a 5'-terminal: it doesn't ALSO get treated as a 3'.
|
|
188
|
+
const endTerm = row.length >= 1 && !(startTerm && row.length === 1) &&
|
|
189
|
+
classifyTerminal(monomerLib, polymerType, row[row.length - 1].symbol) !== null;
|
|
190
|
+
const coreLen = row.length - (startTerm ? 1 : 0) - (endTerm ? 1 : 0);
|
|
191
|
+
if (coreLen < 0 || !(coreLen % 3 === 0 || coreLen % 3 === 2)) {
|
|
149
192
|
out[rowI] = undefined;
|
|
150
193
|
continue;
|
|
151
194
|
}
|
|
152
195
|
const roles = new Array(row.length);
|
|
153
|
-
|
|
154
|
-
|
|
196
|
+
let coreI = 0;
|
|
197
|
+
for (let i = 0; i < row.length; ++i) {
|
|
198
|
+
if (i === 0 && startTerm) {
|
|
199
|
+
roles[i] = NucleotideRole.TERMINAL_5P;
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
if (i === row.length - 1 && endTerm) {
|
|
203
|
+
roles[i] = NucleotideRole.TERMINAL_3P;
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
roles[i] = (coreI % 3);
|
|
207
|
+
coreI++;
|
|
208
|
+
}
|
|
155
209
|
out[rowI] = roles;
|
|
156
210
|
}
|
|
157
211
|
return out;
|
|
@@ -296,7 +350,31 @@ function getMolGraph(monomerSymbol, formattedMonomerLib, moduleRdkit, polymerTyp
|
|
|
296
350
|
(role === undefined && (monomerSymbol === C.RIBOSE.symbol || monomerSymbol === C.DEOXYRIBOSE.symbol));
|
|
297
351
|
const isPhosphate = role === NucleotideRole.PHOSPHATE ||
|
|
298
352
|
(role === undefined && monomerSymbol === C.PHOSPHATE.symbol);
|
|
299
|
-
|
|
353
|
+
const isTerminal = role === NucleotideRole.TERMINAL_5P || role === NucleotideRole.TERMINAL_3P;
|
|
354
|
+
if (isTerminal) {
|
|
355
|
+
// Terminal monomers have ONE real R-group from the lib; the other
|
|
356
|
+
// is a pseudo synthesized by getMonomerMetadata and points at a
|
|
357
|
+
// real atom of the monomer body. The TERMINAL_5P/TERMINAL_3P
|
|
358
|
+
// logic in setShiftsAndTerminalNodes assumes:
|
|
359
|
+
// TERMINAL_5P → real R is at rNodes[1] (chain-extending right).
|
|
360
|
+
// TERMINAL_3P → real R is at rNodes[0] (chain-incoming left).
|
|
361
|
+
// When HELM places a single-R monomer at the "wrong" boundary
|
|
362
|
+
// (e.g. Bio/GalNAc with only R1 at row[0], or Chol with only R2
|
|
363
|
+
// at row[last]), the real R sits at the OTHER index. Swap the
|
|
364
|
+
// rNodes / terminalNodes pair so the existing role logic works.
|
|
365
|
+
const realRLabel = libObject["rgroups" /* HELM_FIELDS.RGROUPS */]?.[0]?.label;
|
|
366
|
+
const realRIdx = realRLabel === 'R1' ? 0 : (realRLabel === 'R2' ? 1 : -1);
|
|
367
|
+
const expectedRealRIdx = role === NucleotideRole.TERMINAL_5P ? 1 : 0;
|
|
368
|
+
if (realRIdx !== -1 && realRIdx !== expectedRealRIdx) {
|
|
369
|
+
[monomerGraph.meta.rNodes[0], monomerGraph.meta.rNodes[1]] =
|
|
370
|
+
[monomerGraph.meta.rNodes[1], monomerGraph.meta.rNodes[0]];
|
|
371
|
+
[monomerGraph.meta.terminalNodes[0], monomerGraph.meta.terminalNodes[1]] =
|
|
372
|
+
[monomerGraph.meta.terminalNodes[1], monomerGraph.meta.terminalNodes[0]];
|
|
373
|
+
}
|
|
374
|
+
// Peptide-style adjustment correctly orients a 2-R monomer.
|
|
375
|
+
adjustPeptideMonomerGraph(monomerGraph);
|
|
376
|
+
}
|
|
377
|
+
else if (isSugar)
|
|
300
378
|
adjustSugarMonomerGraph(monomerGraph, pointerToBranchAngle);
|
|
301
379
|
else if (isPhosphate)
|
|
302
380
|
adjustPhosphateMonomerGraph(monomerGraph);
|
|
@@ -333,6 +411,26 @@ function setShiftsAndTerminalNodes(polymerType, monomerGraph, monomerSymbol, rol
|
|
|
333
411
|
if (removedR2Atom?.removedAtom)
|
|
334
412
|
monomerGraph.terminalR2Atom = removedR2Atom.removedAtom; // store the removed R2 Atom type, if any
|
|
335
413
|
}
|
|
414
|
+
else if (role === NucleotideRole.TERMINAL_5P) {
|
|
415
|
+
// 5'-end terminal modifier (e.g. Chol): R2 is the REAL R-group (chain
|
|
416
|
+
// attach point); R1 is a pseudo synthesized by getMonomerMetadata that
|
|
417
|
+
// points at a real atom of the monomer — DO NOT remove it. Remove the
|
|
418
|
+
// R2 placeholder so the chain bond can attach at terminalNodes[1].
|
|
419
|
+
setShifts(monomerGraph, polymerType);
|
|
420
|
+
removeNodeAndBonds(monomerGraph, monomerGraph.meta.rNodes[1]);
|
|
421
|
+
}
|
|
422
|
+
else if (role === NucleotideRole.TERMINAL_3P) {
|
|
423
|
+
// 3'-end terminal modifier (e.g. GalNAc): R1 is the REAL R-group
|
|
424
|
+
// placeholder. After substituteCapGroups it carries the cap atom type
|
|
425
|
+
// (e.g. 'O' from "OH" or 'H' from "H") — that atom represents the
|
|
426
|
+
// FREE-form residue at this position and MUST be removed when the
|
|
427
|
+
// monomer is in a chain (otherwise we leave a stray OH/H bonded to the
|
|
428
|
+
// chain-attach carbon). After removal, terminalNodes[0] still points
|
|
429
|
+
// at the correct neighbor (the chain-attach atom).
|
|
430
|
+
// R2 is the PSEUDO synthesized by getMonomerMetadata; it points at a
|
|
431
|
+
// real atom of the monomer — DO NOT remove it.
|
|
432
|
+
removeNodeAndBonds(monomerGraph, monomerGraph.meta.rNodes[0]);
|
|
433
|
+
}
|
|
336
434
|
else { // nucleotides
|
|
337
435
|
// Prefer explicit role (HELM RNA triples mode); fall back to symbol
|
|
338
436
|
// matching against canonical r/d/p for the legacy bases-only path.
|
|
@@ -355,6 +453,24 @@ function setShiftsAndTerminalNodes(polymerType, monomerGraph, monomerSymbol, rol
|
|
|
355
453
|
removeNodeAndBonds(monomerGraph, monomerGraph.meta.rNodes[2]);
|
|
356
454
|
}
|
|
357
455
|
else if (isPhosphate) {
|
|
456
|
+
// Chain bond comes IN at the R1 cap atom. For canonical phosphates
|
|
457
|
+
// (R1 cap "OH" → cap atom is O) this is the bridging oxygen between
|
|
458
|
+
// the previous sugar's C3' and the central atom — exactly the
|
|
459
|
+
// chemistry we want.
|
|
460
|
+
//
|
|
461
|
+
// Variants with R1 cap "H" (sp, en, ...) substitute to H instead;
|
|
462
|
+
// the previous sugar (in the standard flow) has already given up its
|
|
463
|
+
// own 3'-O on the assumption that the linker will bring a bridging
|
|
464
|
+
// atom, and removeHydrogen would later strip the H, leaving the
|
|
465
|
+
// chain bond attached directly to the central atom (e.g., C3'-P
|
|
466
|
+
// instead of C3'-O-P). Promote the cap H to an O so the bridging
|
|
467
|
+
// atom exists in the assembled chain regardless of how the library
|
|
468
|
+
// happened to spell the cap. After the promotion both branches go
|
|
469
|
+
// through the same terminalNodes[0]=cap-atom code path.
|
|
470
|
+
const r1Idx = monomerGraph.meta.rNodes[0] - 1;
|
|
471
|
+
const r1AtomType = monomerGraph.atoms.atomTypes[r1Idx];
|
|
472
|
+
if (r1AtomType?.toUpperCase() === C.HYDROGEN)
|
|
473
|
+
monomerGraph.atoms.atomTypes[r1Idx] = C.OXYGEN;
|
|
358
474
|
monomerGraph.meta.terminalNodes[0] = monomerGraph.meta.rNodes[0];
|
|
359
475
|
shiftCoordinates(monomerGraph, -monomerGraph.atoms.x[monomerGraph.meta.terminalNodes[0] - 1], -monomerGraph.atoms.y[monomerGraph.meta.terminalNodes[0] - 1]);
|
|
360
476
|
setShifts(monomerGraph, polymerType);
|
|
@@ -863,43 +979,180 @@ function adjustPeptideMonomerGraph(monomer) {
|
|
|
863
979
|
}
|
|
864
980
|
}
|
|
865
981
|
function adjustPhosphateMonomerGraph(monomer) {
|
|
866
|
-
//
|
|
867
|
-
//
|
|
868
|
-
|
|
869
|
-
|
|
982
|
+
// Orient the linker so that the atoms connected to its R-groups lie on a
|
|
983
|
+
// horizontal line through the origin:
|
|
984
|
+
// - terminalNodes[0] (atom connected to R1) sits at the origin
|
|
985
|
+
// - terminalNodes[1] (atom connected to R2) sits on the +X ray
|
|
986
|
+
// - rNodes[0] (R1 placeholder) ends up on the left (-X side)
|
|
987
|
+
// and rNodes[1] (R2 placeholder) on the right (+X side)
|
|
988
|
+
//
|
|
989
|
+
// For a "small" linker (e.g. canonical phosphate) where R1 and R2 attach
|
|
990
|
+
// to the SAME central atom, terminalNodes[0] == terminalNodes[1] and we
|
|
991
|
+
// can't form a horizontal segment from a single atom — fall back to
|
|
992
|
+
// orienting the rNodes[0]→rNodes[1] vector along +X instead.
|
|
993
|
+
//
|
|
994
|
+
// No atom-type assumptions: this works for phosphate, phosphorothioate,
|
|
995
|
+
// sulfonate, carbonate or any other linker the library may carry as long
|
|
996
|
+
// as the R-groups are present.
|
|
870
997
|
const x = monomer.atoms.x;
|
|
871
998
|
const y = monomer.atoms.y;
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
const
|
|
876
|
-
//
|
|
877
|
-
|
|
999
|
+
if (monomer.meta.terminalNodes.length === 0)
|
|
1000
|
+
return;
|
|
1001
|
+
const t0Idx = monomer.meta.terminalNodes[0] - 1;
|
|
1002
|
+
const t1Idx = monomer.meta.terminalNodes.length > 1 ? monomer.meta.terminalNodes[1] - 1 : -1;
|
|
1003
|
+
// 1. Center on terminalNodes[0]
|
|
1004
|
+
shiftCoordinates(monomer, -x[t0Idx], -y[t0Idx]);
|
|
1005
|
+
// 2. Pick the rotation reference. Prefer terminalNodes[1] when distinct
|
|
1006
|
+
// from terminalNodes[0]; otherwise fall back to rNodes[1] / rNodes[0].
|
|
1007
|
+
let refX = 0;
|
|
1008
|
+
let refY = 0;
|
|
1009
|
+
if (t1Idx >= 0 && t1Idx !== t0Idx) {
|
|
1010
|
+
refX = x[t1Idx];
|
|
1011
|
+
refY = y[t1Idx];
|
|
1012
|
+
}
|
|
1013
|
+
else if (monomer.meta.rNodes.length > 1 && monomer.meta.rNodes[1] - 1 >= 0) {
|
|
1014
|
+
refX = x[monomer.meta.rNodes[1] - 1];
|
|
1015
|
+
refY = y[monomer.meta.rNodes[1] - 1];
|
|
1016
|
+
}
|
|
1017
|
+
else if (monomer.meta.rNodes.length > 0 && monomer.meta.rNodes[0] - 1 >= 0) {
|
|
1018
|
+
// single-R linker — treat the R1 placeholder direction as the "incoming"
|
|
1019
|
+
// (left) side, so flip its vector to land R2-ish geometry on +X.
|
|
1020
|
+
refX = -x[monomer.meta.rNodes[0] - 1];
|
|
1021
|
+
refY = -y[monomer.meta.rNodes[0] - 1];
|
|
1022
|
+
}
|
|
1023
|
+
if (refX !== 0 || refY !== 0) {
|
|
1024
|
+
const angleFromOY = findAngleWithOY(refX, refY);
|
|
1025
|
+
rotateCenteredGraph(monomer.atoms, -angleFromOY - Math.PI / 2);
|
|
1026
|
+
}
|
|
1027
|
+
// 3. Make sure R1 placeholder is on the left of R2 placeholder.
|
|
1028
|
+
if (monomer.meta.rNodes.length >= 2) {
|
|
1029
|
+
const r1Idx = monomer.meta.rNodes[0] - 1;
|
|
1030
|
+
const r2Idx = monomer.meta.rNodes[1] - 1;
|
|
1031
|
+
if (r1Idx >= 0 && r2Idx >= 0 && x[r1Idx] > x[r2Idx])
|
|
1032
|
+
flipMonomerAroundOY(monomer);
|
|
1033
|
+
}
|
|
878
1034
|
}
|
|
879
1035
|
function adjustSugarMonomerGraph(monomer, pointerToBranchAngle) {
|
|
880
|
-
//
|
|
881
|
-
//
|
|
882
|
-
//
|
|
1036
|
+
// Sugars connect via R1 (to the previous linker), R2 (to the next linker),
|
|
1037
|
+
// and R3 (to the branch — the nucleobase). Goal:
|
|
1038
|
+
// - terminalNodes[0] (atom connected to R1) at the origin
|
|
1039
|
+
// - terminalNodes[1] (atom connected to R2) on the +X ray
|
|
1040
|
+
// → atoms connected to R1/R2 are on a horizontal line
|
|
1041
|
+
// - rNodes[2] (R3 placeholder) lies in the upper half plane
|
|
1042
|
+
// → R3 (and the nucleobase that will attach there) points up
|
|
1043
|
+
//
|
|
1044
|
+
// The previous algorithm rotated rNodes[1] (the R2 placeholder atom) onto
|
|
1045
|
+
// +X axis, which only worked when the molfile happened to place R2
|
|
1046
|
+
// directly opposite terminalNodes[0]. For non-canonical sugars (modified
|
|
1047
|
+
// riboses, sugar surrogates) this produced skewed layouts. Rotating
|
|
1048
|
+
// terminalNodes[1] is robust to whatever atom types or bond directions
|
|
1049
|
+
// the library uses.
|
|
883
1050
|
const x = monomer.atoms.x;
|
|
884
1051
|
const y = monomer.atoms.y;
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
//
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
//
|
|
893
|
-
//
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
1052
|
+
if (monomer.meta.terminalNodes.length === 0)
|
|
1053
|
+
return;
|
|
1054
|
+
const t0Idx = monomer.meta.terminalNodes[0] - 1;
|
|
1055
|
+
const t1Idx = monomer.meta.terminalNodes.length > 1 ? monomer.meta.terminalNodes[1] - 1 : -1;
|
|
1056
|
+
// 1. Center on terminalNodes[0]
|
|
1057
|
+
shiftCoordinates(monomer, -x[t0Idx], -y[t0Idx]);
|
|
1058
|
+
// 2. Rotate so terminalNodes[1] (the atom bonded to R2) lies on +X.
|
|
1059
|
+
// Skip when terminalNodes[1] is missing or coincides with t0
|
|
1060
|
+
// (degenerate sugar — fall back to rNodes[1] for orientation).
|
|
1061
|
+
let refX = 0;
|
|
1062
|
+
let refY = 0;
|
|
1063
|
+
if (t1Idx >= 0 && t1Idx !== t0Idx) {
|
|
1064
|
+
refX = x[t1Idx];
|
|
1065
|
+
refY = y[t1Idx];
|
|
1066
|
+
}
|
|
1067
|
+
else if (monomer.meta.rNodes.length > 1 && monomer.meta.rNodes[1] - 1 >= 0) {
|
|
1068
|
+
refX = x[monomer.meta.rNodes[1] - 1];
|
|
1069
|
+
refY = y[monomer.meta.rNodes[1] - 1];
|
|
1070
|
+
}
|
|
1071
|
+
if (refX !== 0 || refY !== 0) {
|
|
1072
|
+
const angleFromOY = findAngleWithOY(refX, refY);
|
|
1073
|
+
rotateCenteredGraph(monomer.atoms, -angleFromOY - Math.PI / 2);
|
|
1074
|
+
}
|
|
1075
|
+
// 3. Flip around OX so R3 points up. Prefer the R3 placeholder itself,
|
|
1076
|
+
// fall back to terminalNodes[2] (atom connected to R3) when missing.
|
|
1077
|
+
let r3y = null;
|
|
1078
|
+
if (monomer.meta.rNodes.length > 2 && monomer.meta.rNodes[2] - 1 >= 0)
|
|
1079
|
+
r3y = y[monomer.meta.rNodes[2] - 1];
|
|
1080
|
+
else if (monomer.meta.terminalNodes.length > 2 && monomer.meta.terminalNodes[2] - 1 >= 0)
|
|
1081
|
+
r3y = y[monomer.meta.terminalNodes[2] - 1];
|
|
1082
|
+
if (r3y !== null && r3y < 0)
|
|
1083
|
+
flipMonomerAroundOX(monomer);
|
|
1084
|
+
// 4. Abnormal-sugar override: when the sugar's R3-attachment atom
|
|
1085
|
+
// (terminalNodes[2]) is NOT the topmost atom of the molecule, the
|
|
1086
|
+
// natural branch direction would push the base sideways or even down
|
|
1087
|
+
// (LNA, with its 2,4-O-CH2 bridge sitting above C1', is the canonical
|
|
1088
|
+
// example). In that case reposition the R3 placeholder directly above
|
|
1089
|
+
// the topmost real atom, so the branch shift puts the base's
|
|
1090
|
+
// terminalNodes[0] above the entire sugar with a vertical bond going
|
|
1091
|
+
// straight up. This is purely a 2D-depiction adjustment — it preserves
|
|
1092
|
+
// connectivity and only changes where the base atoms land in space.
|
|
1093
|
+
repositionR3IfAbnormal(monomer);
|
|
1094
|
+
// 5. Compute branch angle for the base alignment step. Default to 0
|
|
1095
|
+
// (straight up) when the sugar lacks the branch attachment — the base
|
|
1096
|
+
// placement code only runs when a base actually follows. The override
|
|
1097
|
+
// above, when triggered, places R3 directly above terminalNodes[2]
|
|
1098
|
+
// so this naturally evaluates to ~0.
|
|
1099
|
+
if (monomer.meta.rNodes.length > 2 && monomer.meta.terminalNodes.length > 2 &&
|
|
1100
|
+
monomer.meta.rNodes[2] - 1 >= 0 && monomer.meta.terminalNodes[2] - 1 >= 0)
|
|
1101
|
+
pointerToBranchAngle.value = getAngleBetweenSugarBranchAndOY(monomer);
|
|
1102
|
+
else
|
|
1103
|
+
pointerToBranchAngle.value = 0;
|
|
1104
|
+
// 6. Re-anchor terminalNodes[0] at the origin (rotation/flip preserve it,
|
|
1105
|
+
// but keep this as a safety net for floating-point drift).
|
|
1106
|
+
const t0IdxFinal = monomer.meta.terminalNodes[0] - 1;
|
|
1107
|
+
shiftCoordinates(monomer, -x[t0IdxFinal], -y[t0IdxFinal]);
|
|
1108
|
+
}
|
|
1109
|
+
/** When the sugar's R3-attachment atom (terminalNodes[2]) is not the
|
|
1110
|
+
* topmost atom, move the R3 placeholder so it sits directly above the
|
|
1111
|
+
* sugar's topmost real atom (with one bond length of vertical clearance).
|
|
1112
|
+
* Sugars like LNA — with a methylene/oxygen bridge spanning over the
|
|
1113
|
+
* face that carries C1' — fall into this branch.
|
|
1114
|
+
*
|
|
1115
|
+
* Only the R3 placeholder atom moves; the rest of the sugar (and the
|
|
1116
|
+
* bond from terminalNodes[2] to rNodes[2]) is preserved. The bond ends
|
|
1117
|
+
* up elongated and vertical, which is fine for SMILES (length is
|
|
1118
|
+
* irrelevant to connectivity) and gives the chain a clean visual layout
|
|
1119
|
+
* with the base above any bridging atoms. */
|
|
1120
|
+
function repositionR3IfAbnormal(monomer) {
|
|
1121
|
+
if (monomer.meta.rNodes.length <= 2 || monomer.meta.terminalNodes.length <= 2)
|
|
1122
|
+
return;
|
|
1123
|
+
const r3 = monomer.meta.rNodes[2] - 1;
|
|
1124
|
+
const t2 = monomer.meta.terminalNodes[2] - 1;
|
|
1125
|
+
if (r3 < 0 || t2 < 0)
|
|
1126
|
+
return;
|
|
1127
|
+
const x = monomer.atoms.x;
|
|
1128
|
+
const y = monomer.atoms.y;
|
|
1129
|
+
// Topmost Y among atoms that will remain in the assembly: exclude the
|
|
1130
|
+
// R-group placeholder positions (rNodes[*]), since those are either
|
|
1131
|
+
// removed or reassigned during setShiftsAndTerminalNodes.
|
|
1132
|
+
const rGroupSet = new Set();
|
|
1133
|
+
for (const r of monomer.meta.rNodes) {
|
|
1134
|
+
if (r >= 1)
|
|
1135
|
+
rGroupSet.add(r - 1);
|
|
1136
|
+
}
|
|
1137
|
+
let topY = -Infinity;
|
|
1138
|
+
for (let i = 0; i < y.length; ++i) {
|
|
1139
|
+
if (!rGroupSet.has(i) && y[i] > topY)
|
|
1140
|
+
topY = y[i];
|
|
1141
|
+
}
|
|
1142
|
+
if (!Number.isFinite(topY))
|
|
1143
|
+
return;
|
|
1144
|
+
// Tolerance: don't trigger for the normal case where terminalNodes[2]
|
|
1145
|
+
// is at (or near) the top — small floating-point or geometry wobble
|
|
1146
|
+
// shouldn't kick the base into "abnormal" placement.
|
|
1147
|
+
const epsilon = 0.5;
|
|
1148
|
+
if (y[t2] >= topY - epsilon)
|
|
1149
|
+
return;
|
|
1150
|
+
// Place R3 directly above terminalNodes[2] (so the bond from
|
|
1151
|
+
// terminalNodes[2] to base's eventual terminalNodes[0] is purely
|
|
1152
|
+
// vertical), at least one bond length above the topmost atom.
|
|
1153
|
+
const verticalClearance = 1.5;
|
|
1154
|
+
x[r3] = x[t2];
|
|
1155
|
+
y[r3] = topY + verticalClearance;
|
|
903
1156
|
}
|
|
904
1157
|
function adjustBaseMonomerGraph(monomer, pointerToBranchAngle) {
|
|
905
1158
|
const x = monomer.atoms.x;
|
|
@@ -908,14 +1161,14 @@ function adjustBaseMonomerGraph(monomer, pointerToBranchAngle) {
|
|
|
908
1161
|
const rotatedNode = monomer.meta.rNodes[0] - 1;
|
|
909
1162
|
// center graph at centeredNode
|
|
910
1163
|
shiftCoordinates(monomer, -x[centeredNode], -y[centeredNode]);
|
|
911
|
-
// rotate so that the branch bond is aligned with
|
|
1164
|
+
// rotate so that the branch bond is aligned with the sugar's branch
|
|
912
1165
|
const baseBranchToOYAngle = findAngleWithOY(x[rotatedNode], y[rotatedNode]);
|
|
913
1166
|
const sugarBranchToOYAngle = pointerToBranchAngle.value;
|
|
914
|
-
if (sugarBranchToOYAngle)
|
|
915
|
-
rotateCenteredGraph(monomer.atoms, Math.PI - baseBranchToOYAngle + sugarBranchToOYAngle);
|
|
916
|
-
}
|
|
917
|
-
else
|
|
1167
|
+
if (sugarBranchToOYAngle === null)
|
|
918
1168
|
throw new Error('The value of sugarBranchToOYAngle is null');
|
|
1169
|
+
// Note: 0 is a valid value (R3 directly along +Y after the sugar fix);
|
|
1170
|
+
// the explicit null check above lets us treat it correctly.
|
|
1171
|
+
rotateCenteredGraph(monomer.atoms, Math.PI - baseBranchToOYAngle + sugarBranchToOYAngle);
|
|
919
1172
|
// scale graph in case its size does not fit the scale of phosphate and sugar
|
|
920
1173
|
// todo: consider extending to other monomer types
|
|
921
1174
|
const p1 = {
|
|
@@ -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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"}
|
|
@@ -96,11 +96,19 @@ export type LoopConstants = {
|
|
|
96
96
|
export type NumberWrapper = {
|
|
97
97
|
value: number | null;
|
|
98
98
|
};
|
|
99
|
-
/** Role of an entry in a HELM RNA splitted sequence
|
|
99
|
+
/** Role of an entry in a HELM RNA splitted sequence.
|
|
100
|
+
* SUGAR/BASE/PHOSPHATE are the standard triple positions.
|
|
101
|
+
* TERMINAL_5P marks a 5'-end terminal modifier (e.g. Chol) — a monomer
|
|
102
|
+
* with R2 only that takes the place of the leading sugar.
|
|
103
|
+
* TERMINAL_3P marks a 3'-end terminal modifier (e.g. GalNAc) — a monomer
|
|
104
|
+
* with R1 only that takes the place of the trailing phosphate. The OH cap
|
|
105
|
+
* MUST be omitted when a TERMINAL_3P is present. */
|
|
100
106
|
export declare enum NucleotideRole {
|
|
101
107
|
SUGAR = 0,
|
|
102
108
|
BASE = 1,
|
|
103
|
-
PHOSPHATE = 2
|
|
109
|
+
PHOSPHATE = 2,
|
|
110
|
+
TERMINAL_5P = 3,
|
|
111
|
+
TERMINAL_3P = 4
|
|
104
112
|
}
|
|
105
113
|
export type MonomerMapValue = {
|
|
106
114
|
biotype: HelmType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qHAAqH;IACrH,2BAA2B,EAAE;QAAC,CAAC,WAAW,EAAE,MAAM,GAAG;YAAC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;SAAC,CAAA;KAAC,CAAA;CACxF,CAAA;AAED,yEAAyE;AACzE,MAAM,MAAM,KAAK,GAAG;IAChB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,+CAA+C;IAC/C,CAAC,EAAE,YAAY,CAAC;IAChB,CAAC,EAAE,YAAY,CAAC;IAChB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAA;AAEH,yEAAyE;AACzE,MAAM,MAAM,KAAK,GAAG;IAChB,qDAAqD;IACrD,SAAS,EAAE,WAAW,CAAC;IACvB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IACtB;gEAC4D;IAC5D,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,6CAA6C;IAC7C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAA;AAED,sFAAsF;AACtF,MAAM,MAAM,eAAe,GAAG;IAC1B;oDACgD;IAChD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qFAAqF;IACrF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/B,yEAAyE;IACzE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAAE,CAAC,WAAW,EAAE,MAAM,GAAG;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAA;CAAE,CAAC;AAE3F,MAAM,MAAM,aAAa,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnE,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,GAAG,QAAQ,GAAG,SAAS,CAEjG;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAEpF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAKlG;AAQD,MAAM,MAAM,KAAK,GAAG;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CAEtB,CAAA;AAED,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,sDAAsD;AACtD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,12 +10,20 @@ export function setMolGraph(dict, libKey, value) {
|
|
|
10
10
|
pt = dict[libKey.polymerType] = {};
|
|
11
11
|
pt[libKey.symbol] = value;
|
|
12
12
|
}
|
|
13
|
-
/** Role of an entry in a HELM RNA splitted sequence
|
|
13
|
+
/** Role of an entry in a HELM RNA splitted sequence.
|
|
14
|
+
* SUGAR/BASE/PHOSPHATE are the standard triple positions.
|
|
15
|
+
* TERMINAL_5P marks a 5'-end terminal modifier (e.g. Chol) — a monomer
|
|
16
|
+
* with R2 only that takes the place of the leading sugar.
|
|
17
|
+
* TERMINAL_3P marks a 3'-end terminal modifier (e.g. GalNAc) — a monomer
|
|
18
|
+
* with R1 only that takes the place of the trailing phosphate. The OH cap
|
|
19
|
+
* MUST be omitted when a TERMINAL_3P is present. */
|
|
14
20
|
export var NucleotideRole;
|
|
15
21
|
(function (NucleotideRole) {
|
|
16
22
|
NucleotideRole[NucleotideRole["SUGAR"] = 0] = "SUGAR";
|
|
17
23
|
NucleotideRole[NucleotideRole["BASE"] = 1] = "BASE";
|
|
18
24
|
NucleotideRole[NucleotideRole["PHOSPHATE"] = 2] = "PHOSPHATE";
|
|
25
|
+
NucleotideRole[NucleotideRole["TERMINAL_5P"] = 3] = "TERMINAL_5P";
|
|
26
|
+
NucleotideRole[NucleotideRole["TERMINAL_3P"] = 4] = "TERMINAL_3P";
|
|
19
27
|
})(NucleotideRole || (NucleotideRole = {}));
|
|
20
28
|
export class MonomerMap extends Map {
|
|
21
29
|
constructor(entries) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAmEA,MAAM,UAAU,WAAW,CAAC,IAAwB,EAAE,MAAqB;IACzE,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAwB,EAAE,MAAqB;IACzE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAwB,EAAE,MAAqB,EAAE,KAAe;IAC1F,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE;QACL,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IACrC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAC5B,CAAC;AAwCD
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAmEA,MAAM,UAAU,WAAW,CAAC,IAAwB,EAAE,MAAqB;IACzE,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAwB,EAAE,MAAqB;IACzE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAwB,EAAE,MAAqB,EAAE,KAAe;IAC1F,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE;QACL,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IACrC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAC5B,CAAC;AAwCD;;;;;;oDAMoD;AACpD,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,qDAAS,CAAA;IACT,mDAAQ,CAAA;IACR,6DAAa,CAAA;IACb,iEAAe,CAAA;IACf,iEAAe,CAAA;AACjB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAID,MAAM,OAAO,UAAW,SAAQ,GAA4B;IAC1D,YAAY,OAA4C;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,kDAAkD;AAClD,MAAM,OAAO,cAAc;IACzB,YACkB,OAAe,EACf,QAAoB;QADpB,YAAO,GAAP,OAAO,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAY;IACnC,CAAC;IAEJ,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,cAAc,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E"}
|