From 76fe0bc0ddb933704e1bcecb57ff0a288b00fc69 Mon Sep 17 00:00:00 2001 From: Mikhail Zhirnov <62464241+Zhirnoff@users.noreply.github.com> Date: Tue, 7 May 2024 11:31:06 +0300 Subject: [PATCH] Autotests: #4386 - Sequence representation (#4390) * - added tests to 'sequence-mode'; - added 1 test file; - added expected screenshots * - added tests to 'sequence-mode'; - added expected snapshots * - added tests to 'sequence-mode'; - added 8 test files; - added expected snapshots * - added tests to 'sequence-mode'; - added 1 test file; - added function 'enterSequence'; - added expected snapshots * - added no magic number for 'helpers.ts' * - added tests to 'sequence-mode-edit'; - added 2 test files; - added expected snapshots * - added tests; - added 2 test files; - added expected snapshots * - changed description * - updated 3 snapshots for 'sequence-mode' * - added tests to 'sequence-mode'; - added 1 helper method; - added 1 test file; - added expected snapshots * - added tests; - added expected snapshots * - updated snapshots * - added tests to 'sequence-mode-copy-paste'; - added 1 test file; - added expected snapshots * - deleted unused imports * - added tests ; - added 1 test file; - added expected snapshots * - added tests to 'sequence-mode-edit-in-rna-builder'; - added 2 test files; - added expected snapshots * - added tests; - added 2 test files; - added expected snapshots * - added tests; - added 6 test files; - added expected snapshots --- .../sequence-mode-copy-paste.spec.ts | 163 +- ...d-with-existing-chain-1-chromium-linux.png | Bin 0 -> 8663 bytes ...d-with-existing-chain-2-chromium-linux.png | Bin 0 -> 28386 bytes ...nsidered-as-new-chain-1-chromium-linux.png | Bin 0 -> 8871 bytes ...nsidered-as-new-chain-2-chromium-linux.png | Bin 0 -> 23130 bytes ...edit-mode-500-symbols-1-chromium-linux.png | Bin 0 -> 50399 bytes ...-in-text-editing-mode-1-chromium-linux.png | Bin 0 -> 15197 bytes ...lays-an-error-message-1-chromium-linux.png | Bin 0 -> 23690 bytes ...e-chains-in-view-mode-1-chromium-linux.png | Bin 0 -> 10981 bytes ...e-chains-in-view-mode-2-chromium-linux.png | Bin 0 -> 30326 bytes ...dded-sequence-visible-1-chromium-linux.png | Bin 0 -> 58448 bytes .../sequence-mode-edit-in-rna-builder.spec.ts | 229 +- ...-mode-Canvas-disabled-1-chromium-linux.png | Bin 0 -> 11104 bytes ...-mode-Canvas-disabled-2-chromium-linux.png | Bin 0 -> 11313 bytes ...osides-simultaneously-2-chromium-linux.png | Bin 0 -> 6354 bytes ...sphate-in-RNA-Builder-2-chromium-linux.png | Bin 0 -> 8250 bytes ...monomers-are-selected-1-chromium-linux.png | Bin 0 -> 9868 bytes ...nt-nucleoside-to-left-1-chromium-linux.png | Bin 0 -> 19504 bytes ...sabled-in-RNA-Builder-1-chromium-linux.png | Bin 0 -> 14083 bytes ...ucleoside-is-selected-1-chromium-linux.png | Bin 0 -> 10197 bytes ...sphate-in-RNA-Builder-1-chromium-linux.png | Bin 0 -> 6392 bytes ...phates-in-RNA-Builder-1-chromium-linux.png | Bin 0 -> 11428 bytes ...osides-simultaneously-1-chromium-linux.png | Bin 0 -> 10483 bytes ...-Builder-to-edit-mode-1-chromium-linux.png | Bin 0 -> 45264 bytes ...osides-simultaneously-3-chromium-linux.png | Bin 0 -> 9982 bytes ...itable-in-RNA-builder-1-chromium-linux.png | Bin 0 -> 6003 bytes .../Sequence-Mode/sequence-mode-edit.spec.ts | 191 +- ...omer-connection-rules-1-chromium-linux.png | Bin 0 -> 14666 bytes ...nges-in-Sequence-mode-1-chromium-linux.png | Bin 0 -> 6326 bytes ...nges-in-Sequence-mode-2-chromium-linux.png | Bin 0 -> 8451 bytes ...-clicking-on-existing-2-chromium-linux.png | Bin 0 -> 16293 bytes ...-clicking-on-existing-1-chromium-linux.png | Bin 0 -> 7201 bytes ...eginning-of-a-new-row-1-chromium-linux.png | Bin 0 -> 11133 bytes ...ck-Escape-on-keyboard-1-chromium-linux.png | Bin 0 -> 6576 bytes ...ck-Escape-on-keyboard-2-chromium-linux.png | Bin 0 -> 5943 bytes ...-outside-the-sequence-1-chromium-linux.png | Bin 0 -> 6576 bytes ...-outside-the-sequence-2-chromium-linux.png | Bin 0 -> 5943 bytes ...for-DNA-are-A-T-G-C-U-1-chromium-linux.png | Bin 0 -> 6832 bytes ...leotides-for-Peptides-1-chromium-linux.png | Bin 0 -> 10808 bytes ...for-RNA-are-A-T-G-C-U-1-chromium-linux.png | Bin 0 -> 6682 bytes ...-edit-an-existing-one-1-chromium-linux.png | Bin 0 -> 39390 bytes ...ence-fragment-as-text-1-chromium-linux.png | Bin 0 -> 6344 bytes ...ence-fragment-as-text-2-chromium-linux.png | Bin 0 -> 12613 bytes ...ence-fragment-as-text-1-chromium-linux.png | Bin 0 -> 5986 bytes ...ence-fragment-as-text-2-chromium-linux.png | Bin 0 -> 11572 bytes ...ence-fragment-as-text-1-chromium-linux.png | Bin 0 -> 5990 bytes ...ence-fragment-as-text-2-chromium-linux.png | Bin 0 -> 11658 bytes .../sequence-mode-selection.spec.ts | 140 + ...-zoom-in-and-zoom-out-1-chromium-linux.png | Bin 0 -> 4849 bytes ...-zoom-in-and-zoom-out-2-chromium-linux.png | Bin 0 -> 8210 bytes ...-to-text-editing-mode-2-chromium-linux.png | Bin 0 -> 10785 bytes ...-to-text-editing-mode-1-chromium-linux.png | Bin 0 -> 9646 bytes ...ucleotide-is-selected-1-chromium-linux.png | Bin 0 -> 19254 bytes ...ucleotide-is-selected-1-chromium-linux.png | Bin 0 -> 15488 bytes ...ucleotide-is-selected-1-chromium-linux.png | Bin 0 -> 13702 bytes ...-selection-is-cleared-2-chromium-linux.png | Bin 0 -> 9177 bytes ...-selection-is-cleared-2-chromium-linux.png | Bin 0 -> 9177 bytes ...-selection-is-cleared-1-chromium-linux.png | Bin 0 -> 9646 bytes ...-selection-is-cleared-1-chromium-linux.png | Bin 0 -> 9646 bytes ...-selection-is-cleared-1-chromium-linux.png | Bin 0 -> 9646 bytes ...-selection-is-cleared-2-chromium-linux.png | Bin 0 -> 9177 bytes ...tides-are-highlighted-1-chromium-linux.png | Bin 0 -> 9646 bytes .../Sequence-Mode/sequence-mode.spec.ts | 424 +- ...in-sequence-view-mode-1-chromium-linux.png | Bin 0 -> 5742 bytes ...e-R2-attachment-point-1-chromium-linux.png | Bin 0 -> 6060 bytes ...left-corner-on-canvas-2-chromium-linux.png | Bin 0 -> 18362 bytes ...left-corner-on-canvas-1-chromium-linux.png | Bin 0 -> 9784 bytes ...-monomer-remains-same-1-chromium-linux.png | Bin 0 -> 9290 bytes ...rd-keys-Del-Backspace-1-chromium-linux.png | Bin 0 -> 8009 bytes ...ver-letters-on-canvas-1-chromium-linux.png | Bin 0 -> 19123 bytes ...ver-letters-on-canvas-1-chromium-linux.png | Bin 0 -> 14871 bytes ...ver-letters-on-canvas-1-chromium-linux.png | Bin 0 -> 13602 bytes ...-last-two-nucleosides-1-chromium-linux.png | Bin 0 -> 8920 bytes ...-Backspace-is-pressed-1-chromium-linux.png | Bin 0 -> 16048 bytes ...-Mode-Preview-for-DNA-1-chromium-linux.png | Bin 0 -> 14052 bytes ...e-Preview-for-Peptide-1-chromium-linux.png | Bin 0 -> 17597 bytes ...-Mode-Preview-for-RNA-1-chromium-linux.png | Bin 0 -> 12865 bytes ...Select-drop-down-menu-1-chromium-linux.png | Bin 0 -> 42421 bytes ...etween-sugar-and-base-1-chromium-linux.png | Bin 0 -> 4975 bytes ...etween-sugar-and-base-2-chromium-linux.png | Bin 0 -> 6020 bytes ...n-sugar-and-phosphate-1-chromium-linux.png | Bin 0 -> 5328 bytes ...n-sugar-and-phosphate-2-chromium-linux.png | Bin 0 -> 6038 bytes ...they-are-displayed-as-1-chromium-linux.png | Bin 0 -> 9578 bytes ...they-are-displayed-as-2-chromium-linux.png | Bin 0 -> 6652 bytes ...tide-in-sequence-view-1-chromium-linux.png | Bin 0 -> 6150 bytes ...-it-lacks-a-phosphate-1-chromium-linux.png | Bin 0 -> 7976 bytes ...pt-P-in-sequence-view-1-chromium-linux.png | Bin 0 -> 5115 bytes ...pt-R-in-sequence-view-1-chromium-linux.png | Bin 0 -> 5233 bytes ...side-in-sequence-view-2-chromium-linux.png | Bin 0 -> 6652 bytes ...side-in-sequence-view-1-chromium-linux.png | Bin 0 -> 9132 bytes ...nmodified-nucleotides-1-chromium-linux.png | Bin 0 -> 9063 bytes ...nmodified-nucleotides-2-chromium-linux.png | Bin 0 -> 6872 bytes ...-T-U-in-sequence-view-1-chromium-linux.png | Bin 0 -> 5482 bytes ...-between-Base-and-RNA-1-chromium-linux.png | Bin 0 -> 7568 bytes ...-between-CHEM-and-RNA-1-chromium-linux.png | Bin 0 -> 14874 bytes ...een-Phosphate-and-RNA-1-chromium-linux.png | Bin 0 -> 15773 bytes ...between-Sugar-and-RNA-1-chromium-linux.png | Bin 0 -> 15437 bytes ...ypes-of-modifications-1-chromium-linux.png | Bin 0 -> 22536 bytes ...n-sequence-mode-is-ON-1-chromium-linux.png | Bin 0 -> 1118 bytes ...A-deoxyribose-for-DNA-1-chromium-linux.png | Bin 0 -> 7082 bytes ...A-deoxyribose-for-DNA-2-chromium-linux.png | Bin 0 -> 16843 bytes ...mers-in-sequence-view-1-chromium-linux.png | Bin 0 -> 5225 bytes ...mers-in-sequence-view-2-chromium-linux.png | Bin 0 -> 5375 bytes .../tests/test-data/KET/acgp-nucleoside.ket | 1127 ++ .../tests/test-data/KET/agtcu.ket | 1586 ++ ...pes-of-connection-between-Base-and-RNA.ket | 893 + ...pes-of-connection-between-CHEM-and-RNA.ket | 1860 ++ ...f-connection-between-Phosphate-and-RNA.ket | 1279 ++ ...es-of-connection-between-Sugar-and-RNA.ket | 1222 ++ .../KET/all-types-of-modifications.ket | 14012 ++++++++++++++++ .../all-types-of-possible-modifications.ket | 2633 +++ .../tests/test-data/KET/atuc.ket | 1771 ++ .../KET/chem-on-the-end-of-sequence.ket | 2028 +++ .../tests/test-data/KET/dna-rna-separate.ket | 2127 +++ .../tests/test-data/KET/mod-base-sequence.ket | 1062 ++ .../test-data/KET/mod-phosphate-sequence.ket | 855 + .../KET/mod-sugar-base-phosphate-sequence.ket | 1399 ++ .../test-data/KET/mod-sugar-sequence.ket | 984 ++ .../tests/test-data/KET/modified-agtcup.ket | 1651 ++ .../KET/modified-and-unmodified-sequence.ket | 2200 +++ .../KET/monomers-attached-to-bases-via-r2.ket | 2074 +++ .../KET/r1-r1-sugar-base-connection.ket | 442 + .../test-data/KET/r3-r2-sugar-phosphate.ket | 384 + .../test-data/KET/rna-dna-peptides-chains.ket | 3605 ++++ .../tests/test-data/KET/rna-g.ket | 622 + .../tests/test-data/KET/rna-seq-g.ket | 1625 ++ .../tests/test-data/KET/rna-sequence.ket | 1625 ++ .../KET/sugar-on-the-end-of-sequence.ket | 1867 ++ .../Sequence/sequence-500-symbols.seq | 1 + .../tests/utils/canvas/helpers.ts | 4 + .../tests/utils/canvas/tools/helpers.ts | 1 + .../tests/utils/macromolecules/index.ts | 6 + 132 files changed, 52087 insertions(+), 5 deletions(-) create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-After-pasting-between-two-n-4b8dc-pasted-fragment-is-merged-with-existing-chain-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-After-pasting-between-two-n-4d194-pasted-fragment-is-merged-with-existing-chain-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Check-If-cursor-is-located--e1550-en-pasted-fragment-is-considered-as-new-chain-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Check-If-cursor-is-located--f4d93-en-pasted-fragment-is-considered-as-new-chain-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Pasting-a-large-sequence-from-clipboard-in-sequence-edit-mode-500-symbols-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Pasting-several-separate-monomers-are-prohibited-in-text-editing-mode-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Verify-that-if-an-unsupport-28d5b-m-clipboard-system-displays-an-error-message-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Verify-that-when-multiple-u-493df-ey-are-pasted-as-separate-chains-in-view-mode-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Verify-that-when-multiple-u-fd836-ey-are-pasted-as-separate-chains-in-view-mode-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-mode-copy-paste-for-view-mode-Verify--309e0-is-moved-to-make-newly-added-sequence-visible-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-1d5f1-der-highlighted-in-Edit-mode-Canvas-disabled-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-2e5c3-der-highlighted-in-Edit-mode-Canvas-disabled-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-3a088-of-nucleotides-and-nucleosides-simultaneously-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-40f61-cleotide-upon-adding-Phosphate-in-RNA-Builder-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-4da14--interface-when-several-monomers-are-selected-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-568bf-ected-without-an-adjacent-nucleoside-to-left-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-77b62-as-no-R2-or-R3-it-is-disabled-in-RNA-Builder-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-8ac90-d-is-empty-when-single-nucleoside-is-selected-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-8f58b-cleotide-upon-adding-Phosphate-in-RNA-Builder-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-94fe3-lected-Sugar-Base-Phosphates-in-RNA-Builder-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-97921-of-nucleotides-and-nucleosides-simultaneously-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-be9b3-ed-monomers-switches-RNA-Builder-to-edit-mode-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-d5d35-of-nucleotides-and-nucleosides-simultaneously-3-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builder-Check-that-Nucleoside-editable-in-RNA-builder-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Bonds-between-existing-and--de88a-otides-adhere-to-RNA-monomer-connection-rules-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Check-that-when-adding-new--c4427--order-of-chains-not-changes-in-Sequence-mode-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Check-that-when-adding-new--e68be--order-of-chains-not-changes-in-Sequence-mode-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Context-menu-for-right-clic-80f44-for-new-sequence-and-for-clicking-on-existing-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Context-menu-for-right-clic-e9352-for-new-sequence-and-for-clicking-on-existing-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Enter-starts-a-new-chain-aligned-at-the-beginning-of-a-new-row-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-Escape-on-keyboard-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-Escape-on-keyboard-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-outside-the-sequence-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-outside-the-sequence-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-DNA-are-A-T-G-C-U-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-Peptides-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-RNA-are-A-T-G-C-U-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Text-editing-mode-activates-8b4e6--start-a-new-sequence-or-edit-an-existing-one-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotid-d6745--in-the-middle-of-a-sequence-fragment-as-text-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotid-db42d--in-the-middle-of-a-sequence-fragment-as-text-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-at-end-of-a-sequence-fragment-as-text-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-at-end-of-a-sequence-fragment-as-text-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-in-the-middle-of-a-sequence-fragment-as-text-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-in-the-middle-of-a-sequence-fragment-as-text-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-selection-functionality-with-zoom-in-and-zoom-out-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-selection-functionality-with-zoom-in-and-zoom-out-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-th-46d38--switches-from-view-mode-to-text-editing-mode-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-th-ca4a2--switches-from-view-mode-to-text-editing-mode-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Ensure-t-b57e7-fy-that-corresponding-nucleotide-is-selected-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Ensure-t-f705c-fy-that-corresponding-nucleotide-is-selected-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Ensure-t-f9963-fy-that-corresponding-nucleotide-is-selected-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-099f8-ected-area-Confirm-that-selection-is-cleared-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-172fe-ng-Erase-Confirm-that-selection-is-cleared-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-37fe6-ected-area-Confirm-that-selection-is-cleared-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-a693c-Esc-button-Confirm-that-selection-is-cleared-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-abe09-ng-Erase-Confirm-that-selection-is-cleared-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-de82b-Esc-button-Confirm-that-selection-is-cleared-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Use-Sele-f6eec-Confirm-that-all-nucleotides-are-highlighted-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Check-display-of-all-components-are-modified-in-sequence-view-mode-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Check-that-Monomers-not-disappea-018e6-attached-to-bases-via-the-R2-attachment-point-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Create-a-multiple-chains-in-sequ-26e43-t-monomer-defines-top-left-corner-on-canvas-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Create-a-multiple-chains-in-sequ-4212f-t-monomer-defines-top-left-corner-on-canvas-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Create-a-single-chain-in-sequenc-d9cfb-y-that-position-of-first-monomer-remains-same-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Delete-any-nucleotide-within-RNA-fragment-using-keyboard-keys-Del-Backspace-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-47527-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-6fc0e-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-c39d9-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-If-nucleotide-is-being-added-to--d223c-ed-automatically-between-last-two-nucleosides-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Merging-two-chains-occurs-when-c-0f3ea-n-text-editing-mode-and-Backspace-is-pressed-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Preview-for-DNA-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Preview-for-Peptide-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Preview-for-RNA-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Select-drop-down-menu-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Side-chain-connections-between-sugar-and-base-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Side-chain-connections-between-sugar-and-base-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Side-chain-connections-between-sugar-and-phosphate-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Side-chain-connections-between-sugar-and-phosphate-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-CHEM-in-sequence-view-and-confirm-that-they-are-displayed-as-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-CHEM-in-sequence-view-and-confirm-that-they-are-displayed-as-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-a-phosphate-conn-a382c--is-not-part-of-a-nucleotide-in-sequence-view-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-last-nucleotide-in-sequence-view-ensuring-it-lacks-a-phosphate-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-nucleotides-with-db0d8-ate-any-phosphate-except-P-in-sequence-view-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-nucleotides-with-fee67-d-sugar-any-sugar-except-R-in-sequence-view-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-sugars-that-are--1e33a-f-a-nucleotide-or-nucleoside-in-sequence-view-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-sugars-that-are--288fd-f-a-nucleotide-or-nucleoside-in-sequence-view-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-sequence-view-for-chains-containing-both-modified-and-unmodified-nucleotides-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-sequence-view-for-chains-containing-both-modified-and-unmodified-nucleotides-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-the-display-of-nucleotides--b1052-y-base-except-A-C-G-T-U-in-sequence-view-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nuc-1b53f--All-types-of-connection-between-Base-and-RNA-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nuc-9b7a3--All-types-of-connection-between-CHEM-and-RNA-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nuc-b031d-types-of-connection-between-Phosphate-and-RNA-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nuc-b0ed9-All-types-of-connection-between-Sugar-and-RNA-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nucleotide-chains-for-All-types-of-modifications-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Verify-that-a-dropdown-menu-is-displayed-in-toolbar-when-sequence-mode-is-ON-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Verify-that-selecting-RNA-DNA-op-37dac-eyboard-ribose-for-RNA-deoxyribose-for-DNA-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Verify-that-selecting-RNA-DNA-op-b8bcb-eyboard-ribose-for-RNA-deoxyribose-for-DNA-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Zoom-In-and-Zoom-Out-while-add-monomers-in-sequence-view-1-chromium-linux.png create mode 100644 ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Zoom-In-and-Zoom-Out-while-add-monomers-in-sequence-view-2-chromium-linux.png create mode 100644 ketcher-autotests/tests/test-data/KET/acgp-nucleoside.ket create mode 100644 ketcher-autotests/tests/test-data/KET/agtcu.ket create mode 100644 ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Base-and-RNA.ket create mode 100644 ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-CHEM-and-RNA.ket create mode 100644 ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Phosphate-and-RNA.ket create mode 100644 ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Sugar-and-RNA.ket create mode 100644 ketcher-autotests/tests/test-data/KET/all-types-of-modifications.ket create mode 100644 ketcher-autotests/tests/test-data/KET/all-types-of-possible-modifications.ket create mode 100644 ketcher-autotests/tests/test-data/KET/atuc.ket create mode 100644 ketcher-autotests/tests/test-data/KET/chem-on-the-end-of-sequence.ket create mode 100644 ketcher-autotests/tests/test-data/KET/dna-rna-separate.ket create mode 100644 ketcher-autotests/tests/test-data/KET/mod-base-sequence.ket create mode 100644 ketcher-autotests/tests/test-data/KET/mod-phosphate-sequence.ket create mode 100644 ketcher-autotests/tests/test-data/KET/mod-sugar-base-phosphate-sequence.ket create mode 100644 ketcher-autotests/tests/test-data/KET/mod-sugar-sequence.ket create mode 100644 ketcher-autotests/tests/test-data/KET/modified-agtcup.ket create mode 100644 ketcher-autotests/tests/test-data/KET/modified-and-unmodified-sequence.ket create mode 100644 ketcher-autotests/tests/test-data/KET/monomers-attached-to-bases-via-r2.ket create mode 100644 ketcher-autotests/tests/test-data/KET/r1-r1-sugar-base-connection.ket create mode 100644 ketcher-autotests/tests/test-data/KET/r3-r2-sugar-phosphate.ket create mode 100644 ketcher-autotests/tests/test-data/KET/rna-dna-peptides-chains.ket create mode 100644 ketcher-autotests/tests/test-data/KET/rna-g.ket create mode 100644 ketcher-autotests/tests/test-data/KET/rna-seq-g.ket create mode 100644 ketcher-autotests/tests/test-data/KET/rna-sequence.ket create mode 100644 ketcher-autotests/tests/test-data/KET/sugar-on-the-end-of-sequence.ket create mode 100644 ketcher-autotests/tests/test-data/Sequence/sequence-500-symbols.seq diff --git a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts index e2f17dc1db..e6b116c0bc 100644 --- a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts +++ b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-magic-numbers */ import { test } from '@playwright/test'; import { takeEditorScreenshot, @@ -11,8 +12,14 @@ import { clickUndo, openPasteFromClipboard, readFileContents, + startNewSequence, + selectSnakeLayoutModeTool, + waitForRender, } from '@utils'; -import { turnOnMacromoleculesEditor } from '@utils/macromolecules'; +import { + enterSequence, + turnOnMacromoleculesEditor, +} from '@utils/macromolecules'; import { clickOnSequenceSymbol, getSequenceSymbolLocator, @@ -58,6 +65,21 @@ test.describe('Sequence mode copy&paste for view mode', () => { await clickUndo(page); await takeEditorScreenshot(page); }); + + test('Verify that when there is at least one sequence on canvas, pasting is performed in next row, and canvas is moved to make newly added sequence visible', async ({ + page, + }) => { + await page.keyboard.down('Control'); + await getSequenceSymbolLocator(page, 'G').click(); + await page.keyboard.up('Control'); + await page.keyboard.press('Control+c'); + + for (let i = 0; i < 10; i++) { + await page.keyboard.press('Control+v'); + } + + await takeEditorScreenshot(page); + }); }); test.describe('Sequence mode copy&paste for edit mode', () => { @@ -147,3 +169,142 @@ test.describe('Sequence mode copy&paste for edit mode', () => { await takeEditorScreenshot(page); }); }); + +test.describe('Sequence-edit mode', () => { + test.beforeEach(async ({ page }) => { + await waitForPageInit(page); + await turnOnMacromoleculesEditor(page); + await selectSequenceLayoutModeTool(page); + }); + + test('Check If cursor is located in the first cell of empty row of a grid, then pasted fragment is considered as new chain', async ({ + page, + }) => { + /* + Test case: #3894 + Description: Pasted fragment is considered as new chain. + */ + await startNewSequence(page); + await enterSequence(page, 'tcgtuctucc'); + await page.keyboard.press('Escape'); + await page.keyboard.down('Control'); + await clickOnSequenceSymbol(page, 'G'); + await page.keyboard.up('Control'); + await page.keyboard.press('Control+c'); + await page.keyboard.press('Enter'); + await page.keyboard.press('Control+v'); + await takeEditorScreenshot(page); + await selectSnakeLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Verify that if an unsupported symbol is entered during paste from clipboard, system displays an error message', async ({ + page, + }) => { + /* + Test case: #3894 + Description: Pasted fragment is considered as new chain. + */ + await openPasteFromClipboard(page, '>'); + await page.keyboard.press('Control+a'); + await page.keyboard.press('Control+c'); + await page.getByTitle('Close window').click(); + await startNewSequence(page); + await page.keyboard.press('Control+v'); + await takeEditorScreenshot(page); + }); + + test('Pasting a large sequence from clipboard in sequence edit mode (500 symbols)', async ({ + page, + }) => { + /* + Test case: #3894 + Description: Sequence pasted on canvas. + */ + const fileContent = await readFileContents( + 'tests/test-data/Sequence/sequence-500-symbols.seq', + ); + await openPasteFromClipboard(page, fileContent); + await page.keyboard.press('Control+a'); + await page.keyboard.press('Control+c'); + await page.getByTitle('Close window').click(); + await startNewSequence(page); + await waitForRender(page, async () => { + await page.keyboard.press('Control+v'); + }); + await waitForRender(page, async () => { + await takeEditorScreenshot(page); + }); + }); + + test('Verify that when multiple unconnected fragments are selected, they are pasted as separate chains in view mode', async ({ + page, + }) => { + /* + Test case: #3916 + Description: Multiple unconnected fragments are pasted as separate chains in view mode. + */ + await startNewSequence(page); + await enterSequence(page, 'aaaaaaagaaaaaataaaaaauaaaaaacaaaaa'); + await page.keyboard.press('Escape'); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'G'); + await clickOnSequenceSymbol(page, 'T'); + await clickOnSequenceSymbol(page, 'U'); + await clickOnSequenceSymbol(page, 'C'); + await page.keyboard.up('Shift'); + await page.keyboard.press('Control+c'); + await page.keyboard.press('Control+v'); + await takeEditorScreenshot(page); + await selectSnakeLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Pasting several separate monomers are prohibited in text-editing mode', async ({ + page, + }) => { + /* + Test case: #3916 + Description: Pasting several separate monomers are prohibited in text-editing mode. + */ + await startNewSequence(page); + await enterSequence(page, 'aaaaaaagaaaaaataaaaaauaaaaaacaaaaa'); + await page.keyboard.press('Escape'); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'G'); + await clickOnSequenceSymbol(page, 'T'); + await clickOnSequenceSymbol(page, 'U'); + await clickOnSequenceSymbol(page, 'C'); + await page.keyboard.up('Shift'); + await page.keyboard.press('Control+c'); + await getSequenceSymbolLocator(page, 'G').click({ button: 'right' }); + await page.getByTestId('edit_sequence').click(); + await page.keyboard.press('ArrowLeft'); + await page.keyboard.press('Control+v'); + await takeEditorScreenshot(page); + }); + + test('After pasting between two nucleotides in text-editing mode,bond R2-R1 between them is broken,and pasted fragment is merged with existing chain', async ({ + page, + }) => { + /* + Test case: #3916 + Description: Bond R2-R1 between them is broken,and pasted fragment is merged with existing chain. + */ + await startNewSequence(page); + await enterSequence(page, 'aaagtgtuaaaaaauaaaaaacaaaaa'); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'G'); + for (let i = 0; i < 4; i++) { + await page.keyboard.press('ArrowRight'); + } + await page.keyboard.up('Shift'); + await page.keyboard.press('Control+c'); + await clickOnSequenceSymbol(page, 'G'); + await page.keyboard.press('ArrowLeft'); + await page.keyboard.press('Control+v'); + await takeEditorScreenshot(page); + await selectSnakeLayoutModeTool(page); + await takeEditorScreenshot(page); + }); +}); diff --git a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-After-pasting-between-two-n-4b8dc-pasted-fragment-is-merged-with-existing-chain-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-After-pasting-between-two-n-4b8dc-pasted-fragment-is-merged-with-existing-chain-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b4e2d802e5104917978e4a06d38447ed1033814c GIT binary patch literal 8663 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 WhfTt22}A%cAm1Yahig7Rlm4H=cQEGw literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-After-pasting-between-two-n-4d194-pasted-fragment-is-merged-with-existing-chain-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-After-pasting-between-two-n-4d194-pasted-fragment-is-merged-with-existing-chain-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf4029da34a157c70551bb3d062647e8bbd95f6 GIT binary patch literal 28386 zcmeFZcT|(hyZ5cK5k-m(F;tNb0ve<@l_nkO9hK0VhF&8ep!8m(OYZ_wLKT&+bO^oo z0Fhn-bY}w&dEtV)^JT;pL9#0F@J%< z8f)5D@KCvZ9*eT++72*<_zA$;1Yci3GBBO@ys^0`7Zdng@#Rb9>ruDiG?F9?BhLf> zc%ppwl915Mr`vv|A(XJL_U*e@N=Kq9L(LvWne`Qki8TzLW)Ai1(EW6D($;KJ-#HcS zaU(0sS@X(HHQvJ(mXwr7b!0Juik&;RBv?0m&aqA^!dC z1wu;v`&Huqk6j>TE#{L5b5P?q&!2IvkQk48`AqgfCT`fF3#Qjeaj$2evXXX)S#*4| zUN+zdc**>oUgejeqYDeuIUYxZqFYdmjqA9NLvCLCnGik!cgN4gG4t&Z`ncAxPPwp- zj+|_RszdX>gd&|MS|-7R6WoRQO6Bz;hZ^W+*39E=L`!V9dlN=V@wku_V(1{(jZLYG zRqBF3VtDzPSW}|liF4LBL*@EviliEf;+%E4Xw`lsX9_{?O2YDlVed#HGu9#)pi%*< zoLbPtqOHi;P@_q6^e{r%!eVfm;L-90+3M40ddtNehr->TX=J-+7%0eGC?vJQEDZLe zV#{ycD_L!RkQRS7tN;2GmV{fD@m@~R^;&Q#uM|>9O4K-;v9pAII{^Nat5PXbIXW-eRAJp%NmuS7SkcVW1*kw!VjOL>CYJH+I31d zgI8$L+iMo2zi1R$il1QUD9F~M`fqGjDXFxtVq(iJbxD7!eaB7DuSR63-;r#-BWcPg z8OtEadq>jej^rYvWS;*QJLsND>E@8V=t&H}XqlwS0r~2b7t!=C?~(8B_nqdHIk&l^ zJhjy?0nxmJxlazd=N7NUZZf8*&3>_l%Ul#q(MLM3lk7LblB$VZpLZC>Vn9ZBA1P%feKsWY!>ET@~FpIuI#^`@vbiY2BqkWpvL`-GtolJqiC{2A*f z>)ViJrsDFb>7&0dv4?R~Yhc6Z^x-FXo$>C{p0f{0?0XWoa1zb8BuLqSPN{%;`e6JQ z1`8jG3F;ohY(yixn164V{Z?7*yLvZ^(#=oH0rbX25{c1N+MtE0nCjjJb@@<_#_7Zb zvHC6}q4J~Wtz9msPn6+<<0;A^9GGut@f*+uGRQU=q<{tj450F*^E+ zK{AK&AFl+CPdsubKWiQQs5;rYzc2_z%i;FZXvT7% zqMvk-?ThfdcpN|?8xSJF(+saK zmn8dw0B8imd?drS$iLI%5MMN-IqZ=#vPY)SEZHW<%w;YKO?;lV$d`)Mraj`QJ!16l z^s2H<^IjzHQlH^OC!`C_Gt@(LlpJ$;W%NR#;}N-U+iO_+D_Fbh-|3}+^qJ!hOc!%b z!JM1Tj@Fm>3qsM{^!#K{m@pJ34u$dmmA*rQhuTAkxzEtzOUWU`OPD7CLG7xa z5T)`F8P9P>c9Hlr7AzNM4HE^X0T+pg_U3|l)_QO!J+VK{40~u7FRu&Lc6#IIpG;)YQ9W)Kh4yIw{F$ew&dQc)(`% zW+=LnakC0J>%Q86l9!lX^{!`Dh&wzukPqc-+7Z%D+9eNNAwaxNy4TgONol-dHQqH{ zW~BYur8YTB1U%P<%`q4#(cXfVS9vBKp3MWMM5TI4UHb)s-F1hv5A!B z?-|~kNam@@uJ9J{dgMNSq;@c?*R%2mCsq9XcDn04b~=;15vx5xek-_cn&r;4+f(-i z_SHHU`8Z}x*C&GxVYIIslvaz3rAfR(+j}1bG>YGqWW9Y%6`5f|;^ie3pnQLq@2+Iq z?c?KjBq=j})`O#?`N7<^Pm=`fhn-M{%N^pczb13nfTeUwKM03S!xZn?6T$x=Qin%~$r;H4MJ6;vcRJ>b=? z|BodHEI*f+Whf>BYUe5{eP8PKyK$bn-9JofwGvULkg|dfx?70qkRQ};43}!STgVeR)IYmA(dpFj;W>E_rv72N z-&~pgPuXrG&cdDDf_;;eDuc)hl-BOAEvv{3=>FpXPsxA@M)34AMkDdRr(mh@y@lKx z*0(R*W6G)BJ@KWRxHSYDn;t*}i_mzTErrZIFb;I9&@mYPnq5A3S?Gp|TE>rF+4=JL zRCa6#pIVV~Pnor)T zY*d`$>mtv1>ar!Z6zXmk?(qy>{x=)2Kr#ToypFbpQZEXIfhFncNWzYPB%w=zm{?US zi<$Uso3YPwVe>1K81I7+3Dm^QO3~uQKe(i#*cCk7Z79r+xN47fWw>6qcILwu}8yxa2i?4v>PYPS9c6e8Zv{m;EqII!u74E#kp_ui6PAU-p?Y- zC^eqm({%r7z91#ooye5Lxxxm4>b*RmZ6O&-DcKdO1_lXJ8*3#(!dfUgl!>=ve=W8*$UD~P z)wYF;`$_Te!w(6v`-NGCy zfBpIvZiODU9c%FD`7`^IfRG49mP)rB6ZexX)|d`h816s~8O!8RuK(V!Ix>T5v}(iB zcCuDU;;@-K99RARy_}OvMI3K)hGgLG;k^ECJ7ahwgJd?GQ|`z&bGGdB(r&KFr3NAO zS7SU%PijYDr0=?Lq@T*beVwrc2}EmgW$zwu3Nr*u$^&-<3Bq7lxm5#Htw@ zKG|~JYRJ>DQ;`XY-N(LI^)~9tz|TbA@xj3?oqHTgLU(Qv56GfbG3hdb_b(PyR!Wao zV^kd+qJ>2$SD&k-wYI7aoZVv$o7MTIYh% z6gO72$1v<2?6Egu?4)H=Q}@l;k(I9}oltAV_6<^{_1kOgUAC7Y#75$21IXpn!tQQm zCns9Axbev4oYT>H=IZ;`4n>!F+g=Y&PnU)P6RmiW4cR|>18@Rm54e^!@uRGWtz*{!Cp&r987sOQ*Ca ztH8N9Q%meVt(8TdwybPh$YK>tG&YuLXv^#Cqas7>ExG=Mg|~5`xMfgBx%`D3ZA1{} z#zhzyJyte0gO({Nym8~#p*M?$3VVjbXnP7(*;Z1z($rz_W4ONBJ!CbfSNC*#8TEyv zWzXTs$zotg#Wci;INETvxxoF(UbaBoml8KVBqtBnDolHK!u6wg1gYp$3X9pVjnMeO zf8-}AW~*7!t_VZX=U*3OD~PZm&$AoGc^0VH<*I8_<}O@hi|6rPd#I00DaaRZy&%Tc z#;uTAJfWx#{q6MoZ5Q{{(;mLmh9-!Bx$i9p$mD#4?j2 z-(}n3%2DVTM_6mmaj%-WO~LL(c}SWJGjz0GhP9l+UM1j!a@s@N312*9`&ss4)xuS4 zp=nSp1?3n6x;t;jcpGQ5^z9VL_IDkg?>??vtjf}XldHqMRBe%5kfi56o537iw(nEM zat}8}bkebRqB%7*?G)N05C!bj%q=&h(-^*@ckb9>bDJFv9j`}#*AMl z3z^#aI1!hn7GqGlxE;m{&J)(6h{36-r*Kwglu5R^w1+>5TTd`t|E0=$&VsuQ96B$D z@=04{HUbbrFRFRAYbBA&t1)Iazod&+|#_) zov@|utfj)=?J_e;1bMRC6I5~wvaRfi6H7JE(|~Kvi1-g}J8;Q%?6r=(bpg%Pfa`W< zXocLX$tHLyj_J9Oo;zNrLc7c}7&fHlFAq?9@zjWvjAdGwWQz$KGiBuqgXTT#8=WT| z#RgYha&i{5x-oG5uNNBB&cJAww_7}^J)VWZ^5EWafA&cAlgIc;8M{+45qC2@JI3IT zo;+Xb!SiKrqtHeX;f5a3MQ z$E5J5KHdspuZg9*N_6qqX;G6BZ7$(a|M9g)E%u?fatBvi265NMGVaXzv^ik9*y4u< zM`lS0BZaNV^ujh_C`(02*GBy2iO1F)cEgpk#H23^usObL-+2i8>HklyBV z6$xu3l!9J&X>)J1&b-GoMal-YFC3Ac zgj?v@ohRBXbX})$`Fu}-W&Z2|Bsw~JZEdVnle1@VbFz+uDjt<98pcRr!2QD*;T4}c zvYl|&(;(3+;k}2jTv_Q0YVG#$B#8V}-tSdXja>J2o;*NS=NGf*V8svki}l84-07XG zruX=FBInzkkj#?J<^7u~uI^D8#H}geR>-(6GY1NLk+g-K&2T=Kvv140ec@gPIIPGt zN@UnLb9R;ig=Kq1Mt&ZeGsFLI&~mk(3^gux^2-mbPPXo=EtDL@23TLS%1Qy`l%2Tn zX^8UBP>Z4M&cIJ{YZy#tQjBOflfDiyA0%ayQuZdEYr2<@Wa%8 zepA1s#OQ+i#IdV})7CruB|j3=R5QFa(@li?w6c2|`FbBLb3kE@KXh@KERYWdrxFCT z4kch=9*CkUUK|@wGPD<)bg?x*N8z&H0_Z((F@L4d314vUHPLW z!Ix96*jA}Te$zoDb?9i>IInK=nAK}VlKQjdK)7Kjsxe(Rn35;&dCpF>?YLeUJhCv# z19v)&if`K0^g1;@lN_%S%P=T8QSo8Crq8L(^-Pqm_*LtUilOM7l~3bwGM_toe5xcI zw-u^a<%wiroiv=&qz^ABOGV`xC}+v74y6&>_-sn)$BHlWQ(RXdfbfv4&0XV*W-t+Q z_Um6hQA&q=06%E(>&X^e+WPv@g;8C4+^)7tm$jJ>ZXnL$kK;?drN`5}^tiZ+<+D4R zeoU7K%}d*)1_#doi=n>;{ZS^MZD?F%1$~?5DyKHv&B03CI~LXkggET-VwG@oVtuRn zCJ(!dpTFB;(MiqqQiPVXRhqqts$HREzz;JDmY5NzIt=9FgqEGFt3jYn7sS?8wAg?! z{$6}AT%;nDTA=eajqS*%jA8Z5w3*_~T(7ZmCHgd13)MSVk#?Yz<^5=bYMlh_HjE0K zy?TgI(rgDCZP01EH{l(HzGaPEL!L6BNISW#I@*0X=@qz%r0fqh!Ie{6);`@|C#bz+ z4LXZm@O?7uhO1K!sGrsD$ewU-D+L|VE#e(x0J8oZ0a@koS=|irS$Ap|%I_bT;mUUmrT;%oO-Wb)A2pV~5Y?3eqb(&yifnnDH6psWLZ& zcz7#H-^JZcLIp{hJpOxx*mZI&-eUQnPN>}`Zzn_~L-wxnnH?x?SlLkY;}TRJlrY9t z4Q_0mD}Id&Ep-i25c;yC!FCw5y*LG~z-^5jv$Rfa_zdb@Af)|Dv(+b(;HB+PEztbR z_=IfG!KKBc^4yD6`(|}iz9d6&H!MGt;mZrJOdc)L1!r!tBt;Wy^U~ZFy7OUH1N5PF zn0hQ|u$iDHsK|$TaEK)F&l6Nn!08tnpw_xao8yZY+TMwiw)Bp7tLf`*8F9NM}~Xn$CzGdUb}WC8|!xOEzGz z?2~laNHQ+=N{W=|-L5D&p)BcTBl>}x3Y)nU8x7h=(ik;{#+qUEuX5MR-W6Sh!Z=v_ zvvxm>Q-~efF5WsdhR>x`re0V6s@H9k9hIbLIu!A)GiT!Ks|;6GJ3G6G57uH=l7npZ z_3GbNl(7W2-7Q#WZ@uJu!%|~^S0Zok;e7(InQXID-QOjxOucCK1r!sf(U*DAM=xO@ zo{a#%F;so>KLw{QsX`MqOiWCQbFaz&x%s>lF)ygs=;`)vN7`q<1r7}iWEPgx7JzA- zofj`6;`%E+)nil06bcCq4Ru3W;@lg0z(?y?Khj4) zE}Cxdh1Rb<+3u=zTvZDV5BDh3|D9_`PhWp%YO2J#v_UJ*bjV#eW3hv^CW+s+UxB9~ z%N~IpH(DpdUwIBCdPKGv$ECkJOO6-`HvA3lR3i(n*m1|JgO{vqpaAcmJLwCWloJ*Y z3v$!E$C5^W=T&8(yYUD9(2*tL$Dg3*lS6Z+p?!d+}r7v zgq8Q3^hi5deCgLwgNu&jGUsQ@=}pY8#7})t7hP&rZiwo73Y_OX3d$LWAEfT8F>y%G zSEf#W2L6k?l0yuVz^kDdNCF&zZ}mP!b-;$2dbEwbDywWp=Q`ff$R3vxnH(R`w`%;l zYdP?VYxP@G><}r++*J20ioMm+*2+>; zliyxJHlf#2CWH%JG@GRD{=~nLPKc2}joV`_Ex6UR(z#vSHcMyN^>`a4RIP#rCjJTsao@`;kQ)xZeR;b7;sP znqv3p;9xge?i%cT9ANe+!1r-LrwraN#>*&q{x{{yBb+aZKU{P1tCN~Z#ohSjbi?0w z+px6Y)$?2|!N)NFN;Kc%K@$hXw)c-$T0QmGFE6}dlPle<*o(G3Pk*f~Fn0RLK$=KO z4#2pW>7(R_;_F9)oznPwoyZ0l0IM=GBQcU8Es{aI{i;=So^R4mIX}i`LvyI$%T){2 zc~h3y=}Jke%~EgUZ(f~EXZ0~ZT_5mj*M|S$LEBqWGUF|saz?l4(xiIgEyK4h1U}s{ zPe&Ez$A;pG)sZhASApi3-jO`JBT2y^dFjJ5LIFO=NkW~6?-6S|{Rq1fOT+jJtNNOr zH?-^I``Rpds5ZH0>o(?T`Gp$lA44G4g45Y1QC zul53X(VV2zoylF_=%>;{_cH#rtH>JTE_4H$!XpG z+w-i>J&%}S5@Ph@L&`nAt>GRhR!uySl@9$cj$YQCtQjNEtrnwo7RTgSpP5#w%XUTg zU&~yS#VS)a+`X(&mHiLbbYgf>Z#w|gkIWSuAdSZA=by;TrN-4=Ap}KHi`gJD|%F4NRRu0!by_b zdT8}oXf!pR!B0m6?br||rS`#_k<`y`b! zwF*W_bv%!~3UMcZE>M9L#r{!%0i$F>7%QQ`_4g~Ab(rBvm+4}A@13Newt4sC)m%eN zTUpXg!<~de+psWs#FptQ0SXVH5UMAKZ4%r{qRV!fP}|03Ua*7MI>q#5FPHX(A`Y0f ziCTUvWO?tc6&i*w#|<4_9;Izswn_qkO6=F$-3Fdodi%C8+S=na>PdT@fa($<1>=(u zOx@Vh=Y6e7tpE5fHtj6gXrxjbW&G^y@fI4l&3B6Wrq7XJc?7C248dd9$c*Sn1{eHS z-2~|F#J>67c4Q!Dg5@(WuLkhrkh6zIY1fng=&q0zLk$hBMyH*?G_kjnBBmUI>uhg* zerkNEzIwu&9X>Vd{i6=ksE;155y7gLoOG$kBZ~@c8~3LV3Xx@x>FZ`2N~(fUDC@3U zi0RKvt7!mc)rHrNF9o2p4~#fZ>wRV48Nxf5kNXkFy9Xa`t9zr!{u`hb?zzh{dAQnx zCt6?`PYJ=#srKHE_K4qK?`WLW>}5P&B9Ev>&6Lb&j>ny z-{S`;jN*Ob5kOe%CXgT!+TS?gIz-q9zvM7M9VcQ@Cs8FU(>8t8w~vePRa_ zjN?oB#YRa3gaXD9Qy%O0W+kTe(WCW=n$t|?P~H6=#BsQ|#*hxnKR8y`BDL2;s=lsi ztjyv(A|g(G(v+4v zOFwHjYtf>ktjaSnKH)`6RWq$t>^LleAj|dGx#o$hKjj}j-Ku@mN_^w*xrm>aHA2Z5 zVPRyXq@-?D63KvTMGg(pjp#UA%RV>pe?LU?Bk8ie9teY20^174f2B!<5Gq>Qp%u2C zp*;dZl*-oIqJ8D*z_KwB&SSC*OxVw+J|QMt2G`pKGbI1P)d6FF1tl)&S!XU}>S{xn zb#aIJbPn=$uKhZAW9oD-@;Yf_*fq1idH0{}`x0x$%rTb{Yge0JTqTTRIzL|xHmZB( zgKu?ox9A(S`-a)U#{+DNIgQB2_JS)x2Mq^Nww&-K ze*^deSf2hx%>P<%@W|GvySn!s6vEec(Xdkr>u1+qM zVdC)E6V|x&FWVGJoHop~Mlp?E zlh#UQ1=K3m3w1XxqG8See8*sZl9~P5zp|}|e3(Em^nrr#bSxJ6s8zTmUn!C=Udyvh zs<5G=#>*slS)G#-^5HyWn;rrOzhSZgW-eJ`k zw&`A6>v6JOjrhzLT9YAx4sl!Lx{iS|H>>FYuYK=GLHkEuSgELrRwz&OCtJ%6A;Qyz z{5-fDu2t@PHqU9eT;=dwDfRnKz!aUwEu-dd8mE0FvHzpbb?bS}wx}+xLZO7U4m0#& zs9QottGlerR1}LO#U&2OCI>@hOkEfW^0!rW0n`$_{tH?2Yf#Qm^ka;xT7PHNW?dx{ z&5K(H2061_FlCP?<06K7ZPqEr z)7+Rpnj2MB=C*0Qh(mN!8o55UMwO&&ncFA`Tf05BZ~By8Z9Fr7t@?U?R!m|H93nIt zQlw)L)EYG1l5btKx1J*%&>rzD$BZpLl7bloTe*X^EYX*QA~Iv!cB1B4*u2HJ08*cD zTIbeV1_FnK52lB-jf=VTs|MYv1PT8U-2ukx0+;vlsmX-PpRsp&fBfGVa|dYNd7dJR zRqeY`vB}9W|GCne9E7s&sM01`LfP_Sy`GB$43cIFq)IEk->pLT!t&fKt&4O0EI(H| zu~EJ6e9aU*pZpq*toL4x_m&=2R4x;26TI=8`~6_XZ;GtM-dlY?@Y3y@wT;SpGA|^b z=2b{jS28^C^#R~M8D+a$xVmhH9M^kl146T*z%mNhCtYDhoDwXm>B{x?VXgp zo|h2{%Os`dA9Ux);5Fxdb~f6RI;gH9mKksCy?BU7s=Xi2B!X0UkFt-~OepHRw;aE< z^;+!L7ZxQ&MGF{ADqOr)mt5i`Z~Lg8i9MdDK4U_@e?>|w(WX&`Hx;qJIhor=k9ZP= zhb%;NBf9|-tdf;{e3D*XUhXRyfqOH45`BkdpDCP40i-u3%%kXx3;>8 z8X5Wi8S8hDW41CINIx`OJpS3^Aax$09AIT_6#$4AzrD9&xWw68Xkv&|z71)I6huz z(3n2EwflLTLcxw;=C11i{piAc&PKj#;+MV{2bEzY*7YoebE>* zAemN+AqC`Nt4AWQgw+}KymhB%kfdRei?Tqqo%1?-qtm`))9V*TP@%-WGp|5Rwoi`^ z#s^6Ndfk|AGUnp?*=baon;!zC{^c}kVCREcjZTdaJ333rBT{h^UmfR(*ffRTr7 z{N2cRcdzM3K7C8_qWc3cp-bOKY4`1p+?(&EVn(pi(lV)Hi#=mEJYq)nBy`iUMI|N5 zq@?zZQp`y%z{js{Z1hk#GGpOldPBqMp-bY24L%zfJp;CBqhP< zopyV3H`T>cL>8-5CXTK$3!KX)5ej1*uX0+9)wX!`Yo#dd`Ay1|Kmbf^tOA@dQ-z+5 z=~GjZ;9-eX-Iv&_BJ$8lCwj4l?FHd8h1HFF*BiDw3t{b7)p=ujmK`^d%LNq`>UGYW zERqQoONz}(*(|2xaozS~59aZ-(usm{f+?Vi?GHikquuchwr5h7qB-a=vC`5^kI;^Yby*6I* z|7bAP_q5*&8Jku1zNjA}-mymwf$HN511pbsH@k|N#M}-t$9CEa8-HAp2Eh=IP}fjk zQgy=00VUV*zhK<;OPwQD>)`wWeyWKHrq8|zd+m+hbT+ngx+mG90`G`OYrp#SrSeVu zz1g7K1})>`(UbD)wMtq(n9GN=uE^p!y*FhVT9%E`Xlf{|>P(v)-8a6eT@un2rD8g+ z&2K$DUniPEsk|cIn+q%7t_xOCHUoa>OIIAzvea5sQVNhUdw6z?9PAgEob;liFFa`^ zYw3zbZp9dbTYo?F)!+D9pH=gyDTT1M4Sw`w2%uM+yOJGy=ONJXFC~nc0G$;Zy90vc zM_?#hz){T{V}Nii15efU)f>WE@&W)9R~=WaF3Fd~g92Mue5t2B;#sfkTo@1@!HGC@^ymrm|Ps2U0O8Ej->mwrk)#J_UJ&y^2KJGgo%m^{S`;@ z!#zy<`@8lL3~ys22~nl~Ztum)^xvZ-7%BQ2L$8@3p{Wk~#eGaY9mN+xfAoo+HpY%e zaT&X+iuJ7T*y3I+@8v49DrB=EhXh|oeQA22lMdYRh^Ci9J4@wbNAE}&euQw=Y@Hq) z*52nS`xEv7_I48hHb_ePf|f5y;>Jpe(A;%&-qP7z4K;Pey=aV*WQjw0=G>9VHUZ)ywM>DiptXB^yqi-1k1D+@Qn&7`Iik zC67V5*cc^K0_vSI5&nFaHlHu8NoZfagm_i>WPXcMfO{=AhGv-)vM3CuXkXuqolJtf zsbhLDNo+953-S9oGcvNN`4%s{yTnRYCZ@-Wf)R*d@q^;YlIn0K7Y^q`kCN)7a2XD^ zYLA2UVa((&{o@(ZreYP(6PCrD%`_L0s2_i9zuz(dG4BT>%K}L5>Qb`C68riSTDg90 z?=#GpME{2S#P2E0a*F%zT0%{)p!xYe{p}T0thQlM+UfdMP^(flbPYpYVljS{gMDNy zePyQyce-)xN7|&nRYSz#$-m;MK0vY;odJ(v_(9ZqbHZ~+nq#mO-Y^+&*Z2r`z{4{T ziZRS+I!5$3H#FR^eP%c7gs(LfdLC@Rcj(1)!@bw%kEf@P8mG$6s7T4lkyEl>cRAks z&Edm#xz8rMte~6zm^!JxS_`GtR0XP}H4W|MGr@yQdfX!cTu0h!8~KFx)`;zf5}xfj za$C7H{9IVbs;%9(9_r++^l&i^?*oo=j;=W=w2f74#?$Xw9v%+T%sn^73Hq|<6 zb)-V?{pflU@S}QrZK!rF&e*v!)ONI!A}FoV?24|mjZ5H$!<177_ZfoQrShkzscxKB zkwKQ!-6gBKKzeW09?=RVo`yqTbhK;ayW)y&qa4?X$%GwE1qDCg30Sd8O0)CUVPyQa zwkecOe>&pjV`XixW^SH@Cx$NrZq;!khs-P%3z&mibU0)D{v0jxQ6>U^R6XM1{vpB0 zTGoD0_Vv4M$LaSpT=v;wp>f~7d774jLZMpzHjiOJu=L>ImybQ9fHZ2NlIIH+N-T79 zB7Y<_9`|+T+@XD7qcJ%Wd%xP)pQk>g5rVwrA~RhiA~x9%ZfG2?3sJA@n4E>9CfB&H3`z_opmS!8rHzie^$eiW*+3F6oP=;*T|3IO}tRc-$^ z^D9&3S8nfJwtJtJ_N46ofedpzC!l@$!2cy)owiW>7zttry66}iHvn&m=AG1;gTY!L_AkDHovlp8@Jh$*A&r5eOOP<}8ymVv!N=bo1 zdc}Qm89qGNlK>Cb3gD_?M4668p%zzu9so|@-0zYBxQoho4i?^)WVV_QwU0_g8cu9= z5{L?-K=nvLhZ{44GN_ZEes?wm?2xE13bbrzCPuy_$y_Nq<9Q^*+va5U8sWxAO~pm{ zQ)5rR+wh^{4_c*>q;%kU62PuYJLxDu+MECzt*^Si)m{W{uP*|evgW7TZWVZTxDlfcYJ$?z*B>atx1rKx zd>>pzGIR^_)qsDQxWr5sG+yAFB0i@F$jJ)`tL;Xt{H7!Ra8H-{5YQU~B^Rno?zIX14Zx!k?F2}!24_~+@M2&x&O+kSQFqmce9J|`ce zCV6EWpMGndgd~=0;dw_o8O189c1qwmxeW89<#O72=Q6GOP8-Q0`4qRXZxuAODS5iPIUx9n|E>#cmGp_Y0Q%+2Lj{;;2l z%-$j{h%;r+d-{FCt~NEab}1_PK*R+fwG3r5xA{A2Ir`&k-S_UgTpQ(j!dVGIvJN27 zzg^Yo-(X*cRuK%UyB9gTR#-X=e#%4>dke8PlgB-mNkfl4&aD{CtW-(Jqw6&ZjoT9A zfWA&N>+5XE%l6J|pCJGhBADKc)*l@w-nk!SxriS%Zbc~X@{{nj)l6dfT0YE<40M#oXaNqN> z``pnCnTCoey(S0k$g38Dm;XCunzq@FGlJXpgO+&ii4SUlgf32F)t|J5xAv$++mvFP zPUV&J|5ls^%u&{Xs2eld>@>1tF831<7tCvn{Y$j7eTm}xZW42>dq{VyrctUpEY3te z=gA)(pzSTS$VmS>6`!^B!hT;syl7&Rvcavv5Fp9Bl2bsR@*5licPFOp?!T}es!(Jd zIon2wR$0nw)fD{oVHwNih>1~~PsO;fxRGPZwZm-06SlSun4{2&@Y8A_>j5EiPmErpC%78hzDY5?fQBP5j^bu-Vh19csD`UL-Rb zs!hFF4*B_58TXhSy)(%UjfP(&I~I}A`8O@upSrStDayi<#@n=omHE{xM7Dl9`M)94 zdK`KKXaoO~EaV>q??L$HoL0Av5hCAPynQ)K@lnsM_N+-UPV(yzC_MxU)@qu+(ytFi z*=q<02!!2t^C;_xDVuoW6AFTs%YN#gHzrp|xv+4akcZ(sY1=TU5!+dOga z;UYD~d47-M#})1lD)g@gXNjB{y01F9m>40>y!0mKdieI}4eI2t)t#6lyq3_ojKC_f zLJ+24Y>YsjtxF2TG}y8j_f{KE7|$wp9ju?ZtPFj#?m9dA7xd$4Y($)fZ?@_W!d08x z&%8ES^#ZzEg-^$X6u?ym+@+?dCKZ%HtyY53Sa? z4&q7K^vRL{MR?oZ?tn_&RJe%%d+pK#?QxnvRcb^f@!k51XXz_~VKi;Y=HZigom&46 zYNfRa8&&A{G3?avM62UAUU@ZhdDX+1#7?nk-$T!%aP#!5?eVD!LYZfMtPowwhD*Qw z9izvLWtC(FLec|;fE@a0k|U9e5a9=Oc#rv#kN8T>{&MKiFN(%OrX z1^UBqqf8JPZ|K-3Jy!2l0Ycw}RrcTCSaNLsNtty(hy8x=Kc-(($dlv!S1iE)i&{2U zf1JrZ-Bs-E7p9fmySUK8k}^Ru4zLgXH(5LQ{2TXqlGFMWewem5sJ8?$IRD9bc)>wz zckZrvQRGPtVU2B<(d!aCtScJ!k21EuS4>-P>GtLy#s)Av@L8^|CBf2WPn)~M=M79S zH3BFptz_0A0ry&!!ZPVdie-=59=G6ss9k~bHRF4p@3^YAXO))fJq2O=YzgvGRty<{rohq0SN=(~vS{q8sT z&=X(?{a3NHOvB4-`g(}h+@H3Fjg!?4?|zzvRdQ><0K$8J+<6e0rw!X<238AR4bH85 zWBu_~O8iAfRZ-`{BLMtNol=d4yo(0nIN|$aL3H9qAPS{bygkAmzs7*@h=(H31$w;p z^-1sF+W7cX<6gh?~t12cQ3lb?w$q3_$@3hvUY(a;iQFn_7Y5d%2}3jKaw z)3h>~prK76XRgq&xd)bQ)@MX#IS1ySy$xRxwOlVm8t(f_!=aY!V$aS3ifMzAogx9; zmBqO~fkB93xU$9}hTAsKA8 z{yF5W{Cv@A7R9Xhli*}8C8pg~flGMK!MEv;myOm%E{=U`(6dR_)cL*q|0?_Z^k9ue z9Unn=P9y056iWAhjJ5k8xB!^ctAp;>hn}(kf!Q>}Xcdsqhzt%7YoOU@nSfWFEiqZ+ z?zMqV&0y2jY?Y0LBgsVXkjav8(G(OG~EE28Qzoqa8{B{#;ZLdGS_!gk2 z!tD4T<2rwRvQCAk@vvO0#2~|VJayQIVA6dPNh^%0cVL#gaU*(7yqC4BoJnrpguUhE zGY|uBExL2`!qd|L57y#%jB|W^&ToutIc!Wd=y%2QXfs`p%%Qo;%$~+$;dw86xT`gl0MJ;7_b7x&o0Ir z_gR;240flKTF-tZ!^_Y-_Sc61+X~~MYggS^fD4Ho&Pc9pZbr@vb}qu**UPwsmy?Iu z5G;ucUU_jjW_d`YoPM=iKh3JTbH$PIfpkZ;z1pk2!~z@jW=+Rq*gg!lT61AWrT9U&0L#AGFsW zL-29Fev4q`FFjv}=W-G-m5z_y<<#yz%gxAmK}sG@gHWoi!-mmc1=d#4K1QVINrq~) zP>%p$NPpA4{w+9`ak1h^z@}n@GpTYpQrj9jePq_`OV}1}DdMu(ZyMjA#Hn4PYHwc( zFdBD!*D9V1R$5Pg^znH-^cUINQ9~|zz%_1%B6;SCb{;Q=W;)5c2*T_N|3kwU?B_;jv zywMN@!&p~3Z%9*7QK`AOq_wuG4cNKNeG$wp4NJR`V`lL;(hG|pHxL%sa2{_g*Y%(u zhpfYvGmeji#m)|I73){;lbU~}m4&sRb8>Q8TU#4GJ0;q!s&3F!Qc?gyL)*-vLIEwKP4;X4w@bE^REhTZF6hH#eFKk@UE)$M}3vGO+G~URr+rXI9#j(^o607$qax6 zbJ-&w#T)MPHyEZiH$-#eoNd&h!YFE8q(-DJM`oUTg zOLMhlwCT}ajp!Zu{smY-1>!tp#7Qdrr^f5+Sa#H+L^zdVfuGji)xOt`_JY=X>jX~s^M`Uz#TNqf(t1!vpI`L@AVBmm_c zx&j=$2^5c@UqFbH375GzaIfA6dNz+o_W-f%@#$k7qPeONMAXVibK6T*6Up^DD{T_s zS`;g&NXNoL8C-wT+m(Ks9C*I0g+N&3+xLBhEUeGMpqDAn3fv)m{_>WRhZ6c3ju`64i%WX}j zt6$m=1PfdoRS;VNYIH#Orq;3HW|n4-P3{5yIJJC7>1kxj&*s$gQ-PxR)m5+C6S!|- zux2jWt2=H8x;q<-i3LZUJ-m4>3W+tkkNM;m`FSI^Jg1eL`{vUS5mEZgz%y6Moi9o; z6<7c`&0i&${;53s>Qe@PY(N(yZz_0StGx%V52R?oGn-_bCY%y-fZs}2l*RGVL!Kl6 zFMyx$ow!%e9eLU@jo{7R0`~@kSM*_V)h?LFaKpWnFNo8G)JU_eJ_{Q$8;G3uoVHB} zf%i?~i0^ei^0zpy@{e+Hybk&vp>(HC!=Tcr;L^f*cB5{)I3|5+{tmlaI^`X{?AMe3 zP-P1t<>zlTJ-N_uPoW%USp>196Pv^air#tq@WZ$Rc0YwTtw$n4W7>oK!%?b3qu7D7 zi%dXgaUNWxO*kfnBsQtR;HcwjKBrRihT{`a*I%PGt4r4NUB+i>vZ%=l?4ywIq}!Bp ziDVKVab6gN%1M8*#B?8DIDJ~!WZk}t<2u~IbvdI3D`Co0jrdh55#-mF7EEhWH{awr z-vgx;(S{#PHF3^c#Ir&;s*x(^D#>Ew|8>)@$Cku)g+psAlZ`zSdjeb3O=sOT=nBO6 zR%H@z1ucDDvSQCeUV2_3AqZGr-xcd~hp?u3)_+2C%ks{vKM)hwJaif_c2=aJ;yI~R zh$M;CFB}Te>Jrv4gKF6A!xvd4?-6CQ*Klf+eRo?9H51?5tiy4GAk|dY!zA*SNX9^3 zdWmvp%_0b-({lpu*i49i`8+*xH34z_b@BnfGm|rBlp+nuiT$cssA;mZM4A|`A2w|0 zW;C%IMjxIB6DiTkm#G*EF)M@&$?vnzmZJ=4<0s(KOY?Dz5Do#f>QRR(vIC@7e>YU> z`>zifiZ|v@$vwGBYUT?%W($}W)9Ie9ExMJ$ezC0Jfxy9wL+D5ko8pQNF8eY%u zZI#)3iHaW`=FYe7l=L_@bQw7~ovf7B-^D(PXNPb!&GJc>^$Ba}K{dQVC$WG|ihck7 zeZSbAm@`ate^YF5$U5Pw2+FF`WI4?1fzW6JITXsk-R;tNsN=cVjR;wJSsOdv4H`x( z?)h+EY{x*m^abr&GD&P&g8^tS#%tY#KG?aA7KF!Hmj*^9tDO?MC=a{f%0Vg0te7*? z7f%f8mCvG*{NZ(ipc0IXg)hIgZWiAd&S(KqU={J40+73=+4pMtTHg1)O$fJB3Ss$v z;#j!AQGFDVu}uxpr9h*?7Z65h)&JGrl}0s{ZD}n_Eei??ErG}o5fNmvn32&k42lZK zs6c|nT!2BsJS)Bm$S7h!1cHFdWQYhMgi$oiv&@9aAOr|gKp;R!`o#CDyI1$>wfg<& zAHCN5!Qm$N4EyYR?mm0(@9Z5#mqOOkZ2JxL73)8Ekp90rsY=Yrt#Vs6)Ltt^WnKW& zCFGa*DUgP8!vV#k9hgkslspTe@m60@H_#YyBL7%f*t#sK{Vw;gB2El0Mjyi6{u=TI zHUZ)*-7nZ8l?^;i9PdfSfL=%7@!7&RVkd|rPfErE!8)FrzxXj;7IePyXzjrO0cD*r?k6XKJ?p!mQU4OW4@^80l zS25#T0cwUq5W$umP)uG|(j1iS1Y?!}~` zzVA-0lr3pl0q{&s61I`%KsWdKi)Up|722XjHm-vwfzs>;Fbrf;g8*Zuq*h}KF7Xpdf=+>u&afkth4u3tnTXAVDAKG&@ z*iG=7g?gSd>Vd3m-qUP)^vKs)bcExOfK?HVh`7eKRlF#)PoC`)UQDLtK;q>bIZqJ$ zF_xfTfKwY0?8^8sPyew9f4+9(ctdW94KCrhjZvZqH})AgkUE!|sTK zbvKlYO3hsdSb3^M+7qdWcx7O4bl&71CA<>NH9IaH{}##gvQ%u zZXDI=W8VURu71n>_n({G{|+2)BTrA?!N;VW6R(06URG5AZ0F%<^g zHOI%KzG)|u4YZR_L~NDkBsQ=*8WKd1RTACWtF^*VXwOUqn8>xswY7T*2?^v9#Ab1! zm2923={wX8&k9X%n-t9a95XWm<2Zlo9p>^WhlVLu3`JmE$zMbc%!Hs{8KZ|wZ?=y5rHK+LXY~o?g z0{va#-J^xZ34F#5VWZv-;lIh{q|W6I#y!i>V&p83p5Qc?DCF5CdVDpuYTwo)f4xo? zTE(}h9F_C+Ka-dJ@uHkSS*VQDM-Oep&L=n3U6ke@i0AzRa?eYf_`*TS z#Y9B%N`=c6w2O!D-^(;>^!-mV@W#7DN%rFEF13g4=vc9S3ul^dw-8UPjXXE$-*Mea zc7oI#EjliO`?!~{%V4qaBBDuSV*vvBw3BM@LUbcuoLb%WkgTsEhKXR4IT5;(dqWGF zQE+}Ce35gX)?4W@=cAI(Roo-tbpn{reTCStNb>tTDUv!05Urmei$6iMBq4U95UoFX z4~Cn$IypJ@S@u-kr8t3yLE@c5W`WN&sl1mZ#K<$yN9pZx;*=1QO3V*l1fX%jJh#D<(lbea8CM<9F4gm<>Gj+l7O1 zquI$uUc=6#8YdYaqKO+6rJ9+(*dcEXqhOnDT?;uEO927Kd{7Bvd;6E#5@G%0<;fFM zeXq})$%|lK>eLI2A~RFQV=B#+Rrw){dJvFS?_Fvx*cjiAV~VG{RVDcnPX^_*<(8S~ z*bZ#ImUiA^96ghyQ^WKVyZCdtnU1iMN_I=D@@QSd$liVNsoUdtkG)Y{rM)jOX{@hZ z!l+xP-i~<%|4Nsa2bc!WSr}XbOvXG=x#EEG_wvrKWUE@F;~VBu!{TtI1|%g=r?}AY^J%Cj2}^BYs~6nmWeBsKR_DkvrHkI!1%!&fgBGk1p@uq{QOEWT_g zVsUMy^OOZv0$2j5zXUL-x&HeeaVj#bcKNPPykGZ4>C)Qu_W9LSAkN&aON_!lHyDO* zevaiCGGASS*q#rv#<$S1 znWc|}MUpi`<*E8?8X|dqZwzPidRQZ~+?TE36AP_jKOYI3zQfu)I(33>JnUAD7_E;( zpiR%fGTI*V?jL}(Uq`21Lf@B?PLBo(CKZU;1R!Zu*sLCo&Z$JB@vzmpjGq2dKEwTY z7u>YwNHobvx}<=9&^7X`eYsg2H}F(4X(DI&#o^r#(0YvxC1M@Jow_Th7*C1Z{+OXI z*q@rpxKMewBfRd7ES();WgI2Zuav_KC%bblQt|qa_e1%0)-HKd0`0dB2~EFBhyMa) z5*$1IJ4uos8EyK(K`d%bq`r74OWU_2k!R`_Yaxf_%Nm@ZXbUfV0CUJTLBC6pfM{WO zUHjvC4`#^|@zHE)vCPUn7zr6Ea zeW5t8M65sFm(}Lq3FYLNwG=mE7+yZ1@Yge^EX1`DrgEzyzw9Yn-J|oKk0F?t85)w!ZYaj7gdb4YHEORPBtFD2wft_(a%`ZSAK2NIYedslxC< zY@}wxOJ3?Rc4DKLp5y{O;hRNIX^NGBgtVP!q@Zr?Pqy7TDZJVKxF=6?g<64R_(cLX z1>R`ow=a2Cyyd6?7izCD9rZ`)eXO_bak(C5rt;u0yqs6m4S0Ef1gyrUP%fdc1t= zWgTP8Q)6QyTM{?=c$66cthWD<1h1w8E%Wt()US@rXm71f!p=zKg|6)U=}>^`ZoXWa zDhiR+g~(pymfy9eM^jt}6YV8s;Vk!3D>H|O-MqX;t`#-$k*@yE2AuX%gruvo6-wDE zlv{rPSne>9a_Z2{1?mUK(W*fewRkISPTq>{p~2xOD$D;bN&&rGi6r=<8fj@|6ZCoX zr5ZgCT(fC#x3NLHfl5ROwMKH?3TL$Zp=7)={SdH;fD+0rziTxs`f=qFe?9i@2HL5f z7hgHM9?L$tll?ZzZ~)=|MU};W)$Pcj-oN+CG2O8_E(P2suLg z9tOEwxaGKX2DLCpRaeINb;pl24QDaO&`pJd`Jrvs^4>5W7O~Zp&C{lVpLdpn=k7>h$NDG!+$eDDOVF6GSj*dt21~RMTXViR zBGE%5Q$WRX1Ny6`C}HzL++tcszQr2OsG!(JvXoSDGKw=8s_I@7l+89G$8bKn@NQG1 zkT`LS8qFx6izKkT^(e>83)^K?=j#M3n_VwVz!I53lR{U~rp^#Ik9&sNddy5q<$(uz z%3sU%ClfSSRlKfJumTC#fho(3XU}A2BgA5wWy|&-gzBsdD^nCyN28K@EQd-c|d z1zT460U)v{Mm$soq$GPD;%JF8aHuFcd7-8l{Jo2>Ni!AAiG7Am@GvzFbJLQINQ@1g zdPEyNawJT*y8np;L>2=Q4`(Hrz=5{M0Mg`usr6WNW>bsaR+$Hp;!DR7w?bvI8vmha z)rlW*2eyke3|PW{FE1fXwt2as{r=z5CH#+S{y(Yt{_l*5!tKxlA-BriR2K=M6%+xC z3Euc)kt}YX(VSxk862JHD~9*dKi@kAw&ec)uHf0^eS_;ax(uSC9Pu$9|7bNQsb!Wk z+HKijPu9rCr;vxF&jZ`T$fz6GiKlQj+Qrrq-)Y%`N9VB}`g45Q_QFFYb#(y&0XZ90 zs$r(aGvRA5wQ3}HTOze(edW&-E7dKE^(}>k;A5Jux)hGTK3Cw}k`&SBnfu_FqPBlnO#g4jU#d7$PuTGv@XVg z<&CY=hh#Kvj5Ue0p%yO{;DI-~>xWXTDIl10|GZXO)=p*~Ln_5FiGjNM^Q$q$f4QmTso=Ado!OtQX!ii%3vU5Z>@p9jmF zl_|CnRCAYA2Gul0$899~==@@7Y3aK(Vo>|_ z)o{~r1N%~i9WHpY#1TTUTaE!ELu8u=2CTvtu2J$4_?B1ch~xYF`@T~VjzHtsDyZLn zu7ZP^DE1b8(tAkpR-ZwOAOwdU`~pOEf@PAR`r?NU?e}?PRq3w!pKvlDGiLhBylDJB zKeSDOjB(DCN?QX1a(=R&Ai++-li)evNlT zdHNpPS#Sdf(+*mS541<$U-AqZ_id>O(~a#f8m2Rree}g+_@R&J_y$GAsymk6leHJ? z*D?6!>2|e(?4N0>K*RE;2EP#(Ute()Qp@b(KGCLRR;#rybM12#lNz6IQ_{ptk#=(4 zgcY18`i5f|FN^o2D+;9yO!8l}1D9giY;b~o+|MaITxSdy3yV4DQrPmkpa5ir)CUnd$EVm^ z&b}bNxVaQw<3t});IWH2cP^=A?G)s@cjxamP7r;fbePlJ%z1Gh1Uts`L;faU-sf8s z89VMT5l@af_)pRFIs9CDWBA09KsFN1`kk&A=Oq%{cjC2~L4M?%A^m$PBE__;w=ch^ zCGMo0v*$at)z?l*ya7{fkg?jG=wJ}&we&=X#^sGsiMYp%seyLdaykPOANB@Rsj@ zsHbGwvH0?^;RnLdo-jnY2lqWPvSkr>P*!p$Fx8~gDR@v8MKi@9=;BSNcs6smY zBo{@m7)R5N@$_FM{REM{UNEcfQuu59?HHX@9{GVMGF928v3}l))g>D!ZR56Obud)Z zQ_4m4`3Zs-jh)1O0~brV-zX2jfp5-4@$JvAE>y*XRW{<_-$L!+$_9HNpw?xGe%`$` z&cogNN=izk`HigB-bhIMZSmPaz)NE+{qYl?tQ$o-*O^|oz8Wpqk zBY+T}kSF?WE$RJyVrFN5)|WKe{|fYs7A(l*60Be<@Qq;8g&&bbY4SzCp351+hc5gAh3W9Z^VM+ z)S2%{tuLxj+U`beT~`1M&=5weBZ2!-YbOY#xlG8` z4k8aJ2sNjg=}q=%I;^f3YHP~Jj3nG(ahWT*+;DOQC%|Rj7u{tQLcaOTix_5;|*Vv~p*Ni8j z_^5r6d^?=N{0Q(jm-#wZUalLrmc~!x;MEx=mbm(C^msBBSNXE{qTzo$9x%!mX5K_cKl$z{#n29Egmm!DQo8<~m#O(SUbCJI9Vd56|J^1qBd3o@(23))vAW9toB z><)A8UDv{}br}-yky$P9AmvdHk(cG0olHtm6d;-+S4g~Ij z9f?~Wye^bWS`u6NgaukZc!*1dP}Pm*=A&hNK> zzu(^b``P=PYlpl%3_daW1ONa7)L-}i4FGiN0AO|A$GYH^zwD58gI}v~fAiQ2l(V)> z0>BplYQOuD_=1^{#M_0j$!+i1f_mE8GkZ^zn;!i5_0g*z|Hb&=sSVh}VTbnrn*A&P zRIXjMt65~E+0{7a6Oc$UcgOONCi4X+OJKYVTLj{QHsvvaU8`0`8omuoqe)Dg{v zs?YW~qgX)_rpS@s$)F{Xg$h&699+neR!joV{x5G++h(0GMB#T?GK!e|#B2 z29DH*GgE1TJR;i|T|m0D&S)Oa*w9}Fy|Chu{DkJ^YdYxN>OE^Vs;hM8vq{ff4di1$4?6$ zGv(E7>!Eljwnh$7vFs(8;drl)HzOC_OWvkN>Wv4k0`7m3vwa`(9!&8n z0!z+%&u=>^n@W@uFj7I91>@zljhPl030-}} zn3$Mw&^$YWWURWzEK4r;qe)rx?m<^q{D`dNCIpG73TJMa?$HI#@AL0SGlM1QDJ|~j zW$hHR44`h(P3}Sx{TmzNVn-!rsCM{l%R$0KkwHWxY{!A@U99Q|pFeiw!a4xhvsR;P z1OVqZd}IxtqUFbd;OFwFLLocpAM_fpr9?5(_d9P4xGe+1&MA)($ zmZT<*KeVj@&bvFstfrQ1-JOV^(F*-9KcvcDhrK){?JR*+98Qe|2i?5-a;s%~qGHQ{ z_G|A9E-B16hamW^u>bLMS8!te_4~G-RS2WoFC(xdLY6?L5a!7U;9Y?SoA=Y`bXZwg zS%k~8W}#BltUl629GWp`REUBX!UoY^*oj6Mc+h1hp#oxxs;89q#1`HNk09H^jhZH7 z{TkjDs1ZEO5TwJA*JMpCtJ`V{#jqy2in|fG1g@mDUyy|+cg+=Oeh}}>3A#%nkv#JT zvbCxyp^~Jn80WFAH1DS@7?xQ27sQzN`KAbV_zdq|EmxDL2LNt9K01m!9!}_2*FT?} zPI9m!#qSlcku|w|!-3)e>UgE$@jH6vfmF6s0e`X$qExcSjqqjdSFDM_Em9|ZjG!B- zJ=KRD7*GuJVfgUzUw`wXosQ+IR)`8 zg7Ty1A6yPkkq0*o8X5Iaychwz`K9XW>aoav>yFlg`8Yma3zG&XoY-XJOerFe>z6u` z&%x00(!jaa{xJ3|d{F{z&P-$NUL5Uj&blNl$ja@ZeA=FnUzV%H*OgI`0x%1(%YV5r zG%`}ym znF#aK;NW0%*SAIjZlbuuw@D%^IQ!y2WytfACFyPUlPQw263r%AFpMdM-9|j3AUJA9#dUI-Q6>&(Y{9xGjlD6gN&q^TrG#?|#YxOLoH`A!Nr$%UVrqYr^%SsG^I zgJSXfu8l((7G&jUzl13cY-TIHTr~r#o}<27o*5hNW^$X0$|tprTf#qhM#LWM#uz~^ zdaSa;npt_W|D=#rs1pq)GjfB?#KJlLrwQEh<8-AtwYJuLzM-g`qlET4CN^Ff(yRiW zg_zu{I7}WD;8|SqdUKEPJo4$D2v4jT$2D)V`BW4oFTddlF54fSk;I=A6PE zzG-H^?fA$DjnAT2rL?rdIu*UAPZqe%`*cTMtf(q>NPcFxnkK$->zF1X zmX{drMf`DJRbC@e{p0ou#i0Qts1iSe!P|RaFMfL9&Ugp*ps%kl3nn&jNw_^5;TknP zuv91W;Bd9^gpbTE!yNqVay7pLG( zN@wVeU3E`GCEb~6*i*-<6ctGQahdri%YJm!!SO7bnU@6$;hEvOuc^GIuPRbxqgxWE z8^X;;&o>Coj07YljWdF$*7uWjL&)4KSM4SkPOpoMekBqRFx)mu4 znWgIHD;XBpB&HZWiq-bTLRv0cZ6$B`#ycMxJ@$H6(A;&;%}DD2Dl&U^wyh`s0qAcH zqEV<&EnZ4ZwlPR15w?DJ^Y!SOir3)oRE>9)O-`k_g|=1;>Ouu$GgucJNW(llSJhjC zWH*FY;8k@`U4*4Q(uqC{rzR0!58>sW3vC-41lfPlyf>UMB8OfTTZNtPRWZvAIb#qIOn_9l_Kacg1 ze&Mq~2U6w4M zIUx+kLMRo>VRo{kykmBRuBUPXfpWuzb?Uciu#`L4Bz~SJ88KsAf#Eg5Mg7RTKHhLk zG-**%fMancr>5Fd4a?2$;y_H=5%{ydI%Ia(h|-vRtTi2y^IM6SBdlTO!!j&3T6uY9 zRM*s4qFh~F?eMb&?#=;V(s;g1hoDf|oopXNCu7(oI4Xn7`qIAQ5Cjcse^tU{4Ujc)2}ZE`&YlAmr|Q^=9pGd0O@KNR5^pX`IdN+nTw) zm}y@z+n{@EpvH0c@pS!#bE|-m?VC+kkC$-ja}LSBh4ghk#LW z`Fhd%Iwj8KS77OlMT!*l zI9+{UYeDG`ProWGOc%V|=>1x?NO8icRwc%WY6Im( zJ0;IjMRJ0sNw04#l&GbtM$3;bz8M!s#&ZQ}tiUB9gt=s3sw5>Q30Z$6ZWf)F@*{V# zPnutU`FZcO+H@+fk=ugN0zk+UP)dmN#Sr0qPjEIUWavdn08aLsw!rehCbWE7ei_}s zFB1x72R6yo$^*PQC%jg`wP5IJ7DjTNV!!7_`lOM1-*mDy9lpxZ6HC2c6GZtzioDa;g2|+KnW9 zYXPUq4y52FB2l2NI~GC+93JF`l;(W&itZ>A81qE zoYQh<*)zT|n85tRa+BT+jN?4?tDUZ&9;V^;q|tD~OvP3+WYn-bd#FalP~HTK?-f{G zfz=gQ{r`nk_YQ26Erk?+=8A)hhE3%9m{hi<@_vYtq!eC0V} z3&TgXLR@T(rMr;5AkJR7Q1pJQ56HV`Z(nZZEqAh>xo`L{&8@#P#&SFCUz&XX9q4^! z4S(K>UGdhH5dGhZrIkeXC(klg0%#?GRsv}GY3=XN_EzHIUpOAtx!k9LZwVY-eiz{1 lqkFr;fBzi(cTuZ%>1)Hq_1t(ASU>@&Z@u=H?+y9sKL9nmoE!iE literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Check-If-cursor-is-located--f4d93-en-pasted-fragment-is-considered-as-new-chain-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Check-If-cursor-is-located--f4d93-en-pasted-fragment-is-considered-as-new-chain-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd0c2f7ff756460cb19ba5eaaf06025c52dd95f GIT binary patch literal 23130 zcmeIa2UJtrx9IIT9z;<>=N8o! z9->6n#~%0?locVTG8c7sj`ha$Km~eTw18n}&gl2SwtqYQ_VX;+b<&s17p|F-KIPc7 zoPHsFiIHm}BYi6T`hQu54OPvjT;r*6y~Yqz=&mhDM;)ynIUwuiwydW1pncN;>WtEN z7=%wodRlk*T6etq>v~?>YJO(sad3|0345j?yye$%;ydB3T3iJ~Bnx(Epjr>c3n%0c zyD5MR)xe_s*z#i{s9woHU1v03>E*VOF{Kq-cVnO?!k=hrDti?DcF>r(msT8utmex0 zXcSo__BC|nV%?b%P$L3jle}1=<8|$Nr7%uwcAT|HRQ!mzM&Z517aBnwml=4d8E(s4 z=Sx|KT#C7+7Z$IY!{ckcug2*9!{li0^Mque^qD6w+^gn?UiK!<{3g-&$<%Od#t$-K zawu;Q;rVEHzQRUCvv8^DUPdBvFZ}Jv7m0oQJFNbW1{nuV)k20Zh5fqL$9deC1pHHS zH^S1qqT=!|LY_C@md|?_^i44+NHIuNJ}5{o=$m{{*rOn=3uUe0*98l<*)+DZgY7B{ z*gqEeajNc^tf;COnx|6x7SkZ`UY4~Zx*BMEQ0LY0m}X4?7tn)Xw- zKvRT01uiRxA6JIz=;lRW+%5KZlPXgiQ1h!3d^tY#4k>FfK2D`^>fME`{H*~*X_iY2 z5|l#MsD$+H3+deuy8oNdH3}g;DWSKj=kd36_Z)w~s9{FgikgkZi`3P)8D<|1FLg{z zx;ZO`Jw0!%eI$j-L7Ze(C3vM#I&0YPvk!K4f(t(PzSMKM#7*I8zGu zSm`-5QMb<@dO*2z_`R|-uRd3hA92fk+S%-7d%DvJZH+Q@*URyn4`k3vbK(&9`djeh z*Q~l**8L|=js@eRHwH`d=Q_qul860u5#~9-mNQpS@0SGZ9m1 zm_)97aCxz2lp998l1bgzbO4q=i^_&WR6jXmp{^XW?&K-Ho`&-l5G)FIFEiPm&_1E?7 zLoKJkYuos%oIG=cA4wsH8f$;`65IIL-uy#fGS}p>%W@Szrmg<@ z+MVQK`X1>Ws4z6h(tTs|lhN_zhsNn`J;^b}n4 zO%$!{6+GM#gDTYeB8LYii6mAo?!B2^XVJWiS z4J<~!MgD~C8`=H|5Pw*3`umeL$-&~~bTP`K#m$w7GIj6$I<@VDioRjqlm_Wo%-UCeVrzOoCL5gc@&F6cEe|I{Z~W;a^R+BgB@ zHE@t#-LP$T(QW+41s2X_b;IcGFL2h-OO!X|*>B2UWsnHE6#x2?iuDq`kX`^!@Ao%n z$z5?JaJ%txoALv&*_6It6Tj&W0p0#tZ9%ofAwGS;*+A;n*xbX7g=q8AM#P%kdf*6K zy(3L5sl95H4o9S8ZB*FJFYlz;w@W$d)~py_m7lsJbpPx3J!R`9@&D|51}6Ig4ad^A zi-N;l@w{#$`i2MPnoNcxWMb=&#n2PP4Cs+lj;(M=?YV-yqNPOW@lXbz7grH1bKW6v z`)g?wagiFM)0vdo1ykwh-obcE<&Hs*OLHin8<*RK6A7DN-e=Bry!Qasu(S}82krPC z3j7>N&2*k?D`;q#gdfj{%g|82mwxW+85sHCPJP+!Z&g<1E6TybM$Pox;I(*T-I!Yy zF}JqehCp!a@= zL_y;7W6Ux1zSFXM0}*rr=hr_OJ&k1Ht@Fx4KQU3=yVm$@NF1oK*65E54>cT(te5V0 zXuasra_-Q2+422yhn9GU)rrMcmoc>XIB@ZvK>8Xhv#pd&CuWNEcO zY+RKz=B#s0Ep98*QO|*9M%|GICQf`X@cbvF$0DQv%%1NFf))Z}ZdES^vc9)5aYyjg za86XC3=I3flLxl5LQP?~m0BE(anmguXO<>8^7@nFdETVXa3<}1eT5;RQ;-B z>_>v@nx1m@O2kQgvBck=e}QM=d?BuyrcgugUz@oXZdR|2OGC^Iucuu<;lF%mGGD^* zdLQ5Hluy4}y)5mczs&?-R$LZQlC~yosLs6B(fZx^9Qwqswbnf5Lu%G`aSp`Fx`WN36h9E=D8yB)z4A`29|pyqIt~tm_)hC#G@6ex4kbHzFr|Yenry6HcefkfKPQsmqV&#I za`Uqew=`kZWumG`UpM!O0pBRJ45kHU?}SLwcEfaKydErOQW!NHdf_KV3KPw}ja?Rc z5~515NWX6;YwU1{nAQZTKx5rvM4HQ zd2${3h=x-`hbKNZ&M*syvn+b>MS#W{|L_3o zX4YVwBYZ&7<7BOtqceeU$-BX*yhl7MR@xFph>A!3TIUfQ3tEef=ahej!{hZG9CShz zh=_bGaN4THg3V5}fgOrfOz%a)ow2sa6x#6CYvJRZaj11F2#cM5xyuEhIciqRJ@OG= z#jqO7OxJJZv`|EXOZ<-=-BAeb`zND?4afOWEco}hU5iT4PVW>mFPu!-gL#04xNXtp zn#X%z_vs6LT_?sHH}rIepgBuM2)A?829{%I!rQw?v>cdRd)sl--4CDoBosGiyH%+|f=k}U00&GF>pr-THv zv)J97hZa7?^M#z-UQyP7_nK}BydefV@I<&Bp7UX6hyN<-h$$|D)#_|5TIBEUx|bX- ztXC3R(*lvzT9ArBQ!a9z5<9SV!sj$ej}^4=VGtjjY$NJAmW{KkB!y+-NU6Na-on7c zBT*=+G8u32(slLSEel74GQ#YELW0e5l5M&!2$YhXoUAA5z524-;UULj$AUZd`;+AR z+PZn^1$UIGa9OposnuvYBSbbD##9bWLLCswzt#J*VPc7l1A_mBpMUTT4iUT6@j3aF zxyJ?;7Nv&fUi!+>EF%Fgp?W3f1mR=}r~;z}eXPA;qMq=){Y>=esKLm{2rgp&&8;rH zGoTg*_?I1=#mLDqx$Dmjx~hgB67x8Mgm;zWB3WcN-gy6h)bKunkZ2V z=7+Z%t7;PKH+wIhO=md71|QA4-_>{(G#Clr_!|9welto!CyxlEQM!o~Vw-el=xg}B zY9Kzh^T0ua!j5xIy0;kCKA?1s2C)|Ps*Clu2H$m?UuVi7m?LOXGF^x85PjCA`tOcQ znqYD(ZehHzlqZjZydOmJETmib!iDjkc11esA zx&a*qeC#f+A7OM6@t^OYs9&}^L_5_9MQGEK?Rg@0AaZ>4TnOc{-|h-;^Om6Ln0OI9 z*ki?es{C-WNnkEE@U6_KhhnRzjXL?4=|e47&BhA#J&s2~2!240zaMumhB8UQz^4taQknUpRyy`!D|N+7AGkBlw--(ax;oZE|sj z;EStARO}LK&z-Nlh5#eRkeXfWvQ5J2M867J&z(Q_2|qGA0zImPC6!+qw!11*34EdBjoTi6VZhgjeH`C=LAA=Wr7bTBSi{}%T z%ohk=`C1U{CNp5{USQa-s<4c7gvUETa@w=Amu|!ED^!UNZG{zOZ8^)z#15a5@8s{6 zL#UThSg*&SH<<2z1ofcMR-ssfP)u03&}IcDO2LXUD zAs4IGhG<_=qBSjov%iIagJMgwwg&EEO?W_v(P_AYkW^H8YD{%wL zdkb^~7XtH6_q5paKo@91v@f(>GcEE+T&YISAkdiFRm$Fz7FDxt*^EKB|IAJk^I3Md zOIkZ#DOX{|HoY5vC??_B8k{lY<7iR>TK8<;0*)p)*d-eAUUe~Ci5|dO?JWS8tyz>j z+;0aDN3!~6j27=AU#zZna;0R?)7>e>toDf8B?xHzBBXBSC*3g)N39a;U%9q8F+Q;Jk`Ty<+Rn>q z+^MA0it^0i)Ow25)sew^)v=<5G}S3Zl7~}=d&QmzKC@Of*nNBf6)9zK@_NxB0Rva` z@b^l#z<9gMrSQ$}RNgEeY!I`~4I?o8)p&7UhDi?5ciS0{nJgSLH?|o3 z;nl9Mt^$hUGnnuR!rXH#W;qyTPj)?~klrj&Q@t_P7n^BmT{qO_%?I~)Vm2&je&#!& ze_VXz-;dgNVcC>fdu;unAs*CiLlysJvSX;B(M2ILJf`!brc+wb1Hjn^usL$3L9l(E z8IU;`gWuF1Nz0Kgd>OXy3fS(&xN5VyZkL9VKc+f zBXrP|xts1w`8atYM{isNVB$pF&jWqbB`0hwC?qfP3y@(52xl5aZUb3t$ ze4q!Md8r>hIC#mH^wqBY+FSn|wuo2CdNL=gH!n3jwoj>viqO+&X0pkhG)<~P?-$84 zSC}*qpbZwiixGR3kF}P1IGz_+zXzxt-hY zXgb_pD46e)a!kOuccOM$1<}RAc^dk_0+_e4a@9GqPb8JtQ9GVQ3Zy{F@*Hf>l28Nh=+$%LKs_1!rDZXLeY> zyn}8UW-pD}e*1IVRohFRwmCWlPU%W>4_7;efF){*`0mXwGp~&#y730UUR_=4Q=Q6gMFNGCqCU~@6AlLp0ozSNf9n0)-&YvX< zogm=vnRB(yzssagYdk%|0KFR$^@@6J6x@aX*LLknW3#{T3Jp5olWZsUwNbi`Oy^ED zw95fe?;ne!#a2r_gvP2N_@}(a(o5mcg|M%?nt(0b8S~x~ve@cZz};>Wm{g8$ERGCI z7jJFdr2m>d@obiC01qM#MEp%3!VNz;UpTJ=K6b%WE#e%)G0O!1f2Gmrb=vSRMt@Qj z0EC~vYSKSL5^g*aAPFCsk%TwvNWx-^hX=?6)2@=g?iqI__y(13X8HF_cECLiiqnNu0^W{P? zT@KU-cjlnam7)Qalm-ZrqIxee0WMOmzwULL2pC}jJNTdI(2^P2#F&JISWPd%f;f~@oC#2k8Sbk2@`Q`Z1%Td*Lwf2>BNlP!Stq$miDM*z zjMMAy-=~VHO{WV;D&6Ym)Ai9fZg}RF3BZ3BCIV8%8l-Ws)dP4I0phHF`-voWl<)M87jUN-+XI0B z`m$~q0inl|ZMH62$-{tR*Axg%Y3a7!-Sge*+?cH|n{H!WWt{rn67&ijDTaN{`Wc_m z$sJvJ*QN+xHfc)ZKirh(ursSLOCw0!UvDFePp3HdtU!5VIIwHvxXRS$QBGdq!!HTK zAkp}NT4IHgi>zzR4Gv&Le(^nkAYes`;WeM;;E#WgZ|2ioLr?4N@OP088qQq%-xlnA z6sMYV-)=ZxRr5|P7Z4f-BCNN^+(g_~hW{-kwz^srk7)p{`z}iIO2nCT7%;0?MxoM}GXsmk*{|jugXuZ`i|tmX{S0fb$4bS@&(!)QLgkeygDC za!#UMR~+}s+S;xaoK&LL4zM@5@4jke=7o(f=PMc<3gxqqY4SVTXy2KzFI{dTXWh2) zAmu#cxzIf|EweMMdpMjYgKdYMCUU8alZhpEb0>DcMAtZ<^qeQ9zP=h~<}|lalMX%c zf<8Y>N|FoRPriBj<$ob~41`^$U8}1nOd7d!o0)Yu7W-vroL`!La2+VF$3PP1`ZbQH z#dSm{iNr}?qHKj_tb|Wlbz*VNGW;r$l!Kq0VVJGz)T<&g ztJeU_zJ@$AZE`bPmi4#D&X6^^(;hu~|2(R2AP?NLl51aHUi`F;t1GhsGO^dK?nZT7 ztF0a;qWQi}{et~-`3aY=qhrw6?@Pq$`hp6z-Ar%k_DKZoBtU){7)8OB-0m1hn?~@2NO>2 zKKC*?sIS~VdD>mVhW}xYOOe&&!VTr^kxIzwuL&T0uwZ}0Xg^M*JYX?u*GAd|rkbUE zelkJWO_F)Q&lo?2cnH~i*yCg*Sbs%V4J6(u3WRzOo9*VnLL?PWxq!o8QBLNy^Xus| z&CCf=Z$->=H4l0P)s(3d8cVauJ=gPD!e4~; zl+-mJ7`~sXQdv|ZN7O!Ng4HIvnS-)S?Ek@sDDQLk=OWCt4t~% zPdSfWdEf&lG)~=OdxW$SXTUJyNVyABwaLW7&}-Qcsx>Mwk=!KQN9&YKP+%exdkO}r z{j_5GLAy^+%KKD;0{kArfOv>b_Pq+9b5djxKLrywHgcxTT?Z8XS2-Z)?BH*VML-0A zB=A)Mc@0gPEFCd-{8xE&QZK97ezYP%4X;CexoZ|PpvX~}8Ll0cl>?Vd{{6-q--E%# zQvaQzL-e9d-o{+JJ*M7EmE(i|s=LuWkja7IVDi}K3Jz5dqN%ro8khWa&Wye7%^X>R zhjiJYV(Xl<-_x0#!%a>{9)Byb{ZdJu)?U^afeb-6S2Z)~LD^%M99t4^akCIGpv>sW z-lRvyTHU(LF{<%68keqQ@;Q{60k7c@~)+i$l~c{vtP z*)K0oYc5M>7;9&5zcW(mUsdeqy7PE!YQ-VtZxJmkjK`Fp$=&V^ z#kF4626L#(s&PtRoQGJ(=PAd1Zpe?0J9c!-hEDZRHe~ zRV+U4lpwl)EY^KB;dO#9eQX=y_K11C_`*ySIVrz4DgW$XO|BC~-mt8J%i}qO`;#(b z#}94$Kff2;v*i*cSQh+BogiUv>A4=wmL`@KaFHY@4(udV4p)_hG9!0#G~bFPuysap zyYDgqaiI8Jj|vf$@gZAY_g(Z;R#TC;@cwSxD)&rWpYafL198)o>$ENM{o82KMVRz4 zk;HQrb}}`0^E}MrsC`qLjCwy@OCeCT_9b(Vh*32*<#V*=_UXOC>L{NHg(fd_bZ2#ZnT=&t~w9v00C>*^ESs?n;6!Jn!UQH-}d_ z!1--ILeom?H^UbCGi2xOU#UrW6lTLS)|c>GJT4ogR+rlms-E^P`*Vq>)A!~PkK~2b zJkpfj(aXsrWx4q+qE3+k_yR-}{z1t-P2F7hQ$1n{(Ur1?fHXjaJKhr?HcT)*<9*p95nJe?lzd=ZOiEk+HFi&HfTo z9B|r`;f_++^NTxW)R2YA0e~r-sOtNBJ&D1KiRipXNu*i)dZ{S6u_^wu^%xuo7;IHWT50OnE^8o0^S>^<^DjfEsJi>9 zL4?z*yYKs&BU)(R^pYmt*A6X_jA@QKBo2XAjm575dp^c;^qL$=1UOTvL*jvSoh*WX z>k#kRBoa>dIwqTk0t`j?70l!DzD2QVYSsnqV_umSe2prdeU7SYKjG{d8n<^|&nDUW zru{C_3Y-;!5&U1aN>ts^DxEt?X(%0c1pi}KqA)uthg>JHi3)}J_;CaE^>3H!l-?<_ zpEiRc%vONiACRpAIC=L&omMlZ`A0y?QmxqgEUQHiu5ml0tuNW|Wa=ZieZWR4;e42q}jsl$JW6YI-*-12op18ZREjRWO zqU3;6%W|C0?>(U?TsY0~`>|T(MwIOF7{L$~q2TU6CWpXNI`o{x*2z?E0HvML6SSfL zOA#KaV0Xi(Jk6jx8zSC|k^L)Gk!k7hXslR4?%r5BoH6vO*`B8W95=P}otD*KW4+;J z6}Vw8GPX_K-7mZ`iS#Udx0rMk^u83K1sqqe9z|ury&SCa%)Khqiu}EjL>+Jjjux1$ z8rVp_DPEtX60*apo8^;~_n#dM-2wRonvQsf>aWo&IrS5ak$$Algn*+ROxWuDAGx-MSdJjv9XZ^lC&-lDZSJWX&=s9U@K4mKd z*dKWG@S~>%c}uY%iY|u(U{Hk#AaXvTN&fj~*GEvCrrti=SU0{)aXkfs3pbrLOLsIB zpu^Gu_vJ`|V2XTTBY8}#0PNLBGF1Cq{Q@77Lt<&k#639O`@ zD3J8YwC%cSJZVok!<7dpAo<+=Odbl@NfxjxJ`#;XX~pXRcS+($IwE9-?_yCkpYs77 zB@uuPT@kg2{INg83V_Wr8^WNOw95qF^j-c{l}o20MmN>mu1pymbp#TnKg8?*wZ!YAk?W>)IFU);8Jfdy0kT~Fo&f3^ z_>iq`ZFEAJqo{hW8#o04HdLIQ^Gs%YnbFIK)X+!EPmqH{O*dmf>!T9{jw1KwL>p}9 z`Op$_+&#bA1L6R5YV(uOVYhVYHfsfEuBsh~$)%oHr0co+J^}RTuktQgC%Re}mFaW-)@I-+f*sN9WWyd&452 z$YLWt4rdmju9cB~`!Se7!}efzvaoG+i%B0BVHZEtEm%427s9nFf^ z3QDsLeMYO7R^JKJsuNY;M^oW9xF*+m`iot&MWj7>QX zA7giy{yNe~@df`8bG*iT-+7iTM~7QQryN(;PDk5rp6EzoL=C_5P6u47071xbsu(jloZ)($zIunoCTnH)#iXnYNvjTVnzQlVjk}?nAzKWog zIw(U23csj3#xfa0tK$_S&%XUuRk=DVWqotZ&F$y(!$`)l9+N(~6fwt9lJvorpq`IU zoq^w$$Heh$-$M%!7h?ROK-}4Q0}(iv+F)Orq}v*UpFGRui?hsvT`C%JATjC6gGg)p zF=X-Dnt+XvabyLt^oC`iAP)s;*!C24jhPD+JntCG^8N1tr%^8+;;l&58^CnS`V0w< zhSeQf^adr~ssLY2i;FQgt3Cv%+D|(N%yu7#^UG|bsU3j&`S~@NdtvpNrM>ko<{oQT z0aZ-?7iRj)DCAsNtEEZfi9UV`Do4)hsErCQkw+qdAxRj;uQZw=IOry%vI9VIfmQ%0 z^DF_e@I@D-SLe3;g}h~sFDDObez5TFm;Os+@@Dr~{|1N(0wh|D#4#s4@MV6HwnG4o zp;6Ew2}PZ}l+#~l22&6Eb{EYF&-?PZyU{bg&#S-qQ(n+7slh#MCVjsD51te{w${3d z?Z(!^==e?aPO)v@`$JH<`tIgmv|~-#L2HY2iSOBJ*LEuN-?K?J%6CRdBGmbQ%ZUT2 ztdO`}w(2Q>CRL4{tdsBT^?=kt&hNtPcMJf&JU+c{T?GJ8FD%}wC`%BY%4pp3(Zm|W zM!k~#ObeI(hVQzoq<;-PN8WmT6TSC*SYS=x2p;;P;>!gtBKo~V*@Y?-o&CdSF3O4{;QtQlfLzlT5lf} z6rCy}&{`r7AU<2+MgirL8_v53cu%D_RjPqhxj&waYr&jeA~1CjjdW-5JrESrxVFG2QD z9{-{Ghzm{@EV`aIpEVo7U*o<`H3CKq<(;)``ue8KswA4ggt$7{?F-Voc8%^jcPy{r zYTke__Q(%P`UsH-QFj5|dg)J>c3$a2aAMpDo2CB%BL!SHqy2*|X_s{hysw?wO@d6N zS7W;ACO!LgT7WX3+1rlVDPSedI#qpU}u7pSv~SghWRn3m_LFPe0bZd4~URY>YLQ z?fAuHe^o{H$j~mp*DhC(oIEWZh}2R@~X|h^P!WO(V)mb=0WYAM^wJ^Jt2mz3$UTP%FD|Z@8|KKbzx|R zbzLx8KQqd>L@1JYlT);LNEF7~dd|OFq88G%*g$)C%udH*PE5){SZAcgL1fsgI0;sy zp#CVfa=yBBIaF3^%?n+tU|JRWk%V^kAc!~f`anTl*tV2mu@9GMt-jTB*B+^1`pNHg z8}xN@FV0(oFq%abusS(_6vF{9aLCsCaii{}^+_V`*iOc_KF?wGja4d}O6N$bL?})-h^i?-DoyK zIekK*N4GQ03&YodkA>sHEozKyHPQ-^NOR4(5%$>|`nElhH``qB-hlg;u8hS2)$qXR zAXJ3(id`_mYKeX`s+uTM(F03<=|`rwl9-U2Bwg z<>OH0ul$eP8h#Gt{mL8&0ZH`9F96=C`jw^FW%Y$mL3p^>wJh%WM?pTqMd#dL*h71Ouyv+)YJmPA-Gdcb5wTG%m<07 zUP?o*18LNMnDcK4C%F<;$jPRUb5qtgs6UD0`-9o+Mff92NqPi-ml16QP(L~jQs}4s z>>cu!r~6ekPqnZ77x?C%a-^tC?p@?`SMaG^d>u)y9s;NnJ*6`pelASbd@3fzlj#1a z842jT_(4yxNuPma-wc-0a1SR<&V*kc#GSP=O z|8mc?{rYuV+C6VNS`w5A1g9hnAok$^hAZk?A>;JsG=_Ek58=%DsH9QTVF2K~tF2FK zO36eoJOpOhbz{2B+YAiqNVOm{pmFn4ClsD!hjRfYbOA4Ws0ERX=}Ovpb8$PWzrl8Y zOdHG_u=V}`m_{YJGMV;kNar6w&E6Fh!hjhAM#syu&_B3okYF!z2?4Z&wpZsfpna;# z(MHYhflB`ywE1USWZil|f;hif>l-_Xw2-=)K?4qmKKl<~%{RZ7j3>dI7l-s6nnrGt z+VA-TFH-;h7n~-r+_anYy&~b7{Dp7+c)iiIEL*Tc70xZTaj2?E7Wid2+jHe1cICtb zCVjeV6B@6FL=_#fVMi4bhO+n5$>US@#~?J;9SSA()kQ8A!K8j2)IHtaMOUScmls5g z9%qOo6Eeex@5VrI!PxG^ZZ|W2lNK`OM#ZdYQoK>F>eKYOyh2B9Qq1(sr`M;r%bAeh zCWnO`0?4d9nU?s%Ig-T zjxW1cK8}^H>-QSxZJbJ6T}>q*OIOnciGJxWRG)8>-bH=OEvDTQ5uu%%o6`qVo;ma71-}JSYIl8#RnmPm zB-(#FyMcwX#1aB2FSg7Eff4M;pYH@)f+!hhi!1uVLPJA&ssS5~ww08Xty;rq%U%xU za)o7$&3)GIq(ztd;qA-(2)i}QxhaJ|r~qpx3_9(dfY%|e8d~_d(Sm@gey!&dcd~u{ z-17Nz4g;8}aW9E;yi0wN3aylV1q26|Jih@XeB@-M0f@H$msa>&v%OO)B^OU;U4ykw zO5!&5jar7Ei1<*6-ZqF*GA)NO^qZjypAYd=np_!Djy?v7M*EfKD-YXU36#I0NIYh? zw3C<}m1Nv#B!tsvL~!x`s0azccHizZHE!cIzfTi*mi86!@^Grqp@37j&@AhT!%Z1N z|Ji}UtmJg168exL3t47EvwO^n14+UQ)%F@o^MtKaBpK8 zV}jlvZ~6#ZT9F2ZmcOAeqq}(Jg_^a$s9TgBV--S zu_{z1r+xhSdF_XGv>BmxtMZ^JuxkI%gRsT{U>lz_cl4(<`W2*PMjL#BSXp^z<=}lO z5?6Z(>tUX=W$)H^TCxXxr`JN33wSu}yVsO!eKhxu>ke1AfyUb|Lly=%E7w97sP|kK zmB0G}Wyf@`h)PL0zv>t8*)Lm@v8ml50Aqx%5y)v?Z~Rj(J5X@fPv_ug^lgsxeE+$P zvjYsuF;ieX3U?pq|&4BkS&Ba})>mC}D4-|Ow!5h>wEYd7Z zc5Wb8!XKFZa*Z@KY4?R`Z8*W|{$Y^Sjr95%0N|CAEnssJM9jzXRIB9qT0-~wZs0J+ zK!+UX$9|n`ghH9boj!$?=)82hCsF4GAOdo-g@8cqQr3@Z2M{d?3-P?YNXqY*A4~0r zI61`40RVKQt<)Stng8)2{f!%imZ%SfW4Dn9@GEe~Xrnrb+2)MMA188#QRykqD@uZ= zeu_a^r}o$OvIbtX*qbA7VU81u7LYZoNA1kL?IMmLp5v`otZ1&x1>Zi|FZGeW0(7Z9 z`x{W{nAO%oZ<*KD!v4{sENft3V3`|kw0e)*zB{XIZM1rnNt}K|nKj&Vi1y0$RFwa; zxyPj2mEg5kjsr}7TXSNS4GYO)NC9)-ncA9#wnjT%r@SbpP>ZRWGW^zre(_;*eu=LO z$R4>J83IBwZ;V8{zTyMilHIRjw=F$A#bJ#nhh+GB{#>(e>voR44BdB5X49@*m*Jen zvx12|y(wbtf+hA6XC52U8A z*In>Q^zNvsn_^3R%Iy;$+q_)BE#}{K^0C>aSgUdj^XzJ1b*={*|Otsn;BC z*28~mY{A1I<8V;y_Q~;XND5IXi|cR~YzNRQF`(f$s8@=n2lKR3n*NBfp`&`s&T_8k zCw&JS>wYK@ovVTD;dZa=@nO~a5|$0-=lv6lhbw^ zxZ;Z^mb(6x#7Rk|SZ1l;9?fk~99C|yzW;zUVxCO98{v%?m98-#-Me08WecRG&i)3@ zqoh(EXgb56?gnm|c52@RFcBlZ-@w<04N5{Sy~xe)_#77Imzd}tBLRVMEeoiZJ48N^WI<20k0ewE)4|P_c#u(Y*SJsaGZ{JS$s3xs83%R90U(Vtk zKdwv|ulu^}^@W9mm`JZInqIE5ElruiJtq&!a^F4BmRx;7>5g{`0hS&%li8Ope4l>f1kM~8q)CE57xF)*rmn6@=eca} z8(jgd*|nJMjm%EZhqBf=P9Z}=#DRa~qq$#$y>mrSs*#q_LVRchl&P8fqEErg^LE#A z_LU(`bA1;22+OBjVL5p_cw024EStpx4GL$)7bxP`Wcz&95S#+Y{aG5BTmyxp*<=G# zZ*5)yv#AtW8B#YGPMrfw%IqQf6^#=%M&Zb+v1}(MMlo;%@UJSiy)OYCrVRNz0=ghS z{Xe&W|842|@2vQL6Cka1`QOHiSi>{lEQfsT+_X^5c_Dq(@hCD!+kP#|z|Wzy9q^;E zJRF>y-R9I~mjh`sLfVECLPB1QjZ-Nx2Y5r_;WRUYO-+$u zX%q@vC%v+B=sf41(1DMdnVB)FbzScFYkaXLse$gh3h<Uo-tWc1pD6NgStQ>+L{5j$Nk zE&8Cvp(Yk3vK5YUBB7G`Jz3|`2W@!17?kl=^zSN+YLL|Ecc*C#7ynHAh@?Un&H`4J z7`Xk>C|hIjHy}5Xl_U8wKx+cebx-{dg`6a5;T8Tj5W38gcPjc?@x@j#pbTW4JONnU z7Z!6_1~@CuWA_fM|G01t{i#=znSpLI9zdmh~3Aip>3K3ds9 zn%KpTzryeNwb#$?*6vL)HXfqj?buRc=@0*@rs}aVTlbc)Go{rHYkK#^PYfN}@spBm zmUE7ibfxtxbsI41)sO83LqHj}+AT3&#ehBy_DFN;yG0Lv2D}*Qk2Kk8dQdtJsH#~c z%sJx>&2LCT?_UXyzK@cD^Ch(R{4AO<_u#Rkatxcu6s)dV2Q*x*#X8#D0p&!u}Gr*WtTw*>w zoR^T4sea|kJ@JF25OJ^KlTOLLa1Xzy%9kz;&mJsh&_%YPiMc}3u8L2hk1zoXq~>96 zou9Y%NgS^I6e8~ug+90pzc?m-*!w_v%{K%f96y=)xrA@_CpW~R`tV&Y7!caP^7#wh zCy__~AUJP-d=06~vIWnINnAtBR-2@Sm^za>m*j!;n1B@F!idupJ_QSMupTK-Md9yx z`1Gd8!F+citqvZ1Y>-v}YSenCc%^28c-sSy9t%Oik~QbUNEYyfb2wRvLK2C~skaT$ zyGoKVyZ}@AnuoveE6_yYHk^^B&M1&e=xI564g+N1R6w5tR9yRac^W#K={9GQXkuRY zX(m_Idk-EM?|O&4MFBp;sp~ltX4+pQ}^|rP&aVoDq{w5&VWn#Oy@V< z$J5ox6&_ED*Be_H9ER{HDQ;-8`Me{4Pw$=#30)e)DN!WnObIHWD2U{I6qO7DN{~<> zl9Q5ik#kN36jk)xa6I?EZ=c)!cK7J7|M)IrI5>x@+O_xEYp*qb^LgfcaYs>_n(_oC z3WcJUm623Ip-A&ls6A2p$l)(X&aXDZFA_Ty=^LnwMy5#=>Lf~5^17OH%uJt~bI5A! z_V&1;ZA8qz)2Czt&Q=|6Ong$RL9*Z0?<{>>p5w1>?pz)2!r8geY>keO#qGsk(%ZRN z9L>VpRkf%_rD-Ll&ig%Kv!&eo{?wC0bhZbD8V$#A(h*+A_c;y36l!F8N*4bkar_O$Zzr zRWKZ@XYj(OrkZu;FJ3I!%8vQ);k0p6oRp$s?#JSnoxcXlrOf*_NvNr*KYaWc6ffaF zol$r&gq^m0ZKkU(fLX-U((;oY=89#3(J=y^OPcL)+zP#R(8&eY;ut}jx2w|v+V=R( zRV&*u`7^4C{eB(OMzh@x`F(S5aOd<*`1$$MwDRI6CeD6REDq}KzE9j5#|$hxxZ6Lo zJ#Fj4sT60}@+nVNR@S&Sq$Wm4wPvcVHpuT8kAk(7_XFIVSkdOxw4vb#r>^#&KTDHU z6B$GtuLN@{>2IziU*YGs*;?N(=Xx|N)yIe2=OFXKh!`SY5boWJd9 z{Wn!Din{%hmW381s)>rH1aOR3u3Y)q+ndJpLgrrcVWXgv$FEF~+uCN!%J?NFO~@o# zgodi4K79CqdJ_|K;F`Mn(Wm6pU;fadb*pV`uk&`SY8l zCEMnf79qzO!Kwgeij#12R;JqIgbwo#%yiun-<&W=NlB@$uODeq!VTFA%gRm5-MHax zdz$TG)vwOZiJWiygRFDV+t>TubEY-+Hbn6U%La4Y(bH>+wz3>qnY{cq7=Ot`QG9Ze zaB))oM@Fvs2BV0RXX_{tuFN+k#(Y%f2P(d)ih|YLWSjUDCR9*Nudiv#r_1&ehft$3 zlHUV3@^>Gr!^hwvcb~QWRB#LYkRO?QKlf@#?)-fB{>MA7lpWo9XVB+A_Gj$8(eK%F znN-G!4}GN0uO<2^1QSXJ?})WgZM)v;A_%G}t)``!g!Bd8TvcnTb!B6_Y8=1cQuS!S zT5g;~6RlTM8zY+myy<&hoU)_D!8TPfu4x7%+%Oy=Cp*s1uc6D}g>B(@t>^ll^`f8c zA6!%DOIBZH<86}SrZhF1&K9!zP9?{Mu1ZQ~kgP=vtQmH_dN-aLH}zb#_<_W{N|Oeh zNuq0+XaC2zO!%xKym6*!u=$~<0JG#`FAeWiak*chz-hkU4wNVTWrI<4_wJ<_Iq{UPDudfNrk7?m9sG!3i z;HIZd+L6<7lxT8fO>~@Zn(OFL5~AcT3{)+|nIJE#2S`fZC~Mt6hfKDiANviBjX#^V zh!m|4ZC{2dN=iPWtz3MOb!P9$?J-mH-Ys!BD|gp{Lv)p|W|U*Mi4F6lJXaYAc$+3> zDr-TeqOHpNwOr@B7Ur`Q{U@yFtg7sC0@e0Ua37bHR9x{?)R{ z*eW$gPGycdUOgZqz}E2K=!EE~jLIs(?UCfB(VK7@-^(Y2%hpPMyVgy0Q95 z1%3VZgZD$*_-A-7?0L{Vvj0eUh>EsKZ5WN?+60BQg^pNsp5ukK-!mRwdUGTR{^p{>Yg@VK7Kvl!XT6GJK0d*Bq67d2@M7m8-gbLg|Kk?@^Y~wsXRp z47yfTzJl_Rf>#&xsV|*(I-X$btJxeL--pk^udec$iE4e-D~vb!Yjz|uk%jkFCGWnR z1M4l@yTfni%a|`4Ub^XXz<9h-M|8E7$7SUg`t;>&ybeCR=>V&+-?Mc=j@PUWW~m*@ zTG-P5r@jmluFu|iglnjgTbdX->SSLruP$X_4UDX9QX{j(DaevP7?tB$_T`@z5wjdw zcqfW$rCi0e5zRe42=ynL?#_11jd!gLx6To|wl+7>mfpO6*XZd?)@$_zte@y} zR?7qTuJgq@NV)L9F z!cm{bjC(De67kVdQKWeW)WkKB8cG-Bjd&F9V>U0ppST;sDrm7--afBd_fzAH&S+XB7^eV^9QRXTQw8x7rS zPs2(&STMWMuw4D}YHW~VZminm43nV!v!$1}<6H)}OH}Nba6BdH(jHN!H6H%wL{;ib zp8B54OfrOL(5X8vIJ7K#o>)BSisL>%Fnh7*5zHCl_xIeGES+y7o(n2I#|63yTcxa47(k-UdfhC&dbpeL%X3LvWMyD&Yg{re*E}l7UyQSO@4H8 zTE<`(y+&EVM{y_an2xUxP4-$@b&)^e;)r78eEoDEr(}gg@;Lp`qf*3Irl&c6sCHO~ zjg1|1zouv`Ow)(v3=~~)ip5gdMY_^=7p>k@bhkP2UsanLQB;J4@<(zpQU>35$C@hQ{xePm=TcR3af636%c!L$uL3O~1px zk@FKBw!b6Azl;CKAmH8!6i;9H2dZ7C`>%$SZ0VNQPWPq*Nqzr*Q$E^}y(LkJ^p9`f zd|oqRhw6ChWN+WrUz^c{?M$mL#V=h=qhn#nf4gV0BqYSJWI5J~A{W3dTtip4%!k^_ z27vHwaB!rEK>Vv$2krz&o<1K}ZrY4dvR6f>~T{koQt69gO zW8uX~J7wpjedS;5 zEz7lFJw#7m*O`@IYB9UcN)}l4v}cy%{CP@LW=GZfqJd3;HcC=TN~=4^uWw}RAg6$n z^8nVuBE4w2(YUsb3r_Q?zJUQr#ATz)5JcY5(5Nb$FOfDf`iNkXEEe1yABksZ}jzGh8<)v+(U(gChK#+m~EN_s)>* zOa<6WVDrCD9Ibl&`ZelHULNTo28QIF^VdTlow!x-<*UO5Dl-cUqtz+QC4EV5_`cJp zPI&=f!7cHHMZ3gLWK?x0_R`^HjLy5)`2y{9=inhTu{7rSxN zGBVa>=&k3SxeK!)LN-bH<`?WWZfKkipLK1ChG z3k%qw)<4khFWOU*{4q9@C0WpCXC&cH;;#G1OaJxzb8XBwl$OZGqv=}nmXn0DZ*frMxD)fIJUj@bY5FIz48+W@rxtrycM=0Ioq~K zoJS~fwS1$2L)~X`w%t*@p#RONBYj$yNT-V4AUUX>-cKyr&= z>8(fykNwRX2{5;G-P*Fm&;w$s%cPh8VkcNb@4XJ2#{HSbyE-Cn7_ zDHz+x(w3Z_YSLxEbymnTyM<73=Hu23Jy%yw=9?-OoyWGgO7*+y%LKGb41lc{{{DTf zF1>p{h~L>t2n~fB?PC6|*fX7k&CN*uxb*JKzNVbNVt3U5@4C622pV423`O?n&#QZ# z>L^4=sxdAn7zHp&KtJ&;f#EgZQI=)jyIzHoO(-;_gxT2AHj+GZ@O=2KNDq&v760J`r{s|ne719fN8tns zbtbUa9v3+u{?s=R0n7H;!u7#s3TmDNh_hZncI~89??kCT^|iaV&~fO;WRVO6S-(K4 z?kxMni3tUr)`d(+N0&w9qqiYw0c$MOj2}_G8%BaYus^0 zuH5Iqm8|JFE(ui#y#>xNJPG9~u4ipen_tNfD)(LLRpn~MYT$D={)r2FcCrS`)6)nS z&hBs_yu8bW`oWp|r)Iv7@&#AECV$Yn@Gf6pxWv47yS&SuG|89cml(%M$g?zwy<<8jee0a`yRJ-I`#4)e`TP;c*MyiC zNN#+e|A?=!<8kQHRn=%J`Oa4Py0+Ln{r@YdI@3cS!@-dD@qT;7;nev6RwR|=l6G`C$?M~YV#YjiSA*n$ga?fmh((s{;_-pf+p{LUg-K63 z@6lVO^<7g}u#oQS86W=kz(qMJUz@jA-0Es(x~?yzJ| z+}BS?7@z*gsYLR5XdLqij(YpH(%ur?Q{voVyzIVO?eUS`HXaS4XyZVW1Xxp(I71SC z&S=16xPD>`Zd$9kK-uc{*v~=hOD^9#xqA}jnd;zaPs&I)m@g~$3Hv3wRoch2k@k$# zH{g!0at$BP7FOeNz%a2QFVgvlSk6dE#SxZs#@Mp*5Dm5LrH|nv7ELv^54xPT`>l)J z=#MU}g;`vQu`onGR1U{>a_iViEZS6JK9$Z8>y6h|`IooI43HGU4k%=J?hYif=qCw< z^XL)t+Y|=Oss=4TLEh3tPn&E!Y_qq(S~uKRIF`1k*oYC85%I_}=E^~~m_tW9KE~-m zHXT4FDB_TkPPt}OwAKQNP~@bj{dTPA(od{|Cr`c6l+Gg;?W^iTboGN zpr9bgb>4ECDSj8EeqK)GvaxybD$D6(^nukCl;+!;0iw{g)ryvV-%=XIFtD6Tz zx%0bwtgomuI1f~8#QZwsR7Mpwm8>h+_78;li)!d-3&X;6=4H3Fi!1YJ<|h!0|0EJ9IkW7d&TKI^E}m+P1AzF{Q9C}7EU zF`b8uY&khK)ubWntJiF8Q1xhNs7DQG5U07h6lE>4AV?zrYSt7#owT zej4F5y3N8aJ*J{;;{zN-%gU;B^CoGcVyy8@=P&s<(HD~~iOsF8KNg2M(=4@q+=Xx- zb)3)m%1z&c4+lyalQJ_C3kozLa!va1VegZzEv@FXSWJXPV5tau^;KWHs@_Tt5lSy@5Z**vle z3TLify^9<=J)QbVM8qQ$1j&mV?yc?ZJCYBAbnjtQgxvG}Kyx{C^eEYre^#}AEoz+K z-hSpM(ra^5Vgt?@V z@%a@e7Qg4x&(UK^D zCN7@z7zC4MimFcIq>K0o+1ta4$nd<~+;nY>6RQJ;74D0F^X3|ylN)ZXeDvi* zYzgV<)29J8j5IUZ99#3Osw^c$4>DDIky6+Q$AU%+#7-Uy3TuZho|KfL{~E@V z(3v-nO1Sm<$D}>-EnzWr;XLTxDGtf+%0@;<@i^88)o-pF8aWW-p94eH*47HzC;9#O zv6qta*c(U$?0i?I-U&eZ_wN&!1g#H+bNOglHE@a*O912etjxvkT|diBd=<=zdC>X! zU45JwRbtD2L@zuAa$iCdeADhvMwqza?cM+Up9x=oOGk)CEo_QI=?(|tNE**tBO2Iu z%-_pfue(gVd(@sM6sM0j*+~xAt@>0SZ&NK^NdJdq_Sf>n$)<0&cJF=fTtPN#2}+#j z3qO*+`PVrgj(joAs|FJr2u`W-bT$>X{&yrKMoWv&X*xXWpOlvI@E55ZJOikv-sgvY zdjXF03j3ppWlkAMcMVkO(Dw_yaFE1NWF`|vh*-ND!7t_;0)6oY73`-pAbDxfrnwmchvE)DWgWnP5j(+ev)FkZa2MCcB zjy{b=jbKGzzmCQxLQYVLhDrZ>M37j@G8VJpF;KygfR>mmFd%_cYdH3v9LR)>{RGD0 zs#hn`l`D1at^;vW7b5uh7Ur=fo8%NUtYibySp3yV0-h{)bvpWS62?SV`>1mki{Q!V z3aarT8@GF_zWi$H9ShA|X#KI3bB0DM^S^AOE9!~fHpKd(k}|^`-LCdmn{q(?JEqt~ z*nc%@cY=Ix2=f20Xjt=$HkQDmsN!JP#Z*qu8!DNSD9ht-8bBU<8|leROWW?QhJoC# z2eH1Sq)h)moS?%eA5~W7h8E+FLz%(`7FC=+u1bj`;K!S^q^p2wDH7P3@9( zR!zrV2S<=SWQT8&UV6NKN1K;f@9Nz4pt+>k^u|0|&M#1)xFfZ#ee7VbV}W+qnl0}R zoy;9y!K5Ix${# z{7r0EmIt1@yQhb`?WIG-UdxU)fxXGYT=evAM5%8j?-DSD^Y=^G9lkZHo7?_8-rISGi?xU5^K@`AM8+dNBwZthpM1B9IW;3Ey?V}kFN>F)OIr@mb~-wh$B)8oYY4$kBM_SHC#~k|w=$h-MyQdn5|v(eZQA zdYK5>zMUm{yZx7yq`1_Ht=a>um;LfP@1Y#$#j2CDc}RO;nVFsKXX%ian{~EQ(eb#M zh}%0WVNWbFHqtiHL>p69A`yI~SlnxsfRF?jiW@mdB)=)VOBOi#UeFXp*CtfP`fTkI zXPv~>No#AlI=^|)2NKHh)?$OIU#7bWm5mbJ0`ZvMmROKkckhRj)DnD9Fg~!mH8c`}A=SB}~ zqU|QE1tUZsnupJ-as(KGVy)KEo(0)}n{|&^JO?ZT-0yz(x+#4&GifA}o;c6NUuCmB z)FUtYGEUPLt4|qtBxio$A?W#<8_jjGx#NaLpJxiuR{8y)ggLv_T|LowH5>Cesm{tg zoVy@?U2s@W^?@VW7zA!mFui$^EYuD;Xkc~*@*ASixBiX}7QPN!3#dZ!E{7+>+fL47 zPFpau?q+P`zW)AfYLtfj6#>N)6ts$dFQ-+Sc+Q`Hxy8^TBkz}(F?gY&;o|y}n0kAb zZ`+D2E)(;@82YixtK45;=wjA~uAr#K`)wC#3i9QPA#)1}KX!5MfT(Was3( z@85ePy8FwQd@EC-)vd__Z=*$+AgnI9wIdP@thx%>44t0tu*#oUTb;&^)JNV1YaeZ9 zM_u>VY3ss1lsT4o>iKiu<6^EyJn)~E8bzXoJicA{A$?N6xNa1zVNv{M?akfY-A2*2 zr<>muGC}5~JxxIj(Q4}IUa%x~oc*sG0Z}hs2E2)kEPKTuz>6mK z+To5q-#RXt)~*u(+_WCQy+LhZVF6M?YMmoo>P;u1#~@RGo6Z;x(=xscAO@-hnDUf0 zyLih0oJQ_{I8)1Z{nDeK)S#*bzd59&{3}SYXKQ=-&D*zou7Q;g1uAi`b@?i|_TI+! zWoZkEi?f8+9d!<^%tnKih{dvNF_589-{@I!@ikU6x@nGRBePOgh6i(uZB8Bm!F%e-AsU%q}N3p*zgtLTX< z3}?7(xDO&ZFT7NV;x>3p^D?(}rd(blcUwqH3F$gi%n=7V>XY<927hWH?A&A#D zL#QMxDd{Y#NSAfEDzIYIHnvbg_;bUs4WD`Eoz1mb|El5ry*zB;iJ-Urspv5QYDMyy zT(Z%x@|6MfvrTVy`_nsUYP;(lG&M6LJqZvDfyil2PE}1!1>OGB08-7(%{Q)d(a8~5*@ zsHyR&uBkBwn1_VcOpnu(XV3O#=j5QO8<-nGHe2X-(>lwOSqe!g_jPOkK$+7k-|Ce0 z_4mZ1b@yB|Gh>{c)kWq+M8vgQw|u~Es^}!NXMH4C>_=5qOLO!00Ompzmm(p2hAH<}rZE$2+pHn?2y3(GB9BZ;PzrA{3-l7Lwg_%VQa<mEd-whXoFEPX$R)+3kF7i8e>QqbW$xV2HS{=>f4RF`FNV%?GAPDeAl(>thzxruVrqUb7?oWGs@fzB`L#JYT5(=Fs?Ka z-oAK)-*ROii}Q#y$PPKf!%Eb}1E482fVAX=&eX)5v&J*tq~J9iSQQg*1T!c3A5JPf zo~u8UWTry*m4f#Q4y|~(C6k@)dsN_*K;f>*MBv_kJi*4D6TG)0(`C)>?ZCKmu(5e( zCD;mqcM?QF^S%;)R&I}<3zwt5vsVB&qn0XPA1vxb0Y#2)B;I`!`78d}dj22Ga!xM; zJbgNP7Ec|7@Q=Fa9w}%_l^`vJt&E!Nh%NsmKu+p(^akf4pZmng!$ZRnS3Ivk24C93 zgA`mw##naHn zF|Qw4h;0+B_Af4e!nuC!?(X&K;SR5B*5$4QpCDmVf5(RVPrg_B(X*$2&sCmdNJt-I zE>zaHIVkNFm@yyR>i->bPlT=Gq}hBTxmH*yH@Cuf_p>r0N@qbdIqBd&I;7u(k?9by zUva`QQ{DTzbPlobg^Y-cWw<0~o?M7;nPZ`Q`9A=e%4c$jm8&L9E`(=G_nV$5P9=Pn z-(huz>w0hx_EbMs&!S`js~r+-WX8G3&w)D|=DNH6Aiz zxEst2UCW;O?-NWPTUO3GI(@?=Ckt7Nv=3Nep8oo+kwl2bx!u@ZC=ikXo9x8&&Ya5b z)3fH$7H?rrsC#7VOU=Q-apH*>o=V6i<-+Imj1n)-IM29k=Os;8G4|y3*d2}41CA!A zrDvonohzmgQeQKA5ZyGMP~6uu9A%o!Jg<J&gr>FzmWdL2L=Iou;;EZi^@ahh)d74 zpk)pAfG`i-JatE*lQIdo-)@z6-CCnR=CJX4w)qT>j@4w#jIw^N$=p~E*j(?@uHhM3 z7^ZLtA!N+!RYS?%GmiVN{i**sVqK)u ziy?n7*sH}&JVhU#OwYg|3wAsZij-Bgq*d*xK!ot2W~mmK{}#)N-hSAuqI#eMavKJl zAunLnZy9rJ>21F4u6-fFhsL1GDf|+C%rtCm*Z&;lK$K@}0?l?Nn?;cz{B;B2`ee&w+{9qgEbsjdn^{Sezbk;G)W|#wfVzl6w1n}aJKW;Us z?00WkMQEv~&`E+(phU{i@fZ$^=7DUwj`n$J3~|*iM$9d@#bA4p6(jBLUW6dcX#{CX zr&pIM=o9Z@Ja2|uq^GBEZ8Vw5$oQE+LuB;HlnEd_JA>7x4av!j#eXS$Z2FdsWVWp?P2GewD1aAT3wXZaIZK^{!JI10X7eo>88cx|`cG=CPSQkicq9>0B6pGS6u9GrcH9s2^#EjmC zfFBSFDSImWtLgXJJ7$F!4*@ah|yM2^2%w z)?Lg&P}LX_z4q4B)Sy5=)m`GP3JA@1UDZPzdVf3+M~G;<3%F}*&WVT5u=)`AgKP@> zPEG6l;N}ibaKd^7&dgk>e8tdb>OI{AHDt{m0lk(2yu7?n4}+AkegA$#oVZR$e&F~u zz&p6vw$xBaM(Yn8Hx9mMcBpv5Y>jRYuP@Sp*^FdhF&`NgDE%5-bl!vWm+^%mjuG7; z<1^`(H#6gc$QQ2N%nUYS{X3bu#p{DK;aP??q_0l!du!$hi@Q(x^C%+d)zAz!#~%pI z_F(%HlapUqxf_5U*!!$wdNij=oD+f+*hG&&8{)Ye{qcehLaF5* zEHNN4-ZQMW_I%0u&=Cy2uMP<0I-qP3t{;1ri;J`ra>j?~=+c>9RP)Qpg-Ch-k&zJq zlAx*ShU$j7Wkji+_kr8-~n;1jO?z6lxeg=hTtf+#5@~+%j(tbB9s?pJ- zf=mZ}Xjm;L7ya%5=_^EBii7)2&VnC{W`w(7JlCrQYTEt@ZfO`?_oW(^m;U|?kT;;9 zVF3Z#`}$Mz-6X*H(r6uP9#ZXPw=!XZ6cjdz;}1NUnmPe|_p{K+3TO)vg!SAP$)p30 zz$8T;W>5!FkeEt*_s*-_HxL|}Ky&0UPaiDOzIX<+=fssqC&4;MM(oM6lE})+l8+T8 z1BQMwXKPPbCC#7v=7|(ICP@3gfNU1j=yY{yf)TZvzxL1Cvt27-Q0m8jGuywJ?cdDy zZ)W>9v;F^%**MJQ>wkLz{>^U<|K_)U^V{10V}2755XgC0t`!o(R6c5p6c<4#PyGZ` zk>N@O_#-=LoM6h6kGRzTJ>gJRdxfq2(g=OgQmvT|iwJ~y!fwz&$nmwR;y`baN#CVoVeN?| ze6p+`k`%k1$@V0Wr=*%ekxGzR2s9eF{@D%3qU*8haQSj`p*d9Ei~*-eB|3Is3uLy z$l&1O3WmNJ5N{v;sS_|Y%?L%D`U?YI2UtY?g4m@85I7t=fUwSMq-n->e6dJiKuZ0x z1TjM`to8=mslC}x&3PYUX^)c~36ctVnt#cHrn_#yep_&DrJkuuNK8yV-bPVGEWt5h zcK(Z4XJ@y>(GRBgPaIXgYbsE>ch9dwxj(&Tq}o%|2*iErhr+B$^QQWb#CHhAskSZ^ zH`&FH2QSISeLK46DFs$uSC?B>_66L_sg-+BS_N+CPoFsA+~(*ZM+?JH4j8|%<5dib zj;2CNc(}v;Q&JxLyRzxWX4u-lgMJjs$~G^J>R7z&&{--0lEU_(2_qxAr_Y?RSu!Lu zX^I;Kco2+LynJ~RY%w?6Tb8 zu(dVLGXMqxI3Pglm)u|0QN$2AJ0Rmfd*I@Za=xuVzxPD^51E`J{ntc=z*2v)^mIt279T&0{j26ID z!Gr}yp3M4EdUStINXU`*2?qn(_+Ou7cX9fiEC_= zDm62?FsK5iSW=3E`}z@y5UDwZ!aX?fUijOCt@TAHwkaWglZScABBvE1bpsL3R1=9e z7|BV=EsToM4mWF)hp7PYF2= zWa6BVDwd@o=YGK10-hKfmhLW|QBgplpx4 z{_NUAd!6dfQqULs?*CQ*C4cVuv%3hJ_p#r7NNC?fDJbWxZmG%EhG!`Q>5jxVf=GOX z-G(5_j`P3!eVEsaQ}up&%rtA!hmK{Z#7uMe1%RR3zZdGkidlab!T$NVokk-5wuQKE zq>+fnZX=NbXe8n$@w-C_{&%@7ODPLg@0@uw?}{rV@?=uzr#f^dSK)v`YCNr(h0W7Y zPsWxEy-5gNCjLuCP{o}+5j46^@I)P}kF1dJ+!pCjOU+7tA<&K~mlnZUFR7go#{?G5 zTwuw!V#(R59JAxt-i&WrDqHLGiNjCvY)2QxT)5d}VI4oZ`jxShxR|IGm%+x(9R`06 zyAV@np~}gSLTlaQ?F$e7hgI3pS!~hqqHUUJiGjo>%-+&$U;5>VW;}Jrl~j*+!f4~y zJg0=w5u)+w!Wp~8|2jx(2!^AkND&l;7LT<=cL487qkTV+RjeHtxwe9d%8_rwZeXw7CTzA5<@g?XjWO;hD9QZol6@Hfjn?^xh zZM68kaM86Wjo2rgV)oc&qfH<}$b(Wylc8@aPqW@!?<{D1!;H6$8%$CIQkisEN2{53 z+9lZ9r|;N11v?$RwA5AWh(m`_pA=Y>Of`i*8jYIwE!yNkXQVcP&qi8R$4Itz)oMaJlJ1i)cL^Y;EB#zPfILe zKT6=^>E+%Q325a&j}oA%Hku9ytZAH4QVZb^2Z_%EDWs?pP^*t>y2}h2r1*{oxg+u2 z-;wyNvu5`QeD;9S+LyfSROf`9Bbu{qp%+a#O_;=EXGVp^cPilTM+H{~P?mI|pf%0H z5Fb}fW9`Xvyr&F3CU4gaW-e?9b3^6W_lSXL{?h92?zfJOX*Fk{c5mQ=cK6(=d_)P0 zPjs}3@2e8HCPaDhulxG|=>YS+BA2SSbS={R;Zxb$@(+gcm5Xv6Ngb#y*N!n8_9hMb zOu@9K>~E|ov9D7h{=CkS`wf4-NsYn^Hycb@niAfzQ0TxYB4#C7c1hRS_+z(|4c=V5 zgkV+hH{)|TsJ|kXo z59$A4ojtn8sV75%f=34{awc-%K*lqIZ&a2GGahl+9JEyat zTqxHnJHx~Si!KA*Ipi_r)Us4ALE3SweXk1_)rB4?B}0cR11=OjPN&NBb{=_Ow?;a% zVa_uL3ZLl7@S>Ue&*-(&oFaVAg=t&IQKreovLd)!%*=g+wI3Cg&8@vqIXG#LR#mlI za4agrdiuWiFs7_n-)Rye?&Q0>PCOsaM`r!6*NDPry`%8;inkn1=y^oB>|Q^QYw4ex zc5GPr641oaCXg@U!SQI@Yk8cXGZkYr%cpv_5;}sIthw)W-uQM?h_cBB>AZ0ZsT|AS zsT{M6cUgKdT393q7AvRZq7qi;j~BFR!@lWp7J7dY8XnVj$XhML>GA^ z2H#0h`2{*Hj%_+Y(bja5+q|eYy*UpheK=Qu+jxJCnVA5DeD@Zcwi}1Yoah)C%fl=R zp`_Hy((?KV0oT2wRZ4q4FJU|zy$g+%?|NQXU!??{>lKUg15JGWk(Y}*2G95%gXi3x zfbVwNVDKCw-#ueXFUIwTcjbc*mezU0Ma7N2A8)tll~>RabMrrVqWjkJtTfBOPYok? zmw`i}iK)(O;oEM?4Otg-+yh?}PsAC~@O)aoa}NLVpo+`4m+Cy3lPk`;ipRK0@B%*5 zVqYGS%v<&a;LX|b{&L))@hut2$;w|M@{<|ofyNgI6N={uGM~>Ql9)ZAN*yeyj2DsB zcFcV$InmSHfqfxwc;SjFtYphP={|N^9&>tvxVMSIvC2h-4kD=Hbq0Yvj{g2m>kQ}tv$WNCPbPnW8fl&J z7HOT~`MX0H?sw}ku_xlcH9p!h*yEFqTWd?J#$+K|J5q1{=NtbDALwW&NoKO77)pC6 z<2V+ahA(e>o)kW&e|T^x73rKIr2-}G{WQN@mhFDuPK|m_>28lS+Jb|dUt@MdBgwrN z|BoUg2xxaw@4>~O9{j~8@i0QIda$K)3V zjYffiu4T@I!Eh?cSf@Fr(rrlAP}s$TIH|c#1THb+RXjfwZro=QI{8dYw<|l>d+Xe=7P+?XD8q8`)T#U=T zqij>_4JVVDn;S;Wc=a$mlmD$wyk%c}S_cAnzFaHRyaVLS>x%9l;!282y&a2!fy zge5@a-JY(cWM(#fCKI-y51h?=G*0goC#=|c;(I!3YHN!|vY-hD^je7&wAlmw6%D(; zXaN+AbY=~s0JGRcMEn`}EDidL3Y+>g4zG#(-D`j*gyy;SRud9 zQZX*=L4AZW$cjOK7O?$Fr~-D~KXqO@G&FGovyIaLwhfAjaj!9hWpwhz7bwiyOHNY~ zSyZI`_U++w=Y(1(c>}Acp41(sxCV;YK(Ey=ii1qoEG(D{3YdE?(9zLBTMY1s`WDl$ z-K}eApf-L7DivT?a9G$acXv_gfDqE3iAt;}6;)Ldpxd#rXbK3a#_dDdeap+Bd=MHL zUd3#-Wr`FxjxU3@*37N zVIn||6${Nh>;Fs>Jfy0hgCR{iQZiLUNF($#!DRV zEeC0jAG1whl~GdSgvbZlXaERD2v~6g6lj|;bGU!12Yh>vpy@}l44Hkc9UXR4t$L44C-cu6IXF_+#f#p6R2Ku^;*C+}xp3hDevR3Eq3rH?E~Q~8I6QmybG|g& zpoW^7yphqF$jC@0A=?mk>3}`ZhlUDJcw}@m+i6~0J40}77XKEC;%x2g8pWiA4iBCe zdKnlvKAl;Ifw2IHOAfqwm!CY>&J<< zHfH*qjtf}h1Y zxe|MhbDS61!0+mM8mXkiPTksF^8B=UbbeRT{WIkK-BR|qt7Dli_G!-?nR{jY zJVgwz^&I{tf?nUClt8#ahgeaT}R-$eGJ$#N03%Xe?yOr zELtHw#T|&_bN=a$$aREqCl=5A*~UrGND zuJ1hiLUob8lCnE}CB?NucoI@Rg-HcosG7%-en#rq7xCDFPe?n-qAVh_cz1y>pwr@p z2kfJZr5?)>Vg|wopT_fTbZona(d5owUFp?8Z(v784H;Z5pW?ys*;l$2DDiR0{-}*j z7W_HOa8TPaTDa!U>nAN&`+q?vkqz@UB(y?0iPXYgTAd_=6qO5hx_aS%HHrbhLat=dwb&eJ1iig(0G&iE z+mchQ9zb+=PQf~9$L(E6||PsyMqEHEk6 zYQUd|=91@%pJm%dMW!d6drnR5MAcJVL)D=5=dp%WfQg}4oP=TT#9)0KFCpbCi;Few z@_ZD-7A_Nw=a8bHAzdiP;EzFn4DUdwpEFMKXe#+4ylyP^=o+^_egEr@VWZXgc4Zya zy1LAgGNhFVe8F8zgT68T2Gq|nVeeet0ol=s&9l;DcaT1HAqi$iJE&6zsFMk`7YPEwVd4L z9gWfN-=`Ho`P?khNkpvVo&FA$)&5%DsqfnzUQ^cbF1hTB{imkoG;SY6KX2-= zq4hmSSGgCPMglCzmwgHQ){(3efg~&{XDmm(YNyKVPgEj-!l5pYU53JA$ov3 zx9P|MMtK$eJ#W94u;^tvS@i`|>#Ye&N`IT{YCo9Q?o{lQMJ z1Kk;$Ox$eZEk?#j3SfEhA>?ohbw!r-7>!n;WaMTQx(fuRCMM?cIJvKeL3c(`7Nwo; zj8F51k?xE~ezTZw&2oVVvOYj}Mo}OLnDv&>P8zOz$8Wh7nQ^@DmTH8=v;6#fC~>S_ z{bF#UcOa0R%O+ZP1nape$`z;mqH4G}AWSdX``uIMO+zuzQY;lCx*9%U;E9P}bJWW- z`;_S5el@wItZ$Og?2B|M5kjs`O%%7$8*hlq|_a# z?d_Y|WXwQQSxZ?O-+Ce`*lWVrrKfFM z1NCz}TDSGR7cGJ0W{eG?;L zC5uCw^2hW{*=>I>2>);GeRn*S{r~?dNn2ZGRoX;RiHy4`S$Ap4EJY%F@3taRN(*;{ zGzevH86iRv$2fK}j=hfYd%h2K-=FW@{r!9%pWoy0{VV@8xz6>zu5+FD^YvU3CCzTN zm9MCij59J!Ti%7wZMb~@vfMXT4CXi4Wp1%uz4{PcN)AbOj?0C1+{wCERZ!{IyTNO8hethc zq^`ECUcF|ML(UWg(wyzKK5MAAdh-fjPu9Vg1MR}?2@VefCmwk^KGMaF%$s8(Oyu-6 z+?&U7P;OHeJ8(fGykN&m@umYCQgL zc20X#D=D7)EjqNOQ={4-LA>MZo8MX%`L#M(ni8z!*Qn%V>s=gNaO-h}EAsvVU%#dh zn--ASdj1`|5bFn01U!ey;(qK3)f>J7A0>>9E(SM;NR67w1GD13YXLs1t`)JjUI8+~ z2NZ!b7^g_RV!!MUA5JzGT_Z#u50gQ>fJDV@24D6Y7|a4{JD{%4ZIsx%%`ur5OhcSS zOUSEN+TT8@UcY&>f!%3azna>M>r&v10)^e#a9_JIQjnB+~-0zKD={nP3j8*dYa z4yS!>4)>ak8*hTgp&*f&2NpFUKgS_4050&C_ENlW-&&-WLP3wb`-`rcOkNEDKo?P# z;QU}2+ipx-4h-7YSj&g+Ah;cS+ z%5UxgpLepYJQ^E(n)?o&!WYMcu#S@;5Cti`47~yeFsS2&px=77l=}%C`^A;>HYd2vZ98CXODg-GkXM$$^zTzY96k!pOnEom| z3>F&NqMZtWq;W)7we>QC0u8AmG^Ds=u)ItS=}O6afPnKSgB7)C`CQj&eLSuw zRW9^stVN3qm!z$mm|6QN!1Gi_fWQBK1%<%p&#&5aH<}_obX+g`fjMJ%!FA-QZzH^G z3l~yPp3&ui zCGc?JqD7GS%IfH>L0v*awr2ok;o_=`rPO>~KLngJPWJ?B+Jwl~k@HE4O1tw6MLwGn* z2;+(|-``A`sAz}8xJ-1OYVqEnaVh(%|LVck+AA6Ji}w3P`~9N*e$jrvXun^y9|9wP z(SE;ZKhnnVi}oXXtiRKKA#->HPEw<|!AYTI>H(7DA-`jzHAy>NKv<-u?daH`w37@r zqG$wCc(hIVsO4qQxoZ?2ra=8C@a>ArTWHMSlY<0wZBC9mxR(1;4jTewJSIc=C1@PT zMREv_X*#ssZmPB@HOO@5hHDCYU%1{bgR9!exy@kJwry7lkOVu0R29zTYId}JaY8Le zOJXdZI_B!?%A$pOmxUa>TA!YILTHz1M?e3>zt)S1t6nsGC4e+6Sx~#^>2=};)GO8j z7c@bpiB@{0wMADi9yS{2*hK;R0kpNpcHIao$UU%e=~rhr0EPnMDgt03dN2Td515S! z$KIu>m2T-Z%f*N67s^4F=i`&%wlo?;g6!^sF#o4diEdPmv1-1ddc!&pN9ot(mWmn* zpm*R*+GP{y{6JI@?-n?{MBCm|IbO09AU?h{L zCjtFHZ?eYa6kb8hyv*K=_4hW~5w;E5L&E<2D>Jvfzbpmkt|rJqaJGrbWKwUi%>5<=ejJVO}hC8H*VZ01N@jed)c0`(GeV? zx!&}zvd-T+MA|PT5aD4lBz-?HA8_7kxy5(x-knbJVx$LBZ_v7j`jwg*ypIv-q+ycH za3kOe!kxVHyK-;b8^DX9g!~wG| z2S7py44Bc7=g&cMUk9}}!2}Al5Kn2&!2<_o6c!f3JDJKVhL)!BWj>fvlO70xD?%#g zCMaQ*u>Q`vd!+r`K% z;1avkmjh=S^pJSY%F4=ASK_c(r1WbXzk>`sa6lO642EzCaD8kOR(47Dyp;EM7Cj9L z0`E<2eoMgJ9wxZ6u*llG{jcy&LqpJYab+%qn(q+t^0kt&raj*1WJh%EPZ6Gq=AM^D zN8CvvhM3vZSFg@v!14%MV1eVCaFVgvC8qWL3^BVtf!J6v?*v4mdipX)Y0+`>#zS^j zmdg2kZ+!cU^5Ca*-A`qnuS@%BQFfF3I-3}ibZ2cR?IfO>Kb^-Rvqb=zEhcZGEygU| z*A0h0S}v}Lxtb{{g!{XiW1B8!acx!ljGCFW{++6K{+a8urPv7=$48#e{5US%)Oe<8 z75H~Dk68tv!DHwB_at1nJw2^=K>lKA%-pT2!6`fg?z*j#ow!DWbe; zPy5s_KQCZ?)~H4jkX(r@q2XAyR%6e4 z2pi2`RO@Vxba=AeNypu2-Gi-66|A{~7oXWWk_4Dj_%>o(e@bOFJfg4>N-E0zZ8j1h zHwi^%k(GtIP_<*#DfiBEtKNbjykI2DQm zVL*rF78;ja3tq0;!GG!LyUVwF1Nm29OHONQiE&Byny!7(=re_HX7^H+`$n?ylUv7G z*Z+i+<)8{0vru(sT%EmU{pJhT>-Ke)m(TvRH3sCxEt7z&oX?eQ;x<_CSj#BdC^xv9 z?ZKCC?Jp#hxf3d*l{QdbXlSIyNtnl)Ze8=>?z!rWw#dPOsrQ-J1kDmZNIRq? z=JqiOH~jO2o^?F`vhTrlZJ9}%BD9u-#<&Y{vJV??^MBhr+@B1-;9=G07UW+}uOj)E zQ4OZd6BAlf00}R%3Vl$cBckK^ zTfu}GwVtkm$iHlgOpGbmX4>tn))gU=K3aC?acdr}4V)9@X<*-)whB%QbMt=c0uD|& zWit^Tk6>p0Wh%9kwTLuP9j2v zxS7Zhb>fq08Ziz;PA<~#PTe7yR9{Fpd)~E$YS~_MJz0I<;lri+J?}10AyixRHiI;J zfA_oO;mg++Z(J@_mGP*h`bk_=Xh3^nx3T)`#C2-W&b0g3tqprs=?qO+hVWrpCpx>Q#K5=fx{MJtb#sNNi^N!@Vkl;j~hIA~&?%bK##Qs4ko&D;2Mp z)sQycj#ihY)-`~))A48%5fZtxQT*&#&JWSNHqN^>?{+p^*i94(WtyY(y<4*)%sVC5 z^!eKnEk^C`z*c_o{SD0dmPG zr3>#@N=1U<*YQpMJ&!3#Cr_?kUJ}`5_=d2tkGeyGeTTwJZl+Ybrx(lPNmh{jW?BCE z-dLxa3OV0z=KDI^Keth0YEQ*l)E;*+-6fy4x_2^(asw5Yczb?`l^;oMk-p{a^Ilty z-qe{j8rQ9RGV~CA7uK%!%k>$Q#Z?Yj4ML_ScWv>xg3q~|xGv{fz9B7Wg;dqv(OWz1 zwcjTWr}rl**q-1`@4Y>L!F{PSlcD2(Vx>9TgaY#Z zj!rA621z0x_LGx;s_LwrKo$}zXqGjq$$PNDwm<2*n3)c?>#Wdlt@U$C@~(`R4vLL^ z;5bqgTj#EF`m}ldv!I}R3XewLX^tL34$2IxDlu1R76AvJUMoT!)~-MPL7N$jUQ_g_ z6@UJmnRaF7e#Q2T%$xMzm6d0vAMc95@`DtfcOin({R^AJ~3&*>NB*py34|L>rZos}4t*aY8hqhspoO#m;nVcJtQ?dw* z{ZKC_0SASI_L>w;{qXwa?gyfD!yx$w?{2NQgwzwzf*(K9f)FMGks6V4?sHq>4p9Is zbbnWVo-*;+lLiXx$kC%k0E);Ifz@dx;ZM*8O&XlR_GP!6*M)Mn!mPkPNYQ84$r>UF z1=_>09%Hc)OT+x0V5LAD6Ihxgd`Nl`LF8|ShJuiHswM#8Za4qB3H<;_f`Rs24($#Q z>>A@Tp&>+)X8pb<)`gAU_LvwzEkqq(43aqHqd-%wR=h+V!|2trOSYqE; zhqXkW&ki<%6yezua~PT>JvKPAmD;~LQnwn#-loQ?_lukB?;iV1teK$miEPsaX)-^A zq^PAb_P8!cHSh)H*r) zX5#@d5L{?jm-X`IZMedr;U5~xSG?4njDDJm-~Z~9YPN^!Xk zFYME%qQz$>uw|)9>Z3q8-dP&Gi)inz-ywy6ruEaXxWs13=yP~qs_Bhcg2K6T8=ySR zdnD?OQOkG|C{n3p-px>Nn5G5L2{&VUjq&fOrK3BIv0*%O{l*O#G4t1N9J!&LzX^HZkwv)=N7t8AeTT{X;#n z2u!_+;SkE^`LV>flcaD%WAHMCb@YH;{eH1CXU-tR_g!n5)fA_tUU;D)%E8->|G2D? zc>DNkEvfbE*E6Ry4djCbUdeH$(z7MdRsK5jGh_eHEr|c-sSb^WvtoIobHPCOh_lF4 zE>xB$W{3Uxaq$=B=$HEri(?c@wwF`m#>8b7I+iNTG(2h*8bS&k zj9xlj^T5WdKIDMCBd<-FiiB~s1dy0}I;}~5v{%}%;Zj@tY{~u-%~4ToTCVz1X;Qf@ z`l7E#>Xbqx)c0clh`$z4+3rmZQWQSSM~h-*ujwA#-*P91nryS#dW?6QQ;L$G({yL} zS{e%j`#D4Pjxu(kR4QRJDLY=y+%SfgE=py15fFg_5mA_EY;Wcf)FC7~4Q*bl zbYv=>S!ixD9T;!mvnUVk5xd|aMraEBi2sqDE%o!v3ZS;BT77NBU*0tE;m8BExh!tH zlK!d|j-4;6r&JrDA-j|2&~37v>!ppEBysdKjj%5jwcQQ_O!B!`GCXSUhU0anj*YZb zC&@yFNg3{-C+*eQmrR3$A!zBj>PVqibCOipfh23MSk?7ftBk~394`IT)%C(?liAQh zWWUCh7$Jo;>G#LdB3Ytd|LOo_rjVXsrjQ!HZkrqp@iFX}B!$!$Sf3!qxVkz+q>w_# zn;Yf6k))6|jn>KZ$kD9>mhCvV-9ut@HxN(R$a{{fRmM|cl>F#iK}#+@U%{2&ko!7y z7WbCd)RBrL#sZ4r0olgbV5dC?Oob?hJhyUT-n`>e=J#x!zF>)wB_mG?eOgA(#=)KG z1mN~z0`3V-CIGh7iZCqar! z%g{Y~+vo1iL#K9S4;9_LovvBaZK3w=WX|QysiOMMo>vCl1oEPvs!tmCBmPG-iV0aP zYx>kXUiVYpnFLs$Z=3pUSq1j;*)a#xXP4l%UXw)tH!Ejo26})%f*uk9eD@d(rcN1MCLVN_KSbVubZ>g+KbUG zoE0n1b-tBzkse!9Nozk_&C>rt7jo3&iQkqEJ?(3^{J`(Px|87(ILA#mhCsi#p4)l*IjQ0hQu!Q$SQ6g4GLH=P(` z_(fx(px`mC{`|x{rJoHE*B)N$H|CQuvwaPCmW@=)gGba^Dl0B-L3nVEhu;*f2B(q7 zFh2Uf96sLBvS|K-+NF~IDG}eN03vo$%r-tuBZ#fj)AZf!iB~*XwBylkIECsvwFPbL z@pgJijd}1e&K5S^EpKi%QavP6o`mHLbfv5y1G-kBv3~!D+A47aJPYg!B{7z%1R?&zU`wKW!2~f;Yrq{d17``)KEpTar?Idgo2{P4?z5Xe_ps1qaB5!tXetmdgfA@g4Q{`afreh&i zPq20-t$SE0GwDfnT^zA72NLnQLX3^LE^jS*NxK~{eWg?O@}%&3jnNv!L`%N%sIi3> zUfxgmLfp{QatWS?swZS2`aQi$MDrQL3}gwPvi zyB%s48wP#CZyBd@l6JdQq}}fCt`u8}LkfE1$=Aw@_>4cenHJ+7v|XFnUZQ_$dnsc1 zqU|c|9KA?Ffkw|f1OCQb;N7aUjANwS4h|J!W*kdSwDWL}OG2E7dmF!>n2st3d<7n6|ryHL8mu$kJxJr4#_5o zAaflRE=C;i9^$%0yW!4`)Nr4{-`s5F4VfxG;2@=PDBuJ$F znIN(F$M)^@Ts;exJ!vJrl6GZ?-GCeq^a`=Dfv8z%o%HtYT@FqA2Q8tTDMf+RGYtBz zC0?q>yB8G&Al1^-Tl5M#>r_6?oTuOG6>#ImjL|Od{*Y(ecaM#B5?Lb}$N*F0n%Bz! z7&fJ|mntJWa@VfOB0BQgdH1;pWcDDC`63Nu>r2&sDHgUh!VW`QAR0a0kYfd(G6e>| z$a5v}@CvGTl%xFo;9<;E>r7=86>BfCe}?l+Z>H^vQ?GmpL!zfMgu}roX1H0& zDd_q0832CHzNX0G$)p;ErM2`5>mQYx!v;O3FCNbh53$ZWX}y-Wa4u9MO{BjTzkfeC zb@uGpK*hhKEPZU09)|FiV5hNBj)bU~flbZLdeB2=Uu2E;sXS`1QwUN2%I*NSOShbz z3n{72P>%$lwHuz75fR-^d3X6d6(t*M8XXA6ib4nLm(y`36Fz=xiT^`HrrWF0>ur7=Nul1JrJ|% z>Fp*{fk-kH@W;Z2>z5jW&sBNzY%T>IDpEIrL;1Tl zJVQ&wNnD}rh(p3TuaJ_GGHxM(tcprv;A;pvWDpJ8&5@r{#Y1kyQrzS^0IBErAaK;`HGn9_&J%cqN{dkRC%R9CG2Ttn{&{{ zhLzXh&Gp7coutm2g}CT01x{l-xd@hmuKh4FJIoR^=k!9eWRzxT#8{pFd_16 zKu@EQat0v$4sLEKSV$M}R(qfY5faz3hz4z<_QnrK!5NSwne&+94nchj!g(>x(nE_n zqt6F+%V4Z{C@vvxFc9`-v1S~rS8EFE$Xn9NKlLu!Mb>t2enYOe^hpao_&)yF8DiY$ zpa3HGT~3I5G=FfzsEZtJAX8@%wZXsv4El$Gn=tQ zYS?z-rF`vaPBx|eHV^kpL`2x+v0gfF0qzHkEL0>LvfJGG*6S@_tN57KQ8OQ^Y#STp z`&;x@l8j-8+W{dV?~U+c#=k=ERb84$xB0K1O>xZ~lcnkyphXulY0;YhjTU`jZ2qQy z)WUt*aOk8zt1SMWUPDmi#vJY{{&8B=E)pL$13$Mw4iQ?^&TPWicttr;E4lp;F*eQ& zwoP@c3}hM`6~~Q@(d#t#oUxeg%4a4N z>a34FTiRpICUwuysTuDDr0bTwJ`?}Mp?aX9V97&IowLR1JQRyU^xzBKiVoQDKT4T{CSrd&L>1vGFt0 z*hnhU|6*+X*NXHD@p>(a7(9_)K+vKF)fv)KLz{pik6B=jt173p>ZpA%h6lH^`91}w+PyT9bz zQ1^<>5d0pBLd_U&+5;`hDP1)wCE-z*O1$F&Y&h)u26wLU;HAD`=G;u?c=RSUq{6Og z7X$-g$-RQeeoyGHk&#~}ebt6FQc$%e)s7>w;~vT(#)dvblXQ5B^iWmwQsM1eJJimZ z-hR?2$>@4BcZeCJvd|zt!I&v1w5wOQ5sl+9zNgq6CqJQ2_-<^%j+v&$2#&4$^3Q238 z#djO|JrFnHqQsU37-yI}mRXmw>++SC=R1t4N=H+BqBLIhSt`-Oa~mSwY~;{JYL0{b zX6CfzFE^{J>B9NnDSVEZr0oqAeKf?|a-V%hz{`-_F-~#>Zz@?R)?0S!~oX&#sIT6^)+4 zleKKP&1w@|dRpJpc8n&{cFvNtod7O%Rbq!@cBBteb!|`eYh@+QVMbH`g&CdQux<-8phcfBqfZDk>g&YFtMiad8;%vVup4c^=9tpl zHDjAm<$GlYk< ztHWLL)}mF?IQ!%IE!8$1Jae25<}|UfE2AbI-p1sxlE>LBa)zSe9Ep)VqpKHk3!bdL zu$$DR*WN9Smz3VZck@j3h-!LoyQ*3?gERW$$1m?j{cC4BYBREn*o?E5jy;?lN!8sJ znT6CK4!4OXKb~Gg#B^Es_8xg*W`deY!_$ekk>y(Om7H(Oe4Pf5Y`1$+pzhkJ`T7O= zEbx;l=(Ett{B(V8&E;n?Grw72LVrqQr&Q-i#iy-XFmJxWyX2wNGjvBSdOt6`6Z2U zAG$qtS!ihich<{hv@qP&gl!U-m^XDk8d2au2 z?`*wu55kv~e)Wt=laK4Q>mbu+|?0rEqty>r4Ny0*%99e;k zW-S%|;!l|1V6Ip-((4Lr35Qt=hShua`Nls*GK`OHjwe3MvpwenQ)ItX5qThdW;P2Mr7aDB4+#n{0d5jaHB4ve7<; zD3c{uAxpkf_C3c-&16qNyG*zDM8*m#(gY&`;z^W|VS^`8AF-+hFd$}tZ6h!ioYwNq zn>}-K&UJMKfv6+h8}HxC9<`EPRS(2>#40Csnl^s3#mveWA_8%${_JF$CPviZ~$to0xN^h#CLka{2No zfbMmKr+s;Sl8|@24QfgDgA0y|?pjr0o@mt!*nB`v?z#s(E5XK0R*rKQR*_}uswv+~ zE^x8Ao!`7!fuLC9uOCl>Ix=fqi2lT0BEs##GGIJ#X=lYJuuJtSMtlk)%$0s5} zICP9srl4VSCz5`^t7bL3(Hb8$-MYJVAsHqFa3OBik%ckN9J+jY_zV91f`7l@AAx_v zh1mn&wE(}M;4din3kv>%g1?~PFDS?yl&|_fhJq%;1JkRl>!LYYopLvJ-`{Q`fl)sJ zRVQq{;H1FTc#}=nD!C!lM94KvgT`+G@*1ZiVa0_Rx6cbGayo>W~w7E^wobC*u*XDr>c{K6x{xXm4! zrDM0Uvie!HT0Wm&xCjy0F={Yk4bU$2J{GqqujN5co01qJxwODHkyyAw|6N1<9=abM z_9N62D!WyG06D>IV%o3+8(Jh@-U$lQ0qW%N$YS|{&MuTvcWP8EG)#6_A)>3ec5M?U z{x9NLcOfXWIJjxEgDnquxj<<9z_S^~oSZ_*$hZbsaljw6eTxNR+FGMdx!SFoZwsC# zDd_?jA^e~1q7|DihHGcxWW>gMF|bd6mXPom*b=hWG{|+|7x?XjV{u#-3yciX_9Axe z0${b!$ZQO#l9Q9Pa_iQ+F)=ZQjJC>n59MG*5vz6s3Wycd63pV-KKD|}66vH16Euvp;Zpiy$8sbB8G=H5ZCJ^MO1@pN<+*@|1S>1==PRR9b}Rv+GmyNK#(N7v z2$H*xAVjVmmXA4&9`8MHplNI&nRk#SKK0Icdwhz8xDU>Lk+u4sJyXy{c=+hiNUc0_Z}fz^_d>SFW7T1-m=5)wl2+GikY z^~{+?h#U1o6jULZiU^P^{zrKDbtS2?y+D`E&CT|GWf}nE>({@(;GpO$u@{?`M7V195kfn32zJ66v z(N!iN=S4bem5!qV!FAi$hY;vk;;~2!T!QkJ` z#i53;%@vYczkcu{Vp|LQ4XuQ2_s(AePd7SbV^B-J{wo~=>1_QPlslg;k7Fv6UV1Q-3?{_RnM=8t$XlSy_j* zUK4VzW^4QKzYYS!Q`$b97r8n?0A3u4lS|ZK&Kg-67T&grILh{t1@pqC84!Rm8}1!D z=7DCTT#3%F@pJ01I(GO)NbCdY1P0HesP_8$W>ct3cNZ7OH087A@!!9aPGiWAjwJh? zNx#>2wa=l>TUz_0Dsg6U#xfFp!r|ImH#@;m#b>0dcZz_1%xq3fI)}N3W1$YI>fkEO6 zNFzz;Pe|_s*h;8j_w3t;5X`a&2ad6Uuj$A;)hG!;TYFiZ(xIV}PD85Pf!u-jBK%(> z!(6g>?cR~RQVN(S^r$-8_M10+r zz#|kk>bU4g$<~CfOy2vF`r=FVF4>KXOSPEd()-`VrQ;R%W<;X(qvC!tv*Lbl2Blu< zkvurT)q!UWhOK47P=E2cB+}8WX+m7ulJzvmT;tgqch2-n9-}Tul8&Me<$Yw;wLZEA zuY_exb1D?p%*QZ@VzVHNRd5>x=WWy6yjE6;Q(oFi?c-3n)MOOCL(D zs;5i7-_JYWTJ418Ea#{1TK0?EJ#lwyb+98H_lA0@b)Dwas)~yF)?E4>(bcK{3pHte zo;a($4Ei}LK(#hsFQlF|-BQmcbJnzt?;9UMM2^MQTMn(>; zTxqKj5MNijF5%1^qc9CuxSPVA7}NVV3a-L_Wa{_G)84D53m-BgPfJPU>8=l!VCbv4#JT1KDfk+vb{7ZBYn42Nru}nx zf69v8(S`O+sdn3k_pbNjWfs{NjCPGB9W`6YE)ZM!PNOHkh~fRadCX-8wmAnu8iFjR z_YHq^+k%>VBh=g*nXI52RqWcWy#UW$p@Exid~&=g+{~K$9|F@&e+o>$F$JcjL}0q> zL#+K^*V>ncQ%2`-`7Yjon)}g)V>PX>q^veRbV?0X)SZH#JlUCl&BLY2Yj<5<;9o2F ztaLTfL2OtD-}Rd*mww!j&4HuV*`c{Sjx<3YhXJFwWR6DR-u!6C?rrWq+gVfmsf`-L zy9EW6g@lD~#%M@eaYY6xJ&6kS zwe+}l@AI|_M11Rb=%D7_v|C~DUQ|IVno$Nw&HbaF)!dVIV3=R*z~jBZ!o>W`&qj-611 zC{wgr;u`kulYYtyR$w0rvW5cT9NB0SsCQ3rM7fH1ZGQcn|PxK0+BZET%jdSK!;an(JIQq)g8%1t9`Hy#kt#BGD z_Ct~h$-Wr}S?}P89%b;}e)zEHyxs2IENhi~Pa(5L{?WF(AT6PQ&O4^b&GN_J z3mr2-ddYGMzy(pV!u130Z?;5}WjwkoE|j{c=?mTs0H0IgG?pkaK&zg+sAQya8#dHd z-Z`Gswnq0IhHJ5qkV6LhwWl_l3&SWz&T$-8KvSylC<zm9Nid zxhtL3*XM&omV&I?yhm1MwB6D;!9S_H#RB)0U^X2WajJagnD+wo8TwBeZjWClHTP|X z74L9?>prU*oy29ofLx1t%`b@5^&;y`!+^xZ?&vyFx}r8XM?13~r4I{-dRwxfam3YQ z_vXLqz>o^oOm;l2qeJ;AWe1z-$CmZ5nO*}9lw_#=tI89c?Mq+N!|>9ILmMA zWdZ|buzv?9+F2;`XfmUrsbD!DA0Vrz)cZn+CH_pWIVQ&|yn0-2{$J@dwZiDBZNFri zzhs&vM!#g5zhs)fWSYNZn!jY4|18rKC}jJMLYZ<W}s&wB8Fq-=eXnU zaoD>00nY70H5t2vF)w6e92VhRi5+RK2ywKe(s^Oo1bIQ=!z#i`dYCa|Qt*E>_ z2jv(-U*J?Sw+bO#oQT2k#dTR8GYwp?Uk5`6Ojd~+gjE>v^jDAF`t-@mkg9s(#1d&K z?<+GoHk~g&+|{iMr8a=!d}kPyV0=3GyD{I)#TAy8s^P00=7yICntnQyd+!y=9GyQu z?mYI;1dd@g1Ns9_E)j^=+?H&940YkWrDcQt?Bt*;$yuJJS2+;Uv9*k~GKzi4Cg-w9 zMDHjj5V#$+lCeeFPPQBm6{ zP{-BiO53^X`r6zB3Cd2mwv)u{HVrijXpx*rfbiOI$rG92J+XV=eX?e9ZCxG9 zSY*w=IP0t>d?z%pg@0-{!|nQgQ~E+ltf*vDHelC+1($LgP9gRby$Zy!7ZDKwNP*0q eJwtztu`4(ye_C}a1BE3NitJv+J)yg_F8)923oqvY literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Pasting-several-separate-monomers-are-prohibited-in-text-editing-mode-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Pasting-several-separate-monomers-are-prohibited-in-text-editing-mode-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ea24f73e7ac88071bff1d35364d8be2bbedfa22a GIT binary patch literal 15197 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Verify-that-if-an-unsupport-28d5b-m-clipboard-system-displays-an-error-message-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Verify-that-if-an-unsupport-28d5b-m-clipboard-system-displays-an-error-message-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..67efd57c96ec5bc94118f95d9a0a7c664572be6e GIT binary patch literal 23690 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Ι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 MIQ)I?cPB6Z8?~%uF8}}l literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Verify-that-when-multiple-u-fd836-ey-are-pasted-as-separate-chains-in-view-mode-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-edit-mode-Verify-that-when-multiple-u-fd836-ey-are-pasted-as-separate-chains-in-view-mode-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..c119758e570d802b40864fa3a67347d0a0101768 GIT binary patch literal 30326 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 A(*OVf literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-mode-copy-paste-for-view-mode-Verify--309e0-is-moved-to-make-newly-added-sequence-visible-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Copy-And-Paste/sequence-mode-copy-paste.spec.ts-snapshots/Sequence-mode-copy-paste-for-view-mode-Verify--309e0-is-moved-to-make-newly-added-sequence-visible-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..0c36ade428f8e7e4fd54731ff87f14fa4f02c9c6 GIT binary patch literal 58448 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 zog { @@ -166,3 +173,221 @@ test.describe('Sequence mode edit in RNA Builder', () => { await takeEditorScreenshot(page); }); }); + +test.describe('Modify nucleotides from sequence in RNA builder', () => { + test.beforeEach(async ({ page }) => { + await waitForPageInit(page); + await turnOnMacromoleculesEditor(page); + await selectSequenceLayoutModeTool(page); + }); + + test('Selecting "Modify in RNA Builder" option from context menu after right-clicking on selected monomers switches RNA Builder to edit mode', async ({ + page, + }) => { + /* + Test case: #3824 + Description: RNA Builder switched to edit mode. + */ + await startNewSequence(page); + await enterSequence(page, 'acgtu'); + await page.keyboard.press('Escape'); + await clickOnSequenceSymbol(page, 'G'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await takePageScreenshot(page); + }); + + test('Check that if sugar has no R2 or R3, it is disabled in RNA Builder', async ({ + page, + }) => { + /* + Test case: #3824 + Description: Sugars that have no R2 or R3 are disabled. + */ + await startNewSequence(page); + await enterSequence(page, 'acgtu'); + await page.keyboard.press('Escape'); + await clickOnSequenceSymbol(page, 'G'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await page.getByTestId('summary-Sugars').click(); + await takePresetsScreenshot(page); + }); + + test('Verify that number of selected nucleotides is indicated within RNA Builder interface when several monomers are selected', async ({ + page, + }) => { + /* + Test case: #3824 + Description: Number of selected nucleotides is indicated within RNA Builder interface when several monomers are selected. + */ + await startNewSequence(page); + await enterSequence(page, 'acgtu'); + await page.keyboard.press('Escape'); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'C'); + await clickOnSequenceSymbol(page, 'G'); + await page.keyboard.up('Shift'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await takeRNABuilderScreenshot(page); + }); + + test('Name of nucleotide consist of names selected Sugar, Base, Phosphates in RNA Builder', async ({ + page, + }) => { + /* + Test case: #3824 + Description: Name of nucleotide consist of names selected Sugar, Base, Phosphates in RNA Builder. + */ + await startNewSequence(page); + await enterSequence(page, 'acgtu'); + await page.keyboard.press('Escape'); + await clickOnSequenceSymbol(page, 'G'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await page.getByTestId(SUGAR).click(); + await page.getByTestId(`3A6___6-amino-hexanol (3' end)`).click(); + await moveMouseAway(page); + await page.getByTestId(BASE).click(); + await page + .getByTestId('dabA___7-deaza-8-aza-7-bromo-2-amino-Adenine') + .click(); + await page.getByTestId(PHOSPHATE).click(); + await page.getByTestId('nasP___Sodium Phosporothioate').click(); + await moveMouseAway(page); + await takeRNABuilderScreenshot(page); + }); + + test('Check that Nucleoside editable in RNA builder', async ({ page }) => { + /* + Test case: #4388 + Description: Nucleoside edited in RNA builder. + */ + await openFileAndAddToCanvasMacro('KET/acgp-nucleoside.ket', page); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'G'); + await clickOnSequenceSymbol(page, 'p'); + await page.keyboard.up('Shift'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await page.getByTestId(SUGAR).click(); + await page.getByTestId(`3A6___6-amino-hexanol (3' end)`).click(); + await moveMouseAway(page); + await page.getByTestId(BASE).click(); + await page + .getByTestId('dabA___7-deaza-8-aza-7-bromo-2-amino-Adenine') + .click(); + await page.getByTestId(PHOSPHATE).click(); + await page.getByTestId('nasP___Sodium Phosporothioate').click(); + await moveMouseAway(page); + await page.getByTestId('save-btn').click(); + await takeEditorScreenshot(page); + }); + + test('Ensure "Phosphate" field is empty when single nucleoside is selected', async ({ + page, + }) => { + /* + Test case: #4388 + Description: "Phosphate" field is empty when single nucleoside is selected. + */ + await openFileAndAddToCanvasMacro('KET/acgp-nucleoside.ket', page); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'G'); + await page.keyboard.up('Shift'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await takeRNABuilderScreenshot(page); + }); + + test('Validate conversion Nucleoside to Nucleotide upon adding Phosphate in RNA Builder', async ({ + page, + }) => { + /* + Test case: #4388 + Description: Nucleoside converted to Nucleotide after added Phosphate in RNA Builder. + */ + await openFileAndAddToCanvasMacro('KET/acgp-nucleoside.ket', page); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'G'); + await page.keyboard.up('Shift'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await page.getByTestId(PHOSPHATE).click(); + await page.getByTestId('nasP___Sodium Phosporothioate').click(); + await moveMouseAway(page); + await page.getByTestId('save-btn').click(); + await takeEditorScreenshot(page); + await selectSnakeLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Check bulk modifications of nucleotides and nucleosides simultaneously', async ({ + page, + }) => { + /* + Test case: #4388 + Description: Instead of field 'name your structure', 'N nucleotides selected' displayed (N- the number of nucleotides and nucleosides). + In the 'phosphate' field - [multiple] displayed. + */ + await openFileAndAddToCanvasMacro('KET/agtcu.ket', page); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'G'); + await clickOnSequenceSymbol(page, 'T'); + await clickOnSequenceSymbol(page, 'C'); + await clickOnSequenceSymbol(page, 'U'); + await page.keyboard.up('Shift'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await takeRNABuilderScreenshot(page); + await page.getByTestId(PHOSPHATE).click(); + await page.getByTestId('nasP___Sodium Phosporothioate').click(); + await moveMouseAway(page); + await page.getByTestId('save-btn').click(); + await page.getByText('Yes').click(); + await takeEditorScreenshot(page); + await selectSnakeLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Check If among selected elements on canvas there is a single phosphate (selected without an adjacent nucleoside to left)', async ({ + page, + }) => { + /* + Test case: #4388 + Description: If among selected elements on canvas there is a single + phosphate (selected without an adjacent nucleoside to left),then in this case,editing in RNA builder prohibited. + */ + await openFileAndAddToCanvasMacro('KET/modified-agtcup.ket', page); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'G'); + await clickOnSequenceSymbol(page, 'p'); + await page.keyboard.up('Shift'); + await clickOnSequenceSymbol(page, 'G', { button: 'right' }); + await takeEditorScreenshot(page); + }); + + test('RNA builder highlighted in Edit mode. Canvas disabled', async ({ + page, + }) => { + /* + Test case: #4472 + Description: RNA builder highlighted in Edit mode. Canvas disabled. + */ + await openFileAndAddToCanvasMacro( + 'KET/all-types-of-possible-modifications.ket', + page, + ); + await page.keyboard.down('Shift'); + await clickOnSequenceSymbol(page, 'A'); + await clickOnSequenceSymbol(page, 'A', { nthNumber: 6 }); + await clickOnSequenceSymbol(page, 'A', { nthNumber: 12 }); + await clickOnSequenceSymbol(page, 'A', { nthNumber: 18 }); + await page.keyboard.up('Shift'); + await clickOnSequenceSymbol(page, 'A', { button: 'right' }); + await page.getByTestId('modify_in_rna_builder').click(); + await takeRNABuilderScreenshot(page); + await takeEditorScreenshot(page); + }); +}); diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-1d5f1-der-highlighted-in-Edit-mode-Canvas-disabled-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-1d5f1-der-highlighted-in-Edit-mode-Canvas-disabled-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..6e90c2b948f0196845d2f8dc40b871733c1a20c0 GIT binary patch literal 11104 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-3a088-of-nucleotides-and-nucleosides-simultaneously-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-3a088-of-nucleotides-and-nucleosides-simultaneously-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8af9799cb3116be20d97bc68d30cdad68292971d GIT binary patch literal 6354 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-4da14--interface-when-several-monomers-are-selected-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-4da14--interface-when-several-monomers-are-selected-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..bda366d86e973e7f154740d0bc4d46531461ae48 GIT binary patch literal 9868 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-568bf-ected-without-an-adjacent-nucleoside-to-left-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-568bf-ected-without-an-adjacent-nucleoside-to-left-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ea8eb0d09ef7a2cf8c3e29ebb3a03aea64fc9715 GIT binary patch literal 19504 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 DY!v5i literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-77b62-as-no-R2-or-R3-it-is-disabled-in-RNA-Builder-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-77b62-as-no-R2-or-R3-it-is-disabled-in-RNA-Builder-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..579f89cef6970ffe939188729586136dbe9195f6 GIT binary patch literal 14083 zcmb_@WmuKbwk{Y*2@28z1|gv|NJ|LPqJ(sJcY}h6fPjE>2}qZ;NF$xn-QBTh7H|i9 z?|Xin=bU}c^W5u?&joyIt#8gb<{0mI-*@`ImKDE^Ns5Vrf^u8pmFOGz{{jUC^)@;h zykc4&x%vgF-5YUXl>F}dt0*WBP$Wc!6rAHXCtcj7k1kqvhhwM%bEzH*;fu;kr4`;3 z3K$#TH_FNW6quc(DwQ=QsiA67q3VzmSh{GM(_S6N zu0-jNGww+t;uInJOYv;eCks_QCy8uE-O7@K`muLz2q{s8w^4aBp|hrDZla-k@67nm zV0mNz`^#kcOq}%BuRp4_0*P+SQcOh6kOk3rUOo=%H%d817#6)m7#bM#7V3#3>;{;U)s!w;5Ht%PhvNZEb}! z`U{=5HNAa&MoZ0zWMySJCKudn=Nd6cxh%gVB#_gD`}^F&Ez)bjVJDR-T;;T!Xl)84 z8Z9!wiel0-oT_r!7%99?L_}n6VNqc{du?;9G^h0FVXIWo_AZk~5SL%g-@H}@-Fc41 z?ze<)Zf^JQ-_KMophy)95>9(_mxQEkZ?QwA+>*SY=9E51DX+npy~uV^5)GTU?mg=D zcg2RceYFHfemgMupxthmo=#FJHVh39zy3m0^aehS^mn74MCoYe53Q}Qx)b?3hPAw8 zUcEwxnfjy6{L{Gi(Y0&WR{Aq=8IZZYB^ z6x6)DWVpDvD4wUQv|_>c+x{ktj27zMY6&LSoBZvNt6CcH_3NEr3VumbQ+lbWXN!SM zH4oU??*)nd*_y2ET|elIX7O20@=AoeTn{(eCMxW9cXxH#ztLgefBto~Kf`WkM(CMl zRVysg$WNW?ahw*9SXqnSRqpNWeg6EpuD>52B|@?(p4%>(-Q-Qy(H#;J3B*!YmlsTN zT-0#74B5r;Jnk1Uy;3tOJ^^;p+eQsN-_DRRJ8WsL-y*YjXU4}>W`}#Re1+)`%ioxc zO5H?5!@F}wdrD0%Nr0S-iwotq({?waM=&HOhvDJFhtjd^7*0-3eEj?*ypD`#N84Q6 z2l#k+KMMy?qYkya~_^Y5_tLf`I&>J z2)nJVt)*#r%y+-6AJQvcsId@ZmzeaUL9_}WcSMHr)LLNPSNqbi*bF-#z$1SCjQ$Cm zL|0SH(UCJNE2~Mf7NVlDxfu_(oT@76^;)?%QL^ z>JlalkB-JPHa6;3UlU3c3vsy#i#_e_ee8Jdiu`?wYCU(1(Huh7qSl{**keeAQEW-= zpso$(i7fwC94Cuxnw+ejcr6j8e=#{Y7||9^+Ye~~WoxQh3ZBNq#N=0HWwGmlX;E?U z$y^}QF%r>pl^*ic$_)pz6_*UuYdsUvW#ViP))WzXEG#VhtNni8zdr~I50Bw6BOEWc zGFoU29ds4c)YKFe75)1|0w2Y4@^=#~vDOB^zuIGTUmCd+ULFmK`Ig|t@q_i=bqDEK z=FswVIitOAwbO{b9CBnM)ze;^RTTC^>lDv=mMTuRs6gd8y5BhCW0^Z9!z+noYLPV_ zXGNxi^bjcWPwsUl^2gQHy-0Ljqoa|HZ#|m!3aPB*H7zA&U|<+4w~~{V#&$d0NLDV; zy#L(#eL?L-EIF^^1BtMc8#AGg#nCY^bWZjbGZp9+=n0gRl$tchySjo(N=oR<5q^}O z-y!1Et6d{ev zF3bA`)rX{`qoc>i$2%8i+j9-P`HR!bPR^A+_aa&3NQ-nj3{Qi3i60*{C+VqzyeS z-(rodYcsa;(r~k4*o;^$#@MT>s^}RTytgkB*$)`rgH-$1)<_^caABfDI z9mDm}|9qjhu++3D7rOKDmh{H%O`%VsJOA#I?GQED*~w?mk1o z5A3EBM5Lwd36|WgOH`jydc1a5KkI<0)1EqOqNwy(C$y41;XQW~?D(lBkROPinTn+k{5NJjomYZ)gTx-&8CJ`TJ8mA&E_b;fCEaGX zoQR%rn$FuyCn(>LvFWRB~tL-=wv%sYlUEk5#h6} z%Nm0|S{*2I3->27&g$6pfHe3%kLbu$H45K&CGI8uA49C8UJ)YXk4Dk3@GxiUC+M`a zwCd^_E*|Y<&d$!?2Tf1T8*L1GqID84_Ors5YWw^8oVOE3u{Xy3M%fH^F5E63=pQ{p z8Oqme3KT(O`z~j7bu-1OY5R}i5i-*DzeI`4(#MqQ&%F|Ng$nv=kBX%epC@;Q+U~pZ zXLw$cCmFe;{)&rjKgb!jwy}B2IoUpC;On-BaV!`Mg&HK6(3A^;cDz?Oit|V@9AEg)yMOk@N#o=Ke>k~ za50RxvB^;5bXgna`6)1mOwekw`Mr?ObH@erd-nB5pFZt%tqmfbTA1FAzr+9SR_;=B zX))T#dwF~-FVVEi=u)+_Ri3H%G1a{!qr_RkX%DqEhiCDE;^FBsU4HzUGO^6(o8_zH z+ZDR~i;IiNZ|DN~)8Ax&4)TAe}YE0#z05Hu*Hg1a}QYLBnshI}$ERn5)K{cFnBiNGNjxK^9*^^})``X;>Z zN39&4U4h$b!^>C~Wr6sE@TaO@lLw1vsXkIvyY6-zZZ@{GghoY)XFSt5o{sD~=0jj} zS8yZu=W&U#y*%FZ<+|8i4LC6J>C^0_9p@9n6WbcKYEqQ6H}z(3(+65@DSywbAGqe` z<&g;3QvDGR7A+XI+uzXj-O^H}1QmO;ykPr(Wy_hlX=z;l`JpY)zUBbaehoc?^_Te}{%5 zaRpAJ4U#$Pkz~IKlRa?e0MauMXkNbY(@7{!`moU((#|)Wa%Q;!?#>UA#%KUUB8i!m+h_=8K6MHxaN99V}JB4 zU#l{p(oei_H9UOp&+Nj6w2~5`YTnTO3)nCyoSwBGs;c;u3e-aK@}80n~+VHNK^ra!tQ(zE1hh%HdNdbcbn?#L&>-H}a;rC0BwRXS}_@$)B?<|y@*Y4AeQ;I=(ho=Q9<%%Y=HuXK&D zP`ebr{BXSsk)Dw;yQFlPxK79C%4vCwyFQ#dn=_cxm3(VuAPq|^PqVANpk`s2(yJpfxVyWX@xq)gM>%)K@AjoomO|gac-&1&kB`dXG||#Dza5T@Iy0lJ9UKfG4Op+d zxES3jH>&-U5+b1MJcDJwIhF8CqcTN-p5&rWiqZMf<5Mm1t3bl1&WnQ&YTg}kU+}vU zx>-nsIddI*)TmtClp^$Kz)wu<^zhQm;w&>6j{K@oN$ft)}uFKviUF1+rE5JZ}^kr#1d3srFZ}S)^vp1t)uOh0yQq^ zfl#A)P8^zR4@qmtd4^WjSL}H%F2+Qayvnx{pBZNxpA^Uu_ryA^clkZ^ejQGcQ)(*L zYUw#zLyjrXa8+t7#>#Sbhvjny?GF+2ka;<3%-;hb>&@7j z@453G%Fei!T<&dM3lA?>;?$O^_N@fo?T(@&zfHZ7*3ct^QSTQHzfV<0d1Mo+-sTal z4~&NMl&zU|F`x@~6+S;ki5cUwcik;j7jjlmWPlpYH%5`8=Pq<7TkM9`9sO7T?Ij{M zOmp1g&W%~rx7^Q11|7+62szh@D*xN}{I?(WAAiVH^)U>Xjg!h*BX%_yl(jry%u!15 zRJ3C%WoS>CA$s~VK0qTTMQ=3fNbZUIls;>W*GHr)L0(Lz)}Ugkqd}JKP9UKGw@h1? z@lBE#Jf7;bE)Vxi#Tjj*hRVXb%0@me*I(~ZzP2~GU8~!aUad3{9P!t1P_>^D^U&eD zga|&bshawvV$1OxKc#23Ql>m9ais`8dZ zCDu)oRdQd*-z9dP_DzuErQM7egMFoLsV4&Sn6G$`WO1~ znHnyS=BcpJM6&oJGqo1mvo#Fd&gnO60`nVf1=0&X%W750`UW^EvK5;Ze!#8hH1BkK zDlgdaO}R4Q-NYbKyRuRcrm|{k?>nZ=BmHsz&pr^ zPCF=MJWe?#V8{@l36~hir>B3;O~0m$f#tS9s8w;~RsA$UM4)7B&MOKjj;xujFI$$! zCpjP9HppvC@myq3sU+pDpha((fB7Fv`rn7p|LZNSbCnxPG!F$5_xJ5pOUyA|sE%ng zT%wC-^vn08QINayet%6!Y0qXpEpRGuq+Zx!Yg@$avBnPB49KiM@=+B1^$1@3>wkBrJkEUt)`N^SA7C2eJUmME9s=LDYEV?%+-FHx-wPo!o zwp*4}%6<1CB7y+g^*=2w8HCgIKFXkrN>ytvPR(l057mH~c?IkTm*vERhYwM; zw6uaL1-p0WTj0rkT@urzqKbg#X=rF5h6euf;;7c_fPWyJ!)%Dzu#*@@AqITYXo*Sq zNyYiu5n|x2oXt!fDnhTYu+aTz(#d?{SE$$dx|aLtYDVe6-q>4s;@<~rVR3P48!TpK zW)l+=DAo>k)SH&1Vm==P8!jJEbNjj;ti>D|tEj}pBhRTSDk^@t{fat&6!tMEhs?xj zdq}_EOi@x26S`{l?KIVLOBn@)dybBdfM(e2S6;`*$D`xmG>?y04j{>S>}SrlYYTiM z1@B+Ge%+)${q{X<>cyEEZBNU~i}TJHHb0svEjeRB6@b! z9G~J6zZa&jG@(fig#zr%v76nNK1|QV#5CnRe;dVex~2;{bd%wHau*jDh!P)}I8GLw zh8s&=amq_bc!Zh7C@s&rJWpr)mA|O(VJ(XdItbBl?xVl3w`W()Bc!CHgkG@8s`ec1 zg|6-+Ab)P$yvYJfu{BZgHfOWoHizdIt;lZ+`VBoF=NDIf#s7SY=Wz%#l!^O5H9I@| z0S1cVw4L6YW=Dh)%WlzLQEZev^UL!nUjt=jAFy1mv5Ga$tWA-_x>C*A7BA3yHVzI= z)60n<0|X-&Rzq`VBr9dUBmBy7A&<+5LFdZ)3VP zNweA&^>3aU7ta0XFSe(udspqLXlROnj+mR9i{`W-1%9DmvwY{pn7zgtA z@$AeB`g_scSr1IVGx>WYhvM|R$nW(&h)d>}=MJa$fTUpe+G{(TMBXw4K9P!+wpiy6 znq9#v>@nzGqH!Y>=p#<3miyAAx@dnu#9rkE}L0N1v0QxflBtpcckEvJ6U=#>@Y?s)D$4Zc`` z)$OZ%i{T50?d>P`ZDEHZKKp$h9W;7Kc|T5zJN{s%XSe{qtcN> zu*`W^7ZRDIwKcQIC+vD)PHtime&enM0>zfH>i8Mf#hpuj2}H?NWz5MGOkye{z)S+Sj%Ekhgx*tKTt zq%5S^BjX)bP1*E$ocO+P{DqTWgi+Z|+VhbAuHvgAbsKQRr!)=iwaLuOeVsG-hH7eteHhU~n{F5;m4$>fCkr6MS3@Mq$C*1#8RwS17?TC)hr~Z|t<};I3l7*$! zPNMHmu%3Af4-}|J4CWW9E72X_Lte-HW5r6!LOA-MRZ*voAnc<8)&9$ZSo(?QD+i}Y z$^@Khp^$oQ_F;u!%=I4%^sng@GY3o&QC|bLUW=Yf=16YRV|k_xuMugws{R6=>_zg6 zhu&7ttlKChvA5 zJ%tk~o|jsG68n&i-$xN3=fan)k`?I*!l-l8f_87qU1PhZ&3Ehj~CD9zXdu#?i@m||lJzo*V| z$Jm`#6%__kl^&uz4TI^#u)qME&;VJVOf5RaELe|I0nc9iXOH%q6kQ2Ry@Pxv4pj+! zE9nuf6`q4x8Y&d6{6`-H{DU%gzN_3rrl=`#TNp6B-FFvvc}Q5wkVJjJ;GnD0+|En+ zhCmU=v$ugZgRX)k@4@4@!Wrcy6(P8#nD;lNow+#Y*36$AP55PMj520v&B_73;oK~p zbIkq7nKKltxxTUfBK#AL=312B_FET1%4KC&R9tGMiGPAVCCjwh@CpAZoZI zDdv@I>Xf@AMKme1D2)v=xtOPQ;nAkFr(B^u)xBuVfqdP?!2;%eG@lQx&*f{2M4Kfb z$^r$(a{8WSt_TWkwWKZft_BWgea+MuR8XjG*fDC~K0Hzki#Z>5GRgiuT>dME>03cj ze$DH`qBVtmwPfKFOf!Y~dZLeGRGjey#U%ofH?{87>Jki!!*eYTyeiXbF8t_QEy)rl zdz+p+4CiHKc8X&J-s8K9NyHN3cRot~dok<(&tFy8r5#^>LAy>XmnfRr`(1(FrTK_t zZP0GEeA@Fd2X)$rhTyr|@%+ll4H|sFXw8$8wP^Vub7_WB1;Vms{GL_Xt9k8YnEDk1>>y+}Thi#*-m3o`6l4I*zxjAs-h_$k{>len z4DMkI_g1;s{R`@yp{S{znKB;B%gaN0rLM#Uf zVxX`1MnrJf*x1Bl;AR*VXsTB^-*v)u`t7hCtXZ%O)0L{pPXtKpxx?B$z=#b~Qy;FM z9rgc`*UQbNyp%VLVpI_Zw%ND;NrdF#)+E-=a)HYkAKZ}=6Z~*mInNh)?#~C_g{=+d zTyaGx%rRdw^9CZi@$vC}qN0c#)&?GOb1xQ%(cOEerV^eIA&BCdt|SHDW15|XOJ1tl z#a2@T+=8?iJ`ns84?`0Yf`UqKE3F~rb@}=DjF%>{-*0S~-`^ldd7Y(DVl_=cW@c7G zLNfAhd}c$PC_?gOT`_9rK*S{zg~NE61wi8#zQhmp+A~R)NZKpq<#=ay;+IY80ACo@ z?D~43SZbCp;c!0b_&o1(o@+bfR<)sDzrMir@`BKpV zt0|PHR1C>i>~t{IHcm|?>iqd6BqaA;tJZUWeK-W(1DYp&<-D6I>v8#`N1Y7Osp0rE zsTisCuebIA@aY>E-X+Cr*si^lm372{x!@4Ave5IXH>P@NUE%jY| z^4srKEnZIkK4|UieDsVn5>OQIE4!wBH!dmouQWxGoW;%?^afgI?G z+!eoqkVJlK$L{H|M1Hr(=#h78Lper?&6Cxr&{O@X7V?QTT@sPVQv#`xnvayT z(U{r#$dcY-tVAeh&~|n1Wqd;X&$7aYk01L?RH>U=nEy32uD~bp2P_8S`;Q+~8=IRp zw)Vm~gJDr|fp5~NxVdA}ZzkR0%ZJ$Ns>KDtxGRp!4uCKGtWsip7k)CT_r967^cEB; zvtgV(rL*^H>Q~uGCYEz{KdXOZ6hA=K!ndHns-izVBQ5zgJ+OH@d;1FmS#L|Ap+!df ziHm^x{0bUhv+NjLYFZ;BQg-9I8V|Qns+&*MO6rD&2-VcoNI6U!Klt2YCjBxpHa53D zjvApFR8YWV)Ez%N0e$i}NqEzXxH5~c_b|swO#aON@q?b4?_?nyQ1if{n)}R^$jnrW zY`9X5CDU{PU>nFTZ*6r)K2@V|J~NFYep-&^-)p-a1TRh-jVrt#C`kSn%t7nkOdLJ( z&WoDtH$?K4dlB++4RT_bBtWhh(5Xa)IWPno)JIWai={T*4!`cxi%vkGK9Da=Fen#B z^_6PR-UYWxBgC6egW}bjh-+G{bNrr~iBCLL{`p~wN@NmYuln`*ejf5k_OX)?`cg=F zGZC1}@1s3dQ5l6ULz;E_H;@VYt{$HJ*kX1;l6a*IYKm*LpksP}+t^UooyTu$?{3!q z>a^Xa%^VhyAY<a!vL?h&R(!1+c5Whj|k%4OOq68=rfy z@aHp3-)m{Y{=!+JDm!m~&E~di*0yW)(VcpyhcV=T!L(A+zxmXx>8U_grUo71kX-WX z?{BicQemVDe`t93^Wj&$b4)kMo7GeX{@Z>EFC)CQYzwsZSt`OMbL+m1sQHg6=F%Ue zYNx6^mzmYUXB{6WqE`t|Da|rHemXW!lwW6%*J-OX6rj520t={^=6P@Qd9-wT%VBd) zWai3FCM%%_Wo_=f(nBqSgFB@;?-bXShe~Y6)|E?iN<@PuKZ|TN5t)V@d%f!hrtnkc z00un?gNwT2l;pb-r4-910{-QPYeq5I1Nn?sQ1PdqR-tacCWB>*q;YZf@J!1G4|3za zzl~DodpjQV1rvICDP)}s?9^PT1p4}tEBmE=8-AZuZ{j%8RFRR{IBfxV9}>Roxv34b^Q(Z`pDROH4TxN zVW9_W%E|v^2T7k|Uo3fqY+K}SH!XQ6Eow?A{hF;JdD<-+wQN|DGVw=TzBWKn0U$d7 z#^2>!#Mq+E{`hnT{$IkGiLnhlBURstSVRIpSfbJtq9{etA9xy3kUOSWHeAq0Q(}A! zj9_|UNL=SeZGIcmy6Cqy{jdWT69fCxxl($n|I1O{nl@&SEr`TxS9+Hk)VAdcz44j9=0WRM^#AelItcA@ zDes=;lx$YpOH6NT%7J$~Jz4?tV?k8;=P`{Z9X5lSvY_XHV}Skg_~c}_9n^%={nc1g z)6yHaZiUChm|XC3aYaGWiHhA4ygb46I6F*(ij%8S+>AW-#UdgWaDNV79X-f8(ECsK zE!feUJ)^6mXngs&d-4j zt2#d%|3bp{X>+_hJT$aETQLWPnBSFM%k#t_uZl^iW{dln=vfOsc^n$e3;JUgA$xOD z_*vPl;_&eBiriXTYma8pdnGN+erq$%s%ExgIq?rTq_W;-ghfW8)m7Ln6LXl}o2+!A zee&cp@H5vz4vyhy%B*4EZfI3|P1dBJCd2i_597ned9N-U?v)i8pCgR73`0s&UB*vyFnIfU{a{6bK* zGBYzxhb8YYI>^=6T5~66uCRYG*!Ubo^EsfxO>UM6;GaNMb+wJH?HrWbjj__egY{v6 zLloxb=EuOCp&YNIh7hwEV&B5K|6RlnCs(tY^gYbu$qNSnvB%dnAVmj~y*il(n zeg7|Cez+i(mR8|${QdofGWt>fg73!j{9xEEKYYjeuQ7W(hTz*R#Fc?+%|bPMOvG5@ z*L`sXX;K>LSKn9?m359&`(Ho#F2mpy7)eP?{FzE(VQDF)f3-7tAEfT400MUNkvn-x zfk62J;kI-FjvVlRRh=xw0o4ptm5z=MAPgNNBk`zb8Y_c2MB>5sQ6D^hd_71^q$iPo z7lB|H3YU*Q@yLayb>rDw1H`oI^A!dJp=MM)5 z2ZjQ_z^-ed^t$>jF`qN@6$*i#35*ZKAYw}~RqJayYHCu*37k+tw_yloEnqx#tgL!q zcXa;L`4dq3n2rv^$Y`0qR3+^Vi^H0NYKbvw9R%gc!LZiu-rggI^@4|fMMXug=_8hI zzb`IklaP>5%n#aeCgWcs0FRp&7Umo{mv+}RAg68v9`?u-#6}XPUD)U7Q zUy&?Nyg}bP`j>s6_x9G7C64-^Pq%ju4i+~?i(wT&MsEoby!Z_5o!M|cHB4u%1JiEki3IBzM8(gMR@%8TbYc1M3?zBNvyffAmc7l>gOvjw z8ky);@QJaxv`=rloDA|bTOq#jV!phPsFI9%5yrT^W>%_d$AyHw`_a#@KjkGB#1WX@ z0ELA`N4ElWZR_X|$x>i78)5`Z_%9Jy(fYCy%!i03A}vS-6+jfuw}fy}&U+mUDlaT7 zd{@em&r*1&LO@9e=(@{&?AnuE6HvWZwlYXv?ZrI;fq?M99CyVELqEr9KB6t4 zg8nr!@>5(~+{=Tz6kb-cam{80wcTL8ie}!jlJ;27BgNo9vb~kK@J(9QS6nAo-_e(< zx9tc+T_f8uwJ|rB5iF1@8-<`3?Dk19UGeC;dU`G(JAlhBMKMQde|tKKS}Jm9)F>&r z*Z9i%Ch_W3T}MYCc%^!iMQ(vfu0x#CqY)^18%IaOD;Fg(^LucGF7+h!z;a}%l|KVV zqCw;5yG@!`MFDa^p~L!+Zix8Hmsej0-LRP_BNI~yEPnLQpUm+I2{Ft%*DjB|E^obn zJV)ty{1Afe`0R|$>%tw96v{F9z*u6Wt4`N)6thDgFeQ1Nk|=QwRk1jj20cY2T2@Dd z#WrnwP0*Fc(M#ZI@Ho%CDd?^)DIDsG=MDz}V|H=TK`TZ1(r_Zom#aP=zQQSHv<2b<`zVjagQ=*f7HSxIsi`mVjPAP53jJQja$e&Z?}M8q zeZP5iT3t(flcKgvGvH8`7o#-9DkvzJl9KY*w3MS}BZ!QPwG^$=+WR#Dhhx;Fy$lYm z>`U((8oVyEE81`I0|{=-3S{<r%hJ^z={pNYk{hE4NKJ$Qa(yS(Dm=+Q0) z=^P%rdUaxJFMjziXKD&PmB*$^4;UB%p(e$8@i=W=<&MtBqtCQz;$cZArHUCM;^L%+ z^EI9(Zc~B_2-J+MLdRUS@?a=1*M90YVV)jsht$>zf~haog-ZMVl?G-#^8(DmAUKIZ zm-R3IbnerJ`LwZmE>fBM+!R6z_B{8nv-MaBkoTnVNgSdcw>)OV5v+s#{M>oxL2`03 zw36PSNcHvi=ZsH?2aBc70tNubp!M1So#WO-TP%keIu_P^Rz~6+$QZX~R(eyBplK{Z z`qN(@%KMR#QS5$VtFEs8v$S*(WQNjnrH_8EOMSc+U9ZKcxBy}Fg!n=6>)CCZ2W$)> zIbJlXRqp?Vp&H}nbrsn}z8Gl5)1_mC4Gj%F5K$# z0-BHixYO3srF?yB44yV?!zORm;Mh7556CCr%Y-V3@)OX5VOMMud`WA2yDn5tD8sCJ z&DcQCh(X4_xVX5&WZ`X%W2I)h!1^#Uei=F<~d|{+L8}biy`k1R&sOpL7t@ zQ_|FMkT!C!@{-P}IGcG_3q(>3bo9D^8s=Fb$sp>&&QA|g0qKD1^H2J07QD~De*eY; z$WmR+FC--NBQ4Eleds9)0wtc`?NA>^v^2a5cmz<=pQa{X;1}ayq%lcufQ`VR0^t*f z%LaR?2RN*s<>li4=m-N2@GyNpeq=W3qnenU+yw*#=L4WtP-1pJggVmqQ%B@*W7H=j z!>G^&3>1JT(!{0#0yBZ9-eBc#@)f$k{4`QlTr5&BT#uRkPjbuv;(oRDFa z)8oWr{DgxA_sPjasW6n4l@WJ_QJ^v~6>T6X#BFU^!7AQF0kDP^$Q39f#c;2;w>J!H z8Q`cPSnyvn-*9>eNE5;X zT02u=z4mudhWEE7<3>i_fd~t?>w!`!9mCo*;c)AfoE#T!CWiHLH#vC!teu=%nwvj? zX&c~yxU4J=CnqN`o<5LNV%bd^AdUlqs@6fE1icu*Re|lM?-++`CxbCN=>_4v#`5*y z`Qbs__xLSx%$^g^r(y*XqO?dnq7VB{)sZf;f5Q_6LC)1;pJ>1l$QiSYa`P*Y#5CS>dar8IZcb>dt) zTmz~2n)T6^26)o}Lnp%#0)Td*&|E+o7^(5#h5E(F>D3$51;|7~PHuU#d>ZWmE$uC^ zfy1}~K^eks>P+Az5)`a`v-y=OOZAc|*-<8O&&mEbUvmg~2aGLscs-h3=aH36lICL( z17(KeU>r`xsqwegWtW~_>C-?>0k9seu%qn}IAe_CvTE+_4Fx|utJ|Tux`sv!iyj)# z(x7w$3`c?U3r27hq{O(_8zj>{P!)8O8GxJln<@VoND(+yvIrXV!s4QkP^+!2?f36$ zHUHVu4lwjT{OQ@c7IXlhL>(Q=PPVUdC}3BZrWbI?<@j{H;A#(H`g#L~_yF*0esxvC z+?)}`v~;X$SWZfcVMqjzf*df@CrvADk)hfln=;at%B|EQ2+L64dSvIE-N_ATm{;B?vB)dMNxW6BTUR z)km7X1&ARvtKHoe%3?@qU;rQy^yIseda0;BUP;#guRzD{*qQwU&`KLlr-1Zyl|{e> z4|oZ&+=FPqVgklz1-2^a$#jRL@Z~VSc;w_V^UXmfqeawLs2-XvuqXa@+-$GhuEDAs z%u&8N6a+_aSbC;`75BV2F@nkg`Ukt&&_>OG`mamFDt>%vnq2eT7}kRzQZ-8e2s{on z0gVft$VnG&>G#6kXqGtkJ0|K|_N4}J8~`vbtIb^Fn5870Aadt=Sy>r2IZw%0#}&6u z#$~BL+u+MF#yQ)oyxFsxWHOAd7Kh1$osJAatc|G7_UG%I^kW#1vg&_6arIflgcAmU z2|0#nW_RT`XL1xUT^$h3#k*QYHGvloJ`CeKtoD|YNV2%*H-WUjb8x_+Rb-YmFrdK7 z#%2N`7gR3eyg%4#Tw&lL(UO)(-aRM9VATfk6Akv)!{73;20fC`IrMnyH?rs6;l5TjL z|Gn?7b>IK3_bzL(=BzV&&faIAZ+zl}sHw<3!6L^(K|y&U|3+E^e6FFOprT=*gCm-6 zZsOnr)lowZf>Jm@v5A860!3b0@~vCa?!3ExjPvc;!K5?gMC;2JdCaugY0;L^*kt7F zaMMJy1$g++aFskho&hoCQK!kdfzP`)FRfpeweL)D^RWu3ah87?Qc_n}m!6(%#a*wx zLs5yc2o7*$|B|}Cva~|8uHU;ZoFuTg?+jbquKl(e?7$mP(~SHrArYg(Kx;FV+p{O=L{U8!OX-Lrf(*K1SjPqJ2J}i zW9Opb$dBX}HvF!JP>3J~6BDs29x3hR#nQfcxrcb3Uf*&QdFg3tdPb=Mge4#*A+i7M z+llCkJDhd~KCMA>C}+P}cyv||$4_w@c26eN7!!Uy*Zxn?=CPsd9P9eA+JNf(@iG34 z;h1J#%Mk?eG6A1J;&5$gdt1*pY#ML*ICM=6W5xS5c5NLYN3+_TY#AW>=t>pNTFOjp z|9i3jqdWTl4I0~R&Mzo{A8!m(-YO^XhBV#X?2k=O>Sgl8D_!r}`jlNKB_{T!-X1eC zswBP9*Qan?A7Bs?nm)W$n`}LC%YoKOwdsn7#QX}_Z!a7&;Q;JIOwG2aa>cnJ&5r68Wr{6SCWvU+iHxq6|@nb ze>}%LP9IBERkgmp9)*ne1HQez{hzh92SamnN**4wCa)jAg>k1eLI(aTan4g$lyHVZsRV9h`@XF=uxa4yFootCX7TK3T~&St$R}g-y<>+msi^p1!dPe z>+5nKJ}@(>rtB0e$*2$Ux_kNCiMohHZ0_x;z+l_`wrFT*EF5uGAJ57O!Bn z-*$Gau&}VEs_p4mwF}#fINxRFWoM_k?k~9H7=GF_tujJ?^hgJHPT#(rm_p2B?9jl? zP0+UCgaoX*FI6IS)}}7}_}Iz7>!2N1&Is&ZPqA_9jz$yyyu6M#vm6@o`Sh6|A)kQ2 ziiOjDC2c}NLiKiGo!i~bnTV5xPj@SxL?2y*D5S~zrnZ2erZy_45|=3pn|ema`I=}0 z{wAfYjAx}IoQ{sJb<15rQ4y8?TMNx5EfU3b5h0N3eVH>pT4d0WaJApmq-ROcV&F6! zL%i%T{Jpjm^6AUJM}OCrQ9}RPUV${mj&oo7mcK^>WfhLQLgY*G{9R%I`dp}A^s zZrDc{M1LYziIJ#+)jz~9m%NLEIis>Lg=BLA%Q%LlEPkfe;}APk4T=^T!xZ_Dy)Pf(VHPKpI5_AP)=M_!28muv zYI{nS4c!yt_D?6+4KN=6Ok+-C&K*zxQC3A_0V{3}Wtk=Mj^z3W@(DZo=zmhb{{4Rc zRpd@S^-2)QGAUJ_w87xd-J^| zCY@6ao&u|@t0WjZB3mm5q*OgYbUSVMCY~5%{+jtG}tFO)H zXJTTSC^A&__7>Nxv|8HCN;TUY`RR3gu`VHUQwXbjS8YdAUXiUB`wG>lHRuVra+%Ma zw@Q+rq?8mIiom=Rp|P##_t(KyAArS7%AxzA#UOjvvB9aJ-4Fm$Qb97u8%hCLh&~bUPonEkgwcxpr zTI{l`3;qNVm%NC}W8>~9hPIB5sOad?oRYW^z5&8tBw}$ zZb_-Bsn_}wJD1zTLc+qzcIXxy2gSe^KP4n=U1;#c#K15bN|Su}@F6FtX;kiio<>DQ zxgB;h?KW6sBntM4XD*1HPML^;|MdoO{$Z*CFBI z40Lq<*0YuJoHCCc{&o&r-`ucG8eZwSoI&2#hetSiNbc?6X>AIm;^ z@8sI}XVr}iMn*?S1|ao!plxt7OO>g&8#ueOI31{^;m9zxB*z?1WGRC;`kr4C9D7SX&Hebgq_lnP zq>CB~<*cnkQ+ul`YhprZrW`HzD~t*v2_@3kPdeZv=c=vyt~>pHOBjiQ?mtthZc{EU zB?n>gAb2E$Dx+S2%OFOBEU!p1Dt3JanfhFK#uZqt|KE||{jI1)2)@i?#!^8ihN`O( zZQ}`H8`~yi8c*;h==FU_ILW&7kmiIXdrHSclH}Bha6XUZ zb5hF5%Ayw*7CwCZn2?OD%NG@Gs@}bV-Hq32}wv~-@m8jBN9|>z{YO=wm<)ax7exc!^6g#XcfB+Q&33?yyA}%{dt35IF3=EN}se|L% zhW!BbxB<+uIax$KJw2VTQx?=7Mmp>DJiuD;I{xbO{vq=#n_ea=3}UJ)1^%;Wag z=nJ*P0DyY$s%$8wf^cY9STKEAG&744S1$Dp4e>nYxRw+7%~t$nR@2-X8X9lp<(EcP zC1TWsnS-C0T~5|W5car81eFy}wJm(slLwnDu%x!1;dcb~D&0NmosbH%4Io{`03zQ&mg`z#q52&5vuALs>tCge>Le6)vaV zT{CS@7MX*_DSCH(1S)cgSwHy$G_;G$?V^w`Upf{SQ=xfU&Xx@=-v8oFzJM{+S*6cv zI-pcD(riV=j?T?}&KhpeJldH-eBMgvs7z%i>T$dg43DVttP0lDUjSr8PzY8nrte%| zaki!goBpE`95rDvb2|DmZ)>XJ>Rr_Ya{wO&BeJ_LLVcD>L8gTJn>BAg!N696Y!pLM z%K!x}(qgkyB&d{-^oMQ|kE*pYUENvIMhjNpMiLcu-`1AL%e?2hKIawbqS|`BI_k~? z4uQobHexSlz413Rlu`*ChtK-8#IYe90KK{$^$W-=Dt^z%@Jma3!Kj4%RquZE_vEC) z)g8j*alJ`E&7oc2pr4a#b8c^VprPAe>5izMKR9sMt%b}&+yPw2r=aLV!xMe2riKsj z^PhRwMfhNfSpCU_o|}h<%cii*;8;QPPUtAZ#3$8`!K{gJQwcUdlr5qf|#+B>Oz`sQjJ>%1B=);AB>%<4i8h9!cI zlA6&b)FmyGCpPw^A#=X${|cS*a^6@DLmN!Eh@qjOfyd@gm3bLu!AdHhzw7#hE8n?l ztL_T8^lIEC(5E)`+S<-HY;vp@8xev+LR?l;oV}I_nZtl6IXdzH>Wo7nSgbd}=0O#V z#h8qnWevep)6ofOYVrwIrv~Vm#iZkN$#o)^iELGY;qfcn(HOBf=Xu@PK!RT%cr|o% zz@CP!4)_547OTb0!xN1sab2uui7yu1T7leU?2ud8n(^N5O|49-e8TYSD~(ikQPKLW zZBs@4+V-}hmDQ_~l9KZBawpFx8S8daMi1x>#EPW^iQm=*5WJwJ^#j%DsE4&^XlTg( zHv|eL&eJZcl&8!vx7#opAyE;inxLvPt5GALn@_SP>2ZmWxD_-XNLm^Y**85}>o+wu zEw-5#Uh9i*1ruB8h7Ab>&vjnsSTahNA=cHmp6d>V)z%5|ShW01Ho4)WrKNpW3{!fqU@&1F77kvK_zyjhCD_=`_l&T-3W`$^5^Y02VHl{n(^ zZy(R#^^WIreyd`4F-R(VqS5>H*I2{PaGN4nq*ec=9Q;@78$odPuc;U`G6bkNuhr!r z8NK9nTCO>PZ0KyePS=XqYzY4c!_eXSiGQgL=T6W5g0DpMcKkJHZxzlb&U3vac6_;W*p}SV}$f3W?CTm!q-R~v-Zjt>HIdg=IDBemPJD|jMRv5aupCv9f<8( zR!e?MGGTiSEetW9Y%H@f=Yq^a|D1H4JzaKbRdY_Vp?r#(%zdK-zPHm^M7R(r5wF|_ zF1UWaoha^8rOvOBk^ki7u{Jk1gG%+3n7DnSKo6Bn)Xgrg$o4<5zYgDSrgEa7^VZwA z$rtS54@YH}S5{b7g= zewLI(1_hz-HD1}EMU|G7Ed`BlWOQ`8*ccR#zbJ4xJpWyZ zAK)Z_j&wb@tvBveee;HM*9h?Q^NWk6tt|yOoMALm*#snPbxqAdzrf;OaPj4>tsX!( z&etXGx-(?L&Ow=GVP|IqUGJx2TvS2=)~`zI*>@%H9|;Kw{m9HLwVY%}nVX-NS5-B? zy}r0_r{D(dm)kJE0R9b-wfj;a>AfrLR?c`JEEjqisuWKe)a;;@J~8*cLP`9dMoVt9KykNXq#`8lpdy~ zr~flIrw{O}_2I>*FBFyS`307=)`OVbr7F>m^#RKSgyG?Ay!@4FZ{O3dyJ0?CTs;_{ ztQi}3y-PlyIpYco4ZWW`no-%W(&%VDZpE1PW!V zdUL($FgiLK&u>kBa&q!Yw>-O*Zr!4;Vwuu)PEtVui-m>7YNkA7@p?@Fc8>XJz^=;&3AbaicY?E{$%!EmyTU@v8mU3D0CLlUvZ-yi3kxuc%$i{S$U2o&`+r)R@ zNqYU6R%5`64tQ(z#1PgnLJ?Q$R;!6m&qt}L_mApAB(gGcQ|3KY(sHr1BdC3c=Pw9y zE0ckEbuX#`uDS~gEe7JzUj6(h#{%I6kFB2c+S2$d6%&3-oX{<6XJ%BdhIulw@#kea zblX?gHU;V!mVo;7vTkMP=XQ3^hG%#Asti(7KJ$%>V_hY728yn;VmQqD@9*XjUEypS z%*^H-=aPzwO3%GF?lNpBPZ2lXC)~6xH#4#0Jbo+`+EounTN_T&B+axM`&)DtCVJdG zt}oF@c8?S|0~?%s)u%ssH%$5be)S~0|A!CaFe;W0q3{_x8WUSli8M$lZ1RAmP!$}- zYERs5!S%aJ;e#uCdmSx-XX&{Tw_>k2ihkFu8~h&h@y1adG^E=38dVxL{9R6$ub^Tg z|H9||>M9cH*3ZCZzSwvJD$P@>g>~)zCXW+x!0F$-LE6bX3;NkuaCts<votF01wz0eV2mHs6ogcNjsj9DgduHSe7A!pDmhfwL zMKhb4p8EIz#p8QT&GeQIi-x*-NNOte zq=86Gb~Y-?x7gTH`xWyfQFkm-Qqmy2CO;NU#=D&Yy^#@@XfRho0=b{RKT`Zgx23fe zm6@I0tTjkENjy0sE{>Ftv5m{)n0di{9p>QhB{JIa^Yyit*+Bhj#`YL*c!6G3WMpK> zw3XRZG3%errFA>xD1*2`fw6GB_HEvpKq8+?a^XgCeqkmvmc0CAWc&r?#f5}V<8idA z_|NQYq{tq!HA$#U$g|Q{Rbn3F7oqAkv48U~AU>1veUuKq2n|y_KVLcdOf8YJc;}7k zk1lhsqZ{)lawYcX>z;^vdwainXNM=S;09V1h3WbLY`s8&hbQd#xIrn^n+=;}P7z4J zd0GvsFc>8p8(aO=-eaJ-bNbwh7B+f3crM`Gk)xS~6gk7q$Ux_`o_TB2aI$8ozn&uI zIbC=5JX0mPWv<3m4XDuIvDB?P?uP&jFZquFPzJK|Y-z7PsAsK9Bxx$a5QMVdvHzKO zYnM+IN05nokv$i%5w|V&0R1f(7w))SATZkG^Dr{P>qIKpm2jbB+=dCqAR2O=f)jPK*agM)h!Pj5?oX7A=o zaa&1sv9&Eko9E*g#^vb~^R+%bQ;gq26q&4fxma|;Cp3IFf}JYg2q-oJiz1v`FJ8Xf z7EGD-*j3#u8Hhx24zA%v;XX^vCK+RFsCkzCO@)O6y5TNP?oH2|;ru z6(e~5bQsUa#|N-r8T2Qi_wWFRN)%W}Ojy`q%xr8chIhJV@e5Y`n%dfv=~o~46G1zH zgQx>7W%|$qfk4bw#A6v7r&HE8g@ijs zALj4fRfV0j7r0dHre_Ot*tqW{w69*c_|kAS$7(XpcaM%n%SRJTmBOF9E{dIzW@&#j zY^2T!3&RHfju%ixWq<@*=koJlHBL{b+730rjFC2j8j#SVLH0VBC$_lb8e2fXLs#U$ z^mII|ZX~~v@V0%zf|G1UcLICTp~eweXjON6b6ri#|IlBO;p)xPy0bM0?xLj9L*0Y~ z-J;G{tVOG)214L$6rvo1$-jrVgho1GcCROj%cKybod52u>pKH%jK5jn7XADny_Odj z<{v(OqI0nZRg-<)0Tcd2d;44GI3ppUoPgj90)ju`aapYB zOfi`qBuUB82WX=A5CP=7wCwqcslOz?A)+D}6^&M8N8Taf|u{KTAsJf@~J3@BgPJD^W`8*n^lwJ6ni}yVQc`o#&$6HQ_OuK&vbT*Mkl}osm8}`}fJOyq9Mc!XRk4K5}&pC4)=fY)c-z6N9+?~JC;LUUIp-Jo_W2yaZEAe5Bc4;(uy_tN6x)cSf+06j32{aG|QC!v%>jUt+23V-Z`?#8t+UNpu;NRI6YQF=k z018%Rz0Yb)0gM9pSo$znPJTW;AY%3__w~;&D~st~Ndh9<&U9Ju`MDb~i9n~gm&8vd zNf$exCJVgy_`<+o0R@MGNNO)+1tm!^rM39!cN7fFCv?2WoktsZqSs`ta$nG2y!60_ z!+)-`RsHyZ%*dei7BQnhSwdVbZO?`gc1BE_*0Dn)HhV6wt~Axu?1n9LgL4bgGcq3d zH@^nYHdrpTrlv;cwkY?dS=qDb?ttLn;8o|dN;&Sav9Z6?=BXt>$Nn(ed2)KX7sTeM zADWSLwjtygR@1uo`f6Qyc0a4IkYwf-KlLi5E_nFxPD+B}1sh)=$cR3(qe1b7!otef z*jTgMo58GCMST4H8hVm3w!d~*_oKy`!72l`z@WMWb?PUxPv0|Tl?)nljl;VGfZXNneG6RHl%f$}{$+N^zV%l?z{Cm~?jXu-o{-6E^i>r zecr3o<%wS7IgbCw7d8+`@cc6|%~J7PX;9Kff$d-~eL$Ton zhK<uK*8<4j@ z#~5nCCzYkRZtFNE={}YR`8+4t56vHs3j|h5Z{LPPuaMDMN;0Fr14#|O&T4PH2Fy#F zNvVE=@(@KImR!)tnm9z7hj*(KFMLAUgaP?fNOME+f4+G3gM4T>?Cnm_^_*mCgL91h4v5Z^ zWN02u)-(%m31a-{(FJP@u%o9!N0TfZIEE7IKY4jaed^uu0?lR!7rdv3A}^yNT?jGq F`(GJw8W8{h literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-8f58b-cleotide-upon-adding-Phosphate-in-RNA-Builder-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-8f58b-cleotide-upon-adding-Phosphate-in-RNA-Builder-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..355933bd8783f496937c37f9ef4762be34ce94a9 GIT binary patch literal 6392 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�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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-97921-of-nucleotides-and-nucleosides-simultaneously-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-97921-of-nucleotides-and-nucleosides-simultaneously-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..a4285b300e417634c8318d4a6dab705a5072c0ce GIT binary patch literal 10483 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 W9M)-p9Slw}Lgb{CUY1B2`~M$;u*wMl literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-be9b3-ed-monomers-switches-RNA-Builder-to-edit-mode-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-be9b3-ed-monomers-switches-RNA-Builder-to-edit-mode-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..9e24fa82478803e96ec240b169722a7e3c3ecd14 GIT binary patch literal 45264 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-d5d35-of-nucleotides-and-nucleosides-simultaneously-3-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builde-d5d35-of-nucleotides-and-nucleosides-simultaneously-3-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..50c2303772abbef1c84d16aefe807a6e712804b9 GIT binary patch literal 9982 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 R2BJ0Srm3Y#)vphJ|1VE>kKF(O literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builder-Check-that-Nucleoside-editable-in-RNA-builder-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit-in-rna-builder.spec.ts-snapshots/Modify-nucleotides-from-sequence-in-RNA-builder-Check-that-Nucleoside-editable-in-RNA-builder-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ac68ece380f40d65568f3bc49689ba9dac67a016 GIT binary patch literal 6003 zcmeH~dsI@{9>-5QWsPYyQ`z{y?s6uZDRVVt=KGeW<2BRN6NQMkm)#&mQ{)N=l~Yc0 zQ(L#jS0a@+MNG(iqkxW;nTl3`Pr$|s1qD-4M1i}V|L=eIpVso9ebzo}pWpuO&+oO* z&G2JER$tnF2|(0&|(Y+Ql^4n_U5 zXi^$`OMIT%{zIJ~oK)-1nkGg{GQ z=I_VHAQkPJqD}LfqWl`^qEBSS+RP)2R6E+kK)@@bO;?xm@n%H8$dQ$NIhv)G2+M z#^=+s*r;C2@!ox?n;IB|>hTV~C&K?2|k>-F73z7ii8< zj9h+QTT?ST^e7&W=df5EcWC6bWkATA{?^rC!8OMMFxh^s<C_0$*FdO0V<5&S;3J6Ii^PiCRl243w(24^z?ZNNcW3kfP{xI$`>K$1;k# zx;oOxRSV_YFh2(o#f#V+4a03W=*4(N7}cA(0PF85B>mWQvmZJN zhBbouV{J3>{ZAfjb;Y3nW#h`uvU8Wz#SbZ4EgTUk^{o4&s>PD;`5{VUnam)%A;r`-yN#lLKFBE{l|>MCsZ>g~Pg4&!x{>E5Y!6&IDc+u%M4TKHFOtUJJTj<#re8W~ zU+vqZ!H+@cpKNnlGA;w3wyfejoFh{-NZQ^0T#c=vco<9bxSRX@nyvt z1_#6AK5zpe@wX8SB2_&+K=w`(7I}!@youNs*Tu9A7@-;$6g-Y|XrV|WYe*W!zPkIp zSR@kl7BXr~HQ9)T^DrEG&!d9PRk~we5#%gob+y+v%dNYafC?6iWqlWtD*~)4Sgewg z5^G0a?=iwE=nBXAD*2m(c2!P+x0v@5JPk_&X)_-|)MPqRPsZ+_>Zgyk=OAG?GBOfm zAo})#FmPfE5_76go=8#<^#zLe>c#)?sA&z!;VK}vTCTNnAMRb`;+f{l(cR*3COyYF ztk}D8PA!cF;L7)&eGx@ZV_$M=YCy&iV2vVs$+o9@(n~%t+94oxKhtw!CphV3FRX}( zpEdeqNS`}+Tz;R2VMt$tjkbD3yL(j{|nk$l~kA*l=-;jVt z>n?Pwn3q+ZZO0n)S~r4HROm^-;sZ=S05PUBCcgfjK;M}xn=z7yRC5x)Z+a=|4qmB` z<=O$Mg2j4W66D^DfS@UDoCWb0t8>KEd9~Esx6~Wxm-VS6l`0~BatBT;43G{V^a}+R7#r)_%s%unwS|bAMN;h$5AGz9kWexiR6SU zUw1|eszI(xw6d72UU=oE;V-ID)p4N?e$-|eWu_aOkicGcM^I1@Pp_?&W* zFn;X%w;uLq-OnVJ5tdF*!b7PWO_Pmq(VO?+$=9)GdBL9$7X}OIeuK z%jS*zz-(JMbB&HCXR&f~a|^xj2`;Fbv4_I7plA5<(ON(KvcsKIg9i z1RHLD0a^;QiDL1Y-&#KRTi1&I6#^>+RtT&RSRt@NV1>X6ffWKP1Xc+Ae+if@^9&Dd VYu0LafuBAo_{gyU_Tj%@`!Ab;JU9RV literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts index bac33a233c..6d1a50841a 100644 --- a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts +++ b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts @@ -1,16 +1,23 @@ import { test } from '@playwright/test'; import { + openFileAndAddToCanvasMacro, selectSequenceLayoutModeTool, + selectSingleBondTool, selectSnakeLayoutModeTool, SequenceType, startNewSequence, switchSequenceEnteringType, takeEditorScreenshot, + takePageScreenshot, typePeptideAlphabet, typeRNADNAAlphabet, waitForPageInit, } from '@utils'; -import { turnOnMacromoleculesEditor } from '@utils/macromolecules'; +import { + enterSequence, + turnOnMacromoleculesEditor, +} from '@utils/macromolecules'; +import { clickOnSequenceSymbol } from '@utils/macromolecules/sequence'; test.describe('Sequence edit mode', () => { test.beforeEach(async ({ page }) => { @@ -19,6 +26,36 @@ test.describe('Sequence edit mode', () => { await selectSequenceLayoutModeTool(page); }); + test('Text-editing mode activates when users start a new sequence or edit an existing one', async ({ + page, + }) => { + /* + Test case: #3650 + Description: Text-editing mode activates when users start a new sequence or edit an existing one. + */ + await startNewSequence(page); + await takePageScreenshot(page); + }); + + test('Context menu for right-click on canvas for new sequence and for clicking on existing', async ({ + page, + }) => { + /* + Test case: #3650 + Description: When right ckick on canvas for new sequence: 'Start new sequence' + For clicking on existed: 'Edit sequence' and 'Start new sequence'. + */ + const x = 100; + const y = 100; + await page.mouse.click(x, y, { button: 'right' }); + await takeEditorScreenshot(page); + await page.getByTestId('start_new_sequence').click(); + await enterSequence(page, 'acgtu'); + await page.keyboard.press('Escape'); + await page.getByText('G').locator('..').first().click({ button: 'right' }); + await takeEditorScreenshot(page); + }); + test('Add/edit sequence', async ({ page }) => { await startNewSequence(page); await typeRNADNAAlphabet(page); @@ -32,4 +69,156 @@ test.describe('Sequence edit mode', () => { await selectSnakeLayoutModeTool(page); await takeEditorScreenshot(page); }); + + test('Exiting text-editing mode occurs with a click outside the sequence', async ({ + page, + }) => { + /* + Test case: #3650 + Description: Exiting text-editing mode occurs with a click outside the sequence. + */ + const x = 400; + const y = 400; + await startNewSequence(page); + await enterSequence(page, 'acgtu'); + await takeEditorScreenshot(page); + await page.mouse.click(x, y); + await takeEditorScreenshot(page); + }); + + test('Exiting text-editing mode occurs with a click Escape on keyboard', async ({ + page, + }) => { + /* + Test case: #3650 + Description: Exiting text-editing mode occurs with a click Escape on keyboard. + */ + await startNewSequence(page); + await enterSequence(page, 'acgtu'); + await takeEditorScreenshot(page); + await page.keyboard.press('Escape'); + await takeEditorScreenshot(page); + }); + + test('Supported nucleotides for RNA are (A, T, G, C, U)', async ({ + page, + }) => { + /* + Test case: #3650 + Description: After entering, only letters allowed for RNA are present on the canvas. + */ + await startNewSequence(page); + await enterSequence(page, 'atgcuqweropzxc'); + await takeEditorScreenshot(page); + }); + + test('Supported nucleotides for DNA are (A, T, G, C, U)', async ({ + page, + }) => { + /* + Test case: #3650 + Description: After entering, only letters allowed for DNA are present on the canvas. + */ + await startNewSequence(page); + await switchSequenceEnteringType(page, SequenceType.DNA); + await enterSequence(page, 'atgcuqweropzxc'); + await takeEditorScreenshot(page); + }); + + test('Supported nucleotides for Peptides', async ({ page }) => { + /* + Test case: #3650 + Description: After entering, only letters allowed for Peptides are present on the canvas. Except unsupported: B, J, O, X, U, Z + */ + await startNewSequence(page); + await switchSequenceEnteringType(page, SequenceType.PEPTIDE); + await enterSequence(page, 'abcdefghijklmnopqrstuvwxyz'); + await takeEditorScreenshot(page); + }); + + test('Enter starts a new chain aligned at the beginning of a new row', async ({ + page, + }) => { + /* + Test case: #3650 + Description: Enter starts a new chain aligned at the beginning of a new row. + */ + await startNewSequence(page); + await enterSequence(page, 'atgcu'); + await page.keyboard.press('Enter'); + await enterSequence(page, 'ucgta'); + await page.keyboard.press('Enter'); + await enterSequence(page, 'tacgu'); + await takeEditorScreenshot(page); + }); + + test('Users can add new nucleotides at end of a sequence fragment as text', async ({ + page, + }) => { + /* + Test case: #3650 + Description: Added 'U' in the end of sequence. + */ + await openFileAndAddToCanvasMacro('KET/rna-sequence.ket', page); + await page.getByText('G').locator('..').first().click({ button: 'right' }); + await page.getByTestId('edit_sequence').click(); + await enterSequence(page, 'u'); + await page.keyboard.press('Escape'); + await takeEditorScreenshot(page); + await selectSnakeLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Users can add new nucleotides in the middle of a sequence fragment as text', async ({ + page, + }) => { + /* + Test case: #3650 + Description: Added 'U' in the middle of sequence. + */ + await openFileAndAddToCanvasMacro('KET/rna-seq-g.ket', page); + await page.getByText('G').locator('..').first().click({ button: 'right' }); + await page.getByTestId('edit_sequence').click(); + await enterSequence(page, 'u'); + await page.keyboard.press('Escape'); + await takeEditorScreenshot(page); + await selectSnakeLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Bonds between existing and new nucleotides adhere to RNA monomer connection rules', async ({ + page, + }) => { + /* + Test case: #3650 + Description: Phosphate R2 of first nucleotide should be connected with the sugar R1 of next nucleotide. + */ + await openFileAndAddToCanvasMacro('KET/rna-g.ket', page); + await page.getByText('G').locator('..').first().click({ button: 'right' }); + await page.getByTestId('edit_sequence').click(); + await enterSequence(page, 'u'); + await page.keyboard.press('Escape'); + await selectSnakeLayoutModeTool(page); + await selectSingleBondTool(page); + await page.getByText('P').locator('..').nth(1).hover(); + await takeEditorScreenshot(page); + }); + + test('Check that when adding new nucleotides to beginning of a row, order of chains not changes in Sequence mode', async ({ + page, + }) => { + /* + Test case: #4340 + Description: After adding new nucleotides to beginning of a row, order of chains not changes in Sequence mode. + The test doesn't work as it should because we have a bug https://github.com/epam/ketcher/issues/4340 + When fix is made, you need to update screenshot. + */ + await openFileAndAddToCanvasMacro('KET/atuc.ket', page); + await takeEditorScreenshot(page); + await clickOnSequenceSymbol(page, 'T', { button: 'right' }); + await page.getByTestId('edit_sequence').click(); + await page.keyboard.press('ArrowLeft'); + await enterSequence(page, 'u'); + await takeEditorScreenshot(page); + }); }); diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Bonds-between-existing-and--de88a-otides-adhere-to-RNA-monomer-connection-rules-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Bonds-between-existing-and--de88a-otides-adhere-to-RNA-monomer-connection-rules-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8a3b0b9f5af19a5c32505bd5b6eaba7a3ba7602c GIT binary patch literal 14666 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
    E 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�#mG#3=SSH2(uo5pzKSR)=nAN<**mI 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 Z3nwvKwNyzU6JnADrKWQ!`{K2G{{v3TNLv5^ literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Context-menu-for-right-clic-e9352-for-new-sequence-and-for-clicking-on-existing-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Context-menu-for-right-clic-e9352-for-new-sequence-and-for-clicking-on-existing-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..48698341d8b6a365a31f7b045d5f190757d0ed0e GIT binary patch literal 7201 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Enter-starts-a-new-chain-aligned-at-the-beginning-of-a-new-row-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Enter-starts-a-new-chain-aligned-at-the-beginning-of-a-new-row-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..9d3b0003fd07f1a0cfa7aa7ee67853fc33b8c3d4 GIT binary patch literal 11133 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 F{1^SqPs;!R literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-Escape-on-keyboard-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-Escape-on-keyboard-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5351ecb499056357e50941eb18a97800ebab81 GIT binary patch literal 5943 zcmeI0`&&}k8pmuD@duuKuJ*=3ya zN#`6-T3#oeLN@}MB8H-tmgA_HB4A!1B}7mlF9@i>SveYP5D0|zsguXfA`mMY5Qr}d)~p62U;SO(4=xsQXHotL8plC~Ky02l zb?m$IiA9Rh(4X?v%^fqU3bp2|PS4!p%0e>-`-Yu%xjUB?@D`8)4A^zhrVHO`c* z$*&)>CjYX}KRDXIY)3^!Veoz2)$;g0__4&Pd|y^sTeJguZ>2bL;Vs9H^?bQ-;-97J zq}Q$cd*`HHEyfYHPG2IuJ|&aMTtF<^V*3G+E$G}9fA{eV1Y$$v$#nE>@s+MTsye@A zS>q%)bR7L>FW zz2cEvzF1n|F7sQA$D6{qvuR{Qp=WAfx^d~@5PQjp^kfiKLJ*aEfKvL@w9wX|*rU@Q zYRST6RVjlsH&L)B(x0sn`r!sD&f%s9YxKSz0EulGl}sknTby6d%y7Jo6&jK8mjuNS z6jd~%iq}bu7p}Z3;)}Qd+X1JQyTQsENA6l75Jy&K{4ec2C%tb*ME~e$7$zb$UaeLG zvPB2uCM8lC52orhfkCTDin(N(RcxGSN_HR*#kC*wU?;DHD%9x4=+vE@`S>)_TI20*>gs^ z(Qrsn$CXR+Bk(2ZY93~)rUOZV;ZOpbvH9EJ_p?3#+iI4@_686DPawb?{qf66cCv;K zCO}zR+-R@wS~~I$4A;j{va_>?>aKI0q+a-u;2fXXlhklFOW9&HWrwVd@?) zk$bOVh(Y1g!a{KZ8uh-_7CsnEIUlzYNIdwZwv`IA#vi)K)q)6m%y2!=(lO z_-Jn69NI&iFw$_tw0SHJM*-tB7K6gcTNQv<FJWkn1YUT<*09^JZHnW5;syV@F#;~XUO=@Ak3 zUid1A62u!NibiKWCD!(y144E(1;+BLE@W2S33#&SS>Eoj5OGHi{a-s#_3pwB$MlO! z8WkOe=X(8GwlN`yOGeXWT(YCYYZZ_nacea?@Nl&+Nj^~Nar4t}1s=E{9@^!lW12Ry zOPpfVYkI^FY@Lw_slWf{8`q8)2*O}6bBWzg_CgTjmaLzp9nZ4Sy_(~Aha!Q$+`i(q zV}<6UqSNwC!s5Kl?MV%}^v13MXc&Biph`K7e+1j>WbH7Yr@B z+3uQ&RUgWcM=nhZi7Fxe0729c2E3pc7W4;Oq9#EnhlFp-v>_l>gEi$aJke8#>B@7Z z0E^*G_Lb-82o99eWJzC!@jApv$=L(ENcHx1lcfeETr|?ppcQ9^iCFPC>V?`DKXgC2 z(O&cJk-fmjFrMYMzR{p;RPnR7dt>{5J@rSuBq!UX?VANv77jt>s2u!{il3eIMz$C|b@HU{oTFz60)b^ssh??2R z)cL-o$!D2xdAYcH$MUP0^;P4|M#EBOlNFOrr%N77MEx>yX}FrJ@z$1%#ZU1)azaV> zH<~tb%IM~0@UtYKO)pIS?n3wZwAe(NlQ*iGDUV$+K`2zmM&?lV*1csD-A~WCvFFbM zXW@;%&B7U$bsj0&&q-tVw_pJ-ko9`CfLRA01lkmM6Y;*rW8W$kD3Gmb&i$wKhL~K07uO6tj!D`;f!axVL7BZg{1%7X2Spm z-4@hNXwfg&?Y(@grN;&&GjoqN!xEWT-Qs-X2$4wi)qTo^Adi@#I+l_(wSKAlRVlPS2f%1WN?t-PjVv(((w z`r4>o+E`nrfKLs@Njb$H(Sy|m`>uXJnkar0uVQOFBb;v43Bk>xoC1mss~maNB7X+$ zL}gcH?PgWf#|#It*=$Cflw%6_bm?LCX4jDO`4MS4dVxI<_z0g5l1cDJ3P4^uVjpYs z6dX6VBaZ%YSpRusn_DvhGXXOJGXXOJGXXOJGXXOJGXXOJGXXP!|2G0-=@td^mk2?k TD)4I@fjD(M;26#S(w+YTj8~71 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-outside-the-sequence-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-outside-the-sequence-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..894172db0927b9291f5739e8f4750c0a5d6b661b GIT binary patch literal 6576 zcmeH~eOOX=8^_PIWoH`U4gr93BLFxtmMn&@eEyC3CA9k>{ZQ~OfZM+MH2|z4?Ax<5 zBJy2W!qA7EV8A zu^7HdSbjrjbDHsgGJ?<}t*)A)gSuSz-i*-6izAs52XgtHSJ@VRjIr zl{h2{LvLcow|(4(g8{((jQY6f3egPFJ>j8aTHPXL zFWU**p2+V_KQl|n<&h~gy$_vf)Y8(AsM9*^bmTOHmwls>AKE{ZmQtRcY&M$}kJKCF zwA|t6&K+|W5lWXbH`u~r2{g_L;BT;O!*y^e0My(h5;T%GyAs;U1Em5%r2K(P$DJc} zh251Dvby2=tj$K0-wso#R5(lD+`sLe!MP1Vg{zw|>5+G$G3kNU60AwO- zS1zr{eKXcP`|7Keu332PU9Mmz)KS5tO5!w4D?tuhwj$t2k$3jp0Fz29w;BS8Y~>ON zcKs=Wrk`rafrJpOxU{jD*e}BATQ*6tbqVE%x~f8L{82T<@Q%eoj?6SD$jMUn{NQeL zZ-Pnk!E=d5YLmG`Sa*%Hu8zOA4#P!?tB1<_Yp*0{)W8vAK^UX8M zL!&SX+1#7md<(vKF~0Pk>=9>H_yGXq7H>nOg4`IKhi~F-7OST&lnX5kKZ7#s&4Y7< z>G5Kswv6m$y3@`bF?Tm_V6${dGA~TWx7g_UmE4b_v7N||TQDS>+5`T9*N)T2bKdd- zV~YE0d_FJoAJ-raYhgTB4_~?6&ENm_{fTibe*RHlFa-moE3-q|fEeNA-M5Bb@~m87 z?6)G~4QS${{0A{pq5)GiA6lKIvE*S*;J%5O}+AiHTfjEp~ub;lD4sY&ksB} z+%Wl<{TSKZFWDnf8W!5I$@UN`E!pS~C1S)qwLB18M{$JmoXV)-TZirOla79iOa0>B zBrt|BSR4v=%^8Oo0i>2EpaHk#P0WDzDPqn@dL$PsZqvh5(?7_eqqP1V(2L5I480W0 z{%1eYvQ(I4Oh{zM@<%$K&vk)FsLyH41YxcVIovJq-S_I#&yz?)=Qqgj90`_;)|O6w zY_rltIt&jU+r;vUnK|xB8Ef^efpODo7%-5kyc)FY?ECpy%osB9MuJm#tCP z+(@}V?CtO0lD5kmKNZc1<_nOQGnVxo*4M(sQ?#UVk#-CBQvkSbWw1G^f5DO$_1l`AR-G5b^vnuY0?twTsO+N5%Tu?<$o+Wt84$X5N70 z#_a4YVY1v2UxwC}Ax^Z83G9;w4CHpKW0FOg%E5E;p|3iiW}e`foMLRX{f&i)JF7ej zJXDeAV5eWyaOV3E^&~+PQikMT_QpkeLZvxuTClo`dB|mT&0J(#rgiZlsNIvs!-7RR zbHnPKJu#4kb=caw?gfqm;tQf^-sGFB znAO2BS_Q;U`LC#)^g6JLAIgOu2#U@G6SYi4RdSP&iM1Oivl0i3dC0Z7ogc#Pq{X?= zv?n2Pg7nJ8lW8(Bf5o>mxf3GeW(0ZiG0yIoH?pz)IKcDg`@b``0`0N3JL;8U2UROTTjSChRHmFinHL;=T&>t$WZ*RyR?yjT1 F{1^SqPs;!R literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-outside-the-sequence-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Exiting-text-editing-mode-occurs-with-a-click-outside-the-sequence-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5351ecb499056357e50941eb18a97800ebab81 GIT binary patch literal 5943 zcmeI0`&&}k8pmuD@duuKuJ*=3ya zN#`6-T3#oeLN@}MB8H-tmgA_HB4A!1B}7mlF9@i>SveYP5D0|zsguXfA`mMY5Qr}d)~p62U;SO(4=xsQXHotL8plC~Ky02l zb?m$IiA9Rh(4X?v%^fqU3bp2|PS4!p%0e>-`-Yu%xjUB?@D`8)4A^zhrVHO`c* z$*&)>CjYX}KRDXIY)3^!Veoz2)$;g0__4&Pd|y^sTeJguZ>2bL;Vs9H^?bQ-;-97J zq}Q$cd*`HHEyfYHPG2IuJ|&aMTtF<^V*3G+E$G}9fA{eV1Y$$v$#nE>@s+MTsye@A zS>q%)bR7L>FW zz2cEvzF1n|F7sQA$D6{qvuR{Qp=WAfx^d~@5PQjp^kfiKLJ*aEfKvL@w9wX|*rU@Q zYRST6RVjlsH&L)B(x0sn`r!sD&f%s9YxKSz0EulGl}sknTby6d%y7Jo6&jK8mjuNS z6jd~%iq}bu7p}Z3;)}Qd+X1JQyTQsENA6l75Jy&K{4ec2C%tb*ME~e$7$zb$UaeLG zvPB2uCM8lC52orhfkCTDin(N(RcxGSN_HR*#kC*wU?;DHD%9x4=+vE@`S>)_TI20*>gs^ z(Qrsn$CXR+Bk(2ZY93~)rUOZV;ZOpbvH9EJ_p?3#+iI4@_686DPawb?{qf66cCv;K zCO}zR+-R@wS~~I$4A;j{va_>?>aKI0q+a-u;2fXXlhklFOW9&HWrwVd@?) zk$bOVh(Y1g!a{KZ8uh-_7CsnEIUlzYNIdwZwv`IA#vi)K)q)6m%y2!=(lO z_-Jn69NI&iFw$_tw0SHJM*-tB7K6gcTNQv<FJWkn1YUT<*09^JZHnW5;syV@F#;~XUO=@Ak3 zUid1A62u!NibiKWCD!(y144E(1;+BLE@W2S33#&SS>Eoj5OGHi{a-s#_3pwB$MlO! z8WkOe=X(8GwlN`yOGeXWT(YCYYZZ_nacea?@Nl&+Nj^~Nar4t}1s=E{9@^!lW12Ry zOPpfVYkI^FY@Lw_slWf{8`q8)2*O}6bBWzg_CgTjmaLzp9nZ4Sy_(~Aha!Q$+`i(q zV}<6UqSNwC!s5Kl?MV%}^v13MXc&Biph`K7e+1j>WbH7Yr@B z+3uQ&RUgWcM=nhZi7Fxe0729c2E3pc7W4;Oq9#EnhlFp-v>_l>gEi$aJke8#>B@7Z z0E^*G_Lb-82o99eWJzC!@jApv$=L(ENcHx1lcfeETr|?ppcQ9^iCFPC>V?`DKXgC2 z(O&cJk-fmjFrMYMzR{p;RPnR7dt>{5J@rSuBq!UX?VANv77jt>s2u!{il3eIMz$C|b@HU{oTFz60)b^ssh??2R z)cL-o$!D2xdAYcH$MUP0^;P4|M#EBOlNFOrr%N77MEx>yX}FrJ@z$1%#ZU1)azaV> zH<~tb%IM~0@UtYKO)pIS?n3wZwAe(NlQ*iGDUV$+K`2zmM&?lV*1csD-A~WCvFFbM zXW@;%&B7U$bsj0&&q-tVw_pJ-ko9`CfLRA01lkmM6Y;*rW8W$kD3Gmb&i$wKhL~K07uO6tj!D`;f!axVL7BZg{1%7X2Spm z-4@hNXwfg&?Y(@grN;&&GjoqN!xEWT-Qs-X2$4wi)qTo^Adi@#I+l_(wSKAlRVlPS2f%1WN?t-PjVv(((w z`r4>o+E`nrfKLs@Njb$H(Sy|m`>uXJnkar0uVQOFBb;v43Bk>xoC1mss~maNB7X+$ zL}gcH?PgWf#|#It*=$Cflw%6_bm?LCX4jDO`4MS4dVxI<_z0g5l1cDJ3P4^uVjpYs z6dX6VBaZ%YSpRusn_DvhGXXOJGXXOJGXXOJGXXOJGXXOJGXXP!|2G0-=@td^mk2?k TD)4I@fjD(M;26#S(w+YTj8~71 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-DNA-are-A-T-G-C-U-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-DNA-are-A-T-G-C-U-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..5b3609e783ada9a204168591c52322e27ffa0e95 GIT binary patch literal 6832 zcmeH~ZCp}W9>=L>v@&&O+R?HRwynvTY1DNJoiwzm)NLHFNzqb~%+f-^$`FNsp4O%* zwTGE32pKbr$_!5D3I|$3M33fSN#LG`yu3 zcMqoC6#|(=cJ$Z(ESq`0T=DAFu1Z#5`QySq!BkI{8kd<_o1dSrO7?<4?nf+13dD^M zwxH2)`W#=&$e_g{kw|#T!;lQVbZS&rz5oKr{LS}SW|u}$Q^Uc%sXqWe@a(Cgt1Gs% zQoS3G$4jLf9Wi|-%8bp<&PJoXk2DVmTA>nPdfd5-gRTkg7+na417BEN&`pr&I2;a` zJBOp>VG_~kf`S~uA_#pX&tNPI-hIytM;^j0Maj6 zT#G^&Z{V`%0TvBH4hLX(qS!xNBc|)o>ExYpV>{5Gg^LibB}hPbC2Nco9V_lGA_6 zi${JxROM$wr~~qF+(aQSpAdA5H#1f4ZLk9u*ov^ZwgYH1acVZ2?@sMUNb5sEjg`FM zo|GJXImkdza(pqCB%Q<%N__Ey^F3akP!&+w-P2Q3S68R3-4nARy$?;Fdg&f-pR-Bu z&zY&?m&=KItQF~qqR>q1QO3EqQ$^5gvxlkg+~rjbDiW@87-6=8YcnDTtm@4(^=25$ zo=Y8QEAB#=<=kjC2_>9!!@L9lX9#3xpSMV;rbT)meewXluX&6S@ODT%T2JSmTkg|! zEubtYL**-!^EjL(k+3~M)=4Ed-_i^LN*dVHId)JdOE6JIQtRh~&L)Jz)sSQd)~ zR2N6Gi1hy1?}8j%H;2RcetbGXeC*KkYe%yCsAhlMVDsCI8g8RzvbH6vSg|M@24=Fx zJxl}zi6DaQrx{WuLH`0Y4 zwinUHbiSQx*sp3ip&x3&~2JwI`A^){TQYlG%eB$S&))jsP^XG=BLQVaE6by}g1 zSqt#pdb8N%vC>G*%b6koPin7@E-{uS_f%NN))XnkM1R%fhhMh2jsDWZ;n=3$G)!p+ zS!ahkD0dv%L8H$WsAX%QHJk`H^<6({zY)G~y2EtU*O}O3xOm4QM3d^Go46O8@HNP~50eACUJV{N^O@oR=hPgL2lm9psi-m!9LeBb-dde-#dYcib>lIIR zYdKu54lWZ8OugIIDqGPwt3&YKzJzPv3WI7BOs|YdOa>#_+|<~J_U5bW-(TfZl1W;v z7Ie?u23NY9z92{yD;fQ+!ig}rsYYnCb`(Y~!b?p3jM=d@rYCl*`0)j=@xftI`-n(s zE(oleDX+q)UhP7o(|_7j%@e&lB_6!&f|IQ7$vKpq-5EtcJ6tS0*5-xPUP5T?6--OV zdQ-DQVC1bu$)_cy6oZsc5Rdo}L8tBd!MQ;Fjudp9pevT;%+!Qpr>qlVy8aQICZm$~ zbD7^AZN6Oy7-96A98SL5o5uV(zsyyuBsuu8eA1CQ(|YKm7&Ls?(~NF&;R>|Zeuk5q zZ=*1j&40bPq^AI|>*zB{#w;o{HRqA;DLd3~BY2$U zFVjv?!Y0SbX%8NXb%mRVDt3vDa{8_W4tK4ML2bTwZ}yQE*C!^zb^JLVihX=5zOLnj zWdt9_Z;84ZM@(@UyL#G5@$Ou!!ks561zl3xBtKqSQ4)NY!DMPU8I{2019CK4L5a?b zhr^{)je1w_WA_ua<34O~-^=ZtE%3a-BXIk;PcSs=&ig-xg8R7?bN9bjS?Hv%`ne4E z^zxU2y$>ET;2Akc#>Ude1wCa^8bl08v?2j(pYZ(C#EnoU*2TlOdZ^+goFK$#5kBnQ zSs}+dfi33A{}9HWro2u$OPH$Lb~ZCnh_OqNwBZ-yvp_q{KAdKUVJ)LGOzLR9*Q!++ znnPC{m*jxz#DYbd3t#&vR>q(-SM$mumet5?ZPCZtYBeVvNRA0Zk96b5`X4A>(~ZUT zy1+!)s0C}ZC^v)l7POVUxR*tO#*tJ(q=q6k5kLrlWXg3Qa+r%Z#OoAynFM^S-8ay_ z8?0cFWsYJNhz1*hqP&>KwE*ITnVv=zEC^(pp~RTGTEnL5g7;dZfZrK_a0tl^{MrEW$_W_-p;1bP{ZJP zf8LHO>lAv4K{c`m^cjqz(oyq30*k3^u-pC#SnbcZ^91Gz%oCU=Fi&8fz&wF@0`mms l3Ct6iCooUo|3_dtEG>Im@9oDb$L}g+M>uLbZ|mMu{{luO8QK5< literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-Peptides-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-Peptides-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..84d2cd9895f8ba9b1a91445ae2cb1fc5f4d9a595 GIT binary patch literal 10808 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-RNA-are-A-T-G-C-U-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Supported-nucleotides-for-RNA-are-A-T-G-C-U-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..f24d5e6f5216a2a654c3c22ea1f402c23ccc2376 GIT binary patch literal 6682 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotid-d6745--in-the-middle-of-a-sequence-fragment-as-text-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotid-d6745--in-the-middle-of-a-sequence-fragment-as-text-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b8201b90c6ecc557a0686794a1ae3215e325dadb GIT binary patch literal 6344 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-at-end-of-a-sequence-fragment-as-text-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-at-end-of-a-sequence-fragment-as-text-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..3df3a8f3add77a27072543976f2d61c0f06a3576 GIT binary patch literal 5986 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-at-end-of-a-sequence-fragment-as-text-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-at-end-of-a-sequence-fragment-as-text-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..08117ced35c5f4dcc9da27ad5acbb5913adff022 GIT binary patch literal 11572 zcmeHtX;f3mx+qSER*{G{0y3n9R$5UIqkx7%8xU<}Xl0Nw3KEbZ5I_Qiq0trt2sFn5 zkV&u=1R;$GNq_)K0xEMeLXH{!_bl?fS;5 z{SEb1qMeP^j%|Cl$;im;IDgLKl8nqIvW(2e$KU(|jC^}Y^e1?12)$(WqfB{++N6xk zcQWTK&e%uf@P_f3*Ky7xLQ+l5^KsMrZ5IzXh3wn<+Y^ei`8PCz8)xe2Keje`KCsMp zn0@8p$Z*iSpb=wnW=pfZScpmSR98#nN{ zv=eYH^ZR$fVC>wPk&QAkzujuw0$AP>za324woyq&=9h0b>w-xK{|5MP(UKf&StfIC zvD{?_UP>PeEAv@#)BiJ-%c%D1!SeEWl|F+!Lb#5fLU$^mc!yf#~9(3u@Ua zr!*1vN2)3+Dz??{e;u~kk)K8zZ@45_Ib{|?4_Ia7=kQlfb#`GaS6--h4+?{60r8@Y zBWVTqI|zf=?3Ku{mia24x$r^|N~66grwM;!=^PEe)?$(K8Y{y!I-$|t0#EuVwl8S+ zYsuYduAQq=5fI6i4>WD-Qpha$l35U`Z$7MVZiPh-@VV9P>BndZ7tOJ?)6V^bezSr`2=BiaT)vgA8B=~ zU*IV;X@!(%!n{XbOD|Z2Wr&w%@Ws^H!llMsh09zzDOW9d;WE7oy8t-hxK}Smc0H{DCynZJrs)@ z*Y>ID@jE;BrdD%-KlQ1g9jt)?qSp*vY=p4Cr}9{Ky?+#8zhff_#viQIvvIA`blk!4 zYI^r-v1%?q<|7e*-HIZ(ZnAjpq#ka3xLzw}q2Z5;82y#T+)x}T&F1LXtN_`74S0){C1LKf|ow; z5b~AWm0QvdC)=7;AZ^@lF2YAJq*jxI@)`42Zw=h77V&@ms9$g9lEz{)V>DW2Vt*}U zt-(hV7d}c^xjSKh0x@a!6!!TxyA9}KpEf&jo81|7@lHf95?zc(`_690z=x=~zIj3p~S10U=o#{SENyYeuaMTIuYNa{w!DfUu827Z0}CiLwg3c9Z8XhPE^*v}Z|m zkDb)u4cpG+QeL8c3J1o6Toe?_wCgpx_s$C9U4L)0qh}R-K$t7~Bpm9LbI4J7tQ3Et z^L5^#@#}qql8A%T*Lw!%uJ;b^&w2S=`zeoW<*skuhfXK~bF)=SOcC~hXy4e)x>S9H zde!HElm6DJmJg~N4|qwIA|E%M`h!?k_3Eg3pHD(b`~Tw7*JHD;Nq1hZE{^(MH#SSO zi;?&EaA27uF~5$yIkR92@h=pPo9#CV$nl8ao>0g@?W_=-rcFf9vN6i@3hKW*&t%{_ zI}ErFoZNOhd4!xXt`Ei4t=YyJ8Uz{DH_Cr7+1hCp^8@GdnhvMBR?~*5ChQlV9dh{6 zGn-a2vT19qKu>xAv-DP7-`H5qESl~uR3+lAx6w~doyyxIT2hz zLuJ=_Y)BYtwOhnc@*o!D^Q37CSZqOHTbCNb9;~ZZ!spBa4)k`sMNW~FiT3SzZmoap z*e)fHh-+>k@Atb4ic~k^(j(h-G|OYp)B5qrLABSK63867(>(VN4*9GQ6;?kz8B_7e zkeKFDwnwjKcIi&FiR5La=hy?pcA_)wPL-V4=R{%K|RN@7YnXb`gyN%{L6K#uTeFe+`9AQ{AKY|)w?~%4U+=@m0cf* z`IG2kGX1!D%2};&-k_o(E5gfodEzNn)VGC!l8LW`L2x+Y(oEg7c)P1+y||8G z75*(#`sW3`l<^!^ei8QsN#ainsIXdVfV9n!cC~INR(XmBBPQu|RyV(y2TP+>-%{Fx z_Dxke1gx*Vd1#v*7J36JPjbD7m@jdn9%2boaWreg;cppkq3yTChVYFzg-EeATPlDr zeLAD@{+gU3-eX`k*rb{ow*g+E;?Xauj`=gd(oNzYx+WQ4J38_7w@lH;iCI^0Cuva0<;PvHQ#QY$m-T*@$P55&ok7uiv2Yr$q^s{eAFc;)0!t zUnwKwRe#sAb!h%%!Eb|D?FXd(nv{PZy4SCY(}5Js3`kQgNB%@qSrr3N1*-kalcs(xfqW+4UptSV-M?|&)IJ1u4j9Zl z$Oea9+?c^~sXvxrV^XA7Tb_^gpannGTk-fQ!3L@AdEHxptMhZ0%Z)fI5ZCr*{)?3? zF-C-iZN&ZJNIX27+!=M1TNBb>svhUr$#yQujfk>14>O%m)@ao09(-N@E5o-~LxkuQ z@Md@4+M~} zV()~gPPv@GKc^~AQs{;pMldZRYiGQR4NJ|u1v+CrWvuG2Rh=y zDS~5X+o)Q{Uke`;?=UPhIib*<(=w9wG6z|ZCmo81F>(1lN!ey*YL^j`m=(bT>#~Ts zP8%!g3@Ile!E=JV+tZhqKp2=Lyhw};xSV!{ba2YY#4I6|ZQRB7@<~W-lzZ4B2f~vn z5IqhVpo{I%z8-B|>DIQkEh&a9Wrhbn5XG1*PDx35xYD%AxTzmMEzE$crMBR9(0iUz zS7fWPG041|o;s}Ak}M;!^CqKx8XaR-UR&j-_K!u-X4;0%hmaMjz=k`5Qmj~5jL-iD zcEZ#-8P^bJR2^HUk;b1HcJ{ySOiNUC5puR?3-gJ2lLN6zzxUl!9#$=@h*7BQ>CVf_ zLXPjyOZL5I5!g3aTxJs6Wwj&+{^6{GJNo9}dE_1l#L*M)g4yW(U<%9*BUy zxx8SuGpTkoLDh5ab9;q%>!UO9ZFjHzi)V&@>7a*_AXex9yFAU$%gc**2EKU?fn?qz zn$1VFbyOF2E2s8!epE|oo_zvKzAa}Pd;C$#nuCQ!+u^l}Oy{NDw@ts7KUNi_Y5K)g zkhaNoCheiBBVC8J{NV~Uk_UmzMEb=UFOBsmC{$p3YCgWcA$bBzybWRp)x6cVi9 z1VW}W*1GLwgb4a@Ji9Dn;!TTZc(r0vlgNnMw%fhcp=~S-A%C&W!h)8R9`(|Nr98jy zNR+I+8sUg*HLcx{?e-z+>ju8$=*dF+_;6cMti3DZv}WK|8kT(8BO+E(GqY}-wXi7d zOX}`UyiytN-8+q;W$+OBO98+&c~y9|q#AvCa9LA6kx3vd&rlV3S-vOg{eQ8lIc_3d z+${vo=_H>r?vEY3QPey;8+?(MO-Q3o!oB8&F$xO$2>spc#kaSygWf*$SAANyO~>|6 z?#^Gletd7r6%t1GH~Cb6Rw#TyAY7^PTWUQ}NnS!_g0WNxY@v;}THCw7L zZ%m21+EQab964Tnr9sNX`M^?`K=uWCxjQ~zI6lwlu{BfoXOt(7j@GD@6wAV+kAju- zT>3&W{6!v2ZKhdwXOgiHrQE2ggV+J@jOO#&xynWP(w9MWUI8PdvaGmWe2#r3F7ad|X!=mbFL`_Uv-DAq9yVm#E zAWzf_R>}#YX-10##|}z3d`!N%IuO@F8PCJh$h@7DPyQrk zcR)4ATMvKZqK%D)KEw(~Gg#;4K!ExQ@PeTX^1`DRD)Z9_F2;*}*{ORW&fHcOc*(Xg zQ#}=uH^i2HRjG)e^jTfEtF_PfIOmgIoO2GIPpQCiw_2q@td(o$52@s@jumkWR^az) z*`aq;N}i;s8q#>AIDH#q{`;rRfp^~>Ve^M;y?BFFe*uAb5yWk#VoGO=UCd%JmbouP z2?on5DfSwsn5e<>4l!nFcRdGaYe!zE$l5*}KL>wdycgDfkWs-O(ntj(EpiU*|JfhE zg2TXCZWn#H`4UOG%YAd1{!sGUL0qs-aW;7eF62U=^-uzm@@(?+TjQZSha3#Cs{FA> z&2kQ?uf6C0c2@GO#5FNW@*cJ@R`^68 z>vjBq*~j}{9Oj;=YbCKPyd`^p`?BQXw9l zAT{Gl!9yQ`&}zszA7jHESd@mDN=Nq2xr(^82wcN>xVW6WYN^ybZYs_y z?;oc6qh^M6o_ubSb6^gM3pm)?5rO$`L;7s*noiyDrQX0H-FX+x%7VIkU~TWk_An)q zVD&zU?oX;a=CP#ZL=QwQMvwAZ4)}Qbxs1vG3Ebq>7kl@XD6-HYA;&agBk(zq&CbHc zO=9|hPd=0Wfu~#Te9NzOdr%02vC!hg*GRDio`WoYvq@inVEBERyXvH0?X%|JU_8pRNz_E=#bq{ zYmF7RfP~q;%%f7%Ajq_QHXOdTXvIxNt^PQ4bKJ>Oz~bP3F~qniP4|}_0_wk>P*OIq zn3w6XRP!Tqp0m=`mgMgl?u-l4J#wNmsvpe=QS4XNNb0j>zw;+~IeR%8ScQuOGK3A0U#74<{RS~UzvU`z>WGOaPjT+tP`y3fm>(}#`JOzt0cEs$oox8c3 zP<2OB%&w2N%E7Vbxaxw%d|?ekaxr>LYweORH6^>B{@j{=EASvlpA2hP?{2r`|JVR) ze@Q-ocC4#O)^dM5B`N^1(fyyOkB}fl@`|`(+|KyoE&4GX-$Ch26fChWaGhc&Q?MUi z6g7{HSrmvIb>XQGwaTkx%M1(*J|jvu**7;mr}5tQ7Ma4eyyEsKl+~B*!_+!8-wtuh z)Vrtx%icvA2IQTfX@TMo5g#9r-7}AA80^QS%{0bug2Gtx(&y|8&YkK*8>Tg$?oJrTuAaR zQXg=9Pf+PP7<>_B=FfTyep?cQz|@#vY^m8k$C`8+OJcIX(G-LDPLV|IUT=G#wofZq zr;q``5dmDL%N#puVOBV)$Y^d$f(zc)Pe|4gOy7hM90LfZAq0Kv?RvlO`(T~lodANB zq5<+^c6#j}-NK47=|mp{C!KTva8ihHDS(r7ueUu=+qXYh2VDTc5eLXepZBjuF}PZo z75@UI3Ej4pp!F}UzzhDUZWu!6jU3N#-*dS%R+tH9$a>X7Jj(jiLodMQv7-Sy^3CgQ2h{3n zY$S0~6)BwX*~eN=(TEV3?T~zbg>IL7CX7{~2_`=R)VwUq$?7lH+d8OqcLRA&@b8dr zy45I}&z-13l{j5Y>F7C#Tq*Y)AXoYZkV^*`9GlkL7O2%V1qWG1kbt7L)VeVw^tp9i zkEP>X5IWC<62W>W#1~S>Nidbiu~$`9^@lBgm)U@>RJ1iS*$d1?>e;5P6-iS)sC&M) zmZ4)wP?Dt&G84XJqS|Q1dz^BVSS(p-c{=PzuMw5X#{8g`00dc{4^-ey`ld#+pTO=k z`5L$i=kvO+#0~jjU4OoeX!j+J-^#dy3?4ZhFz{+Wrhe)3rT*PeS#92OAbwiw!~bc4 ztxL(=+#LIMD>$X`xS<0Ib$|RmGhAzU;J|^OTy3FLuuCb;Od0_l`aLVthH6w3$*|~= zP1rsMr-#+7;2S#oD?`US$fAB%?&w{3YIk?{8Mr*C?(NTs{_EhMZ{ve5C zPS~I4p8@v*G?!8BvI{Tfr;r*XJnZNlrDhQIdtJYNz3c8~85z5+T3T8^6B*pXWZk4s ztr;0L)kyLd-Vg=B`tpcGt7VDGfog%^vO)xTOAJ3WKUs%Z7t(bXFxR+mGv*9PBP-DD zkI%rNlIh)9g-^E@_`}ma81VhjJN5r+WfCf(5h5lk3Kn}B{ApUY^57`XrE{ScWc(e* z6vYPV<(`VA#qiDrP}8)tDV&>> zR4w+Z^EqHiBDW50hzj!obs3m3=Mxa}%O&GYVNb@=-_>W7g+g(T)_j~t1 z&EP1|j?u4;M||5KpQ!NZ%==4UJIPz9BU|(cNIu!?FP$dH#>gbMzt_%J3yNq`<$$_X zvQxuyU&W1{=e`En?mYj1nK8l@q<|Rrzn#2K_&I|T?}N=4C0+8!t<20!LR#D^SO3Hb zMe$ImtdjUZ*{SpJPZC(TkM|f;DdWBd`a~T^I?UeATL(+^Sm}aAqZ98gIqn zl9ZUAPY?;@<^2k-0{1Sc5^_1JLV#UWDHCI@Y?hS7b9}$BzPV-n+<~!dT9{ON`q2XsC2Owm(>Qg09rj zTxokm`&5It4(+z!-hQbctc~(!a4^>-BCw^Clgi~{TyCGvppcC+8)jPqO#gTZoS!3q z{QAk4dc&8~pyQ*w7^}6K$;nBwuvwKm=ub46V)XebsP=Pd_=Sy|8|q#)zuhD2O`0k`KW4g%l{?f|6Nqz2VWWc-IXQ0!T8zRynK)r9mnn4T6ww+sv1FsPOgWoy~~+ zyBPR@qY*|BIVD}34iqF42xiP>*2j85`j5;Y36tr`v|e-cRRt?b{}IeqVuwzj?w5$y zLRU`r14ZjU8Gk1@Ob))-aol_< zcBR&=M|@K^R`LnU>f`K@k$Kk&VlL#kY%=@(k)MVj1;jU&{Sph@J|zFPcvl4p!3_(E zzkeg?$0!vF1a!r3Glo8|8A3k-yv(;-hqk$#8%uHpOYmYBS+URhYyTh!HypqJI;VH* zP*S$-`Z%cB{GfJZeYjCAzV@7&?$yYJG4&2yGS3-f*w>|F57Kql!cYkd`z?;mT z5C3JO|Mzv2|CZ}0f2;LxwE_$A_XV)OZ@v9}HxSCM{_|KA_^-cjQ2u>w^gmAMKq~qF e&*j?1wbr-%p&uMyNWgy~bKcU%qWs6JxBdqyX&E5^ literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-in-the-middle-of-a-sequence-fragment-as-text-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-in-the-middle-of-a-sequence-fragment-as-text-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a3c577d8c2bba96326034a1b35b18f3ed64396 GIT binary patch literal 5990 zcmeH~dr(u^9mlVt=&p-st)j?dXQ_iL;-eU0fq;m@QW0U{hLS*{LnRV~z(Nv3fT*xO z7L`_16v1Fsh=C+3gl7^KP*Q}DMF;^R1QrdN5CVkDD}?ld+v!aIYx_s1GdX{pbLY-^ z{XW0%_ndpL1_$|Dd~W?Y000&N-yZo60L-cZU}gSVbNJ0~cR_F9W<~OM{)YihyUj-c zu=+CKh)>wL0!=^WN**K>O>hquQ_u9iNcyYiE$r=+rwBfK9%@)*XHDb9oqtAeO*vnb zz1}KBQ(BarkhOZV)9-ff5(i`AOZXGP8&*^Q_VDI@k3(^%`@a3A*sXmuyU@t4kP+JG zYVY(k!J%18$?UM+QzDfsbab0;x!fZd-pu%RSH9E?emLZ^HWF^W`v0vfc&WgkLi^JN zGe~(~t=38EnHwGay6hJd!6~W!C|XucGG5k;XGE#H1rc(shIaYq^veGKZ*9pZ(d}-+qpd+BSB-0V z6s>Sxu2`&_9_moA2&M@L^o_9!;C@(BUAn8#9=-;mWT597X@%<254Go zDOZTLr!OQy)6?D5k;3p~W!uvo$L@4xeYVM5(5{ns<0QzLNDxF${p`z29BOQS{wmu_ zHXxvtvIw2U#~qQ;E*u3Hfh*VgTTJLy1LslCGChviAX6(gZj6sN>b2{)yCy6gjbmd4 zwPST!VIQBG3{6di;c&R629L-0Cy8u%aWYOWTKmchSGLCPT+u-KOn+ZJoo@Th_m71O zldY*5o=gRgPB;?mgwV|+F#lX_W3}(g%6K`eq@;w!;?yYfS**Tirsjg?_(@gSIPfMn2A z=LyDCfw;R&Ejud~+KaxBE(bSxWpYE(?x5lm46IHmE+whErPCUDoOVD!8mk#upIQh< zf`Vg{=In1L>C)cb2qY2-wKy`m;21rbkh!@zi$(bO<_Sr!sR{?B7gw)i z2?PSa8#WQ4B|(OxBX0x6wHe~>QGHTdFcJp<7&6J&;=g^=eo4rZTOmd z>eQL|o@WmegmX$CE)ULm^T^TcErp4roVqaEU$&}roJkoqDbbR@*x-mEw&#lYreKE`E|LiS6a17WVOwfcCRD2 zv+Wam#7hZm6Li2}WzR&;{h&g39-O&SxHRY3<3P~N%*>JJMCp#eBNhiJige0r-E}); zEsHfjKd%~W$V3pjm}p@d)fp$`kMVWwxmYbugR;|ev@K_*p}6TZIK94xH zefxr8i->F~jS8iMuRrRLTT%nBNWJ7bk?_oUt3DA)tM48wfw;KgN` zW2x_NH)|tFQZN&(mQ`nn3%L1d-Wlsg;1iIY((I7qIf-N2{gT2v-FgQtNF{+_6s4a; zdVf3oL1G##!s|b~!NQ568zApGWzX~II5=V+Rj0Jxx|KOLHr7|26s_rb{s=Z1;pLT$ z(7W6d-M79DHAf78=y(+O`qtMxIAtoWmK#+^mU?LUp&sN>ri1^DuJNHJb)`I^bbCVe z!%LRNxiu^Oa_pkkthZruIGm*cmR_?(0~vZvb97Z`ap2R-_8GHT{&?d(-0(aiSxA^P z%sLnB1%Qg1wr{t%FD7*wiFu<1$?Z>%?WuWOTU$$zSH|;*3Ss`fQ;iZ14U&e--nHba zpX6a#&X~%sMT0)B?e2ck-1|J)nOax2>Oax2>Oax2>Oax2>Oax2> f{#OLDj4Q%Cb04lfXki2Y69NH8gN|?xpS<{YVg8Rj literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-in-the-middle-of-a-sequence-fragment-as-text-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-edit.spec.ts-snapshots/Sequence-edit-mode-Users-can-add-new-nucleotides-in-the-middle-of-a-sequence-fragment-as-text-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..39341e5cbb0fd36a49f9c6fa0c6e6230ebdae8f9 GIT binary patch literal 11658 zcmeHtc~sL!*D!9y7K9?QgS4Qfl}#G<0I{;!2L(|UWmQl>_OJ>eM6^KIl3EqnW26d# zfg(ZzA%KMtmA&i`0)%}DA?$1NPSEE&&-0%1p7(s;ci!{<(|_hScjh;D?!7Z}m${R4 z+1m2hSF&FT2nZbe`GVOM0f9p#0fB>AN523qC(f+>1wIEtuUMWJC~1?Q6%hDF;AgX+ z?C$2UhNB+e@{Z~sBNkN`cx&&JNT`4F}Ok})2VDWHLA7kV3NABni z=$AY8qbBKDnP${c=~9QMew}_rC%RPw@4E%T=00CW>Mb0x_U9l{s}DW zc*9w%k+~vg;z(>>-My}jSj96G`wd5XBw1Hiw^sy^l`%c{fC0V&tM}`V0LqTU2?+?C z`|6;SfWW;Ihc!UQ4@X@>kZ{~qu^BBeh&p6S)6vdF&h z;MbDlk1FzVLqA-A_P+L^ZTGP9a?8C3S?CB=U$IUMy0Aytm$JiS_$AW($~!(w<;Vs)> z>s)3ySKMp)+C>lTda{oqs?CJ)IM1bx={ObEF~33heEX%w<~DX`c>ob3pWIuU+i615 z^N3j>!LC39%)1?4Ck@UW6H~VO#|V>?fzQvt*XE#lTROhX#8+vVj@(Sxu55gji5LIT zwC9SPoLup!^LZg!>0ajr`rewwNZ%G`{^j^nlQ{c1ZM_o6JcWT8#ed`-(o$p zz0?(DN%h5{Uatn>+l7&SY45N(84p`m1xRGC!-ul51F)gAe5;4VGAKVl|$_oL%U{l#|U^@~-!&AR0q zN%NO%sH^$T$|BgdS#8z>ME+JklE#z0h`VHMZbT&4pu9FC^0kS^C$wxARg+}S)C;er%FN}-oOv%S;gJwc6Ao_|K9*O{dXTt|ZL*2w z7IQ|qouuf!xu1dx>{!D?$|5Xwd)0=KlvdVw?u)oP#OD<(d~MAGCqJG1wQjxWSVnx4 zuzik9krBiW2yD6KGBp!_^*9N+B-+N1#>EU*aFY7m#OI%;3P(dyc3FAh3#=NMY<3>q}NRMVGZLhI_H*I zXi;5Csv>56aeA9<;m~!pb73XL!OU#FD#-lp7rT+8Q$PF*6(1p{65a`3=A(Z>2*#5} z*DE4|G;innJ0WmbC-N^U#UD66JKMI7Ete}Y@pE8OuY{s@Vf$>EEQL6$po^C*2nMcg zPUD_pw+T-^Ttmg;rbr?R-v<%YS}w0;;(h;x$}EXEE1S0kD$TAzH7PJJN_~Y&la+IE z&pcF9L%^$W``>41wfh+=TYiOwkYi-eWbm5f#(^EHdn|R~d|9Y&@J=?zYoJ zitV~xhMZp9Tw?Pq{9VW|>%aVnJf4?kVayEWDKqnSl-mZRInIiyq`C?67|!mU-0|Hh z6t8@<`zf)pqvP^!!+Z(GeQ#Dy=(RnCrqa@(rBcZ7yp@1)D~`t6WZ*rmFH>mmg%v0c zYbSAMO=&sLqOlKU45JBi#wO*bgQqixOe8oQO^cY#jbz20_sZBt0+D+MRw>w=bpdw*#(AokR%*n#Ce3*KJ-n5Cw3?R-j zNA_+uPW4&TEbKCEk`*`W1wE+Gy;Bslt=OcoL?OkMbUliRu4@RqW)jBx39mxsbROc6 zi43Q^l;a51F(QSF&!&PTc%<8R43-%dTiHdoc1FT^`vv-=UaV ztih{2Ps>BRJE9fRyA|K3=HVZ6s&==`gZBEm7^eg!4*zgO490V&_SGRG;r@Jk9G~(XyGHNDB+~eXvTub4YCLMVI-E1- zSXZsNJ|-l{a_SSO zmn5?B=EI6ZDy_ z>H474^^AWz%|*3ahNh~HC8-X@ztoNF1RQ*t=hG)=>s(p%xB^)7_Lzdi^S~B9CiZ>| ze?fQ>FH>X!u?zS=r#8D3((PNptle3hAK0?y>ynB!?dt0UO&1NFi>=bp-v#U z$k{T<^_dy}rWb(r(uRWhUJ+cRI;TsmyB&g-o}?T2 zL8;h$TZlv6bhjSXXa9!AkJaWNzI}xYz1jHw4h6>f>xnIFuZDq(#A}&80i)Z5?ek=c z^dWXpUNaMi7X{RzgnC7j`M7Y^=If=EQ>%G(<#y0LI{LT3m<}!Nd$8vfvG!kLZ7E`D zE1E18x!kk?GOd;=b0*jt(hc=0^yAwvyL&QoKR~*TA=-BjM&4^)FVq#O7EpRHqPCO&rm;QM|}Iuypb-72jyoBLwYYKUW+oi(Yp9^pIwCqDZv3P|uq#r7Qxv6gD`s;}o>>;T36> zI$7H+t+j%=j2ymhD<_LtZ+wWJQu_im@itSXJJj89=_X<;oFJgdi%E zJ9$g{V{G#)H|+M@F58nf`+-+@)^t+KwA?G9 z+A{$YnJRPU3Ex)>^LX^=5qyV5q_yge(EGv-eLX!rC%MZ4BcAihX`AC%5$d|@TEE^P z8TGE0;7d!f4x(m{oRyHG_z2jbX%G`hRwuGk7ACJ{tg~{;KwG{7KUS#eCR^swT8}%5 z4Zm9>$>uFx_TRHm&KnpYdlMd-ixrdxP(@uBsVI1ZU3(i;h2YgV!}Up1KxgEou6K90 zgfcpwqsJZ=s=JC+Nceq0X=dL{0RDHD9PqzeI_MeSg0J;L2i~+SYGsPF(gwAe2qLLCh8#O^_^3 zS5JCtBJ<0}t0-b(Wx$&B{{dfnM$~327>0eX z8^n;0WJG!YFt4-k&0Aehx}Kevhbct{_{kgT%g*-_cGh{lsVYPk`qe8hGqbl&1Zf51 zP{T{9|!P#U${ zJ*CtJQIv9a^JDUSm?A7RIfl})maw3O4Vd%pq;ij%-<2mw6wKPw0fylBIm2}-4X}kOQU1g z#=?ERsSMnUHd^cM(lRuZo$qURQ3cxn?o_7tICn=emCvBs^*5&+2u?B;>+hrumfC#Y z;!@CPr=1JJml$%b=8opw=_1k1LT#>*$R8pW`o$0%i)m?cdKU8HL@_Z-%tbSD59UR4 zx^Qs8%E-jTEqd$@3%=5-_w-Gkr|$44ZHgx*M= zOYtyfFY&wlo@Mj&H^Y%5hsu0=iln$ZWl~d`yYv8OX02$z4^fc|Lqtu7*Vj&(nx?Un zhdkXAUlwGSv7DhbBFE~-u`sYFua@2AFpom)47_nj2N&d;J-kV#fL1kKI}=YL5GzrA z?LAHiPtLnY3qnQc4TNjq%Yp)rurTc=n#w+%h;{kY+;+BHy~u2OJ>i)}z8K$x>i?BF=J+R!!wXzY?;X^MTZ16AC{9~!ui_}ZIWKiACJ_cbYFjeHZ% z%*6?wOit0Lp7{kn^leCUUm!7mz@O^pwlXKJs0h2sAF^dW>Ts=m!0-+q2&ouiZ8D|U z7_^fScT_s}^#e4~|vn5BeF*?O_pYb~p zBpVtUI4?AZ6nQ8hiit> z{_^P?3ykn*1&HU7hXdnVbONDffjnU>N;?5dH`!Q`uQE=c!3G~0a}+}P;va&AQus^G zPy`@mcGk;(=(~`ecf$5VF5~O*D`AG zooq;ib(gOkQ{?{oo`rX#23QuK4nYtc_o+n`JHm&wbad215G}&?&ZSI%up%OfesbO( zprlvXOgQ{nPq^ns1MAJo#dEN<=MAXdm6c>VVW#`Ezz1P;Bk@u`Lp^Nn&)qqZTe@BFDgfRZE);EsP|qnf7_`8-)DOt2f}n5 zHwTzR(-&8vd~t1TBX2Us4pN|d7`}vzfx8K6QoUkTuJe)n|K@;WbH#yQV|p>yu~yDD z6Ovay!5^#l575Qy{B4#3Vo(PMdhH*1@6}(wCb7P*0v85?6F~n&hTC%7W2g0)INrh~ zSHeJ&i#0(j%El4CW5tg7#x1nVm{Wu!K^J)z92L@7gJLp1sa?V(@Y_L@&+}lq31`!j z^GJ_tMvobXVcfYd+|gd;{qYehAqEvH?AV%Op_Ryht)Q}<_l*9C(b>D~UQtOCZtYNI zqbDx5a0xDCON2xF`tSim5n-oqtnVd3=iSBoWZ z_z~Xl2nNTax+n9HLzYaz60*rUdn0jh=S5ke)*lt~Y3~TexNbSB=7DIAVK;R~rcI#%EJ4N3FF{A@;eNvo1OeNkQ)Uw;mh%dBdYlL#=N_p-zYwkSX-8CAS z=ioXlK78&=`T>J!b2*RB=N>kfaeMTF@%p$u&ML%)>b@7w!OQJC4p0hTWTBhO87|wQ z@t8YAWy8M1;*SW@P?uf5yN|2_F;ma|gcONi6I`mlPp*vsS`K&|7%XyCnN!EzwHco+ z$U74jLvc&7ZV;Mya|V{0hi9#-C=#fmVSro1?m-xWV19MsoGZA^|lVd#Z-s`iKH#5QI9 zNkeXT;ZjRuCY#|rq&s^qZRwbt12y@Hm5`z(`zZZ@jI3{C)pV}g43p`pxN~85OtD6j zyCcX|tKFT{Y+7CIevQqoD(nZY5@Ri!F#FJvHu1(iXRW<%_qHnYw&wMdu=T4OO`7x& zl$yK40&Z>Mw`|Yo5A)>y*+1=y&0o7!k}gkhm+O#-m{BA ztz=<=vat44qV`K5_iu@G5G+j1 zzLYdnb>|{oLD`d?hUN~pUZ6*mero+;+`>Skh3weW`m&Kl2Qi20xYt!?MBqo#z+;ke znQ5X3b*eRcyba1$yKRgc6}hH|n~?lAaJs}`xhUh>dSz`|3Mn@`5ZHFDU6GOukisa{ z=OS-1J_CU4Pe1OL)rSMAEjl680G>{wCN^oZ?yt2?^bj}8Zz6e!n>~M|T4?1n0JNiS z-+Kw-o*uvK`7T(sa0pZ;?}!A=odF08s?z`+d4ZaM%cuGKU3?1=01z#Q$pOl?4+ok{ z@c*fuT6zh@YbB;dmOf6LJR=J_W6bx*75ngi2l`+2Q=_sYy-oBW@lP*+AR-tD6_fO$ z?(Ro0?*lFV6b~RnLSa%u*_cNr5fa4t3xyGP1xrx+ z2@nBGpaSqaEAUGw?K4-)f%NBPmd z`3uUE6Cw(RC$jZ|Fi>_)`Qx?y1Rc^gVstzC$N%3{-Ksgo4SP&Z_c77!jw;CV{qbyJ zqz;CWH@Gqwy`Si+?XN{5{0HB@di!}^&O>a>DYuR4z9*H8%Xd^ymxoTbk>*Rt%nvHK z)XvV%pMnGh1fCslGg@f@J}Q=`h%#bu*NHS4?;Km8TguAHBJLEQE<^FScl*c;iKp(d zQEJYWY8Dn2Url$270#&bE5pNNp_0HoV11q;rUl`A@6{p-Lhjsq~emqZII5@{IAowM+h!eKkmzVUp(Ii3pv%sL@f-HBRht`q@&UY ziO(Esm!Fi~ZchIx2q3@bDSRyY&`N8jcb-g8>`L}{x^rNX9%c4YS?u1nk8ZYWuAl!x z3;LSYJPy??r(8l&W7gx*oeg3Prk+-a^0CB%7f4-#8L?|t8?xCI3pAVm0#Q;W%e){*zSkPpLC4Udb{P!8`LvMYf zio4gW-JKVs!MNMU!6n;=BdjZZ-d^!IE*!kDSGnbZz`JtrI?vkEIbo80n znZyz-9*;+(H>V0tCL?$=DkLL;rF{D ze2X`<1g#Pfs6VIzEM_)8tN_6I)4{4<8vLl^fWW=@3!@GfG?^f-1k?zn)f3Qe{Gb|4 zEO|W6`M@3;#5G{6sGT?%S-&j<0x3T7qu_q|iP$ILz4fTb`+VHpXCT<9na<`Eh|(p+ z#Mr~z@Av`5d0Nok3W6C22IN_#%b&&^r6@j14t<6f#-?;xDm-<=d literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts index 9aed0e3935..8be24fa6cc 100644 --- a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts +++ b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-magic-numbers */ import { test } from '@playwright/test'; import { takeEditorScreenshot, @@ -10,6 +11,10 @@ import { selectFlexLayoutModeTool, moveMouseAway, clickUndo, + selectRectangleSelectionTool, + selectPartOfMolecules, + selectSingleBondTool, + waitForRender, } from '@utils'; import { turnOnMacromoleculesEditor } from '@utils/macromolecules'; import { getSequenceSymbolLocator } from '@utils/macromolecules/sequence'; @@ -118,3 +123,138 @@ test.describe('Sequence mode selection for edit mode', () => { await takeEditorScreenshot(page); }); }); + +test.describe('Sequence mode selection for view mode', () => { + test.beforeEach(async ({ page }) => { + await waitForPageInit(page); + await turnOnMacromoleculesEditor(page); + }); + + const testData = [ + { + description: + 'Click on a single DNA symbol using Select tool and verify that corresponding nucleotide is selected.', + file: 'Molfiles-V3000/dna.mol', + }, + { + description: + 'Click on a single RNA symbol using Select tool and verify that corresponding nucleotide is selected.', + file: 'Molfiles-V3000/rna.mol', + }, + { + description: + 'Click on a single Peptide symbol using Select tool and verify that corresponding nucleotide is selected.', + file: 'KET/peptides-connected-with-bonds.ket', + }, + ]; + + for (const data of testData) { + test(`Ensure that ${data.description}`, async ({ page }) => { + await openFileAndAddToCanvasMacro(data.file, page); + await selectSequenceLayoutModeTool(page); + await selectRectangleSelectionTool(page); + await page.getByText('G').locator('..').first().click(); + await takeEditorScreenshot(page); + }); + } + + test('Use Select tool to draw an area on canvas encompassing multiple nucleotide symbols. Confirm that all nucleotides are highlighted.', async ({ + page, + }) => { + /* + Test case: #3819 + Description: All selected nucleotides are highlighted. + */ + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro('KET/rna-dna-peptides-chains.ket', page); + await selectPartOfMolecules(page); + await takeEditorScreenshot(page); + }); + + test('Select a nucleotide or a group of nucleotides, and then press Esc button. Confirm that selection is cleared', async ({ + page, + }) => { + /* + Test case: #3819 + Description: Selection is cleared. + */ + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro('KET/rna-dna-peptides-chains.ket', page); + await selectPartOfMolecules(page); + await takeEditorScreenshot(page); + await page.keyboard.press('Escape'); + await takeEditorScreenshot(page); + }); + + test('Select a nucleotide or a group of nucleotides, then click outside selected area. Confirm that selection is cleared', async ({ + page, + }) => { + /* + Test case: #3819 + Description: Selection is cleared. + */ + const x = 500; + const y = 500; + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro('KET/rna-dna-peptides-chains.ket', page); + await selectPartOfMolecules(page); + await takeEditorScreenshot(page); + await page.mouse.click(x, y); + await takeEditorScreenshot(page); + }); + + test('Select a nucleotide or a group of nucleotides, then switch to another tool (excluding Erase). Confirm that selection is cleared.', async ({ + page, + }) => { + /* + Test case: #3819 + Description: Selection is cleared. + */ + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro('KET/rna-dna-peptides-chains.ket', page); + await selectPartOfMolecules(page); + await takeEditorScreenshot(page); + await selectSingleBondTool(page); + await takeEditorScreenshot(page); + }); + + test('Check selection functionality with zoom in and zoom out', async ({ + page, + }) => { + /* + Test case: #3819 + Description: Selection is preserved after Zoom In/Zoom Out. + */ + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro('KET/rna-dna-peptides-chains.ket', page); + await page.keyboard.press('Control+a'); + for (let i = 0; i < 8; i++) { + await waitForRender(page, async () => { + await page.getByTestId('zoom-out-button').click(); + }); + } + await takeEditorScreenshot(page); + for (let i = 0; i < 5; i++) { + await waitForRender(page, async () => { + await page.getByTestId('zoom-in-button').click(); + }); + } + await takeEditorScreenshot(page); + }); + + test('Check that Selection removed if user switches from view mode to text-editing mode', async ({ + page, + }) => { + /* + Test case: #3819 + Description: Selection is cleared. + */ + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro('KET/rna-dna-peptides-chains.ket', page); + await selectPartOfMolecules(page); + await takeEditorScreenshot(page); + await page.getByText('G').first().click({ button: 'right' }); + await page.getByTestId('edit_sequence').click(); + await takeEditorScreenshot(page); + }); +}); diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-selection-functionality-with-zoom-in-and-zoom-out-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-selection-functionality-with-zoom-in-and-zoom-out-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6e80d5d1c916c3ee4690db7938310102cda571 GIT binary patch literal 4849 zcmeH}{ZCU@9L7&uKmi3bU^7K=n~BL}GN{!t#7@*yVx$aBkWtuJw%cUXT4@y7EwqrC z$;d?GeBrH~VK5dLwYzGmP|HFpGH+YO2-J4aSm2J*7v$1HTS|AQ`vd%Wxxbuqa&pee zH=lgZ^E|b=IqbDj8>0XKYqJj@%maYd0|2#gbp){!|DI=%(>uV$ z`iTo$$>Ss$vI)rVK`H^Mk+1Dw?rw%;r7gYEKQmAq0pgG`lgX6meTQ%l>rZ!MVG7_% zs(Q~6pgFu8YRu1BXCAC6WugPLq?)W5W5;6t=~PRbgE}A7V@C!hZ*(yliTZ! z0T%wGKyXq|JXsoQRz`<`xedP$#e;ws9f?MYxgL+Qp5XdqbV7313ajj*i$(EM>vQ%{3@(i&!)e5HtEht(Jo^?kAkz= zn+Bwz)Vh|I7JW$yk$OPP*MVDf(C@)ig%}U%vG+p^zfOLWexJ{z^mPRazCHkt$UhPJIRRpbnE;zzY+NO?#66tC~Y z$1G>(mn=)NCZ75ZlYu8;G%)sMl(Z6tX3rO-bo>2dD7tBUs1nBD{O!=A1KD6s!ub#C zo;Qa|Y9ASeiEbgIFd2o(CLp6QsRaLjJNQ;YQPZpP(zxd*3FQabhjI>fXMJAt51Z$9 AqW}N^ literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-selection-functionality-with-zoom-in-and-zoom-out-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-selection-functionality-with-zoom-in-and-zoom-out-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb343b1c08e3693b192dfdbfe9d80798734f887 GIT binary patch literal 8210 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-th-46d38--switches-from-view-mode-to-text-editing-mode-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-th-46d38--switches-from-view-mode-to-text-editing-mode-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..f895fcef23b744f4d69588c621847523a21f6b19 GIT binary patch literal 10785 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-th-ca4a2--switches-from-view-mode-to-text-editing-mode-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Check-th-ca4a2--switches-from-view-mode-to-text-editing-mode-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bfc224db7e3c0f5a23e6f11a24732d2aa8dd4e GIT binary patch literal 9646 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

    ew81N=6HZxqJ}PN5DdPP^8YLydhlWO+#?3j@ z)@)Sg49`woSy_>jj(()Lnm4?lcYO%KKOTERVlAJcU*0?Hr#y!I>+`0(#4p@Yjz36sB zKcLeHNp@(kC~bUdmf7w>AKC?n^`)bO&TAPBQbi%%O{D>-i~b^aR7a1<4*K{os)Mx2 zrO2wnT;DiPx!QsJX;-uKF(a&DHPc?Z^JEo?-Cx_^5{=MWSW4;7qIL{*Mo$%)V4tu| zl>ik*0P7fwv)sGBNnU;_vg54r7{~!Z@wiZyOtb4h7Omguo!sy?eFRlRQg_3LuZs~% zW6h{bSkTNC@berCcST1wUHzP*{xJmdmaXq~{Mi{V6-AX?H$J%LvJRsZPN+8JHzH}!e%-C2etK_VIN zDY7a(*odMG^F)?r>LFdj>Kzh4xz4aFwj^h^>fj?(j(}hrhpo9?2|C|zZ?#nw*<8NIpW4sV!I`pC#g{M)-O>=io78*>gcw9cE26Wf6P zB!{tw<_i+vnpr)5F6F~Z9L|@5O{&cXRVdVH^2e=TffCT#+Il%6A{~c&@ZbRsH(DKv zxDS(G??Qp+loANWT^X91#OCMbaXcne{;8{*fWcJC!OBXH00w!jXqjjWFmuX=^?~Et zlHfW-r&G&4il4R|`TH&Ddk5KRLCtyzn9LJiUS1L@OUAn#9$qPY4uMRjZ}VS;tdWz& z4*V`nM3*_;U(K(sd3S7VEWc2xx9Zn>ehaY8pVnC0GzHHM$TShHA1;A$_gOOIkH5-^ z#nxs6>IcgLrQ_QhxnF^({C6T{d8Kfp{g)Q>X5~8yE)8%GFWgA;H+GDvu)y05)zb{ikljsJs2AG?DFYzvLgDFH5`})=#BJ zhC^ScFVTga%d|xCJ&trlMP@YbVwu0({5QoY6cq>*f!+)tfY|qeZY)psrl+{BHCYy( z--{M31!_g}{LdZ}zAnNP#XK|FM>X#>%9POe2eJMRVg;C`jA-^eW$o3q5lf8%P&l5x zRAXE$8ltNc?f6%noK)xWvg&4mZOheTc&OEGj1Q_~UdGQ_%_Q1ulz3iQeWe-Eo|FXY zjbpXAlAV zI7~Cd>zUsA>F=yWT@4=AW10v!6RIg&c{FPmV;1K?F$zo$^ZKf3>Bpyinh~Lmty6DJ zNwa=rSUw8$h=+OSw3U_F#*g+0)-NEZecAP;)vG7v91LLPUlNlOGPvhT?=wVX`bk)= z(%8OS8q}s-a2`k%FLmOAsZK`$&N9U7Ss4_#wf zo?Xz4xG6<%fLtgCI@aW4?#tSY*!%DDVpcx%*M^10v z9rsn^jHFvIEE5=bENM13L6w9YJFif&U?ZgMjeb<+A`o%J7K^C{yhffKXVIUuUb7J; zDdBX*iq^BgI2S7EcKz<7c8N)lx;hgHf40^YLYjWTDF%BW5Ix&jzuH4rN<+(q#U~Vz zIV;h&JBcTLus?uxL35D?jwg=yx|Tj&1a{$-g%9^xG0+#j9Pv^VEUjH0BI5xwy8=+z zS{JKWiM|Q1CxWu-eCWF0380f1yG3Tu?8Pft>wZA3(Q+X96Y^lLJjP$<=u*0L&9BUk zTv)3iAIQl`t^p6Q?Bkplv=;v{j^Dk1h(M18`Rpv>V>J)MX0aWE<}Je1Q zWJ+Z&I`=9(0Pep`)gjsjNh#Wy%yySMz0EHy7<7=u^gMvv(&W!Qk$A@T^}CqnbE6KI z1;5EH`DpJ)q7TJ7_>Ljd0YF75tq&xZbGUH$`|Z~eK3Kj^{apN{*}asPCTepz7H z27zqxm%j_}M{Q^ROq;*&cOm{vIe(^{e@Z$3&(h4gj&U||T&0ln19-0ha`J?m6T$Jq GjsF1rzT}?( literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Ensure-t-b57e7-fy-that-corresponding-nucleotide-is-selected-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Ensure-t-b57e7-fy-that-corresponding-nucleotide-is-selected-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8a97161bc467c4b0fdd5605d1c7e7af6cb79e169 GIT binary patch literal 19254 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 OXLs1~`_k`DUHV^`o^b8} literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Ensure-t-f9963-fy-that-corresponding-nucleotide-is-selected-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Ensure-t-f9963-fy-that-corresponding-nucleotide-is-selected-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..ef99d7c775e59c700c2758df54142e345b05c74c GIT binary patch literal 13702 zcmeHt2~?A3w{EKb(*LONdu>ZmhFUBMP-H@57C7<)gi#KKS-QoTtl|sOnzr zc@*k16#A>fCoUH(jwjyskH0EWF?dUti0&a=1B2T?82@1S)fYc~asBbO|MItQ&z&wi zzaRT`d&lwOn3XrjY1_%MVV4U8lDL85YjftiUvz%<-G*SyhM;x3et7xAi-^CiJI{My z=Zj^t^}cZ3gx)^?ik>}Ox%VWQZzI7`I1|j1YrQs{iKDKru9mQ-cN@L?ncLupD@C7O z`~Zd8{r%IwpiuWdT&D?_KL5}UUisz!u@}A_h6n175e*Ip&2(o`ZDJ(o37hk<-V~5kT7mrLeajS8CeSO5`sg4;|9J}c7wT+?$ zzYng|9{PS$>-nmxs-~GN-@4eD?rdY<=1V?H&D^EMI>tn;}!tbc(Q$U)s=MHPw+$@L}06 zzt~n$QPI`Jp*XC`M6|wASK;cE2Yfb-S1+v%SzN%s8wpG=^{klo=O?+yB>du%G+VPR zTeh@Wd86(fTL*t}LfR`dOIUPlno6_7d}0+oT+MiO-?^WJp&FpQyu7kZ{D)l4gFVIu zQ1)1HUN^@VBJg8btpM?_=EA6yX}`daHUUETiOl@&f)^>H?D zq(;BKz8?9@alCpbG&NB}wl|eSK+Zso^y>>scgpBChrHFqI;T zFV;tWYvpqBs>5#-ietW&WeBS=M$0VdLYA>_R?3Ay8 zu$Ctc4ZBRWUsqLDZX=_5wgvF6Nupk5UC&o!;YjO$W#m{Op@17e4Pqa## zmfLMYBO-d59D5@ZQL$qI=BygUoamw1-95Qz4WSRFKqTgv*$6LZb zhNohs$aO|*gTuva0=1_gvCPABBP!|cA4OOF?0=^A21Mcw_gX#~w$C@t7r1tS~i$Of2#5)8!%4h;UZewY_A8MJvq4!^~IioUpJ#rUu@lA0u}xB#b08d zRX4u~`ymO>{Cc069oGHd{2F{F?Rg&D;PgLFsP1*^!hyU(tvaUcU}YL4%&-qdwy zW=<*Ir8@OwdI#hhNXrSb@`AWtn?hQzlS=W(r*0QIRx*yI{wA$Tnbhzx<5KIEmP7i6 zYK^zxH0X0v>YY3JYn7X|Z5oF;!(I%wt7w`lKk_Mw+`!y6)pmTs8^0#eMxDiKKQlgo z!{Io3>GAOll~cPvc3h-+OH^09wqG?xP^7cs7!E$v6#UrOSS@4_D_KZSc=O>(wFAuB_}Z|2Q}23`c)<^3QE1;QXkr8{y|18Gm<Ud$H7U2# z($c6Gib#Xkzh=zVM6323+NI>h*obNTp4Hq`BlH<>>yT$EdA38U!#NKJf`dp#Io{5# z;)#b+7TrClB$v)*U(h)T0ZYVuuXiE zzShvtfP@u!uun|rd%?iH;sEM<#r8AZXF1SjwF-CC3ZuLywSL=22X9w3G;0Y$WHAF~p$PzkWUX_?$DjBiA}QfD@YORd%fF-r;Mp zt8W;^wem340m4!f$2K}$&xt~--Ku|N`pSCsZ%REAPX>w~3=I-w0j#UIExl<&kxfgD zB+4SYPQ!$k`R^s0$yH|Ru_Bh}!|7*gdaOiwDdEae?+rq-gwJ+@jS3=81MIsI_n&_J z82~y@eA<^B*0j#3h+344XMZ>)8cM*0 zJ2jV-v;Qcqdo3HH^!i3d8vBbe_QWT4rVdrH)HN~f?aLcNxJmHH<8x?YSiS7GG)I8r z$HEvuwibT^HX;6_hqB-6pOB7F4~rO14ORMfXUL@qUr-B_B^t9UdiVnwj4onExNlY{-X701(6YUBf!uz1J~Z>jC&t|_PO{h8 zRdJj`?CkfOOy-6z%NOfBIG1Tz#7oEP{@;BeWOPq&&`swz4y#9TFgLA!1C|^d) z{uXHW0(x|cdGYECqu72o>-g~2*Cj64iIjPzNkHo%pa*DT%v5`P_#*?YwTAV!(W*DH z)Rz5~4fR-DfrBN4MwuiN@wij*-WYZ|MftDFLNAu#APHJxHRYNGAB}3^H7Fp#zaeU0 zdUaUq;CC;g^i+NQdtK6X3rFihus$h5x;3W~vljN-U>Gc_x`3dRw&)03g}t=J(Ym^L z?vO$@Om%m2b4zm&kL*A5WVe&F%Y$g}{Q4H$s1a$Y2O@i?xw#pt9{5aD*GNsEdDy_i zo;=ISxWaAjhwl3Z8g?o9hsz;+2k3??|fJyp_P3cUbiAkB%G*Un;<2lO10E-8mqGK`c%P;#D-$(-5z=w7-to7L2cp{7XtvMDRI+*IuO z7e8%nn*4r~89*5F1Ww8+r{?`^EE^y9=10v0B>IP9FP0_0DX?Fq60*`7#E)8~HON=* zOlICu^%TjnmUIY@3r=y6Dnu(>=5PnM+WPmDl^Mxk(Wj(xi6-iOp~SxZ+30-xO)cr` z^pv~weCrT4Uh=*JXcH96<4FovkILjyr=C;|y&`nRu9=z+T^h8{x&+=>l#Z68Xu!)n zMX~A^N4J!Y^HZ|7?63-Yb?>mvY)+uysz&l;FlJw^UABLM&k@*F->4?T%2QPcDMx+{ z?Jt{w&tS=_pHg0rc&T^oVG}$)QNE)*l8$#Tjy$nk@1oK5aF2ZE-lp=PxlO~<;vq%S zf|NTyOeUod`$ykho2%qkI#>pH@J*ppoH%plO!9+Z(`G(JE*NE`SfK?q>G=Jc{+EtN zdsHx*%ajy*??hhlJK3+U4IcElFo|R9CKPH;p4|Bn!WRApN(S}OGt0)-bH^^|6}E*X zE!};4bx;=d2%i)zuB;@(m~yz6jpGEquJ$p>jB~`=|TY`YoOuT;r}0 zTrhpL!M;P0tb$wlXX^NK=RSv}BsjlrMaQ40^dZ++;w-n&1KgaGaJH@AA6_pHdG%Bo z8qM!)o*lZmeIf@^kJ-Ntb;Xfp*%_101z~_jEm)Sm9MZyRCTjE6xnY!*k`h%PpsrY}m+!7~9YUS*diQdDwwG0mhUB0KOHM7&te;+RE_J+YTgXGnoQ<%JX_mc=CkZ=onfq;i5v z>GR~m@u=qcG7D>K>f6&UI`Jn!CwLg5qbSnZUj1iCf4iTmo0m>dOreQtddUZVEfS3mR_ zy1BrS1%eM$n-kg-gDEzcpPReZV=h=X*MH4hF_bXRS`P#$DY@u*ss;miav>vm)*MYV_H9_SAVMI`{_2+yx;Rpk$iPixR8}|d&Gw5$ zrvVf~Q`m_}jq6)>3^h$O#!Ly`J=frbW8`NL5_@Zhb;8CdPy#^o1q2meMbEPgM;O1Z zDrnlAVQ&r!up2KK&lZcteu*=gHh{TtE3aK7a|uwf6k6)B8ef7+LMTR-gDg7*D0$F$ zbG&rHo0L4qI=#q1|(*jB3zUsa0JQ7DpWq(J2W(O*?(`e*lG; zvpr3F((P+M18)PMJHp+LH(<~;mF{#0dcI}8H96?*i)#YJc~P#(Ik%nFd$Ck`+p+wF zFZX7S+wVc4o^p>)3YtH)j`B01Dg?d743OIUeQF=jYyn~tmztaqI%KEAY2p;oWTG8r zDT>BF%&GG|IYngZ+M}LA`L`*GDIe)TxpJq5;~{H=S_A8T^PW4YgdJKou|Y&6wt_B? z6niElEPQNSJLbh!G!bz2AVGp9WZcnrnGJE0CoVNk_4X9l=*P#$gNgG^QR4Y{@hGRh zIBg3GwW58M#*Gp!3?i}-tfQwU64Dvbu_HGxEX1<)RE@hZO2IJE0IGsXj%L_!THDOO z#e}WCJ6AY7TLc@2tQ4Rr(?t)zzq}we_PV-Go`KDqA1ZtvPrh!QG0x~88p@iTodvAf zRV?jsf+X36ok;XfbCf;2spsT~HjA6hZ4z|r1~x$+V7F6i0!9kzOP zfB0nY72CjVSideV3d+4`=fy<-)|Kt7A2(^vBIMCo!{IJK_&r(@A;mvDGScn3hRUl^ zUC+^;Jdxz9T|6I>JEsM$SL#D!{;L*P#*{m6ed6Tke{vN0Qz zl8E?123^qvIn#u@SzJ9P7Cw&!Z*zr~)~C+^3iT>Z8!%%_8u^NjODHu_`Z0I-TyI2e88UTVw0e z_8mLS0Vkjg4SX9Sx}IKLpP~6XcHrT0pStsrN7A(K09Z5%_gx8C08hh%!!u2OLoh<` za<|{T%}96U7iMKu72PL<-U(lGu>?TM*yWd+l(&J1=ct`Hz16gZ3f|!ktB92kydVy0 ze+4MZJAqv*BxM#RpNw*Lb_PDfoS{G{SCBiGu8oM16I( z-BgD<0!6h?2oZ9w+ zV!tJwb8!-AIw;4&3B*k%m%U|Bs8ez4K_Jk#`Ze>Ge`LhBM_P92r#ohpdq*w~1(K*r znIG`XT-*4tUR&;?|2E**u?Ii%?JCz_i%;QoU~A zOM*4N>ND~w&lNyWmtr<#Mh z4JuBU^IxAt6Kmv~$L9m7qN?bb-zuxS!L*N4EO&$;#rx7Uy0n-aB{G;%(RCb0I)huk&p9dU_8;ix;#ZRV9O^mb8X^| zAhGg|ZgYV8yUSyeL%{!`|EL*o8;q1>a5ZVm9eUYd8t%)tj_$p?rvsqWye?{7#!6uF zkfDj4zY$uOp!k^;ORE}fZ8C&}zKd<0VjukY#l0#_iLbu5fiO8 z*VHuJ-RQ-=4^+d1wIdBt<9PQ zb#b&}s45akuf2ns4D>`UN7Ks1b5%9q+5Q*|m%&cjYuloxeh`Cz?g z)v5jgi`F>lfia?oJfDsOpycVSKE-lJT zEUm0&SEthHq2+~n2BG2MH0UCjSb8Mf*TEk!Jzcn`d$F&=$o-fw5F<*h+@_-%kdvj%8)2hm-{O1UZ%`i-fJt~5(K`JFHhLCW)V8Cp4msqS=? zFBWEaI3A>~zBG*+IhWcN(L!nmXfz9KUjb{;4k5e0|FB+IjcqH5lP(N0W(T}5Oe>_> zkbpeB4eGYe1<7yBYzTQ-wnZBs8ht9DgDudTP?z3@(BX6HHJ z5~|z8V+hJGYJWeSooTRbwn zfp;OCq3==M^CCvy)7zJ+9|&WzpS7Qr`Yv#}vE4s!i{&`DdR8Pn$jjTT{mQhw5Ny$O z>bu`Jfy?Ocw7j~~??D(%!tot;fz2@55b4XozM0=b`t)Y>BTK3<5u@5 zCglYOc8b=^f-eSA3(Tr;G4im&6j?>$WajqS92Dwf3*;=oRW(WH2yX0Oci~C5u07q+ zUlQQ|72WdP>p|7PAQUq8pT~IrXfFNxFDxYC*0shw@@MCj(uRYdUpIzf^MlaK&g!;j zgSPMB;v#nJ^RDjcE2YKup^aw2f{Hp-l~fkz13f3rA>k;p|9}H;Sy=WOBICycnJI?s zwIxZccr+wfu^Ka;(sNCtmk!%H4L97n6O)8VZTvkuN*% zs9`8+S7w-?CvDb#t*3p_jo|>Nt-X92v<;SzCY^y%%Y35qJ-U+Zq>#+Nl0{ zw|0=r^wDmX6$WU-`3t07Xh6;E6B*=VNi&`FO~-M9E~E0QDq{`D)w77FrhR$xstpYD zY=?c?lH#Et`ltj|uN+83_6O@X8lcr}FMO$f=&TCNFLNaQ`d`1k!zEF7BFYf_I55zZ zwt?+8-NDk0YJAfU#<#0^Q0HV%PRw~kNg{H#w;*58slN$YWh`|2*(d$(bSOSoP{egX zU5HZEGe7tHRU4H8n-GPCRv-oM7BNM@LY~M2%*i!q5)CoUu}jX#*bf^W9&=pef9)q%&fd7AU}%}cHR74}Zgva+(EyJ3q03Xqu-t;{Vy zcCp3_vF>_`@cuB4h?~CS0t54YyWzxn8IQ*sh5XsX)DjSRt&gdLVNukzG<$IKv<{s8 z0z8zwyylHK;y*KsUtJII;V=rg2w@qn7|ZL0&7`OZcSk+Quyl_D9Eb;Cr{2$3zV9-cKi>H6r!%$d~MhY+HX>;cd5k ztCkDiNV?ad7z6~@x$YzHGv(pq40=^#nvHf zQ|-e6EeVk!w>dwa26-J|huFw#TzP48ehIlt$bYcYS#9ak@{QrifE4LW(@LLf9i%BG zqHw44#`4lqktLlB9umT)k>feFFwWZ_&}!h}*mMZi@(s-6?}n2K3x|e=K(m&?i5KLQ zgdQU>-2ovS4}iddflSY}n15`tRmK5l3MRfeuukwgICorh-5`ktUp|OtE0Y)hEykf; z4$7Fe^*a=5($omt=byJ7dC*r_dC`veTz!md85yovUG`~{jSgEJAr@dKY(}4idMQO1 z>K&W7sBVl(Bt>St6XJ%zz5xq+Z@=YeDOmr6+Tnnb*n#6NyU=NezKew^r`Rv%CAGAq zL?7G+pB7d-*wDz~Dg}+|cc)mT(6o_GZ$r2}%p87MY?I_Dl#)$Q#HQd;=RoB-fdAV& zOjVMQ+ry!@#pxgQ$)K8h0&usI=yEvkVvw1Y^$Ev?(gkOOB1Rh=_7#oilxQ#sWG-9y zwALb;B~T1+Sd$*6hj~^R$a&K(7cmN57PvTOFxZ$eAp^Eo!l45Rg66W5{QmG|F!_iw znG(hs8O=2b4Cp@PacsQC^zWNYM`n`#Q5aLAgzI67uzeU5kdZExutd0!I8+^qSDs#S zb-eT&F-*L}TJiCe6&kvW8Fq;k6&b>B>v({KUQ}n8Z_U4>jb+ueIe@jc`})&T-!k1g z%usbST`#Mee*KoOmsh^UmK}G0R!ch;7>G}gxBbwk8>QHo{e zL=hzRO5!?++e6Qa2W6gJS7c+4!lUL9i<@f|AD>xCQ z@8-OtpE|+3ZyGvUYYcDgEz2_2vcI=0^CxgBMlz8RXg%5J8JARYhCZ7$^l1F?p22~# zs**gNNS!tZHg3_*IZ7Nd z_N{BHGF}VMc%j0s`~~nLKEA$!R7tyc{i@b0Y5;2;>S@%W@8!FOUmtg~96Vw7+uH_G zg+0MD*3Io!<6lr$qAqTbxK)>x5g)vrY6q5TZSMm(`Jdrle;m5{Utw#1egc%vNB_f& z{PP85lKc-v`e#V~49R~&68;G?e-_T4h4cSk;k;9kF=}Rz`>1P*D*kfj*Qia1tMv5y wNjRnS_%r0R*ZvQYbK-wq{xc^3w140xP zM39ImJqZX23PJ{@h?F3aUSdK*LKllV!z!k z*T}mQJ%pb-u4an3X#Ym##Ko;A9?V_bb*N@e+{*6LKlbxIH&h@J*Q#VcbiC`GwmC69 zveU3Tt&8A!p*!lP{qCeG&5em$gaPQ1g1+bFm>ceuA&2dcT|>=JJJ`Ts3&1^a*_%`T|^c>AD#z)oZPt36JCxkhqw_B*96T$ zAolI*n~OmFdbt|jUo-F05(HxB;<+mDnU&ue!9|`{-Z8N!e+LIxkX>0>NgiH*@?QH>51qJWVGdXaMRS3g}ugkh@VhJ-ruhlcetE#rK1~zvNkSrY^6rkmyxu z#qOZVokGLH=pI;#Ry|QG(Vr~K_!hut2w>lWWt#D6X*zUjESB-1$k(^M;CJpD=U&xS zt5(^QAtzVbeLGs_pE=>HPqJ0|2v5B!R_54VPdw$P_c@RA^CdfrKYsk^!)7FN8w|*G zF&v7DidX27w!KX4nPy>#i)A|HCfve2Ar063{h$>8y>gJB0hlIChhF$V()@%>PHD?W-^OsdO36~Oc#NEqYJg5-I^DGl-ifk+1h3ZGaKgi5ovzQv z7e5u9thua+X?lA41C2oNj2?L;%PKz8n6@$X08)=VeLqe+!BVa1(a}xm85s{?8F*nO ziyqeD)j^Jmjg3VjTRwbHg)MWov+KUlXm|vTR(ar%Lfqt%!}l*W@nzWU*|TRxQ0P_J zP|vPUL9sOvi0Yk-x=-CJEiJ`aUx0Vt{%)#gRMvNScw|KFi(7X|NePeJPfui8MzCUq zblyNCdo-U+Oh`z;H;oMsZ`5IhcLkhlf*Mja`fhT|GbmKv#G8Z63taH}ZGY3M$!}mHkI3($yY;|?TVsXQqZXJlwkia6z`MJ9|5udKA?6tGY zb4{p?Q?7?_ePm)m5nd)1y;7lW8J@W!xE=V?R?vA0f#|EPSzmrR6CcBC&a`IBB^=b4 z&C{n(i$X`<;hQS^6AT)rdL!A%ceaO|o$0=@&Y^z+O0?@>rj=RFq0AG+VcO|;5BGB+ zSN7V~P4-m!GLqCx0zSUrQSCL%{9I>5t!;xYM9u9#1fO^ads$w7+2fhqGcy2-S3))Q6@Yq;lKvxOkcA?=;>`{attaC-kbx~d zJz7moO)Xtr8pY?BL`sa1A%ybdNyHM@!TaVA{^KW46qV~y8klTAuG%^}I_gtvbu0AUWBt`u0$UFJ8R3#YDTiGazMsr^h>G(!4nL zfPjF_UKQKSfBvu>N=Ta^<(f7-XYJT-J3GTvd9Hy#1mPET&s7|Hkgmc&r~iN3^Eo=O|k%D|`&2W3s|O z_#g@Ib?U1F|4^2+PvNGZIAs$h&bMjd1F7hh6)O;k!<#QP#)tBUi&QNFJ#pi{I?14V ziaJm5R^Y=idk}U^i(~c9ryixY%d|#`y}iAb(fsqCAx&+;9bSpP;~$E?Id9#b9MvLy z0|VbrujU2UE+uGGM$nKbNoV3W)Oc;!khCv3*`To=&XC*1qN)=_wbb1apl1mKi;dPb zUtgi;(^aC<;Cy6qVj>xCqiXh~Vz>?De{T8Z#&{PmFRjY(Fb0_*%TTynX>YVOQOkOD zhquJyTL7;ifE&v+EteY_q7q^yy-A>YjDq8)?3<)26McRC1n;G=qWEvrN2>Whz~5mv z{#>2CV5VHmtN_!}*0u`xV^}D3`hDyA)kdDGP_`!6g+stN+ZT4vl{V6(j+;G7HW$+5 zVlamhp^yR&%mwSUcXM-ldw2W$sr;vF-8_ij)`C3&x-QTdPZNsipe z%F3$Y(%Ig=LHN=r(f5;4;ZhOTGV)8`0=XQ>3M`KnwP%|$0`a22-pt2HbFlhEE#>w5uG%7(KOedN*^h3!ExDP;*8G4ichvD2NAf;RMn z%1Ub^nv{3`{Q3A*2JUuH#&p_m)t4R?2Z#BPV`Td zvWWHCF`KF4HgZ;oJ0xs@H>E-v&7#H*baY?{u?3#x&vAheqLR2A4hn3&<>NEHs$|KG3M(fo z02jby;^P?%M%hqS4ETAPN8oip09Bjl(1X8keT1n@Rx{n8uCCrdj+pr9W~+_DOVx%z z^5!4tTc$*zPzJhgXsE0EG~eAGTr*DvP?33&++XtYWon9wu{XG%WU|sY%^0JN#>9rX zy1MfHy}|ltL?vB;*8bYCyFqJ%;x2(2-vTzUjtFdRZLLdEGtH(@VyiDn!1HdU=sBf_ zGRgrE@u=mavca~tHu|U9IQDcG7Bv=|k0yuDTMadKEAHS@rQASgZ3z5rx*3q4kY;8Nd@fpSfe|t=dpVMg}{B zB|Xa*2=Y2`G$i}+Y`4V`l;EE9<7H;Y#1^CLz&?Xn8Zwv z|El1>nKOWJo|5pG5{H{#VVi%eq0 z{Ndr@c%XDVD+f2#WKj={-9M5`BHs3n-n2}6hpL&G8Tgfjov$zZIL&t0Q=#ns9fipp zfD=eHqGjmtVbAc+GbZPn?;Zomn=vi7kLtU$AR8dDB(O(aGCh$9Q-{Z}PN@B_-JRAH zRMYDXK}-0lWZZfxFO@8%3vpu}EGxDE_EushS*J6zPx>Audw*}*y2k+}ZV?R;Dyl~jQF3kyI0__@s3irz@}{1%`9Cjn1%eW;qSVDTK{vKqu|$RKOmkQ)4ksS~ z?b@|#Wq`KKNWY?}D;eL6Y6%~RoH0+u^ACm>6H-qy@CFdC0v zLLwE@1v|ScNg%o=V-BLaPxQSJ?lqJl9Y!hrf{uuKomo+Rq)gC*L_)=UrJMQmRi2{d z6$5GZ!N6saQm&w-SAM}2js8Y-a8lo{NZ)$qLV;(L^Q{AV**Q5Iv}5^2W#i8q6TB5y z*!R7P`-73pWOQL^D=c~~jlE+g1d8@V&9u-U+7OKX*4HUp_H9HnSte1gn_|w=B0+Nc ze{(bd)B(640aLadJdY*P)6g3BNZ(m{GvK2NqHbt?L z>G=4^PsAib#D|gqj~b6m9R=0`aM7WA`(akjnblSdbNJKK%QB+&1e9^0oYti(1~?ub z9x&j7p8aWQuR2WZ6y(sDW+}QS{h~bkg*pToVAB@`~3c_4(?UG%c^zi+Q*YZ4b!u4)n;Y?qLW|cH1NV3!2Y#6VdOUx{uwmpj_J8W zor{fF1L>68=5`UAlOJ1jEdqh+P zJte&&Y;3+XcF3Q0-@FxN3>`LhZiK33SZX+bxW&Z3y&yjRjs@0R0dkGTG)=|m5lm_h zvxgEBv4j7|o^!FXbpOKZFun6xXs&ZNCnpES4OVP_#Z+d24sHwdz^<833uP^RU?+Wmw;-sd-aw$dsptg>*tH)T>@ zV;sH88P~tU1lwE18=DoS%*I2DzqT`A;6BwNm${zQa>nCV<$rfm^}F? znwCJ4e%7n?`&SzM7_=lb`UMr!cj(TRwK>itkXvYP@~|$2pk)iRBkxJYutCY|9Ejil zSBW0^XTu9rU463r@_(?m{k0#6{F{dU_oDyIgOR_+v$DTa<1hM<^Y4TE4>>s0n>m0} wN^y$c0{j)9w*Q@o{~?L^ck->dI;%W?dH;87wSKt^OpDlWf5@(I_sPru0MK;j@&Et; literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-172fe-ng-Erase-Confirm-that-selection-is-cleared-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-172fe-ng-Erase-Confirm-that-selection-is-cleared-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..43a20ce2faa5589fb4bc602ebb058128693cc1be GIT binary patch literal 9177 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-37fe6-ected-area-Confirm-that-selection-is-cleared-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-37fe6-ected-area-Confirm-that-selection-is-cleared-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bfc224db7e3c0f5a23e6f11a24732d2aa8dd4e GIT binary patch literal 9646 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

    ew81N=6HZxqJ}PN5DdPP^8YLydhlWO+#?3j@ z)@)Sg49`woSy_>jj(()Lnm4?lcYO%KKOTERVlAJcU*0?Hr#y!I>+`0(#4p@Yjz36sB zKcLeHNp@(kC~bUdmf7w>AKC?n^`)bO&TAPBQbi%%O{D>-i~b^aR7a1<4*K{os)Mx2 zrO2wnT;DiPx!QsJX;-uKF(a&DHPc?Z^JEo?-Cx_^5{=MWSW4;7qIL{*Mo$%)V4tu| zl>ik*0P7fwv)sGBNnU;_vg54r7{~!Z@wiZyOtb4h7Omguo!sy?eFRlRQg_3LuZs~% zW6h{bSkTNC@berCcST1wUHzP*{xJmdmaXq~{Mi{V6-AX?H$J%LvJRsZPN+8JHzH}!e%-C2etK_VIN zDY7a(*odMG^F)?r>LFdj>Kzh4xz4aFwj^h^>fj?(j(}hrhpo9?2|C|zZ?#nw*<8NIpW4sV!I`pC#g{M)-O>=io78*>gcw9cE26Wf6P zB!{tw<_i+vnpr)5F6F~Z9L|@5O{&cXRVdVH^2e=TffCT#+Il%6A{~c&@ZbRsH(DKv zxDS(G??Qp+loANWT^X91#OCMbaXcne{;8{*fWcJC!OBXH00w!jXqjjWFmuX=^?~Et zlHfW-r&G&4il4R|`TH&Ddk5KRLCtyzn9LJiUS1L@OUAn#9$qPY4uMRjZ}VS;tdWz& z4*V`nM3*_;U(K(sd3S7VEWc2xx9Zn>ehaY8pVnC0GzHHM$TShHA1;A$_gOOIkH5-^ z#nxs6>IcgLrQ_QhxnF^({C6T{d8Kfp{g)Q>X5~8yE)8%GFWgA;H+GDvu)y05)zb{ikljsJs2AG?DFYzvLgDFH5`})=#BJ zhC^ScFVTga%d|xCJ&trlMP@YbVwu0({5QoY6cq>*f!+)tfY|qeZY)psrl+{BHCYy( z--{M31!_g}{LdZ}zAnNP#XK|FM>X#>%9POe2eJMRVg;C`jA-^eW$o3q5lf8%P&l5x zRAXE$8ltNc?f6%noK)xWvg&4mZOheTc&OEGj1Q_~UdGQ_%_Q1ulz3iQeWe-Eo|FXY zjbpXAlAV zI7~Cd>zUsA>F=yWT@4=AW10v!6RIg&c{FPmV;1K?F$zo$^ZKf3>Bpyinh~Lmty6DJ zNwa=rSUw8$h=+OSw3U_F#*g+0)-NEZecAP;)vG7v91LLPUlNlOGPvhT?=wVX`bk)= z(%8OS8q}s-a2`k%FLmOAsZK`$&N9U7Ss4_#wf zo?Xz4xG6<%fLtgCI@aW4?#tSY*!%DDVpcx%*M^10v z9rsn^jHFvIEE5=bENM13L6w9YJFif&U?ZgMjeb<+A`o%J7K^C{yhffKXVIUuUb7J; zDdBX*iq^BgI2S7EcKz<7c8N)lx;hgHf40^YLYjWTDF%BW5Ix&jzuH4rN<+(q#U~Vz zIV;h&JBcTLus?uxL35D?jwg=yx|Tj&1a{$-g%9^xG0+#j9Pv^VEUjH0BI5xwy8=+z zS{JKWiM|Q1CxWu-eCWF0380f1yG3Tu?8Pft>wZA3(Q+X96Y^lLJjP$<=u*0L&9BUk zTv)3iAIQl`t^p6Q?Bkplv=;v{j^Dk1h(M18`Rpv>V>J)MX0aWE<}Je1Q zWJ+Z&I`=9(0Pep`)gjsjNh#Wy%yySMz0EHy7<7=u^gMvv(&W!Qk$A@T^}CqnbE6KI z1;5EH`DpJ)q7TJ7_>Ljd0YF75tq&xZbGUH$`|Z~eK3Kj^{apN{*}asPCTepz7H z27zqxm%j_}M{Q^ROq;*&cOm{vIe(^{e@Z$3&(h4gj&U||T&0ln19-0ha`J?m6T$Jq GjsF1rzT}?( literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-a693c-Esc-button-Confirm-that-selection-is-cleared-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-a693c-Esc-button-Confirm-that-selection-is-cleared-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bfc224db7e3c0f5a23e6f11a24732d2aa8dd4e GIT binary patch literal 9646 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

    ew81N=6HZxqJ}PN5DdPP^8YLydhlWO+#?3j@ z)@)Sg49`woSy_>jj(()Lnm4?lcYO%KKOTERVlAJcU*0?Hr#y!I>+`0(#4p@Yjz36sB zKcLeHNp@(kC~bUdmf7w>AKC?n^`)bO&TAPBQbi%%O{D>-i~b^aR7a1<4*K{os)Mx2 zrO2wnT;DiPx!QsJX;-uKF(a&DHPc?Z^JEo?-Cx_^5{=MWSW4;7qIL{*Mo$%)V4tu| zl>ik*0P7fwv)sGBNnU;_vg54r7{~!Z@wiZyOtb4h7Omguo!sy?eFRlRQg_3LuZs~% zW6h{bSkTNC@berCcST1wUHzP*{xJmdmaXq~{Mi{V6-AX?H$J%LvJRsZPN+8JHzH}!e%-C2etK_VIN zDY7a(*odMG^F)?r>LFdj>Kzh4xz4aFwj^h^>fj?(j(}hrhpo9?2|C|zZ?#nw*<8NIpW4sV!I`pC#g{M)-O>=io78*>gcw9cE26Wf6P zB!{tw<_i+vnpr)5F6F~Z9L|@5O{&cXRVdVH^2e=TffCT#+Il%6A{~c&@ZbRsH(DKv zxDS(G??Qp+loANWT^X91#OCMbaXcne{;8{*fWcJC!OBXH00w!jXqjjWFmuX=^?~Et zlHfW-r&G&4il4R|`TH&Ddk5KRLCtyzn9LJiUS1L@OUAn#9$qPY4uMRjZ}VS;tdWz& z4*V`nM3*_;U(K(sd3S7VEWc2xx9Zn>ehaY8pVnC0GzHHM$TShHA1;A$_gOOIkH5-^ z#nxs6>IcgLrQ_QhxnF^({C6T{d8Kfp{g)Q>X5~8yE)8%GFWgA;H+GDvu)y05)zb{ikljsJs2AG?DFYzvLgDFH5`})=#BJ zhC^ScFVTga%d|xCJ&trlMP@YbVwu0({5QoY6cq>*f!+)tfY|qeZY)psrl+{BHCYy( z--{M31!_g}{LdZ}zAnNP#XK|FM>X#>%9POe2eJMRVg;C`jA-^eW$o3q5lf8%P&l5x zRAXE$8ltNc?f6%noK)xWvg&4mZOheTc&OEGj1Q_~UdGQ_%_Q1ulz3iQeWe-Eo|FXY zjbpXAlAV zI7~Cd>zUsA>F=yWT@4=AW10v!6RIg&c{FPmV;1K?F$zo$^ZKf3>Bpyinh~Lmty6DJ zNwa=rSUw8$h=+OSw3U_F#*g+0)-NEZecAP;)vG7v91LLPUlNlOGPvhT?=wVX`bk)= z(%8OS8q}s-a2`k%FLmOAsZK`$&N9U7Ss4_#wf zo?Xz4xG6<%fLtgCI@aW4?#tSY*!%DDVpcx%*M^10v z9rsn^jHFvIEE5=bENM13L6w9YJFif&U?ZgMjeb<+A`o%J7K^C{yhffKXVIUuUb7J; zDdBX*iq^BgI2S7EcKz<7c8N)lx;hgHf40^YLYjWTDF%BW5Ix&jzuH4rN<+(q#U~Vz zIV;h&JBcTLus?uxL35D?jwg=yx|Tj&1a{$-g%9^xG0+#j9Pv^VEUjH0BI5xwy8=+z zS{JKWiM|Q1CxWu-eCWF0380f1yG3Tu?8Pft>wZA3(Q+X96Y^lLJjP$<=u*0L&9BUk zTv)3iAIQl`t^p6Q?Bkplv=;v{j^Dk1h(M18`Rpv>V>J)MX0aWE<}Je1Q zWJ+Z&I`=9(0Pep`)gjsjNh#Wy%yySMz0EHy7<7=u^gMvv(&W!Qk$A@T^}CqnbE6KI z1;5EH`DpJ)q7TJ7_>Ljd0YF75tq&xZbGUH$`|Z~eK3Kj^{apN{*}asPCTepz7H z27zqxm%j_}M{Q^ROq;*&cOm{vIe(^{e@Z$3&(h4gj&U||T&0ln19-0ha`J?m6T$Jq GjsF1rzT}?( literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-abe09-ng-Erase-Confirm-that-selection-is-cleared-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-abe09-ng-Erase-Confirm-that-selection-is-cleared-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bfc224db7e3c0f5a23e6f11a24732d2aa8dd4e GIT binary patch literal 9646 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

    ew81N=6HZxqJ}PN5DdPP^8YLydhlWO+#?3j@ z)@)Sg49`woSy_>jj(()Lnm4?lcYO%KKOTERVlAJcU*0?Hr#y!I>+`0(#4p@Yjz36sB zKcLeHNp@(kC~bUdmf7w>AKC?n^`)bO&TAPBQbi%%O{D>-i~b^aR7a1<4*K{os)Mx2 zrO2wnT;DiPx!QsJX;-uKF(a&DHPc?Z^JEo?-Cx_^5{=MWSW4;7qIL{*Mo$%)V4tu| zl>ik*0P7fwv)sGBNnU;_vg54r7{~!Z@wiZyOtb4h7Omguo!sy?eFRlRQg_3LuZs~% zW6h{bSkTNC@berCcST1wUHzP*{xJmdmaXq~{Mi{V6-AX?H$J%LvJRsZPN+8JHzH}!e%-C2etK_VIN zDY7a(*odMG^F)?r>LFdj>Kzh4xz4aFwj^h^>fj?(j(}hrhpo9?2|C|zZ?#nw*<8NIpW4sV!I`pC#g{M)-O>=io78*>gcw9cE26Wf6P zB!{tw<_i+vnpr)5F6F~Z9L|@5O{&cXRVdVH^2e=TffCT#+Il%6A{~c&@ZbRsH(DKv zxDS(G??Qp+loANWT^X91#OCMbaXcne{;8{*fWcJC!OBXH00w!jXqjjWFmuX=^?~Et zlHfW-r&G&4il4R|`TH&Ddk5KRLCtyzn9LJiUS1L@OUAn#9$qPY4uMRjZ}VS;tdWz& z4*V`nM3*_;U(K(sd3S7VEWc2xx9Zn>ehaY8pVnC0GzHHM$TShHA1;A$_gOOIkH5-^ z#nxs6>IcgLrQ_QhxnF^({C6T{d8Kfp{g)Q>X5~8yE)8%GFWgA;H+GDvu)y05)zb{ikljsJs2AG?DFYzvLgDFH5`})=#BJ zhC^ScFVTga%d|xCJ&trlMP@YbVwu0({5QoY6cq>*f!+)tfY|qeZY)psrl+{BHCYy( z--{M31!_g}{LdZ}zAnNP#XK|FM>X#>%9POe2eJMRVg;C`jA-^eW$o3q5lf8%P&l5x zRAXE$8ltNc?f6%noK)xWvg&4mZOheTc&OEGj1Q_~UdGQ_%_Q1ulz3iQeWe-Eo|FXY zjbpXAlAV zI7~Cd>zUsA>F=yWT@4=AW10v!6RIg&c{FPmV;1K?F$zo$^ZKf3>Bpyinh~Lmty6DJ zNwa=rSUw8$h=+OSw3U_F#*g+0)-NEZecAP;)vG7v91LLPUlNlOGPvhT?=wVX`bk)= z(%8OS8q}s-a2`k%FLmOAsZK`$&N9U7Ss4_#wf zo?Xz4xG6<%fLtgCI@aW4?#tSY*!%DDVpcx%*M^10v z9rsn^jHFvIEE5=bENM13L6w9YJFif&U?ZgMjeb<+A`o%J7K^C{yhffKXVIUuUb7J; zDdBX*iq^BgI2S7EcKz<7c8N)lx;hgHf40^YLYjWTDF%BW5Ix&jzuH4rN<+(q#U~Vz zIV;h&JBcTLus?uxL35D?jwg=yx|Tj&1a{$-g%9^xG0+#j9Pv^VEUjH0BI5xwy8=+z zS{JKWiM|Q1CxWu-eCWF0380f1yG3Tu?8Pft>wZA3(Q+X96Y^lLJjP$<=u*0L&9BUk zTv)3iAIQl`t^p6Q?Bkplv=;v{j^Dk1h(M18`Rpv>V>J)MX0aWE<}Je1Q zWJ+Z&I`=9(0Pep`)gjsjNh#Wy%yySMz0EHy7<7=u^gMvv(&W!Qk$A@T^}CqnbE6KI z1;5EH`DpJ)q7TJ7_>Ljd0YF75tq&xZbGUH$`|Z~eK3Kj^{apN{*}asPCTepz7H z27zqxm%j_}M{Q^ROq;*&cOm{vIe(^{e@Z$3&(h4gj&U||T&0ln19-0ha`J?m6T$Jq GjsF1rzT}?( literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-de82b-Esc-button-Confirm-that-selection-is-cleared-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Select-a-de82b-Esc-button-Confirm-that-selection-is-cleared-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..43a20ce2faa5589fb4bc602ebb058128693cc1be GIT binary patch literal 9177 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Use-Sele-f6eec-Confirm-that-all-nucleotides-are-highlighted-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode-selection.spec.ts-snapshots/Sequence-mode-selection-for-view-mode-Use-Sele-f6eec-Confirm-that-all-nucleotides-are-highlighted-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bfc224db7e3c0f5a23e6f11a24732d2aa8dd4e GIT binary patch literal 9646 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

    ew81N=6HZxqJ}PN5DdPP^8YLydhlWO+#?3j@ z)@)Sg49`woSy_>jj(()Lnm4?lcYO%KKOTERVlAJcU*0?Hr#y!I>+`0(#4p@Yjz36sB zKcLeHNp@(kC~bUdmf7w>AKC?n^`)bO&TAPBQbi%%O{D>-i~b^aR7a1<4*K{os)Mx2 zrO2wnT;DiPx!QsJX;-uKF(a&DHPc?Z^JEo?-Cx_^5{=MWSW4;7qIL{*Mo$%)V4tu| zl>ik*0P7fwv)sGBNnU;_vg54r7{~!Z@wiZyOtb4h7Omguo!sy?eFRlRQg_3LuZs~% zW6h{bSkTNC@berCcST1wUHzP*{xJmdmaXq~{Mi{V6-AX?H$J%LvJRsZPN+8JHzH}!e%-C2etK_VIN zDY7a(*odMG^F)?r>LFdj>Kzh4xz4aFwj^h^>fj?(j(}hrhpo9?2|C|zZ?#nw*<8NIpW4sV!I`pC#g{M)-O>=io78*>gcw9cE26Wf6P zB!{tw<_i+vnpr)5F6F~Z9L|@5O{&cXRVdVH^2e=TffCT#+Il%6A{~c&@ZbRsH(DKv zxDS(G??Qp+loANWT^X91#OCMbaXcne{;8{*fWcJC!OBXH00w!jXqjjWFmuX=^?~Et zlHfW-r&G&4il4R|`TH&Ddk5KRLCtyzn9LJiUS1L@OUAn#9$qPY4uMRjZ}VS;tdWz& z4*V`nM3*_;U(K(sd3S7VEWc2xx9Zn>ehaY8pVnC0GzHHM$TShHA1;A$_gOOIkH5-^ z#nxs6>IcgLrQ_QhxnF^({C6T{d8Kfp{g)Q>X5~8yE)8%GFWgA;H+GDvu)y05)zb{ikljsJs2AG?DFYzvLgDFH5`})=#BJ zhC^ScFVTga%d|xCJ&trlMP@YbVwu0({5QoY6cq>*f!+)tfY|qeZY)psrl+{BHCYy( z--{M31!_g}{LdZ}zAnNP#XK|FM>X#>%9POe2eJMRVg;C`jA-^eW$o3q5lf8%P&l5x zRAXE$8ltNc?f6%noK)xWvg&4mZOheTc&OEGj1Q_~UdGQ_%_Q1ulz3iQeWe-Eo|FXY zjbpXAlAV zI7~Cd>zUsA>F=yWT@4=AW10v!6RIg&c{FPmV;1K?F$zo$^ZKf3>Bpyinh~Lmty6DJ zNwa=rSUw8$h=+OSw3U_F#*g+0)-NEZecAP;)vG7v91LLPUlNlOGPvhT?=wVX`bk)= z(%8OS8q}s-a2`k%FLmOAsZK`$&N9U7Ss4_#wf zo?Xz4xG6<%fLtgCI@aW4?#tSY*!%DDVpcx%*M^10v z9rsn^jHFvIEE5=bENM13L6w9YJFif&U?ZgMjeb<+A`o%J7K^C{yhffKXVIUuUb7J; zDdBX*iq^BgI2S7EcKz<7c8N)lx;hgHf40^YLYjWTDF%BW5Ix&jzuH4rN<+(q#U~Vz zIV;h&JBcTLus?uxL35D?jwg=yx|Tj&1a{$-g%9^xG0+#j9Pv^VEUjH0BI5xwy8=+z zS{JKWiM|Q1CxWu-eCWF0380f1yG3Tu?8Pft>wZA3(Q+X96Y^lLJjP$<=u*0L&9BUk zTv)3iAIQl`t^p6Q?Bkplv=;v{j^Dk1h(M18`Rpv>V>J)MX0aWE<}Je1Q zWJ+Z&I`=9(0Pep`)gjsjNh#Wy%yySMz0EHy7<7=u^gMvv(&W!Qk$A@T^}CqnbE6KI z1;5EH`DpJ)q7TJ7_>Ljd0YF75tq&xZbGUH$`|Z~eK3Kj^{apN{*}asPCTepz7H z27zqxm%j_}M{Q^ROq;*&cOm{vIe(^{e@Z$3&(h4gj&U||T&0ln19-0ha`J?m6T$Jq GjsF1rzT}?( literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts index 06a89a1c71..1e66d792ff 100644 --- a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts +++ b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-magic-numbers */ import { test } from '@playwright/test'; import { takeEditorScreenshot, @@ -10,8 +11,16 @@ import { selectFlexLayoutModeTool, clickUndo, startNewSequence, + waitForRender, + switchSequenceEnteringType, + SequenceType, + takeLayoutSwitcherScreenshot, + takePageScreenshot, } from '@utils'; -import { turnOnMacromoleculesEditor } from '@utils/macromolecules'; +import { + enterSequence, + turnOnMacromoleculesEditor, +} from '@utils/macromolecules'; test.describe('Sequence Mode', () => { test.beforeEach(async ({ page }) => { @@ -88,6 +97,27 @@ test.describe('Sequence Mode', () => { await takeEditorScreenshot(page); }); + test('Verify that a dropdown menu is displayed in toolbar when sequence mode is ON', async ({ + page, + }) => { + /* + Test case: #3861 + Description: Dropdown menu is displayed in toolbar when sequence mode is ON. + */ + await selectSequenceLayoutModeTool(page); + await takeLayoutSwitcherScreenshot(page); + }); + + test('Select drop-down menu', async ({ page }) => { + /* + Test case: #3861 + Description: Dropdown menu is expanded. + */ + await selectSequenceLayoutModeTool(page); + await page.getByTestId('sequence-type-dropdown').click(); + await takePageScreenshot(page); + }); + test('Test sequence display for long DNA/RNA', async ({ page }) => { /* Test case: #3648 @@ -227,4 +257,396 @@ test.describe('Sequence Mode', () => { await startNewSequence(page); await takeEditorScreenshot(page); }); + + const testData = [ + { + description: + 'System displays structure preview of DNA (preset) while hovering over letters on canvas.', + file: 'Molfiles-V3000/dna.mol', + }, + { + description: + 'System displays structure preview of RNA (preset) while hovering over letters on canvas.', + file: 'Molfiles-V3000/rna.mol', + }, + { + description: + 'System displays structure preview of Peptide (preset) while hovering over letters on canvas.', + file: 'KET/peptides-connected-with-bonds.ket', + }, + ]; + + for (const data of testData) { + test(`Ensure that ${data.description}`, async ({ page }) => { + await openFileAndAddToCanvasMacro(data.file, page); + await selectSequenceLayoutModeTool(page); + await page.getByText('G').locator('..').first().hover(); + await takeEditorScreenshot(page); + }); + } + + const testsData = [ + { + description: + 'Test display of nucleotides with modified sugar (any sugar except R) in sequence view', + file: 'KET/mod-sugar-sequence.ket', + }, + { + description: + 'Test display of nucleotides with modified phosphate (any phosphate except P) in sequence view', + file: 'KET/mod-phosphate-sequence.ket', + }, + { + description: + 'Test the display of nucleotides with modified base (any base except A, C, G, T, U) in sequence view', + file: 'KET/mod-base-sequence.ket', + }, + { + description: + 'Check display of all components are modified in sequence view mode', + file: 'KET/mod-sugar-base-phosphate-sequence.ket', + }, + ]; + + for (const data of testsData) { + test(`${data.description}`, async ({ page }) => { + /* + Test case: #3734 + Description: Modified component is unambiguously marked. + */ + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro(data.file, page); + await takeEditorScreenshot(page); + }); + } + + test('Test display of a phosphate connected to R2 AP of sugar and a phosphate that is not part of a nucleotide in sequence view', async ({ + page, + }) => { + /* + Test case: #3734 + Description: Phosphate is displayed as p symbol. + */ + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro( + 'KET/phosphates-not-part-of-nucleoside.ket', + page, + ); + await takeEditorScreenshot(page); + }); + + test('Test display of CHEM in sequence view and confirm that they are displayed as @', async ({ + page, + }) => { + /* + Test case: #3734 + Description: CHEM is displayed as @ symbol. + */ + await openFileAndAddToCanvasMacro( + 'KET/chem-on-the-end-of-sequence.ket', + page, + ); + await takeEditorScreenshot(page); + await selectSequenceLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Test display of sugars that are not part of a nucleotide or nucleoside in sequence view', async ({ + page, + }) => { + /* + Test case: #3734 + Description: Sugars that are not part of a nucleotide or nucleoside in sequence view are displayed as @ symbol + */ + await openFileAndAddToCanvasMacro( + 'KET/sugar-on-the-end-of-sequence.ket', + page, + ); + await takeEditorScreenshot(page); + await selectSequenceLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Side chain connections between sugar and phosphate', async ({ + page, + }) => { + /* + Test case: #3734 + Description: Sugar and Phosphate are displayed as straight lines connecting two monomers center-to-center. + */ + await openFileAndAddToCanvasMacro('KET/r3-r2-sugar-phosphate.ket', page); + await takeEditorScreenshot(page); + await selectSequenceLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Side chain connections between sugar and base', async ({ page }) => { + /* + Test case: #3734 + Description: Sugar and Base are displayed as straight lines connecting two monomers center-to-center. + For now test working with bug https://github.com/epam/ketcher/issues/4413 + After fix need to be updated. + */ + await openFileAndAddToCanvasMacro( + 'KET/r1-r1-sugar-base-connection.ket', + page, + ); + await takeEditorScreenshot(page); + await selectSequenceLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Test sequence view for chains containing both modified and unmodified nucleotides', async ({ + page, + }) => { + /* + Test case: #3734 + Description: Modified component is marked accordingly to mockup. + */ + await openFileAndAddToCanvasMacro( + 'KET/modified-and-unmodified-sequence.ket', + page, + ); + await takeEditorScreenshot(page); + await selectSequenceLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Test display of last nucleotide in sequence view, ensuring it lacks a phosphate', async ({ + page, + }) => { + /* + Test case: #3734 + Description: After switch to flex mode phosphate is absent. + */ + await selectSequenceLayoutModeTool(page); + await startNewSequence(page); + await enterSequence(page, 'acg'); + await page.keyboard.press('Escape'); + await selectFlexLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Zoom In and Zoom Out while add monomers in sequence view', async ({ + page, + }) => { + /* + Test case: #3734 + Description: Monomers added without errors. + */ + await selectSequenceLayoutModeTool(page); + await startNewSequence(page); + for (let i = 0; i < 3; i++) { + await waitForRender(page, async () => { + await page.getByTestId('zoom-out-button').click(); + }); + } + await enterSequence(page, 'ac'); + await takeEditorScreenshot(page); + for (let i = 0; i < 2; i++) { + await waitForRender(page, async () => { + await page.getByTestId('zoom-in-button').click(); + }); + } + await enterSequence(page, 'g'); + await page.keyboard.press('Escape'); + await takeEditorScreenshot(page); + }); + + test('Create a single chain in sequence mode. Switch to flex mode and verify that position of first monomer remains same', async ({ + page, + }) => { + /* + Test case: #3870 + Description: Position of first monomer remains same. + */ + await selectSequenceLayoutModeTool(page); + await startNewSequence(page); + await enterSequence(page, 'cgatu'); + await page.keyboard.press('Escape'); + await selectFlexLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Create a multiple chains in sequence mode. Switch to flex mode and confirm that position of first monomer defines "top left" corner on canvas', async ({ + page, + }) => { + /* + Test case: #3870 + Description: Position of first monomer defines "top left" corner on canvas. + */ + await selectSequenceLayoutModeTool(page); + await startNewSequence(page); + await enterSequence(page, 'acgtu'); + await page.keyboard.press('Enter'); + await switchSequenceEnteringType(page, SequenceType.DNA); + await enterSequence(page, 'acgtu'); + await page.keyboard.press('Enter'); + await switchSequenceEnteringType(page, SequenceType.PEPTIDE); + await enterSequence(page, 'acfrtp'); + await page.keyboard.press('Escape'); + await takeEditorScreenshot(page); + await selectFlexLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('If nucleotide is being added to the end of sequence, then phosphate P should be added automatically between last two nucleosides', async ({ + page, + }) => { + /* + Test case: #3650 + Description: Phosphate P added automatically between last two nucleosides. + */ + await selectSequenceLayoutModeTool(page); + await startNewSequence(page); + await enterSequence(page, 'cactt'); + await selectFlexLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Delete any nucleotide within RNA fragment using keyboard keys (Del, Backspace)', async ({ + page, + }) => { + /* + Test case: #3650 + Description: RNA fragment deleted. + */ + await selectSequenceLayoutModeTool(page); + await startNewSequence(page); + await enterSequence(page, 'cagtt'); + await page.keyboard.press('Escape'); + await page.getByText('G').locator('..').first().click({ button: 'right' }); + await page.getByTestId('edit_sequence').click(); + await page.keyboard.press('Delete'); + await page.keyboard.press('Backspace'); + await selectFlexLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Merging two chains occurs when cursor is before first symbol of the second chain in text-editing mode, and Backspace is pressed', async ({ + page, + }) => { + /* + Test case: #3650 + Description: DNA and RNA chains are merged into one chain. + */ + await selectSequenceLayoutModeTool(page); + await openFileAndAddToCanvasMacro('KET/dna-rna-separate.ket', page); + await page.getByText('G').locator('..').first().click({ button: 'right' }); + await page.getByTestId('edit_sequence').click(); + await page.keyboard.press('ArrowLeft'); + await page.keyboard.press('Backspace'); + await selectFlexLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + test('Verify that selecting RNA/DNA option defines sugar in newly added nucleotides from keyboard (ribose for RNA, deoxyribose for DNA)', async ({ + page, + }) => { + /* + Test case: #3861 + Description: Selecting RNA/DNA option defines sugar in newly added nucleotides from keyboard (ribose for RNA, deoxyribose for DNA). + */ + await selectSequenceLayoutModeTool(page); + await startNewSequence(page); + await enterSequence(page, 'acgtu'); + await switchSequenceEnteringType(page, SequenceType.DNA); + await enterSequence(page, 'acgtu'); + await takeEditorScreenshot(page); + await selectFlexLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + const testCases = [ + { + name: 'Preview for RNA', + description: + 'include structure of hovered nucleotide and full names of submonomers', + sequence: 'acgtu', + hoverText: 'G', + }, + { + name: 'Preview for DNA', + description: + 'include structure of hovered nucleotide and full names of submonomers', + sequence: 'acgtu', + hoverText: 'G', + }, + { + name: 'Preview for Peptide', + description: + 'include structure of hovered nucleotide and full names of submonomers', + sequence: 'acgtrqwkl', + hoverText: 'W', + }, + ]; + + for (const testCase of testCases) { + test(`${testCase.name}`, async ({ page }) => { + /* + Test case: #3876 + */ + await selectSequenceLayoutModeTool(page); + if (testCase.name === 'Preview for DNA') { + await switchSequenceEnteringType(page, SequenceType.DNA); + } else if (testCase.name === 'Preview for Peptide') { + await switchSequenceEnteringType(page, SequenceType.PEPTIDE); + } + await startNewSequence(page); + await enterSequence(page, testCase.sequence); + await page.keyboard.press('Escape'); + await page.getByText(testCase.hoverText).locator('..').first().hover(); + await takeEditorScreenshot(page); + }); + } + + test('Check that Monomers not disappear when switching to sequence view if they are attached to bases via the R2 attachment point', async ({ + page, + }) => { + /* + Test case: #4346 + Description: Monomers not disappear when switching to sequence view if they are attached to bases via the R2 attachment point. + The test doesn't work as it should because we have a bug https://github.com/epam/ketcher/issues/4346 + When fix is made, you need to update screenshot. + */ + await openFileAndAddToCanvasMacro( + 'KET/monomers-attached-to-bases-via-r2.ket', + page, + ); + await selectSequenceLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + + const tests = [ + { + fileName: 'KET/all-types-of-modifications.ket', + description: 'All types of modifications', + }, + { + fileName: 'KET/all-types-of-connection-between-CHEM-and-RNA.ket', + description: 'All types of connection between CHEM and RNA', + }, + { + fileName: 'KET/all-types-of-connection-between-Sugar-and-RNA.ket', + description: 'All types of connection between Sugar and RNA', + }, + { + fileName: 'KET/all-types-of-connection-between-Base-and-RNA.ket', + description: 'All types of connection between Base and RNA', + }, + { + fileName: 'KET/all-types-of-connection-between-Phosphate-and-RNA.ket', + description: 'All types of connection between Phosphate and RNA', + }, + ]; + + for (const testInfo of tests) { + test(`Validate displaying modified nucleotide chains for ${testInfo.description}`, async ({ + page, + }) => { + await openFileAndAddToCanvasMacro(testInfo.fileName, page); + await selectSequenceLayoutModeTool(page); + await takeEditorScreenshot(page); + }); + } }); diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Check-display-of-all-components-are-modified-in-sequence-view-mode-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Check-display-of-all-components-are-modified-in-sequence-view-mode-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..24ad8684ad8de86d553352e79718e3590d490600 GIT binary patch literal 5742 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Create-a-multiple-chains-in-sequ-26e43-t-monomer-defines-top-left-corner-on-canvas-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Create-a-multiple-chains-in-sequ-26e43-t-monomer-defines-top-left-corner-on-canvas-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..140ecd20ae2ec8d0f42fd7d4fc48e3441367c271 GIT binary patch literal 18362 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 U^qoLn>7lTnJARh?>6!2T10r6H@&Et; literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Create-a-single-chain-in-sequenc-d9cfb-y-that-position-of-first-monomer-remains-same-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Create-a-single-chain-in-sequenc-d9cfb-y-that-position-of-first-monomer-remains-same-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..e9252248369f889cabd7d61a820350d9a6daaa55 GIT binary patch literal 9290 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 S7I;_yowav{l%KwO@4o=Vk_RRL literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Delete-any-nucleotide-within-RNA-fragment-using-keyboard-keys-Del-Backspace-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Delete-any-nucleotide-within-RNA-fragment-using-keyboard-keys-Del-Backspace-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..e15e6a78591f0ca92a6caba8e63ce26ed234ecb9 GIT binary patch literal 8009 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-47527-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-47527-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..98ef6bd6f715681a44c41ea22d6b2ae84d3a9266 GIT binary patch literal 19123 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 BLofgU literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-6fc0e-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-6fc0e-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..e3fab782bae35614197ab6e895b2c7889f3d4aa8 GIT binary patch literal 14871 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 Iw`YI)AGmi7!~g&Q literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-c39d9-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Ensure-that-System-displays-stru-c39d9-reset-while-hovering-over-letters-on-canvas-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..84610cfd188d59b23df49b964286e430d0c8a183 GIT binary patch literal 13602 zcmeHu2~gAL+Hcgh)T(g$*_I*#RZ!{zCV=ne*pm)lqso}ur%|Xc zQ0Q-toVuJdJBmxmjlMFk?3$j7($C!;f9#8mo*xFk_rcDT9Y2(8{P4^3XG^R;sns1{ zdgSJiNRBJLw6E~`rFPGo#;U)?e)sdbPY?X~lh#kI@9jQsnsRr`*H21vqXGqUV)=#( z7k8j_wJZ~GjgL-7GjVxhJUwvwk(epA=AZKL@OZQih5Dg}mc_|~g`pPTyRr#|`s(BN z4B-#o{s~r&`sB#idKBurf3v^%sSY0KyQJVUnwevUAw#L)lAZB*JYT40ePCa*wTOE$ zIJko#ztu6(R`{^Gy4sE3oCUwKkR2SQ{2T7KdEM7-aMd`a0-aejBqIMB5+qP|s96X;`P*G9A;(dg= zgC1KSJ}l=F&m6rqY!f>gEe(DaFxlR(aX8}K%HnjYo`$jCvCj;>UOAfhI}8uV&%OLL zZJI^F5X9M;vbA}>|MJ`OIIf)8`S$hm_)t3PE8OhI(-Uf{vcu5HLfk10Seh}V39H#$k;QtHKUGD2 z@cxWIKn?T89!=KHUAN(bfS%vJo$f1i*_(De+~roycTI$~lSQW@-~6Kg5OzV#v&nsb zlOiRkYNioN^Yi$KD_TKQ-8(LZ`DEBgM|2&wFSxl^{MrAyn$7^b?~Q?3)Kto;;{M0g z)w_-6drFIox7MJ(O0HBkReikF-s4fM_9=`bm)-ZNG%@w_Nj_LGlxc# z@iZ<51+_mqT^!lIM_($rGqkRH$@cJKx4mfWYEuWpysP#1?;lh~y#8(b<*{{*HvXu4 z2h!5hKhuAn@yPPhS1{ z(0TlUa84gh%&f0G|Gas&ij|jXJb8-ya5HN0%fGZ<&ei{`4*Xpp+*m&DMUYL>7MeA! zDBOtWTQqDFmNAD0Mrc?umAtk;*-mkJpwu(NJ7#E?gI4q@+tt@EDsQ-@ERRol@3?ZQGR*MYua>VD&~OXk$r*2YkXqYihI|Viys9ckcsn{W>WTEbJ`TSginAvmz_KOcC z+>a)?I$P{QM@mOyn_ge~%*ZEao*=EyWp!DLI}>Cbn7I+%zTRFEC1G;k^wiYy4W2B3 zLAJ9~D(00O+}f(Rt4k@fQ|cGy#RZWjuBrR9N}H5xKAD~|V`7#oWuEQdz!?q;w@DIC zPfPomida=tx3}u|bN*YlY{|`-Z&E5oF12VCQ7BzJMmF{G!kdJpVvLhgv4(y1y+h;u zOBmUoY-45zPh=h1Q!^6jsEuFjL5}PB^(_L)Ve`=_SAZ8%hTS4TAtt-{D9X751L>aO zji$)%HsHjOV^>t@_bntpWrx-6=?^kRi(ab{5374eeNUQrnCjdPV9?jyodOLfHXyT# z`8B$EO?h#6uHpF7Kuo;gQizL76D3B{ghl-@SE*8y(HJ@COF~vG6J<2zWSRu>=3ytS z!j(_e2yd@9&rVHES>F_m&J$u)?N;Bu8W`A3e99?=t&Z`r6?dA{@0TyP*yZUcms>Iq z`W~g=r|inO!I!|58Z1i)mCfdkW=vvK!QlVsEd@3oAfDz6T z`6$%ru87#34m$WKXN$=@r}n1hTx!07ic55>e%?YpWYt z3#&^L0(s2ml$vU`XYvE9xRt*)RaC~4(O(Xknuac|?29K=^ZOG|&jBrE+7StPm*4!d zdE22c(I-pKaJxB$gte7u4uwXev8C*+P~rP=lU~E-zg1KmME62j3=9k`3fbmv7<_aY zePt$LLRV*cNw%~oX7y3#nYKQAl6?b-f7{?Hu}~DJ!Y)5=pCO>ko<@_dY*2{_zUiiO zMz+}J!rw|>ei1xC17^fBE%;Hv4WqH#Mr^~kH$Iz8u~(fo<^sR^k@1o?Tls9C>^0F7 zsKE-3S-R9eK6$!lSj)HhW*gu!Ne^Mcrz$!*6}~OIjqDWWj|%y$zAlVQ6WvOFd9;dZ zmz2Bq_nok*wYqJmR*4hyqJ6Y&6E4>@PceP+p%5Ok6Wz24%dc}Y!t16B3_HSVUtdp< z)^iz!c5BlkksSu3+rj|^b2Bh&m-$^}GVFz3+f>hkdebvLw&tQw%{iBSGyEwD`(`zJ z`ow~1KBW-D&BZs&4G-zGFcp70^A7Ei+*Sm`hNyvo&wkoS1E3Kl+O6(DSI*Pr0aM-g z*^SC#wc_mu|NKpX3z_3DLl7<;IJoFcF`^}m0d9p!xB>S-e<1Cl+DpD+^}^~`uU<{G z>Lz#gx!C2B*JcCJq$5{9Xyj$P)$m|9(ca$P(B;NhUgynirhB1GyB=Tcvt(KD?)ui5 zo*^N{Pn)X~^a4yFt*@n}Wiea+ywb0YG?E}@+v#j8)}5)SCV z<0)S2D0V29la+TR63IxMpp>>W;Axd11=)a+53_u*injxsp~v_+Smy$#>~xS}t1ZM; zhm6Vi*$M|HAWqn=rS{9pw`$513Sp@jk!+zgqv`Ch`cf>;$;rv~?G?3&^5?38G}+R` z-)c0rQA@jpxk?}YczkJb{C(7v;g$NW7Lq|<6P##bbwb~+ZDmP7ZPAXOxT>>yF3EOf z>Ti#rB7S;Rg@5m=YCEXF+X(niwx^8_n~wxc02ENB1vUVLQab#&`T4<}sk@!p0rLliYCV+0KsJ$+X>Po%;Ig(H z3v4BH<7}Ov%wqNJa}zjrCN?rY7$MKUA3{b;1(i;TdG*&rcmN0ZW}iWP&jvN?6eGgI z4K&GxAWF5EZxF}D9|y4>?nw6o>+!?R553?|zkU$`>i)|gv4457`S0ZXGw0tumL_>9 z)Z3%|OOp4dytB>1+p?B4sq|>9Ss166-S^tR$~0|p+BIX{tt}c2j!m!n`z4Y)DAc(^ zeryEysfT$OQ*>Hj95rUBVO+jv%aWqWH?X(zyz7}#Z*rBugWB@*k)7%&RJDCigMIX= zV)v?Q(|T2nyWWYLr-ajQEmx$$$CQLE7sKaUAMpk@>x|qvo)6!;9`!?RIyQoP-_p{u zvMk#5`sOJv+x5KF_01vebpuY*QxWCwqfj9?p5POMf`dUpzbR+cTp{2ER9d5MKe82r zpIwowo+>@l_u4aV9qNZ?|Fk_%;KTPmTo3C)_N{JGy=nPdrk!&2M9$%Zg}E^v^p$=} zfJ`)L6_w4x5b?WD+)d$v-m!|Z0;{Ak6BoaJcD1bb&97egrFU8zsi_jr8p9^|oN*vC z#|z6a1#vmNgRNy16H?%uoAt5o(b<#*SV-mI)ebWoP}s7bWWt^A9~?z`UdD{2ry_mR z$_G^wGW>WCXr1FEWI1HTVxiT%R3UA$IKd|>9S~lfim-X_7 zx<1+#bW#AkLz{V2963`|$OBC70tn94b1y%41knO~D9fpl=3N> zQ#gQ2xuZ8!>F=nR#3**9>bo$}`nh+A@*1LJzsrtws3%sxKJm}iPI&ti)V5c|)Atcy z!58w$L_!#CGCe0j)W+5tZ`KU&1c!j_JlHY;a;gLBJ@VzJZc&C@fHZCBaIed+uU!lc zWw4qQOQlJs@sioi8pe9Ah0Y96C8EZ8yb)UTTt{&L;MqmYksVvaJXql?&NssELE6xy%Q{s+ zX|nCIQzr05fR_n!HrLtS-X09WI|jHI7DgDYP_>#ZM^Mg*gkV-~{Eva1cW-Y{J^TfE zYW1=n9ByytFD`v<)(=5~@<4I{zQQJG=5E>flUK8ehT~#YfPX;AI zmWla%UUoRM{QPrc06%Rqf9&a1D!}LDCd~5JBtMXdp11s<_)o0Q2;F8Hbjq-9>Nli{ zX=6WbihS|0gC8Ty6t}w2VsfGT9&-sXZJ=26xGMuSm7qgQyz8q?BG_zpA4mtKRH?w6 zDLH!^w7YcKT$da-Q-rKf`|{Y8$2B$lN5y6B8})Nio~zk4IMi%Fp=KKr+CE_~#S*2l zvS;e_l>7FHyqc!9&@-hTX$T!!%>4eqk|kT^+mT0O*ajv6ovl9c!nAiPV#vW(bbA(b z6Cx48T;E+7ZwZ|4&3CVl2~B1!kQ@!$Gy-#OlL77#(8lsI19=@7MP%|VHTdGyz2I61 zj+0si9;E@#3mERAXT#eGV?K>GTGhUep7GlFfQ!wyw6p4lhdFtw@PWs(PyY!b{sCJ5 z89V+T|HXGK_SSQJvtS9S#H+uzG`i*HwmbH!9HCPI7**N4cOWd!ueget9Ef;);rP=eO$K%LO$}28eOb!7_)yc6X_c!qdHN z-sn|5onKqJyT85KtwgT_bAjMA23*VoXC#R91fG?!!f0@fLTfY$4NB5DPqv z4j(cDnbxv9 zcA>PBXf7RZMFCSp08@KbvE1^hhD}@)Frg+@sgUnN53|`O_?0cVnIdi=Xf2#l-qi`l zy|<_5Hq^Zh2qY(HlO*fNuam6i1_8f1?_NSIQw3Or?fAvp77H)7lJs0`Wv2p|4K@N+ z4U!Uw>C)WH>({T(!q?J7?K*zF4}DJ-h49h9uAGzWGiqLdPQ(uRXGHsuEu(`z+kdv( zKNoheVfl@YNz_z#X_6Sg0!c$a^DYLb8+g@znW|4FN$JwZoq1~!gq6OFve`hTn|9oV z7zBM?65jYCYKN%cyO@Lwmg}|k=6CT-$g)#rp~E@z`1$tjk*zz>B+c*!3&3TaR_Jh1 z2ZnP8iDq02PB?=e{9yCvDSR>}Z#0%DPV|L_vvC*`rF+s7aAzn!xp>J?VTZ6I-G&T( z7ex~$6TNOzh-;o`QczVEBikITKZmXHJH_ns+j~qbHrXcTWIz|;a7Vg9$9S^cZD|94 zdGq$e2hfq72e*m`eUtg#^V`Vq$cN0$11DNL4kK=jL!S35l4q+uhB>SrsFYzIw36o~hL#({HR zd3aPSQ@>eSS^~-z2Zv#(0igsrTZMZ5`Sp?b`L!Zg=v@7L`og$cJAh{@kH>>}z_@8m zxIx2CG1i$ajVh}Ti}UdGbcJjW(oN8GNS0|FFVS_c4skaN=j3>X$(-gIr3$7H!Zkmj zG#gO^V4Y2iwihRovRZKu;vDlcwE3P8|UH$vz>q7tz1<|S=S zVrBg27e6PAZBT!BvIzVPHy8Gb$5ja1|Ke}BxmVR}zeISfF6yFT(<%m860-2~iCS4e z*eCK5j)POkTM~F0$IRMV$Y-U|VSzG{dgQZ>Dw07l^yA{@D;=I?MMZn?atY(d_cuYz zc70L6GQwFTB&zA;eY)>Vz+n0PAxL~IiR-8OZI_?kurwl0?o(n&NUNKKjnFCejqqJL zF~bwcPs19-uzXN}Z`DimNKq$nBva zA)T{B)cTP#Zf+TJ0ITQ$=OoLS*3MijbN$??H`!SWNyZQZT1=!Y5H^7BjQN`R)Ia$2 zfMOwok1ZU1&SpPX8!6V5-ZKxq7~J)sYd@p5$KKV=6Brs0H#hyiH30u2=x;b*%&IPk z_Vo;R0Svi!1Ig9HjgoDazJ}N>P0wOtY}7d5)je%)GbG|vBp;0(sX&tg^D@cx^K^X# zVQld$V4r#*he4Ff&)QrGw#%Ty$$T^iaBiH~vqk~Vu;AxVAqggHlQmJO@=(cGZ>S41 zzQQD|7_E(8m08z>gx1W-Z(vq;B06)obI#p9XDb8D+Kd}DK_&uLV_MBKzjx5e)PvaL zNLgcyhpOe&y#!He29M-un{`{)fd?-9d%(WFtI2b_?5}S|RPC}lSBW5(JC(qCfQ84e zgOaYBY{MA^ynd6G%i4!NSrot=?;zrr0E6>AOH1$tLowXSq1kjzLXEIvST1SAK#zFC8$hX^@%Pse|t#N9$R zk*a)Ls!wi*;3icM3E&Yz0sNXZ9ghh#5>UHrGc2$?-nfqP!ZuC$AybvW1tvtr>UP5Nc_8=`B)|4MuGs$5cF1X_>ghTpb&_^DA|thim+u*R_SaPy zY*MG3$X{tc*ybtjeU`|#&6egxp3B$;RORfGM0Y!J_rQIzC=nLm6*rxq%gWAX<-g15 zD43?lj~_pTY&<&JsPVMjN{?Fpg9llGc{pTR(#Vjx759(e_})0lP+(t8I2WJ+OjRvb zW>~+vr@1EP(1M_p8WW1mOAr-VO9r>*cKpxe*TA3wirTo0Ri3_u7o2qSOf?YppE^0p z9PU44Dv4*5Qf8~XEB(;?P{gT0&=DzSm^aNGqx>{cRyKsj8;?R-l>oV-#N_ z!#uPxVfATIad8LKTrMJHZ{4~jD{itpq_aBqQU>va9@_cvYa4KyWWGYK(|SLVzE3Wc z_Ie>ed9ja>PFyMMK&F(F%j3xm2-5^G#=1fon$tW8Uh-ejsv(BHdMzj7SvDI6*KeCo z!&q9bXAp&@op6APAlLuoQvVSMNG&XJ^aYt{-jf`sRX)M=anR{_@r#30atMVQ(`wt%KK~UFeqGc~ z{Bi^8E9v0>>C6rZj~ehLUX>26P&l7-BXG}tP85PQ{ z7rSSnq7s;vg3i)1Dx{B{Ike5mTsPQzx&WQG)&kz!^{E$EbsC z!ze@r5Q>-~gJ}!l<2`5+7-th|pj{3)szAWIRtWf0L4r{;U(hu& z+xHtNNko`q@lX7*N~ex=3Inz&HMG%vZyPDlEx#&Se5M6)z=mK9VE%|{Gp8@y(rW{c z#_`WZEDmIgU1wU(Rt25T!%JvL!iGks*vP`^%P+eEX9pXxFxTCM4r^H8EzWc8$nufE z$d&2B$rS-H56pt~(yMuD)HGGr8EBh^2sZHX_YntyhRHY;nbl7q#*{RX?inT=nR9hn zvxQ9jCFF0({MU&}t9@rmI{#4;(BEF`%7*|9H*woy$T!(05~9n=ZhLMTxWYhyW*A#% zLl`a>4|ORhNOA)H~h4z4DN*L(J%=gy&nDS|MdDO%MiiJ7ekM(b-0+4>Iv1=^>+%9f=M5OifKS z%)`9QLIzV{Sb>%eUQ_#hY9 zVsf#s5N3IKQ#sEMwyZ`&MVdfLvRTt?KZt}@7>tYVt9j>uUEGD9nVG4)G=80B&4D?@ z{zM(ZSx|tf(2xG09K_4xF7(Bm(|eJ78$JmOFT<>#L!U?vf0G$HTz<)MZ+}CAmuTR$ zD`Un~v!*U#ZiJSJ#GXrZygbIj+5(;RPAyb)gt`{wWL+9>-h~Dk7HyG$d-8)fVwH`Y z%Ax4NFy$ib_t_&Nk+m4&~sl=zzvagVvlAb=WJ#K0TBG@fixTO`LPzd5@yo0Ur z_K~n*_42>a7`>*0seZy?9#YEQKjMJbVVqTTYA;-#ImloL!1fKO%>$FvIgIt1JVI9u zSM^#j9DPRLN@q^SUoIXX{}ogw{#;zg@8X%$EA z2UioGXMbm?;QESfQCQ%7sHoTK;*%!?Pw&-si(0rO;ciHqAR%ER#XS&q5JoU71w6Ru zlD#J78a2rnogpK&2SGoynsjw`ty7sLBMcMGazacoj3dCprq%g!lm|J=#N;tZ)x~3dxh2~pYS;u3U&xFTRM`Bs#Riy`goBhBTb6$Opeisyu)39r0msl-b^~T8aW46BH^1xr4S{=YJ6v!ZISaB7O`gX*J3 z!fOb&(I8ZaTg=SYFps-16BNv?l)*TIeG3~gROXw^*{5dPaCo2FWBOww>1mARX|!p4 zlJ;udrEEQrTbVZTF*VhYp6m8OIxx99L}Fx$FCey_lLv+Ui9N9A*5pBxeK3+$+vFC& z7`|0h{fCagFZdlYi$p$42Q3@1;7yFife>+3&F z#@;iJ``Ng$V@Esa6PtfE&ikj#c_jAty5X!-R*xVroEH|AYiXK=Ig_*CJ{1&pOx${@ z*6$~a9u`1wx-wi66gDlKF4rm^D03luAlHr9t`ITb%Q&^SsCc^dM)5#FW23J92WI*A zIqdU)AKXP7XjVFMvrg@dT!%X6iG=6eq`-OWLey{N>t;*~60`)4 zpaysqh@J}QWrk~-^89f7#@hE$KM2cJq*`TQae^Kd#hiL6WEO~ekF-G>zxfQnd8t|GfPkuwNT12GMoT$9s?y6Oa$)ZIroS6egA;>bMO81;fH5^Hhb;$U2E+%JbOR) zoE`0zw(i;r0)dpyowd0L0&OINKyo=-HUlF&4=;ZP9vi|h+W!Ws=-NF40__EzvpM4$ zoy+53?>~)<85T_C_K<2fLXLSx5YB8{AnYo)+0lFP1VaCBuHG+S!g~o{>YiW0a0Y*W zcplRSFZAn6u6w$#3{JLq|r^dzB- zvLq&&;9_0d)ZW!%gh!f#ZA2Y0frtL%3XQhXgdu&+E?k9JFZ&TdS8u$Su&Q#JN7Lxi z>jqM()a{TM&y1-Sd{lOz=Um?CQDxxjViOvGq%}V)4$w~Z_B&hzfrz+vcEv_!TExpi zy1lu(iA+6P~!r~i;So`yMmn3S_hZG#mg_YLaq}!K8+eY){wh(eHRZyag)^zQ5rO0 zxEtm|t%FhfVh0b|#w|%Mg^pyRUeIF@w&0e0da;<6R@;I&3M?1XI>0zNu~c~Ev%kNt z^nF2kOBDK$46EBH&CFi$Z?uHu>hI~X_ZC(KgT}E0t;yTZ>~K zzul;Zj)h+Jo8FXF7?@RMw2|Qk>j3#=^E^V|RAviI}wxD~kohQ`+1-tcI|AyF5;T zAG=j1g}YUzA~_MQ;fV0-hl`#s5N3*!`laqB1-HGq{AoVfvLB421j8FOnjFe{W1GyhLtiWy@6hyBL zBDtzZt!`Y%H9q0NycYB%$(!CAR`FW|#a>PFHrBEK!KJSprmTCbFp$eH^xWUkqR7nC zkOR#Yz1B8fjjF7DQfkfoUGQbhW%rFoB-uyIPA3a3qLP0mCiP1)Dk93#eRf}6Iy$|# zP6>R0wC~8@G)hka8h%M){+8_rbuq6hUV6XNiJz2J-aJq7yq(NRx9#}H+TR|{=(?CM zvlB}h8zHV(zb&BWI}+eUfGb^=7K0pAV{@}-3N65x7jtfJ0xD)t4rHx|Fz9sN7WQ@( zdHE${1|rR5I+0=^U!9jUlN@hFUvkAaRzKVVamBAMrjY_=uy}FLnVeJ`iBo^>*q$1 zNq7lWv{cXgGGZ-YR>t`z_zzMj+N)2K$j_(xkOECGy8fWItT5?LqOPF9+@%0Uc2_ApgCkWO!1ezsIE2{x5AlA}b@ zP5Hs-5;GsLzzG}QpkdakxZJI%1SGm!%~!s`LJBOm39tnzE83=Zp5&)8UP{qH9$q1| zg>sY_RIwToCoX{pEms*#j;*H5=}N!*>vVD1qLQb0Pl?&`cw{I~JI=TZC%7UgE?5$k zxy-IgfuOZig&5NTGx>UahK1e;uM&#V?91cMJtybU4#MfdAEV_iK|Exu;~qXuEo;FF4)Y=qtpm#OS!HZ9&SS{t)g)y(q7dEo-); zuX0Ot@S!-GjA}A^)Jl^PU}LcGj@_iv>BePsAaNe|bEx)y)6a9LR@Vq=FJ`c=Q$VVo z@H;2ZziB%9TDe>D{e0gq;+y&OWF|OKS-AEMFP4f7SDc9|Woq@o*%ja0eelwU`iU_I zx|zH8q{LT1(^B7z(vh;G3Q+fAF!A0)1y+rX-?Td9ixuR}PXPGL?ENwbIkMOMhIOPo zbmq%!+Cv-0OS*^nG^6d8gMv3F{hmwL!$nPwBv*c6%HH_=imT~k20N~KSVZYC?hQ^ls2|c> zuI9Ay>c1A)7gF}hJJQ%xDIUyWN1O>RSgZT;<^)o`%A0vwG~oXBgvVp#iBGsAaKGom z^_At{Ze>5*5#Bgfb(m;JyX!AnJby$r^yS|jiIbU+lqV0nR%>*IBf!Lc=F5>i8q7HA zq*sXWripyu37_%$z7C5Qk=xt~c9uV?FU>7WqhI?!S+-n`#7rfxF!S2dq6B47BO}DX zNKqBa`b`)1f^jR%AWnNszbJAjsJIFvIo(|jtF&kwyxR{)z!;-z)0O5o@~|$(j#xpF zu;=8mEyGMybTFqpArD^pR|R=$WG(rtg7jX7c`Y-p70{|1_`V!6KQrUx@ymSDCnqG5 z_N+2Dt%`9`dC{}jhtVJ6XWZIad@}A>5o>HT{JKGofBue6z_O{o%txK6@VZRv51{42 z+mX@n3!I)%K~O0?w>#+NsZ%-6Zl-$29`>FMnb)js z&rPi#?*pBE$v}}(03_XJ$5jN+@Fu%V*(bJ(m6b3FRj5dC77La!vEdp=(NIY!g;F!FD*`aNAx3|=~?@LR!7x;0C4)R zm)e_fHS$`)txDf?9?m{(K@IWonhnehwKX>HRdO~-WWCIn?%#MJQ)BD{1+pxT;m8z`^tqkcQ zDUWXFl&aX)&(>>M&L_&c#E@VA2S?!Y{X;;X>wfV6xAk3b^wfpt4D7-uE7Unrk#9UW zS%^s6h*qxo*Gr>Ul8ch;wT4u9!VGmy&3lGZx!}%{`LZwfG)imv5vf)y+QpFz_KZDN zkdiK$&CYV>drSTNr!fnBb;(D)BBp_NY>x`#3L5Bk-7_6-d>v|lQYF0kwJ%%~DBNds z*uRK5YiC1q7w4#F*M*+-C)e`^-|AO1N(p3s-F$1Ib)t?A;EilDF)1sbPfJV8PeqZS zWNs=RGe)6y&#WmBq? zFnd~uQ$v>=?qp7~kiy;#m=Cw>!xS!$QM#e-Es6Gl$mi&2Q@P;WV0Gm0JR|ME(;nIkmV$6PpF zaWXpOTMSY^tPHl(*7$K}^q3}h8&+r@Ob85M)yVr`YBZrymRgi3UUC($AU#7uvX~FD z<%f8NeSADN70-VgD&mN!SJ_>f*p-|Bi(mriNucg~%Y^v6fNPfMdPz%Ga?*exMITC< z_}T@ zbo|4}$+=H>Tr)Y(RJ-=ll!RLFvHU})DR+CBTX{0XF~cYfvfYoeJcRQRr_cR!Ow+R*BXl#Nv-HDS8>B>jX(`DU3D_?d_UH-RXM&_4wr%9vv-I^4;P&^Gbqu1&-rPsydJK; z@4QZwAcrUR@n-4i)=A9&Q4Zs%;}@#eb#bON8Ae^R?3TkBwWYFRbfQK8Egk}(ZTRm@ z^hnx7)^V#SU}BqdSyONX#`V>)0{;Z+w#zi0c?Qc0;u^*LlWLqC7iN)VWBcjAxB}>o z+hbt1R+@^uRj=sX8gfmnO}APrhmWb@d6VRzxdh8}v&Pf1GX*R|r}U%8P*#%cbUGR- zg)5j%j*mxt?H7#SuJJ+vd75akHbET|)=)&PzS^}G2Zp{ij=oN3Yq6q)B59W`|C!jl zXX1s?_YeoRtSV_hYDw3YzT<>8Th$pMBu-Lv+-x^#Ip#}o2DS;v8+%g~#Xn7&Bx7tC z{Gi8_8m%O4PWUmZ=&dOYr@TA)qpm_so3H6E&NH=FoNo{dj_i(G+U`@^p&0X>@GeWe znqcv{TrB^*c*x%0Z=2K6&Td5}(kBqcWv#8XJEZ}_mP1#cn$k=ymsdCKA)Ttmo?#i9 z5(hA}n=<7t@q2xw)|^{<>&&xMy2_(qL{kQZkp%?Qu`O?FZ?pC^94m2?plpm|he{6W zc$C*#IbDb<#*t+$G5({$42{M==6RXLYG^Yj&89&*iOibC!$&Q9QRMy8O_*2$^B-S4% zY^Cam9&^{`1+`Xd#Vg;mWmni??H3p`OYtgXW?<_8yep}yYLFe^j0H+)a_?-G*}O7G=Z=}-( zHBnf+JBOiEjTP#ReaM*koVE|8MptCQeT2@bT-nC}N7PZC`Y0yUF2ByQRqK1t#q@os z4ObTeBR54M8exU2zSpQH6>1-_ltb4eW2lY#Kp&-6Sv^v2BpKx%Ld!-~LBG4SHxak1 zO{-4cad8_@W&v@y?Di)yb2B=~pD}cIr z2LW{#B72cx><=m=(6Qa;kB5w%RESVmjEyb?MwYJ;W_fpYVC-JH!k=e`VYtbaNK{+#m|r3`eV2L*scH8ce6i2 z6bRAp0y%f!D*?j#w*dc%7wkWr_+OJ}-^t{!&N#)OA6yawc>{FL*3qWox2w1R38nur Ai2wiq literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Merging-two-chains-occurs-when-c-0f3ea-n-text-editing-mode-and-Backspace-is-pressed-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Merging-two-chains-occurs-when-c-0f3ea-n-text-editing-mode-and-Backspace-is-pressed-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..1d824c00a6538288a7cf70f0c68ac40e5dc34d64 GIT binary patch literal 16048 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 QBvU}2wEIWNx0i4JUsih>=l}o! literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Preview-for-Peptide-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Preview-for-Peptide-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..9fa0f892d581257af0bdf86f1790dfbcef96405b GIT binary patch literal 17597 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 OrifoUpK|uH_x}PfAcBkl literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Preview-for-RNA-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Preview-for-RNA-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8bcc6ea1c373389a0295dc1feb8f54d691aa08 GIT binary patch literal 12865 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

    cx^fJXGdcPYPp1%WsN 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Select-drop-down-menu-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Select-drop-down-menu-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..190485fa046b5c428501e34fda90c3d271acaec1 GIT binary patch literal 42421 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 n~bqr22l?-p4>-Isl~ZLIaj_m*L&f%2D! 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 BqDKG# literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Side-chain-connections-between-sugar-and-base-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Side-chain-connections-between-sugar-and-base-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..023c440991b6d48d8c8644e23db4b78f089225c8 GIT binary patch literal 6020 zcmeH~Ygm$L8pq$VU8+gVtC_Jz!zN9eHZ?0V6R?v*PNq&eIVv7zwX8HH&=5S3v%6W- zq=}`W2DME&vz40W0mVb5W`SZlX(%ZwAf8YJ3zTGT?7H^aulsTL^2_sHz;n3o|MS0p z_sb<;Z@lr!FIFN5V(fY7;86rIszQ*ZdCUI{-+a1drUM>J$Vc(}k)k%s5d<;Ec^=&7 zpI9*Q*6C!}%+qG2UEJ%P-`aHejv0R!>=kl4$!2S+K|&4aRBF{aK_F{}r@cvT z&dJH?S_ZUEj34w^DF;{M@o2ced=xjMnyOl5RlG-^h%0CoYd!euQ}vl zlB9*;&BC~PoBm`nW@u=Ld9(Jo{1nU^ z>v+@A(b3ax?SOZzjo%g}VAV=`G@3*-T}MatE`#V;E8q-dOCpNW$Zu_x!s!+?@J2(m zH4)G6*U!JV#3T~s>kNBkH2eucZvFV5qh6eGqkev-n8{{aeOxx=vJd9^6A!|Y^D8qp zXI?eMX*Nu9Ro-=TikcWvl~ZMZY7#nCGZ53qr7i?%EijXsl~h#ZM6pwLSS(9eY?wlJS`k#kSyzm~}K;i0#mtDr@o7z%$o)xo>E)vT0nzQ4P*WrBckS z{0>K!7d`#-6USB6W(X4gI~7Frw&<1inh(&KBV2wo>|2D94T+BTY+Qh~hhsxRNA?Vryr* zZV$u#{=7BKt%SqjjK8gM0qLpJFYL;ys%{jrQ};O5>qt4dxn*#^myge|MmcoA2P9m3 zDr2*$Jkx!?B{wXU*&AD9PbQOHY3h?K+URfN!ZJHbA2mugJWS@#%-)et{t&>l5uksFQ1| zjDo)Z{t$yed7I!0^EO#A;d2Xkj-+aJiAqRt4hTz`Ie*x&IU6>*qd~}6T&*M{myUz4nbF9;B1mA^&&C*41d%{N%ctyQ_o~xDR3+w50R^s5L z!x@f7P;=}B4qZT>b?t>8aC)7J`>rQiE6oinEiGk0s5otR+}~|&ZMQo+JFC6G)mg(U z6b(?2xmvB33t2Gp@~YQXdX^sNZsb4-u8eIxV2ZtFgffZz z;fF8bCIUbNvQDGqDw{1_&ki0uH`#YnC=}i2F7EPLyxOfPu&?h}LHzE8}gX$8BL zf&zCsE~;%SxK}GnY<~WHhg%Y_y%W}U-F9^BTQL z#R>yo))>z4pECI`Z=`4~4be~j%@o(-Hp$JNtebPNaEawlRQ9vdtx|XAyTqYsUx3+K zEP{iAf-Go_(%3U+>;YOaxOvTx2zVx}O`?2mZm#MIj+644J6sc|!Yg8g+do>_mWXc{ zc$Q9hHUG+%hM(A5IeZ3FNo4tPZKI>7i|S@am*g5s7zdk!3paThUH#avkY@(y1ImCheu*|V6zXNn-?RU zg=JKg?8!OU`vD55t2gPne*L8o2P_;X~=0M-jsE=VOA^uU;{N4Fyu2b$pFS;TLN!IAZw+N-W&duonHK^6F2&sGZ`ul6vu!xjFaJ_Tne4+%w^*l|0WGJ(R##a| zpvMVxx?~4J)m1QomzUQntf6AxE>OXLD$78TEg!MEI4&x%sKBBEiwZ0%u&BVI0*eYP jDzK=)q5>Zk&{;J_Ha2XJTb>917!Xen?}J7A!+-n(En6N} literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Side-chain-connections-between-sugar-and-phosphate-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Side-chain-connections-between-sugar-and-phosphate-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8dbbc518c01ad88dff95652c075123f18e22702e GIT binary patch literal 5328 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 z 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 fKO*p+yd*w;cH0I*up{{E2krMhU5F%RZ1qG^B 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-nucleotides-with-fee67-d-sugar-any-sugar-except-R-in-sequence-view-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-display-of-nucleotides-with-fee67-d-sugar-any-sugar-except-R-in-sequence-view-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..dfb20f3faadb3dac98f9955aa539e5c17e17fe79 GIT binary patch literal 5233 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 aTgrQaa9yC)D@%oPKiOTkt-S2}@IL_1;p;X4 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-sequence-view-for-chains-containing-both-modified-and-unmodified-nucleotides-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-sequence-view-for-chains-containing-both-modified-and-unmodified-nucleotides-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..c73af41c8544db9ec50891ca7fa2a6639b9e6f4b GIT binary patch literal 9063 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-sequence-view-for-chains-containing-both-modified-and-unmodified-nucleotides-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Test-sequence-view-for-chains-containing-both-modified-and-unmodified-nucleotides-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..35c116c90d810b8d3f856fc7cd33abf0f951efb7 GIT binary patch literal 6872 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nuc-1b53f--All-types-of-connection-between-Base-and-RNA-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nuc-1b53f--All-types-of-connection-between-Base-and-RNA-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d42ff8429c2280d311a27af89d6bca95d50b40fe GIT binary patch literal 7568 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 AUjP6A literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nuc-9b7a3--All-types-of-connection-between-CHEM-and-RNA-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nuc-9b7a3--All-types-of-connection-between-CHEM-and-RNA-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..4a09dca41107077aba70c7c23ee37d4ade77e0b5 GIT binary patch literal 14874 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nucleotide-chains-for-All-types-of-modifications-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Validate-displaying-modified-nucleotide-chains-for-All-types-of-modifications-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..30cec9580398016f8722c6ea6d2c6f3cca6dac81 GIT binary patch literal 22536 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 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Verify-that-a-dropdown-menu-is-displayed-in-toolbar-when-sequence-mode-is-ON-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Verify-that-a-dropdown-menu-is-displayed-in-toolbar-when-sequence-mode-is-ON-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..da9943f96d89f6cee81bd74acaf9f47312b2f01d GIT binary patch literal 1118 zcmV-k1flzhP)Px(7)eAyRA_nlo*2?CF0Vu+L)I5 zr?zYK=)rI>CSEX{+@#)3{L{Udf#XV7QxCf&h_E3Fnz{x9!h$e5J(YwYYe%%`$}gG2 zyzl!xyzi5bZ{{#1EX%UV6oY?GP7w-6kvL1C$jw6v35YAoAbtD@0)mf{vt)|(?tMZ< zSt-O7Whf;Dh3@fxNj#B6C>%vN8pn^{KS4?0Q-}r2;=3o}LihF{2p*jPEDK&J9EG@| ztkC^D7{uiwgd#EU5@)I6@$wBRB?U;FrNH~z1zN2Z6h&oRot>SqSS*OeVi|S4y}dX; zKhIcyaBu*MqHuhCoTaVT>p@Wz+-`TibKM*GT#AiGBRV=d000*k7x4Lfn46mekH^F0 zA6zV@At#!^MNEuI2;bt*4AEUj(Z0upqfj|K3 z>+2bH_4W0z*=*2gG^nhs{7+4qrXiI|(c0Pyhr$S_MVd_C*zGqBNi7I)7RA06gD?EbMDgN;bHjweypslT$-n8 z8qLkkAP52gpi-&e^?I?tzt3ri+s5!yABILo@blBBaBeu$ap#5;{U#HJMn=%vXW*on z*TYpVmt$*d3p7omy}doFULuiTaBvV-s}=L}^BK87AOMfY1CPg(-sNBZ8FsrJCXsN%TK^hF{;k1H+^+IPe@JuV3SZ`6XvPPR3t`L?VIL>&=-AV(UWUzP z%ZSr74L+Zbg@pwOg~D`vdV2a!8V>-&qoZJ$bM%``IA<7)j*VT*blimT1VP~R^fdPm z@c9@YAJ2MCq-h#0EiI_4tILS%bUIip791WPLMD^t+un^c_Vx|HvJj9$n1^0nTPN?= zNtsLrm&*l@$CI?&L%E3uC{$#jByAyfjMw z_|wNWD1NxHrixt6=3js3zvGKskD~DfqG)`9;E_TC@kFxFeLNWAi6lrN0iL*`454te z(EU6ZLXjB6pF literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Verify-that-selecting-RNA-DNA-op-37dac-eyboard-ribose-for-RNA-deoxyribose-for-DNA-1-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Verify-that-selecting-RNA-DNA-op-37dac-eyboard-ribose-for-RNA-deoxyribose-for-DNA-1-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..7dbc787b9b0a380e6ce9c470d84b825ba713c83d GIT binary patch literal 7082 zcmeH~YgAL`n#Z@&iai)Pt({syWE|#bXFSSL3?KpH9W6qN7-+ekju#{`fQAqVBoRGD zElS#Ip$$S%DwiFSSRsUjgiujXxdb#9E+*Uwns3x zpFef%@Y$RPdS&kYpUvb>qoECO`(ozg-=1#x_qm8;ZM*kY2+mfX_ypcmSRF~v;-2~v zSJpH;`&pU1VxaL9Ywv;EX+yeG=U6X3KON&;x)yWS>sDpSC#7xwx?%0F+t+t5c#ePZ zDCg#uCP}Wy>17a^MB*``Yo1)8=A&X#Q&UlE0HAG6dS7cYWEZgEg8~l#IP{NcvIscY z^j|MLH4!PcFUzlVq!CoPYRf@Y|L^Q{k-3bELFe7w7ADx!Ji1KZUx#C`{{;XxW)+V< z+t#O4Cee`2V?AZoyQTRQl`ugwTcePElPY>BXlc<_m!-3JCp78Igtfq-PYOKp+Q?RA zO3LE1Qq1z=6+{^C%0vfAQ|Bv}*2QSL15lg>$w8(-AkerYbMhJW&@pF%k8iPDt12ep zBI(jtcc1-FOZFr+wd1k!dKL(_Z$#9CV0=OX6U69;xCCi*_}mQ{bk@4?%x^s};c%>W zPha~_5}Z=N1wj&tq|q>uiOe_-8w67si}t!#K0ZG1a~&Uw!qYp8$+CmVTL56|K;jL^Et^@3oqCNn zPxxj)TXV4p%4`lL;LJjp_eB-Zi+#>jBqtd1)d=j+{d?{f z{D+YJw;bw&%}H2h+HeEeC8|CwdwcaH+EjGCO{lEkT^@XD<53-@bV9E;_}KHI>|JQ{ zXG(E%ENA#DJk|cCY2Bsds_EYH1aYW(oPKru3fZYFbtJBVRC?YOe7yyyoqO>O8jT{# z8j=uB8b8-TCrX}u2RA(k(#3w^bAZn}XqokwPtcIbI2>*o)+Rgw)6B9DD-&$X6=;7G ze=Ts$t($TcmhKx>b9u(vqm>BJdZsOF()c1ULzS46lr#&DQgGoRngS&xqH& zUvpU?4lF4t!FXNMF3Gd%nGqvbj++-QyL_#K4ZWNZ>Ig?KukU5EZJNlDTEjb0ZAJWG zvNB8wPkXi~SpF$Ub_Xw+Gm(NWFGrJSwLyw<4+GO8!(yQOgr|)!+W5T0uaN}#7MNtI zLF~NbP?vjnk@RY$k+i|%%*BT_o=;nO9IyS8lMVU9kIC^91#J|_3VXvE*t?cFK}!@uFQxzO+x#Ae zi)EYKi9`pa_SU|-w^J_{4jbaXMxz6IbI&PldV@4T8zd!)t&R}$eT6x#7nyHkhv{!-=H!!MQ9)Wsx~{Vsjc(e_~m&&G}@eJSo+zE_9v3p*fjk9mm`#XCsF*5^=_Sr`|OV(+Stp2JdR}!cET`X^e`(($RJOa#1 zI`AJ&;Zf;Kznw_eg(E?|Wg~Wzv2z=`bL$el&?OIhMbV|$p_HJzOrsQC#bU8Nzv6Sl z-oLCeqg)G1A;#wu+IM(K+6<9_@X7A0JPbEaZo(SdY0|2$IH?cO9~|M2D`AY!TFwtv zaS2*E2!@;+y07{L1nI%fTLLGYiFvl@r>XqW&x_7m_^}gg$+MRlh0ex0(Oxu~@cwqE z>{ScCsKo8siXJV*ys5y$om=r)KKSl_Zsyn{!8BdW+QnIBVbWFR1SBy;_Yq{h``xY4 zH7LfJlx16wxx4VLxo!L=)^`7%7s&uc42fD1{H;3XEDbUJ@}Oh49>vi+me4o3v1l0~ zD4*S$KOyuNlT;UH2QPBKxvVTAam?huv?o+h8D{T5 zOP<585a}E39hlA_F8yV*ES1wzeK1c6Cw#4a=%CP?Bz}S})S4k+Dukcf`;l%UU#Lb$ z4DYJ>A`VTqws=Z$JV$srQN@R1xiP8L@||_N<7H>Y!0ZwMiklk|CGy65sQedJ@)%F$ z94ShVh(U8_sM~7qA~p32NGzu|b%@5fzirxiN9)L4`o0q?m8YRXGQD%V?A<$F!nE$A z_QH)UHl+2glHG_YA;#Q=s`~0G-T9Gl(+z#h>l3hzw#qEg{ zW#3=z{Zu#p3Z5?SKEG!F(5a^l4Gq&0S1f@*kiFO}<|oTW!;Yrpgy`Ja!bf|SXMMzk zCAG@Y8b8=7m}}09PFnIdfQN5nD`)(|@6-+kNH|pfl3W8Fz00+D6s~?V2+z-nAnU6$ zq(cPBWk#N{417E_g({;&MRYw8EI#wl6s3syP-}yo^K~3g3bdzUX8N|9^$2H+yk1{B z)LHW&3OPmKj^C~UK@BM8H(iv3ic2^-LTh%2U-$-2OfvDv(FR?(3pTluE&VeNx$#&m zmYkiGpw~08e_a0#j+NgDu?(EE?VsTL6+}ix5~k~7h$N@ECX(f??%@=t$`x)!zUecK z11aRrDX#AKDYMAnzfxT^RgA^X%{>odGsL(glWEs$A=?A_3r9X;5WB zo@Fpq_UO1(`iDCWXQu z0=)&HedWsrw;!cz;rDjP@8DHmZ%)pPf^FIN8;WW_6q2v|#r8b>;Mt&jCv$~?%(*b+ zrP^0t9H!x#8#4G$RGBt5r+`xI`22G>?uuyGu*K5TPq`0=ono^Kho3($E8-09&)}(XDj}aOc22;X1=zQ=prBB;`GRH;&TYeoY-}gdY-}fT|8^Q&;gQ?>1`a=kJT$q*Ry`oH%EtC9+a1H-9!2DD zOh<<1Ltrb+!9MS7g#e1&jRumYwmat1+5THS*4}2TEsMeaTe^oaGWiW(Pc;VO9d2Jb zM>y>rck5}~{)y=rg|9QUuhsv!dF$4tvrjnf@;mY_ZzaEn<Au;j%>2*ac9}sZp!`55&U@g+uR8@wm;6C z;Adm|{m}(54z@r4{^=B8n)hc#@T2_Kz@OOIZlC)9{FRZ>sGrJIwfK~^vJ#<1I_cT{ zh9l#=#d<@CJ)(-5h;r88>rKj9ZM^rhtN3<>NKaXM-~HO0q6JlhZqJ05gB%&^iHG}v z?`61SX*TC5&t*b*BM+Ci1kxcbL6@^oS*uN(P~I~SRqOYDgYIz_ankFDzK#L9A z%P0>>x$EPA-L}fGYfzD}Yz@#myZ1I=tOIduV8D@{#jFutmyBU9WuPfZHQV|T<;E{c zzJ{osY3VGvrX!%Nu0pw9QJMbE2Y%Nr#C^)zsMPPCAuPBxFYl77djcPhBj=K8-8IiH zaC{~;JUi<`+Ts}2ZIBlZU?k%-V`^(>*~Y3Au~lt4BK-cnHoKatay-R>p|J~`8#w~C z7(jOeSCwJcQdBxC(%C6_OxqG7_EK$*F&WJ5S0xmArbnIn;I}l6j)-wfE?tx57zD4E zQT0(iJYmVSdLyOp>(##dVL3&rDh4}l3Fhq_R_TJd+^U8O3p4u-sA>Ckqq}?a7UP}V z(Q-S!vyYCR=d5g|qgQ(+VsyGa@%Wk0J_GukdB|Koe981hDH8Nt(Av-p08OvIUZxRcW; zT|qWqQ-rRYZnV%FD0ELxobIHb1o&FCwZGGN-kSP4w~T7Fn(hs5c*O_|L5g+K#~~89 z!h_!;TW6%esNEBK208kZS-s~AWhEE1bnUVW4h}iu+zvBI0974}@a%MLC^xGA4k?QV`A6H!yUJh_b6$qMYslE>N zlwIw+U}?2^?_xmP;oqN$$~`z^vTyR_U0ZOv{)BkEBttS}tTahfa`X(n3!-m1WUxTp zN+KkEl&Bqr4Vu}%Df$mpgG8@{i-2OGpsA)RHiRZ;^^IoBbAF?o_T&sZ)i6b7PRlL% z{(PVf);k_jCLoyfCBss~%I$pLePYhPyiUaY?0^e=rJn~c ztG*8Ol%@3D|B_RLRWZ|q5sJ#AC#pLe+^y)3{_*90BEN9w4~gihzV`j6 zox0@tYoPqQYY#gD9+eb6kh80wT_^fHQu#j#{sxS_zB1z_^}J#88p?hN%5YRC7Pcit z%)Q{s8#g%|l97m^xj*fMP8uPS&-rEEC_8R*X;cWF#JDil3u5W0pyi|4q{hZZ+Uhzo z5!Fnt4{6=%iqO;Bdp^D6xJrQeP{Sw_ac0X{+GMmDN1jLF?Y2srJl4Lv;k* z2q6zE3i(i7e0R;Xz*k;=2`1z#MXjNPq zOhS6>=6*U5dZ(mmOYoB_{p|8@Y6bz3PFO~aw(B}BFAdJbh+&HU!OiXfD04+0 zb}0+hfJL_Kk4jA=Ydq`-(4Bs%>JOpM5l`WroLS+B@z$%vQ4J#~HSt?IDu{&ZfjK{i zDIa4|W{th`BwdP2EOo5QU4_D(?ey>)42dBhpuv&cwk7U+-VZDe?kV<(dJP zr}x8eo+}CR60H#d*zRMvyiy^pel`|{#eI~}qth|sgB+QquLT>)+i)AEHMVR`=B-E>tC#=4lt@V7TmJCZcFQy~l()8@p&`rf>UqcJeU97`hk-kBxCLl;&0* zlrikB{-Zw=iXeWB*?IXDnIRZueXC9HNkYukA{R;3-S__igSApx;HXwT*9bLN2o;N* zKBmAGge7B^65z4SbbI7i4&CqVi8g^Y_4lBM-%GeqM;_SDS+1cPJ=eiw*6q<}31ERp z$8O+J0o!d&O-*k7xz}r+4wtU1tiaC>Oxka|l|4;(Gg*9|Ksm&!#&U7RQgZB(o~QeJ zB~C{zLwEFPi{t%_`#DP>_=pvC&ayJC+$0!`|yI zF|0dE?d$8iZ8cG@&o3E1TzYS4W=3ptbF(ILX9>OCBVSTdBB|~-#S<2$KahPl zMh6#jjrz?T&!PO$NECf1+bPmIMZD_UaJu}s^|I!bhh0k&!?ikRqz*f-2lQGSk3^0k zA9>17{ufKgN5&>{Q#hI5m0oe-r>8|t(!~m(ybUcax($AKzHukWv^#bnQ_xlV1nOlL zvM^#P-~+O@^Xaox;6Qn#XFSZ=^D=odo-P-YzhM``^z7&PS9{5~F;U|-G(61B?;P=@ zc|l4kaesf`wk-xWDK^VNaXf+gQY+kG*!smFd)oGZ!TIJ7yCCaDCh^&`0?qR~V5j+E zr%lyWUqd~;pA6hs&W|7o&)U{>Y8dE@7q{KL|Lxv+r?&#=Q@#Fgmg{Yn4ro`7%_@cd z%lQ7H;3^mAa0>HrFuluq4yBcsx{-BJ$q;u%MSdXZ-H6Lo`7xSVCC7htFO|-zhR%J8 zqwS;GL@o4>Laowl?s>w?^NStN0iB56Kb0|i;;Aewb@G#GyI%aqOg+ z>hKibqym5DCM8Qv^>u`&?EGJQmBY`fk7RkIA(zQyavF@WZv=r*7naO@#;a3-R92q8 zJFE})`ONX)^}A1gPbGyH$^Jft2c z7@L?_V4BTY+>o(A*{tAqPC1TP} zC4(~=(Ohdf%Y&GHrUxOv&De^OKJ#L~pAn?uqb-4N)veftFw{J~&!<00ki&6g4zT_T zas(^#pY?s6o10s>{sbXh+nFYsmofo_rb#7)kP?Lb-!%JgIKC-Ttz6`&3CuY@J~o7H zMzO0Ziq)Z}s*qp`rP@m(Dy{EGPkzj>`iKAr3;Vx0++GQu zPZBD;;#5cQ;~IihmXZyXmGYP%@GZr^e{2_)+SVXKP=qX%gc-BOnkRxVwtgTbaeE4=axn}GYy08!b?j^8FAX9 z!v&KoqMAn#=OLB@!!Lr_N8LYcG9g=zaHdK?o`TGl2X- zwnNWgdU|@;T&hs0PTuYcx~VS=c2w7Suppx^7=P^+U?A0h(N00utC1N!`R(L7&M8KWBH<+WS~7Zn!HYu00_rDN3UTS|{jtI8A}PkR4x zpknXaPo@%}u*nvSJ5)<6CD7|8pR&hGyHKm=@}y1H6GK;TV-DkYxZSwJbW+pHMu&|^p!7tq(AS)i{s z9f{mBp3@^&5Q7%l1+?v6rE~;62k~RO{pfiQOwNbPzc{izzM~DLeNP#GvAMREbZ~I+ zG*8PZdb9r3Z%wWpNkE#vFL&)ysr=7c;PES4;z`p@`zGpnsi}Em*q+RW&la!0+*aE^ zy0c*1CQjcd6>z2u$ht#QU%I*S|yx6}tH1S8}-pe;~`WI6N5AQ5QfoE~| zl%dDkC4Zn#;$`h&Q4ROk6{+ier4G ztrY>hQ^o&tS&jDz>i79}%2xx0g| z3@(!z*JFs2>zk=2Zd=h38V5(+_{9*sD|(YJ!{MY0W2$9nWJDw^EQ~dWhKAS`TRqTY z>9qO6*g%G)3F(+24o4hKA_{5oUn11>jtaZ>%yWvC{FIwXECP_}y;1L{PZRgn$2%~~ z{^=3w{#&h^$r<9Jh~|Q>s?^rjRy2bgU5rHPudRm+0Y?lt+ClAmN~xRp!MtXtfB=h) zX_P9MaecuWu)eN4F&+jnk2sC>5a|Xl&UXwl4+o754Z}Am-dgl(xBzV5I!EB?5ijVP zLETC(&_<*T4Gp2^6V^+LiY~dD68I7wU-}Q_7ZV5sk-fdWSK^!;938DK!z6VH*I4Qh z{BIc!9+SR`{>_wxh~1&i5)h+l1d2HL3U{UGrC`SY5n zy$WydH?$`2QgkXD&1|O{8o~)@1Ox?h!n}x$jS03*`|rJde3Gpyt#K?{YNQkusWzfv z5uLKwYlG#@ZoAgtkH0YK+u(`leHgk~Z`0|Pt}Djx7#L%y>>nL~xQOE7iuYb&+8X{x zS5++zSE?CvXqb|kdheKVun!?Stk-a_@0|}J0^C2;>xW4{68BOXP z`uZwQ**}@g{H~i(-iy1Tq}8^z?znOK^l8uO92)S}hr^|3T4B+I!1i;j=%Ap$sU~cF zOf!gRI5IkF1cUkP?wucqNSU7>nrKq50Xd4v6>7f=!ruAo6(m*h%h>r!2i z_GsxnA4C649oig$^=4Z#t znYwCfYMZ(rEN8i!{HGi3#CK>E5~W}Zs^z-NK zEZcLV!!M(&s+2O^8m!Ho;o#&(;@-j(n1O{tkc--{Tfksh_p2w(%?d{^rV+qi-QTDh zRCNChU$rGOdT(v?tQNTy_QDgk7%nY=YBXo|Y~D5WuP@jT&)Lhw=fE9bdJg?eh7ucY zFIXF_202^~u5{D;ad<5D<50qAVi0{|ceg^)@x?qQQhox_4fUGvG;M1!|Or6Z>_;o!OW zV>~~3!12YDu^qPs0xF51qW%5(0Gh$srpZLZtfli3*JGAF5|atQ3$xP*TLatIIbroa zp_-0f_{h{PQo}n8M!CV)Nh!G3cRom)ep|VDqhA7bf=>u#6o%ROh+L4?Qo4;XWG8?9 zdV6CM_K&M9q4!=9Ki3j#pM_Sqh*`X@?hG$Hp08z1v_ctFO=qXfBatO&=NDqr;x4dG ze%I!a;g?>o64A#BO34cPLH?0q0ci;@UU;QW03+PrSZ)b?4x-Xq%jzElGeu{4@5uxx z7=XbRcPV@fW~tcQv5UfJ0|QBx&I!28sV=FmPBbfKDFqa^E95xo2_5M3g|)lLGbED< z+i&3b49jX>r}KUa=Z5YhHez?BUG#+Zp;y<^tR5#A`rC<2MqX>(W=Evg%-7WF`2#5l zGsi8AI<4?M2Wa44ek9+80^iY2GMt1<^>8w|9u_8+_DY5wz{dUksX_Z$do!<^Zcb91 zhDI3GaHtDL+-@Q3&eo^ftSrdvR2athy|>@r2Du-cP2?b$;sE(rARD-?s`98y^_+<8F%aj^WCUm+W-?Lo_UJ)0V|Last^ zx|pukI^)U5$&G~pEC{&(Mq*v|%~`AZ zCmZ@-so)0}P-@)5rm5Ca|Mf~|p`M5f{rO;L*QeWI=iej>G+%WcTuFz>`9FP{vv>5N zH(Log(0K8^Jxh(uEL+e8I$(+))U($2L%+md2z1PO&sZW0W6sPD3%xFV7S&8_>M>ML=(mqoA9jYeE{BW%{OM381!)#t@zT z*@vhV;nj2{y%3wjgGG((@VUF#DFpr^9;vMloahqFOL6O53frKlkV6YSbLPK! zt*j;6bS(SF{`TI{S{%`IbV{m|<+qG*^mlmA26hKI@WsPJ)cuk}26b%+g`c~;SA}EF zojcc2sN3X*9}6LtmxWtzqRk$ZUb77*9Dk?0q8yn-ljNBZ_n<@z#Z(G~eh7P+e)qUb zhm6|oTc%QBvC!yd%J_^3bGD2rRo!%q1ABTzcX|eL<}B`ye1Hi(O}dvi_8QvOL_T<^ zv-|ak(k>2-bv}uDwzqAId1lv5bx1PKVumk-y!C@Wlr>x^JhB`c*0$c(7`x?Z#DQw5 z`jc_hYAznYG2MR!q`G6r4jQ1t>^{DqRON|Z+eGq%+=bQZ%lh#X69hBs8Z9r1%`rAo(3|x zwDenbOEgs%Vq`IxI5CdVINnQst1npC>*3bRhnyKOYCZlU@D$dLefmqtBUwWp7Y-4z zZWHFsRVA&I>n%DsAs3e37xVTC6)W0IVZOxQy0o^wPCAQVWYZXJjP(f=B;XEp&|Nz1 z?C8rkpHktrHNkdwG8mg%PMzOAP786!~U)X7yU3$yY z4y>z(4;N;(OGSfv#r3(A=mDJA5{rFfr(eoy_*CRwBRZ-w2K{rFZ?2T{{AVpdQg&f! zg5#ZxCQ|bbNxx;TB4P*Gc4Gjt?48I zy{)k>johMPK@pLZvcf1imK%g_Tc6jgX{lQeb8e#a&=w>SNrM}Qw;Y>RdtQ>GkL3~k zO0>mwGe^p|%zjVT-m!C1Mr8ih?@E+1aoX*}#m-}OavO79SzVpl-yV$dWx04lLQq6r zWeqOR_0K(|+ne@4Tp;Y{9K$oXjlm> zj7XlkUlI%R_~^N$`XYRWa$9G&h9OsL{V(qWDoKt(W(rd3fhD&xr#J zfhBz`ddPgx%9pTO)_GnQdb%x^Sr@puv5~J+0DLXsDr?*{b&4L8BXzHiRq} zR%>niSBsIbA-w!Kk&_^6xsZhKxnja<<$ko_T(K10zq|wBB(1$=5M)}M9ZyS3>mE)N z7WN4d?GT6UH&LeBFtNX-U-FkP6JhaE`J?qI0_S&pSpNanW#TNJ6gkPS?Bj$ z327-Q`4>NQh_jy;(OeuIFW2|_m^d{T`|TFs$9m>R+xb@u1>6EZR65YD5D=~O(qpwg zKU#3^(2Euo5YSxAoFJ}ZWdL3y^*C8y-Os*x=NQ{|bggyI#zkpWkJu2k#El^~H2&3^ zrUEH`yIS!n^&(3YE>{3apOV)s9&Jn)tR?*|3UzL{VZ+11IslS%1&QUeka0%&J9Ugb z@_B1mjjn2iwq9t0Y^Kl8tHvU@QS}c@f!L-rXS78~bXAZ8Q@B&NazaCbh)ryrh)n== z>s7N^?R6a$u@*1Zd}@az5`uA?HEx}r08|3Fr@Kmypd>3pVqIllKj)@oZ81al)}isc zXm9#q{WceN=pgR;^c3(rHs%O~G-iHD!aV;{aEHR3dfAg20~f&X_RaY*M0G({`{R5k z5&y%3R1LDU9A?2YATb5NwQRboS^BUM7)J}My_fL6&!xKg{N`|1fjnNhl>&~tRak1V z@a9Ue1wRTvny=;$2!CO9!1c;(Y#w-c?LQyr@T=|P0o~v5WNH34g|$zq%RpB53d>p4 zo<3vI$q~ZDH}cl_Oe%F&pDZccxJv+8KVc33e2(#D@?A$4fIL}9)fZxx6KPBAZ97rA@`jO-~T3%C{aqE-z6m4z@SQ^qKagqAktvD~@ z!f_#*wycEQd-&!zU_T7l(>roMS{uSzwnFZ_7LJrvA+fu@r(3Z)lr=PD&Ux3VjTu=J zUIv!`&GGk+Kik@3#|jdGukJOS69GKqdS@-Ro5jC4{(fdA!c<3UUZ6|bhWk}E^eiLMGeATrT9+w?cdotw#I10+J!2PnI?{lB+AkzK-E~HpZ z0Hhz&e4g#*xxYC+?#|mh_y9cN8qfY*))UX3v5-i%HvmK|*HBkiCzYCa{Gs5?xsUm4 z>KnDRs{!`OcY^657JZO?WetO^lnedg zXI8wgT@W$b3VT&{5g<{0QLqVsX^cjJQoL(kC-@%{!CR`%;;d*GuuwOg2<*E~q+Ct! zI;eyLV&cnaf5ABj0&+Ju5?DTd0Ria^4Glj!kTajV^(7Pn0Vc6r8(4sPR@`o8W(FWp zHn!_hfki#r^g|#Y2(Tdu=Y&h+*GCExot)X(*gRzdi%u9D8+#IR(4b>r|E>X919U#4 z-_xfB%Eo5<`e((y;ZL7F)fFU`0gQThSd}z@?XYqEiS74oZgilKj74ESn6ml#`KQ|4 z7Pd?o_k8)Ui|U$HIozBBeJL0LoBY4K^&YZZ!>UEXq!C_dJVmRzA8i_0a;m>(cIb- z&XwgGJ01>w{d#|W@gy4?uXNy@*DP+f;tGUn0Q#9rsnzNbS44t)W_h39u7M4@w1qwV zSy!P>Wbjn<<1*t70OGS$obA`oKP&P+Xl@?3I}R5W6D!;o`_Uy^&!w6;#z?C#bSu$O zWHV7fP=3%&eZ=U!9aqpKodgOmppjyABHMKM(0n4|EQz}aq!`UP(ChZmCM=n^%(48Tv8T&K${D z#5RoqM6^ZGwZHUPmG8F@CFJnvC~s2}uB7sNsjOPQWev$6|2iGg8gzMTTxuopZ(!6z z7x~dHFj@Ys16m*QdnR7I^~q&_bn{&$&Oxi93-Kg&$=JsbY**k@s-Jh#kHWqB*7s&| zz!eeJ2*)xp>!lO1@5|r&yy=d|Z&N;_IE-LU9h{(A^Us^aZ}XB&$Ch3UbVYo$hGQ3mC)FU{u^KaKRR>p&nxuykcb#Q9Vs!SlwZOU$T78>s-qdV9e;cx( zjdr zI?d1=q>k9kCSGz9W*IHB$!VkPWlqk^IN^X4;H}2HID36SI`-Zjs{zbj^d4d-o6PW0 zEFeaQOG?H%7!B9W3b;#)ZgIe4e`@S3V}?H)fk5^Vab``eWNqel0BL~H#tRY^l;Lp~ z?tsW?pXHe4TZ>8%HE|n90m?TYi3W%vN2=jfpEUH&G28-%8IuRA|C{H~X|jVee+}h5 zyh>O`FNQV*#~-T@bpz5SK1dVGZ=5FQ%^ohn;{t5lQ>oCE0uW@MLq=LTMh?*_3CyFo zmnR_Z-m=ay?dPP#k&kl1+C(R>w?*LaptcIVm@RSog~YySKCK?FFE%tKLNR07v4pUQ z@;*sz?3Hvra^ONlQL&vi&ODUk*~E!DMOT|~g81@t@x#X*&YwkN7xK8=N&r|=!rYCw zote7Wwm)T)9om+#w1nPjWtciXSv@{fJx3XI(cRhfM@tZssmA#m>F8}@q6_0_+(PFH zrF+l@ngb^GVjbu+PTaV83ngg{Dux`Pr>LYY_=>G~jaO`yjR05JIVpCsu=7p@Z3_uq zJxt5|b(ZFgb#M_^))A^{iYAWxGb6BBsa*OY2G};HNtF#S6Myy>pCkPDf}RJZk#;-@ z2cYtfRX?P#VtZ$Mq!peQpu0Ct70-zX1_Jm8!92D=nD6pOsK;K~XhY+(PH^$IM4ZEK zIUbc2;qNz+u3Kq?6>{_9F9g$P-YI<*VZ8cxJx3d5-9vcw!3Oq2+k5>9d>Q3)0U^@b zK^&kcT*`dT+TOs@T~6R1IjMLFp_)k@T-)Kzhs&}Q&Ib|Z(DC)>cG6i(dA^#xG z!G*uZ(vxjmY;m)B<7;s(-I;LR$20j|p*^J}n!QpE<&sw`-;PSAVq)>TN{MX$_WqvoS*A)$3L+*DYZV(U(Xy7@lhxB&z|a5x+w&iVV{epOsHj(?;JR|{0Gm4EemDJY)& z<*^H^F2fiBv%-K%>Alp9r*?%CJ_Nnp5=Wig+vD(W7@;7#H0KdeVv+Gke0PK?pP;KxSd}&fr^xKU@>F zjRe87ORRc>|HmHzysO+h(euO%Kkwa_YRrR^P${Rqe(3R?cGHo7mW*nOcBPjBA0H^? z9}ih2IJc_!Yc8B?I#ydVCx~-#(Z_aNX#|wfCH$jx56XK|QyMmV_Fz%~;C^s83%2f9 z@);=Ks|D)C1CnqIaVDkzU1epmN3T8UrI}({ggJq4(V?O9dm1X4Ah)u@65`Z9Ea+O^p}f+k7k4cN2kmwn1dZeM^#uXG3pD)Qe;DnE5k7y8Loel4x(*h$ zaB&UM`Vjf7#NcFHSqY^ZFY!wJ{b#xCEKn)v?eCukhqIEVmB^Uie5V_w8k?F(E3aM< z2ORVurUYX{0)wp7QHa#Hdd>@s=hFu76Of~WJxYIo-UW=Kq7Z`qs%sDGGlutMFHFM~ zY+bJ7?}-M?LRO9`ajJlG++!WaXO=)SkC$AZSi zp{*cqvzy8ZmD-Ql$*I*91Fk^mW%WSe!pPW>JssQq&i?b{B!EC&3Fdz%fC`yZz&xV1 zP|aABW$h$Rq8@^rm}rEY5CZCD7=w20y#3M5LcH3Rz&A~uQ8HRKX!>C)ZysD$3=|HJ zeOLUSj~~oRpbS|_0m$?=CJAsqe!Ox%1ALUzXIFdz^@RGOm`u~C2yb>|at|7lfpNpU zDVPXRBR4LFC~Ilj*Sp1Rrjz01t&OUwzYM5yoWuCe*Jk2A3K$9W9RF5g@9`{yxZf6C zvA|e9K)?@9GEpo%)g_uLD%H8^W`am*i&+@v;-buN#YluxH{|JP$n1WHfN;g3JdR}( zt!>s%@uVun#w_HajKV+ESw7VNUYhLIQF}1)p;39}`kCKo6+>>ZY4*quzQL067Y%C#LlM|xYl*;uQ#;C3Awz{=I@ z|Fk3&$DG5PYUJjsh2hL)Q-UI)IvRr0(EFa5q}z%HT4kE~&L%Kfj&2H4Z|M(Rx)tJC zSC=GNh#^2Z{zBzg(`Dm&Qlm!%z%D91f*2y$T5aJ#;a*<>$vKZqNdVFSjk*ss)b=re zLDp<-S9uMkNI?Uy#$1nLCR?^!4hhyD^sgZTI5f6L^DLYP0g0{%(BPkyZb3-E8{_?>Isqu7EVJmpo|+0>nW6b2{s zQ2h-@jnTzUtU0YlO*IcKk9&K2Utk7_WzCUC?br*@6s}8|1;G9#n9<<#`SDo0%rh8k z7tHnr;G*ZHMF2!x7S91--EPfn0Is=*yLaZ35R4wPV?5Ar5m0fk< zs67P(F-IKM{B}$w%nEntWe9@g`Z_z$`FR15a&3Nmnm}mjYDiYLwoLY_%L#M;-hZ@LfX>8Ailp&`rHE*XxRkinP`D z1etof2LLZUUBujnG?`CB-DrNuS^bMVf65APPAoKf%z`}bJr%;{U<;S7Pl@GP#xjSx zLQYr0S?o#^!P)BLr3+J3ucVwHN`Kv30S=Mmtzgn(Bwq@rKkVc@7cB zVW~)9i50xCEbSAH#n)^k3(t5F>2KQggFCthlI7d|oP7n-g5n~t61nwPCvNibqT|>v zt)|Z|&UxR7WAN4x*K$MH9}Yl9p;cH3hh;nbJ*coftnfMwKxKp`?Ql>~kaR&n*;mD6wjM!P28dje z@5iO_x}R}WiZ;>@9iKu; z4o5ueQAX|H6y~3J&gmMP#l`GOdq#7qy)Io*&m_$nao386HMlDl>L8wr@}WY0JH2U3WR8D`(D3 zk(+ymB&OMOyrs7a#>-%sEE;nhN)ox^Tm&L}!baaUeV2+NF_JO0Qy8^2`<(m@3GGp2 zt34o7G^0F5vf8n!d@<(p?^!ur)vqvL)0LTW)*BpCO3@Y`{vh#8 zaEGS7#dg`OeS1S?d0^!|ui_pmh2hbTv@SGVAArZ3WiC@KG$IkeGS+K#!fiZuh#$Sd zNFm%^;p<%v!*)X(r;))q*}ZENc~w7Rqn_aO)z~Z2(I}DYQAXDXi4;K^+YB%Xy;0B| zLl$KRx4lEDWkl;SPKL_a=tHsRsCnL~YB@B9OCY&YjTXZDAIT-^R&@B-hyqh?{|GML zs~X?EGh5JRn2t?I;8}&n`V2F-A}pCXhCT|N&@|~vZWUy1N~Tf{Dp|wy!MdGtLu=NB z@l4Z7>Of80jse!>ixwMdrWjR1vnEmvlXp4(ntIyLaq^3|VGxt#D=?jUv8uiKjREYf zi?TST%S8e{iLR~lCz}*l&|{fO@97F^ZGT?_M@XLS&8w8^F9o#F} HbMo>(`&U{9 literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Zoom-In-and-Zoom-Out-while-add-monomers-in-sequence-view-2-chromium-linux.png b/ketcher-autotests/tests/Macromolecule-editor/Sequence-Mode/sequence-mode.spec.ts-snapshots/Sequence-Mode-Zoom-In-and-Zoom-Out-while-add-monomers-in-sequence-view-2-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..deeb75b23363cf3d4fbe66fee702e09919df9a5f GIT binary patch literal 5375 zcmeHL?Nd`%8ow2~sEkFs4%sRu?XX+AqMNl5sTjyAIMlK$TV_>kAgN_GDIy^n$O{Qc zl~HWjF14#dAi%D()fP&q6CpuJLYJknH6%4icrhdqNN$0U0GE)2yxg9Q`ww)cAC{SX zIrq*pXYP5P-^+8(xgY-dc=ndfJ2pcQwB^{FS$Pl?rGTIfjT?UfBHMSn4dC${D=+&9 zB-JI%f>6(~tiyldN){$_ueQ3I`3idk#HtjX?_QPA{ zpN(Mo?O7*>bAHQh-|@qVvQOwuDxUIPtC%NL<6CPEDq+7CA?H&l8AOoC;wH|-TXEn8O1jklJOsUb*t!9NK6#n> z90a|&732;5dSd|?UyS}87&mReK+p%#7h@sl5C7-W^ScaD%qfRCI7VC@`z0b*2TP68 zLIM?CQ|qUu)Y6swaLt!@nXZxoPrH00o!CabNH}d`4!98w$=Ouci>1uo1#^z?IHcHC zGAb4CC5Kq?@$vQ!xw&OHmsF)ooB#3#7C>SB_cq10*w|RvS6}^J?H#N}=BcRX%feo^ zYWaqU{Olu*mu)uNKyrF?(l<{BYT#y$Sse6RB-GHd+U}5{e^vR0(EMjpH>1@%mjVc0 zTPG}c1?;JKZ6B`p;lqc?>G2TMe{4G5cJ(1%eU8FkaPtC7N%l@ra9*$~!)Q}R_jEif z>tpiuFn`S2*MAaeCp%W4-*_fDmU9+W6^&->q>|!@i~ZS@=|K!tQu?HOh@dADVqQpS zNGUOD4F-c?dZ(oU#E^zjo?T3*`BxW^0HW7}vg%LE8IuK^$qLr=$Emv6JFTH>Fi_ST zBYXGY@i@xtE4x*}g)+Ta$%iE@otR_h(Ys5Z9KaNoKia28mo&K6z2t7~*VQqo({%e! zO?GFmtK~%d-$SV%*5HI(;bJvT%XcX~9GG!`_O{RLQE{{cP_rOUanu*h^V#a@F0)cr z>7Mh=ol>U}2)*ouG`k0vR{p+I<#!(BE?On$zj=uTn9$`4m;d22%2g=@LN0OXzmBoH z)1S{L5V_25#$*~;!z`&<9Y+RmA!c`(B_k&%hd@AvTSMim&Pl#$bQ1(I+b+~DZ(2UA zrSNPwWW~d`$L|(t9Ht%?qsMl$s1gNgNe9q0iN#H2DxOpwS`&+XPLBEzUb$k>YQu?S z7sB5rwMtSg0v3(NP`ZtYXZZdFxqi((PYyph z$OD|xii>A6ses_o^PQl9Fxy^KB=yJi%EJsw0G+Hw>(}G=iifrSIKkTIFW@plu&|ju zfrj3S+m*JzCJxuau~d0nDv-rl(=EXU;>!1#09d~T6{=RdI;(y#$@CeA{2mu+PU@H& zX|GE_XLCi374ybjzEJA8cS2jL zGRpYEVHN%n=P*m(={n1HjP0X0R~WCcIHvO&2aqg#VIn2f%$+6`!XG6|8*1??uF%tK z8PbbFNYBitIrbdtnt{0dAQ7=v$6jMrtsVNrU#{>($p#~;^ zFJma)u~E=T!XV;?V|qKN-v3}Sw#$)F)E&0VoSvKRe%$9al4S~oH*Pdcxl4rlWjw_0 zLt0Uy$IN%t=%_-UO%u4539yGv>?frxYyZU_xP_ll?(9Q!O*H7sCu>~KMSA$!~;LW8n<_x9J;)*^tP%5c-L_;eiFlkQR$(3NPW1Z*q+vpt%~ z2jE(_pNUyF`^b9U10%Vwi=#?}rU*^z`m7xha74fn0k4mHam1?;uSUEY@#@d;cMpw1 YFWo+pcPFI*+~J{PM~`PokGy;7N7dr0^Z)<= literal 0 HcmV?d00001 diff --git a/ketcher-autotests/tests/test-data/KET/acgp-nucleoside.ket b/ketcher-autotests/tests/test-data/KET/acgp-nucleoside.ket new file mode 100644 index 0000000000..ffc34bcdfb --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/acgp-nucleoside.ket @@ -0,0 +1,1127 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer973" + }, + { + "$ref": "monomer974" + }, + { + "$ref": "monomer976" + }, + { + "$ref": "monomer981" + }, + { + "$ref": "monomer982" + }, + { + "$ref": "monomer984" + }, + { + "$ref": "monomer989" + }, + { + "$ref": "monomer990" + }, + { + "$ref": "monomer992" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer973", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer974", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer974", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer976", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer981", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer982", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer982", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer984", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer989", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer990", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer990", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer992", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer976", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer982", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer984", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer990", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-G___Guanine" + } + ] + }, + "monomer973": { + "type": "monomer", + "id": "973", + "position": { + "x": 1.25, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer974": { + "type": "monomer", + "id": "974", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer976": { + "type": "monomer", + "id": "976", + "position": { + "x": 2.5250000000000004, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer981": { + "type": "monomer", + "id": "981", + "position": { + "x": 3.8625000000000003, + "y": -2.5250000000000004 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer982": { + "type": "monomer", + "id": "982", + "position": { + "x": 3.8625000000000003, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer984": { + "type": "monomer", + "id": "984", + "position": { + "x": 5.1375, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer989": { + "type": "monomer", + "id": "989", + "position": { + "x": 6.4750000000000005, + "y": -2.5250000000000004 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer990": { + "type": "monomer", + "id": "990", + "position": { + "x": 6.4750000000000005, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer992": { + "type": "monomer", + "id": "992", + "position": { + "x": 7.74375, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/agtcu.ket b/ketcher-autotests/tests/test-data/KET/agtcu.ket new file mode 100644 index 0000000000..a53476e73f --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/agtcu.ket @@ -0,0 +1,1586 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer47" + }, + { + "$ref": "monomer48" + }, + { + "$ref": "monomer51" + }, + { + "$ref": "monomer52" + }, + { + "$ref": "monomer54" + }, + { + "$ref": "monomer58" + }, + { + "$ref": "monomer59" + }, + { + "$ref": "monomer61" + }, + { + "$ref": "monomer65" + }, + { + "$ref": "monomer66" + }, + { + "$ref": "monomer68" + }, + { + "$ref": "monomer72" + }, + { + "$ref": "monomer73" + }, + { + "$ref": "monomer75" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer47", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer48", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer51", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer52", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer47", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer54", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer54", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer51", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer58", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer59", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer51", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer61", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer61", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer58", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer65", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer66", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer58", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer68", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer68", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer65", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer73", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer65", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer75", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer75", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-G___Guanine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-T___Thymine" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-U___Uracil" + } + ] + }, + "monomer47": { + "type": "monomer", + "id": "47", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer48": { + "type": "monomer", + "id": "48", + "position": { + "x": 1.25, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer51": { + "type": "monomer", + "id": "51", + "position": { + "x": 3.8625000000000003, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer52": { + "type": "monomer", + "id": "52", + "position": { + "x": 3.8625000000000003, + "y": -2.5250000000000004 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer54": { + "type": "monomer", + "id": "54", + "position": { + "x": 2.5250000000000004, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer58": { + "type": "monomer", + "id": "58", + "position": { + "x": 6.4750000000000005, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer59": { + "type": "monomer", + "id": "59", + "position": { + "x": 6.4750000000000005, + "y": -2.5250000000000004 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomerTemplate-T___Thymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7117, + -0.9884, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "T___Thymine", + "fullName": "Thymine", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer61": { + "type": "monomer", + "id": "61", + "position": { + "x": 5.1375, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer65": { + "type": "monomer", + "id": "65", + "position": { + "x": 9.0875, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer66": { + "type": "monomer", + "id": "66", + "position": { + "x": 9.0875, + "y": -2.5250000000000004 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer68": { + "type": "monomer", + "id": "68", + "position": { + "x": 7.75, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72": { + "type": "monomer", + "id": "72", + "position": { + "x": 11.700000000000001, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer73": { + "type": "monomer", + "id": "73", + "position": { + "x": 11.700000000000001, + "y": -2.5250000000000004 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer75": { + "type": "monomer", + "id": "75", + "position": { + "x": 10.3625, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Base-and-RNA.ket b/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Base-and-RNA.ket new file mode 100644 index 0000000000..8eaddc88e8 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Base-and-RNA.ket @@ -0,0 +1,893 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer2520" + }, + { + "$ref": "monomer2521" + }, + { + "$ref": "monomer2523" + }, + { + "$ref": "monomer2528" + }, + { + "$ref": "monomer2529" + }, + { + "$ref": "monomer2531" + }, + { + "$ref": "monomer2599" + }, + { + "$ref": "monomer2600" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2520", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2521", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2521", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2523", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2528", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2529", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2529", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2531", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2599", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2523", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2529", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2600", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-cl6G___6-Chloroguanine" + } + ] + }, + "monomer2520": { + "type": "monomer", + "id": "2520", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3297827367500454, + 0.9642121267330325, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7940696505586429, + 1.8920671920165415, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.27728509341266994, + 1.8921386204280337, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.8129981796040726, + 0.9642835551445247, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.27735652182416215, + 0.036357061449523186, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7940696505586429, + 0.036357061449523186, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1869951030677814, + 0.9642121267330325, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7059984191887764, + -0.7059269907772842, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.6702105459218086, + 0.9642835551445247, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2521": { + "type": "monomer", + "id": "2521", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2523": { + "type": "monomer", + "id": "2523", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2528": { + "type": "monomer", + "id": "2528", + "position": { + "x": 1.25, + "y": -5.3870000000000005 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2529": { + "type": "monomer", + "id": "2529", + "position": { + "x": 1.25, + "y": -4.0705 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2531": { + "type": "monomer", + "id": "2531", + "position": { + "x": 2.5187500000000003, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2599": { + "type": "monomer", + "id": "2599", + "position": { + "x": 3.85, + "y": -1.25 + }, + "alias": "cl6G", + "templateId": "cl6G___6-Chloroguanine" + }, + "monomerTemplate-cl6G___6-Chloroguanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 1.8412894054500404, + -4.507782090447286, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.5844190615729414, + -5.177038818256516, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.5355663497704386, + -4.868079296771362, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.049307037524637, + -3.529565841152902, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.000454325722134, + -3.2206063196677484, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.7435839818450347, + -3.8898630474769784, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0007210149940247, + -2.221054928622124, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.0495737267965275, + -1.9119620625010254, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.461723899231875, + -2.7209639687808815, + 0 + ] + }, + { + "label": "Cl", + "location": [ + 4.694797942360505, + -3.580903525991825, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.376401429498345, + -6.1552550675509, + 0 + ] + }, + { + "label": "H", + "location": [ + 0.46163912964246956, + -2.7209639687808815, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 11 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "cl6G___6-Chloroguanine", + "fullName": "6-Chloroguanine", + "alias": "cl6G", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer2600": { + "type": "monomer", + "id": "2600", + "position": { + "x": -0.3477711715834258, + "y": -4.086809619002259 + }, + "alias": "cl6G", + "templateId": "cl6G___6-Chloroguanine" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-CHEM-and-RNA.ket b/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-CHEM-and-RNA.ket new file mode 100644 index 0000000000..65394177a9 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-CHEM-and-RNA.ket @@ -0,0 +1,1860 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer82" + }, + { + "$ref": "monomer83" + }, + { + "$ref": "monomer84" + }, + { + "$ref": "monomer85" + }, + { + "$ref": "monomer86" + }, + { + "$ref": "monomer87" + }, + { + "$ref": "monomer88" + }, + { + "$ref": "monomer89" + }, + { + "$ref": "monomer90" + }, + { + "$ref": "monomer91" + }, + { + "$ref": "monomer92" + }, + { + "$ref": "monomer93" + }, + { + "$ref": "monomer94" + }, + { + "$ref": "monomer95" + }, + { + "$ref": "monomer96" + }, + { + "$ref": "monomer97" + }, + { + "$ref": "monomer98" + }, + { + "$ref": "monomer99" + }, + { + "$ref": "monomer100" + }, + { + "$ref": "monomer101" + }, + { + "$ref": "monomer102" + }, + { + "$ref": "monomer103" + }, + { + "$ref": "monomer104" + }, + { + "$ref": "monomer105" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer82", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer83", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer83", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer84", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer84", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer85", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer88", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer89", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer89", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer90", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer86", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer90", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer91", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer92", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer92", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer93", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer93", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer87", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer94", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer95", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer95", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer96", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer97", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer98", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer98", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer99", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer100", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer101", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer101", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer102", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer95", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer103", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer98", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer104", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer101", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer105", + "attachmentPointId": "R3" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-Az___Azide" + }, + { + "$ref": "monomerTemplate-PEG2___Diethylene Glycol" + }, + { + "$ref": "monomerTemplate-sDBL___Symmetric Doubler" + }, + { + "$ref": "monomerTemplate-EG___Ethylene Glycol" + } + ] + }, + "monomer82": { + "type": "monomer", + "id": "82", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer83": { + "type": "monomer", + "id": "83", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer84": { + "type": "monomer", + "id": "84", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer85": { + "type": "monomer", + "id": "85", + "position": { + "x": 3.85, + "y": -1.25 + }, + "alias": "Az", + "templateId": "Az___Azide" + }, + "monomerTemplate-Az___Azide": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + 2.233181235264731, + 0.6560424663135348, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.8011269116888173, + 1.4048789911172774, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.3414649851954623, + 2.3414649851954623, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.8011269116888173, + 3.2780509792736474, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.3414649851954623, + 4.2146369733518325, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.8011269116888173, + 5.151222967430018, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.3414649851954623, + 6.0877369164317345, + 0 + ], + "charge": 1 + }, + { + "label": "N", + "location": [ + 2.773519308771376, + 6.836645486311945, + 0 + ], + "charge": -1 + }, + { + "label": "O", + "location": [ + 0.936585994078185, + 1.4048789911172774, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 8 + ] + } + ], + "class": "CHEM", + "classHELM": "CHEM", + "id": "Az___Azide", + "fullName": "Azide", + "alias": "Az", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ] + }, + "monomer86": { + "type": "monomer", + "id": "86", + "position": { + "x": 1.25, + "y": -6.891 + }, + "alias": "PEG2", + "templateId": "PEG2___Diethylene Glycol" + }, + "monomerTemplate-PEG2___Diethylene Glycol": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -2.7355739594978417, + -0.2688647141402402, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.8236925914250208, + 0.2572206905171565, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.911881368072821, + -0.2688647141402402, + 0 + ] + }, + { + "label": "O", + "location": [ + 0, + 0.2572206905171565, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.911881368072821, + -0.2688647141402402, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.823762736145642, + 0.2572206905171565, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.7356441042184625, + -0.2688647141402402, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.464728330352994, + 0.1517931754238142, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.464728330352994, + 0.1517931754238142, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + } + ], + "class": "CHEM", + "classHELM": "CHEM", + "id": "PEG2___Diethylene Glycol", + "fullName": "Diethylene Glycol", + "alias": "PEG2", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "right" + } + ] + }, + "monomer87": { + "type": "monomer", + "id": "87", + "position": { + "x": 1.25, + "y": -11.199 + }, + "alias": "sDBL", + "templateId": "sDBL___Symmetric Doubler" + }, + "monomerTemplate-sDBL___Symmetric Doubler": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 3.5918061308608475, + -0.7481562322294163, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.7683944709610646, + -0.10031730015057118, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.7953794887072996, + -0.4889508491681284, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.9718980185777676, + 0.15881827268096688, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0010471534462481334, + -0.22981527633659032, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8245286235757803, + 0.417953845512505, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.7975436058295458, + 0.029320296494947735, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.620955265729328, + 0.6771592285737928, + 0 + ] + }, + { + "label": "C", + "location": [ + -3.594040058212843, + 0.28852567955623565, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.1528145929224776, + -1.2664273778924924, + 0 + ] + }, + { + "label": "C", + "location": [ + -4.417451718112625, + 0.936294801405331, + 0 + ] + }, + { + "label": "C", + "location": [ + -5.390396890136641, + 0.5476612523877737, + 0 + ] + }, + { + "label": "C", + "location": [ + -6.213878360266174, + 1.1954303742368688, + 0 + ] + }, + { + "label": "O", + "location": [ + -7.186823532290189, + 0.8067968252193118, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.564821113114613, + -0.3595226832118591, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.388302583244144, + -1.0072918050609545, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.3612477552681606, + -0.6186582560433972, + 0 + ] + }, + { + "label": "O", + "location": [ + 7.184729225397693, + -1.2664273778924924, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.501370342167791, + 1.506295327313065, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.888049204752351, + 0.7288187985887008, + 0 + ] + }, + { + "label": "H", + "location": [ + -0.9311288444038403, + -1.57638479798194, + 0 + ] + }, + { + "label": "H", + "location": [ + 7.962694425730306, + -0.9557020452757964, + 0 + ] + }, + { + "label": "H", + "location": [ + -7.8453434295207645, + 1.3247887299633883, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 18 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 22 + ] + } + ], + "class": "CHEM", + "classHELM": "CHEM", + "id": "sDBL___Symmetric Doubler", + "fullName": "Symmetric Doubler", + "alias": "sDBL", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 20 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 17, + "leavingGroup": { + "atoms": [ + 21 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 13, + "leavingGroup": { + "atoms": [ + 22 + ] + }, + "type": "side" + } + ] + }, + "monomer88": { + "type": "monomer", + "id": "88", + "position": { + "x": 1.25, + "y": -5.3870000000000005 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer89": { + "type": "monomer", + "id": "89", + "position": { + "x": 1.25, + "y": -4.0705 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer90": { + "type": "monomer", + "id": "90", + "position": { + "x": 2.5187500000000003, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer91": { + "type": "monomer", + "id": "91", + "position": { + "x": 1.25, + "y": -9.695 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer92": { + "type": "monomer", + "id": "92", + "position": { + "x": 1.25, + "y": -8.3785 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer93": { + "type": "monomer", + "id": "93", + "position": { + "x": 2.5187500000000003, + "y": -8.3785 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer94": { + "type": "monomer", + "id": "94", + "position": { + "x": 1.25, + "y": -14.003 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer95": { + "type": "monomer", + "id": "95", + "position": { + "x": 1.25, + "y": -12.6865 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer96": { + "type": "monomer", + "id": "96", + "position": { + "x": 2.5187500000000003, + "y": -12.6865 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer97": { + "type": "monomer", + "id": "97", + "position": { + "x": 2.6125000000000003, + "y": -16.8235 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer98": { + "type": "monomer", + "id": "98", + "position": { + "x": 2.6125000000000003, + "y": -15.507 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer99": { + "type": "monomer", + "id": "99", + "position": { + "x": 3.88125, + "y": -15.507 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer100": { + "type": "monomer", + "id": "100", + "position": { + "x": 1.25, + "y": -21.1315 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer101": { + "type": "monomer", + "id": "101", + "position": { + "x": 1.25, + "y": -19.814999999999998 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer102": { + "type": "monomer", + "id": "102", + "position": { + "x": 2.5187500000000003, + "y": -19.814999999999998 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer103": { + "type": "monomer", + "id": "103", + "position": { + "x": 1.1990816313985129, + "y": -11.973049021626759 + }, + "alias": "EG", + "templateId": "EG___Ethylene Glycol" + }, + "monomerTemplate-EG___Ethylene Glycol": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.9626670476186131, + 0.28872606297422865, + 0 + ] + }, + { + "label": "C", + "location": [ + 0, + -0.26665877219035583, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.7323563778453719, + -0.15535965122337309, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.9626670476186131, + 0.28872606297422865, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7323563778453719, + -0.15535965122337309, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + } + ], + "class": "CHEM", + "classHELM": "CHEM", + "id": "EG___Ethylene Glycol", + "fullName": "Ethylene Glycol", + "alias": "EG", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + }, + "type": "right" + } + ] + }, + "monomer104": { + "type": "monomer", + "id": "104", + "position": { + "x": 1.25, + "y": -15.507 + }, + "alias": "PEG2", + "templateId": "PEG2___Diethylene Glycol" + }, + "monomer105": { + "type": "monomer", + "id": "105", + "position": { + "x": 1.25, + "y": -18.327499999999997 + }, + "alias": "sDBL", + "templateId": "sDBL___Symmetric Doubler" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Phosphate-and-RNA.ket b/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Phosphate-and-RNA.ket new file mode 100644 index 0000000000..d3de5c5417 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Phosphate-and-RNA.ket @@ -0,0 +1,1279 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer2520" + }, + { + "$ref": "monomer2521" + }, + { + "$ref": "monomer2523" + }, + { + "$ref": "monomer2528" + }, + { + "$ref": "monomer2529" + }, + { + "$ref": "monomer2531" + }, + { + "$ref": "monomer2614" + }, + { + "$ref": "monomer2615" + }, + { + "$ref": "monomer2622" + }, + { + "$ref": "monomer2623" + }, + { + "$ref": "monomer2625" + }, + { + "$ref": "monomer2627" + }, + { + "$ref": "monomer2628" + }, + { + "$ref": "monomer2630" + }, + { + "$ref": "monomer2632" + }, + { + "$ref": "monomer2633" + }, + { + "$ref": "monomer2635" + }, + { + "$ref": "monomer2637" + }, + { + "$ref": "monomer2638" + }, + { + "$ref": "monomer2640" + }, + { + "$ref": "monomer2643" + }, + { + "$ref": "monomer2644" + }, + { + "$ref": "monomer2645" + }, + { + "$ref": "monomer2616" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2520", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2521", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2521", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2523", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2528", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2529", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2529", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2531", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2622", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2623", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2623", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2625", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2627", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2628", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2628", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2630", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2632", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2633", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2633", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2635", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2637", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2638", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2638", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2640", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2523", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2614", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2531", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2615", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2625", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2616", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2630", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2643", + "attachmentPointId": "R4" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2635", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2644", + "attachmentPointId": "R5" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2640", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2645", + "attachmentPointId": "R6" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-Test-6-Ph___Test-6-AP-Phosphate" + } + ] + }, + "monomer2520": { + "type": "monomer", + "id": "2520", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3297827367500454, + 0.9642121267330325, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7940696505586429, + 1.8920671920165415, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.27728509341266994, + 1.8921386204280337, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.8129981796040726, + 0.9642835551445247, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.27735652182416215, + 0.036357061449523186, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7940696505586429, + 0.036357061449523186, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1869951030677814, + 0.9642121267330325, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7059984191887764, + -0.7059269907772842, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.6702105459218086, + 0.9642835551445247, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2521": { + "type": "monomer", + "id": "2521", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2523": { + "type": "monomer", + "id": "2523", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2528": { + "type": "monomer", + "id": "2528", + "position": { + "x": 1.25, + "y": -5.3870000000000005 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2529": { + "type": "monomer", + "id": "2529", + "position": { + "x": 1.25, + "y": -4.0705 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2531": { + "type": "monomer", + "id": "2531", + "position": { + "x": 2.5187500000000003, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2614": { + "type": "monomer", + "id": "2614", + "position": { + "x": 3.85, + "y": -1.25 + }, + "alias": "Test-6-Ph", + "templateId": "Test-6-Ph___Test-6-AP-Phosphate" + }, + "monomerTemplate-Test-6-Ph___Test-6-AP-Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + 8.524985275759056, + -7.049987823354995, + 0 + ] + }, + { + "label": "O", + "location": [ + 9.02478441251265, + -7.916186327268485, + 0 + ] + }, + { + "label": "Cl", + "location": [ + 9.524983548575369, + -7.049987823354995, + 0 + ] + }, + { + "label": "O", + "location": [ + 9.02478441251265, + -6.183789319441506, + 0 + ] + }, + { + "label": "P", + "location": [ + 7.524987002942744, + -7.049987823354995, + 0 + ] + }, + { + "label": "P", + "location": [ + 6.524988730126433, + -7.049987823354995, + 0 + ] + }, + { + "label": "P", + "location": [ + 5.524990457310122, + -7.049987823354995, + 0 + ] + }, + { + "label": "P", + "location": [ + 4.524992184493811, + -7.049987823354995, + 0 + ] + }, + { + "label": "O", + "location": [ + 7.783786555947605, + -8.015886155068271, + 0 + ] + }, + { + "label": "H", + "location": [ + 6.524988730126433, + -8.049986096171308, + 0 + ] + }, + { + "label": "O", + "location": [ + 5.524990457310122, + -8.049986096171308, + 0 + ] + }, + { + "label": "H", + "location": [ + 4.2661926314889485, + -8.015886155068271, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.6589936802348833, + -6.54998868694684, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 12 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "Test-6-Ph___Test-6-AP-Phosphate", + "fullName": "Test-6-AP-Phosphate", + "alias": "Test-6-Ph", + "attachmentPoints": [ + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 12 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "side" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "side" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "side" + }, + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2615": { + "type": "monomer", + "id": "2615", + "position": { + "x": 1.25, + "y": -6.891 + }, + "alias": "Test-6-Ph", + "templateId": "Test-6-Ph___Test-6-AP-Phosphate" + }, + "monomer2622": { + "type": "monomer", + "id": "2622", + "position": { + "x": 1.25, + "y": -9.6575 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2623": { + "type": "monomer", + "id": "2623", + "position": { + "x": 1.25, + "y": -8.341 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2625": { + "type": "monomer", + "id": "2625", + "position": { + "x": 2.5187500000000003, + "y": -8.341 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2627": { + "type": "monomer", + "id": "2627", + "position": { + "x": 1.25, + "y": -13.928 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2628": { + "type": "monomer", + "id": "2628", + "position": { + "x": 1.25, + "y": -12.6115 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2630": { + "type": "monomer", + "id": "2630", + "position": { + "x": 2.5187500000000003, + "y": -12.6115 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2632": { + "type": "monomer", + "id": "2632", + "position": { + "x": 1.25, + "y": -18.1985 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2633": { + "type": "monomer", + "id": "2633", + "position": { + "x": 1.25, + "y": -16.882 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2635": { + "type": "monomer", + "id": "2635", + "position": { + "x": 2.5187500000000003, + "y": -16.882 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2637": { + "type": "monomer", + "id": "2637", + "position": { + "x": 1.25, + "y": -22.468999999999998 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2638": { + "type": "monomer", + "id": "2638", + "position": { + "x": 1.25, + "y": -21.1525 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2640": { + "type": "monomer", + "id": "2640", + "position": { + "x": 2.5187500000000003, + "y": -21.1525 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2643": { + "type": "monomer", + "id": "2643", + "position": { + "x": 1.25, + "y": -15.432 + }, + "alias": "Test-6-Ph", + "templateId": "Test-6-Ph___Test-6-AP-Phosphate" + }, + "monomer2644": { + "type": "monomer", + "id": "2644", + "position": { + "x": 1.25, + "y": -19.7025 + }, + "alias": "Test-6-Ph", + "templateId": "Test-6-Ph___Test-6-AP-Phosphate" + }, + "monomer2645": { + "type": "monomer", + "id": "2645", + "position": { + "x": 1.25, + "y": -23.973 + }, + "alias": "Test-6-Ph", + "templateId": "Test-6-Ph___Test-6-AP-Phosphate" + }, + "monomer2616": { + "type": "monomer", + "id": "2616", + "position": { + "x": 1.25, + "y": -11.1615 + }, + "alias": "Test-6-Ph", + "templateId": "Test-6-Ph___Test-6-AP-Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Sugar-and-RNA.ket b/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Sugar-and-RNA.ket new file mode 100644 index 0000000000..a2cada0a80 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/all-types-of-connection-between-Sugar-and-RNA.ket @@ -0,0 +1,1222 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer2520" + }, + { + "$ref": "monomer2521" + }, + { + "$ref": "monomer2523" + }, + { + "$ref": "monomer2528" + }, + { + "$ref": "monomer2529" + }, + { + "$ref": "monomer2531" + }, + { + "$ref": "monomer2533" + }, + { + "$ref": "monomer2534" + }, + { + "$ref": "monomer2536" + }, + { + "$ref": "monomer2538" + }, + { + "$ref": "monomer2539" + }, + { + "$ref": "monomer2541" + }, + { + "$ref": "monomer2543" + }, + { + "$ref": "monomer2544" + }, + { + "$ref": "monomer2546" + }, + { + "$ref": "monomer2548" + }, + { + "$ref": "monomer2549" + }, + { + "$ref": "monomer2551" + }, + { + "$ref": "monomer2575" + }, + { + "$ref": "monomer2577" + }, + { + "$ref": "monomer2580" + }, + { + "$ref": "monomer2581" + }, + { + "$ref": "monomer2582" + }, + { + "$ref": "monomer2583" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2520", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2521", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2521", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2523", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2528", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2529", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2529", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2531", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2533", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2534", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2534", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2536", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2538", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2539", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2539", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2541", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2543", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2544", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2544", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2546", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2548", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2549", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2549", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2551", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2523", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2581", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2531", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2580", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2536", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2575", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2583", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2539", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2582", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2544", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2577", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2549", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-3A6___6-amino-hexanol (3' end)" + } + ] + }, + "monomer2520": { + "type": "monomer", + "id": "2520", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2521": { + "type": "monomer", + "id": "2521", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2523": { + "type": "monomer", + "id": "2523", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2528": { + "type": "monomer", + "id": "2528", + "position": { + "x": 1.25, + "y": -5.3870000000000005 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2529": { + "type": "monomer", + "id": "2529", + "position": { + "x": 1.25, + "y": -4.0705 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2531": { + "type": "monomer", + "id": "2531", + "position": { + "x": 2.5187500000000003, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2533": { + "type": "monomer", + "id": "2533", + "position": { + "x": 1.25, + "y": -9.670000000000002 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2534": { + "type": "monomer", + "id": "2534", + "position": { + "x": 1.25, + "y": -8.3535 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2536": { + "type": "monomer", + "id": "2536", + "position": { + "x": 2.5187500000000003, + "y": -8.3535 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2538": { + "type": "monomer", + "id": "2538", + "position": { + "x": 1.25, + "y": -13.953000000000001 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2539": { + "type": "monomer", + "id": "2539", + "position": { + "x": 1.25, + "y": -12.6365 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2541": { + "type": "monomer", + "id": "2541", + "position": { + "x": 2.5187500000000003, + "y": -12.6365 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2543": { + "type": "monomer", + "id": "2543", + "position": { + "x": 2.5875000000000004, + "y": -16.7735 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2544": { + "type": "monomer", + "id": "2544", + "position": { + "x": 2.5875000000000004, + "y": -15.457 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2546": { + "type": "monomer", + "id": "2546", + "position": { + "x": 3.85625, + "y": -15.457 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2548": { + "type": "monomer", + "id": "2548", + "position": { + "x": 1.25, + "y": -21.0565 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2549": { + "type": "monomer", + "id": "2549", + "position": { + "x": 1.25, + "y": -19.74 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2551": { + "type": "monomer", + "id": "2551", + "position": { + "x": 2.5187500000000003, + "y": -19.74 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2575": { + "type": "monomer", + "id": "2575", + "position": { + "x": 1.25, + "y": -11.174 + }, + "alias": "3A6", + "templateId": "3A6___6-amino-hexanol (3' end)" + }, + "monomerTemplate-3A6___6-amino-hexanol (3' end)": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + -2.574906098958215, + -0.37715097179201307, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.700156880736101, + 0.2284882673093342, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7379965444276043, + -0.2257234387567236, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.1368235668343205, + 0.3799158003446237, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.0989839031428168, + -0.07429590572143414, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.9738040144047417, + 0.5312724403401025, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.935964350713238, + 0.07706073427404476, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.635395081483915, + 0.5613310892197667, + 0 + ] + }, + { + "label": "O", + "location": [ + -3.537137328306522, + 0.07706073427404476, + 0 + ] + }, + { + "label": "H", + "location": [ + -4.236568059077198, + -0.4071387276318667, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.00586488796642, + -0.7707491288200687, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "3A6___6-amino-hexanol (3' end)", + "fullName": "6-amino-hexanol (3' end)", + "alias": "3A6", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2577": { + "type": "monomer", + "id": "2577", + "position": { + "x": 1.25, + "y": -18.2775 + }, + "alias": "3A6", + "templateId": "3A6___6-amino-hexanol (3' end)" + }, + "monomer2580": { + "type": "monomer", + "id": "2580", + "position": { + "x": 1.25, + "y": -6.891 + }, + "alias": "3A6", + "templateId": "3A6___6-amino-hexanol (3' end)" + }, + "monomer2581": { + "type": "monomer", + "id": "2581", + "position": { + "x": 3.85, + "y": -1.25 + }, + "alias": "3A6", + "templateId": "3A6___6-amino-hexanol (3' end)" + }, + "monomer2582": { + "type": "monomer", + "id": "2582", + "position": { + "x": 1.25, + "y": -15.457 + }, + "alias": "3A6", + "templateId": "3A6___6-amino-hexanol (3' end)" + }, + "monomer2583": { + "type": "monomer", + "id": "2583", + "position": { + "x": 1.2986710986709034, + "y": -11.196519623121992 + }, + "alias": "3A6", + "templateId": "3A6___6-amino-hexanol (3' end)" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/all-types-of-modifications.ket b/ketcher-autotests/tests/test-data/KET/all-types-of-modifications.ket new file mode 100644 index 0000000000..702f9f9db9 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/all-types-of-modifications.ket @@ -0,0 +1,14012 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer2115" + }, + { + "$ref": "monomer2116" + }, + { + "$ref": "monomer2117" + }, + { + "$ref": "monomer2118" + }, + { + "$ref": "monomer2119" + }, + { + "$ref": "monomer2120" + }, + { + "$ref": "monomer2121" + }, + { + "$ref": "monomer2122" + }, + { + "$ref": "monomer2123" + }, + { + "$ref": "monomer2124" + }, + { + "$ref": "monomer2125" + }, + { + "$ref": "monomer2126" + }, + { + "$ref": "monomer2127" + }, + { + "$ref": "monomer2128" + }, + { + "$ref": "monomer2129" + }, + { + "$ref": "monomer2130" + }, + { + "$ref": "monomer2131" + }, + { + "$ref": "monomer2132" + }, + { + "$ref": "monomer2133" + }, + { + "$ref": "monomer2134" + }, + { + "$ref": "monomer2135" + }, + { + "$ref": "monomer2136" + }, + { + "$ref": "monomer2137" + }, + { + "$ref": "monomer2138" + }, + { + "$ref": "monomer2139" + }, + { + "$ref": "monomer2140" + }, + { + "$ref": "monomer2141" + }, + { + "$ref": "monomer2142" + }, + { + "$ref": "monomer2143" + }, + { + "$ref": "monomer2144" + }, + { + "$ref": "monomer2145" + }, + { + "$ref": "monomer2146" + }, + { + "$ref": "monomer2147" + }, + { + "$ref": "monomer2148" + }, + { + "$ref": "monomer2149" + }, + { + "$ref": "monomer2150" + }, + { + "$ref": "monomer2151" + }, + { + "$ref": "monomer2152" + }, + { + "$ref": "monomer2153" + }, + { + "$ref": "monomer2154" + }, + { + "$ref": "monomer2155" + }, + { + "$ref": "monomer2156" + }, + { + "$ref": "monomer2157" + }, + { + "$ref": "monomer2158" + }, + { + "$ref": "monomer2159" + }, + { + "$ref": "monomer2160" + }, + { + "$ref": "monomer2161" + }, + { + "$ref": "monomer2162" + }, + { + "$ref": "monomer2163" + }, + { + "$ref": "monomer2164" + }, + { + "$ref": "monomer2165" + }, + { + "$ref": "monomer2166" + }, + { + "$ref": "monomer2167" + }, + { + "$ref": "monomer2168" + }, + { + "$ref": "monomer2169" + }, + { + "$ref": "monomer2170" + }, + { + "$ref": "monomer2171" + }, + { + "$ref": "monomer2172" + }, + { + "$ref": "monomer2173" + }, + { + "$ref": "monomer2174" + }, + { + "$ref": "monomer2175" + }, + { + "$ref": "monomer2176" + }, + { + "$ref": "monomer2177" + }, + { + "$ref": "monomer2178" + }, + { + "$ref": "monomer2179" + }, + { + "$ref": "monomer2180" + }, + { + "$ref": "monomer2181" + }, + { + "$ref": "monomer2182" + }, + { + "$ref": "monomer2183" + }, + { + "$ref": "monomer2184" + }, + { + "$ref": "monomer2185" + }, + { + "$ref": "monomer2186" + }, + { + "$ref": "monomer2187" + }, + { + "$ref": "monomer2188" + }, + { + "$ref": "monomer2189" + }, + { + "$ref": "monomer2191" + }, + { + "$ref": "monomer2192" + }, + { + "$ref": "monomer2193" + }, + { + "$ref": "monomer2194" + }, + { + "$ref": "monomer2195" + }, + { + "$ref": "monomer2196" + }, + { + "$ref": "monomer2197" + }, + { + "$ref": "monomer2198" + }, + { + "$ref": "monomer2199" + }, + { + "$ref": "monomer2200" + }, + { + "$ref": "monomer2201" + }, + { + "$ref": "monomer2202" + }, + { + "$ref": "monomer2203" + }, + { + "$ref": "monomer2204" + }, + { + "$ref": "monomer2205" + }, + { + "$ref": "monomer2206" + }, + { + "$ref": "monomer2207" + }, + { + "$ref": "monomer2208" + }, + { + "$ref": "monomer2209" + }, + { + "$ref": "monomer2210" + }, + { + "$ref": "monomer2211" + }, + { + "$ref": "monomer2212" + }, + { + "$ref": "monomer2213" + }, + { + "$ref": "monomer2214" + }, + { + "$ref": "monomer2215" + }, + { + "$ref": "monomer2216" + }, + { + "$ref": "monomer2217" + }, + { + "$ref": "monomer2218" + }, + { + "$ref": "monomer2219" + }, + { + "$ref": "monomer2220" + }, + { + "$ref": "monomer2221" + }, + { + "$ref": "monomer2222" + }, + { + "$ref": "monomer2223" + }, + { + "$ref": "monomer2224" + }, + { + "$ref": "monomer2225" + }, + { + "$ref": "monomer2226" + }, + { + "$ref": "monomer2227" + }, + { + "$ref": "monomer2228" + }, + { + "$ref": "monomer2229" + }, + { + "$ref": "monomer2230" + }, + { + "$ref": "monomer2231" + }, + { + "$ref": "monomer2232" + }, + { + "$ref": "monomer2233" + }, + { + "$ref": "monomer2234" + }, + { + "$ref": "monomer2235" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2115", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2116", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2116", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2117", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2118", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2119", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2119", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2120", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2121", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2122", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2122", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2123", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2124", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2125", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2125", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2126", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2127", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2128", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2128", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2129", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2117", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2119", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2120", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2122", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2123", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2125", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2126", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2128", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2130", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2131", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2131", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2132", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2133", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2134", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2134", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2135", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2136", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2137", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2137", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2138", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2139", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2140", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2140", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2141", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2142", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2143", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2143", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2144", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2132", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2134", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2135", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2137", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2138", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2140", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2141", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2143", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2145", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2146", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2146", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2147", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2148", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2149", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2149", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2150", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2151", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2152", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2152", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2153", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2154", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2155", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2155", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2156", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2157", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2158", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2158", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2159", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2160", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2161", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2161", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2162", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2163", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2164", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2164", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2165", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2166", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2167", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2167", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2168", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2169", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2170", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2170", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2171", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2172", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2173", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2173", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2174", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2147", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2149", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2150", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2152", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2153", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2155", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2156", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2158", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2162", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2164", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2165", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2167", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2168", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2170", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2171", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2173", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2175", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2176", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2176", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2177", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2178", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2179", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2179", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2180", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2181", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2182", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2182", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2183", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2184", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2185", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2185", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2186", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2187", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2188", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2188", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2189", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2177", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2179", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2180", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2182", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2183", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2185", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2186", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2188", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2191", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2192", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2192", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2193", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2194", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2195", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2195", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2196", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2197", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2198", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2198", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2199", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2200", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2201", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2201", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2202", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2203", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2204", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2204", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2205", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2193", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2195", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2196", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2198", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2199", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2201", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2202", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2204", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2206", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2207", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2207", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2208", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2209", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2210", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2210", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2211", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2212", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2213", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2213", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2214", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2215", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2216", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2216", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2217", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2218", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2219", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2219", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2220", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2208", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2210", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2211", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2213", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2214", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2216", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2217", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2219", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2221", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2222", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2222", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2223", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2224", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2225", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2225", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2226", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2227", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2228", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2228", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2229", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2230", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2231", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2231", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2232", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2233", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2234", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2234", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2235", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2223", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2225", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2226", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2228", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2229", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2231", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2232", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2234", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-G___Guanine" + }, + { + "$ref": "monomerTemplate-T___Thymine" + }, + { + "$ref": "monomerTemplate-U___Uracil" + }, + { + "$ref": "monomerTemplate-25R___2,5-Ribose" + }, + { + "$ref": "monomerTemplate-3A6___6-amino-hexanol (3' end)" + }, + { + "$ref": "monomerTemplate-4sR___4-Thio-Ribose" + }, + { + "$ref": "monomerTemplate-5A6___6-amino-hexanol (5' end)" + }, + { + "$ref": "monomerTemplate-FMOE___2'-O-Tris-trifluoromethoxyethyl ribose" + }, + { + "$ref": "monomerTemplate-baA___N-benzyl-adenine" + }, + { + "$ref": "monomerTemplate-5meC___5-methyl-cytidine" + }, + { + "$ref": "monomerTemplate-m1G___1-Methylguanine" + }, + { + "$ref": "monomerTemplate-s2T___2-Thiothymine" + }, + { + "$ref": "monomerTemplate-5eU___5-ethynyl-uracil" + }, + { + "$ref": "monomerTemplate-bP___Boranophosphate" + }, + { + "$ref": "monomerTemplate-naP___Sodium Phosphate" + }, + { + "$ref": "monomerTemplate-nasP___Sodium Phosporothioate" + }, + { + "$ref": "monomerTemplate-sP___Phosporothioate" + }, + { + "$ref": "monomerTemplate-moen___2-Methoxyethylamino" + }, + { + "$ref": "monomerTemplate-cpmA___N-cyclopropylmethyl-adenine" + }, + { + "$ref": "monomerTemplate-m2nen___(Dimethylaminoethyl)amino" + }, + { + "$ref": "monomerTemplate-tCo___1,3-Diaza-2-oxophenoxazin" + }, + { + "$ref": "monomerTemplate-Rmp___(Rp)-Methylphosphonate" + }, + { + "$ref": "monomerTemplate-m2G___2-Methylguanine" + }, + { + "$ref": "monomerTemplate-Rsp___(Rp)-Phosphorothioate" + }, + { + "$ref": "monomerTemplate-cnes4T___4-Cyanoethylthiothymidine" + }, + { + "$ref": "monomerTemplate-Smp___(Sp)-Methylphosphonate" + }, + { + "$ref": "monomerTemplate-5iU___5-iodo-uracil" + }, + { + "$ref": "monomerTemplate-Ssp___(Sp)-Phosphorothioate" + }, + { + "$ref": "monomerTemplate-daA___N,N-dimethyl-Adenine" + }, + { + "$ref": "monomerTemplate-aR___3-Amino-Ribose" + }, + { + "$ref": "monomerTemplate-s2C___2-Thiocytosine" + }, + { + "$ref": "monomerTemplate-dR___Deoxy-Ribose" + }, + { + "$ref": "monomerTemplate-c3ally___3-Deaza-3-allylguanine" + }, + { + "$ref": "monomerTemplate-mR___2'-O-Methyl-Ribose" + }, + { + "$ref": "monomerTemplate-s4T___4-Thiothymidine" + }, + { + "$ref": "monomerTemplate-eR___2'-O,4'-ethylene bridged Ribose" + }, + { + "$ref": "monomerTemplate-prpU___5-propynyl Uracil" + }, + { + "$ref": "monomerTemplate-hx___hexitol" + }, + { + "$ref": "monomerTemplate-mph___morpholino" + }, + { + "$ref": "monomerTemplate-hn___Amino" + }, + { + "$ref": "monomerTemplate-qR___2-O-beta-hydroxy-ethoxy-methyl Ribose (Qiagen)" + }, + { + "$ref": "monomerTemplate-bnn___Benzylamino" + }, + { + "$ref": "monomerTemplate-tR___Ribose" + }, + { + "$ref": "monomerTemplate-co___Carbonyl" + }, + { + "$ref": "monomerTemplate-dhp___1,3-Dihydroxy-2-propoxymethyl (ganciclovir sugar)" + }, + { + "$ref": "monomerTemplate-cm___Carbonylmethyl" + }, + { + "$ref": "monomerTemplate-nC62r___2-O-(6-aminohexyl)ribose" + }, + { + "$ref": "monomerTemplate-fl2me___Difluoromethylene" + }, + { + "$ref": "monomerTemplate-dabA___7-deaza-8-aza-7-bromo-2-amino-Adenine" + }, + { + "$ref": "monomerTemplate-oC64m5___4-Hexan-6-ol-5-methylcytosine" + }, + { + "$ref": "monomerTemplate-c3G___3-Deazaguanine" + }, + { + "$ref": "monomerTemplate-z5T___6-Azathymine" + }, + { + "$ref": "monomerTemplate-tfU___5-trifluoromethyl-uracil" + } + ] + }, + "monomer2115": { + "type": "monomer", + "id": "2115", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.7141362781700781, + 0.1722921018803221, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.05462583854652326, + -0.5200490184858401, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0385116805492434, + -0.2004326853739856, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.253704377853729, + 0.8115247681040311, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4849422611371275, + 1.5038658884701932, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.4990125528839593, + 1.1842495553583388, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.646431050434415, + -1.0369253241268064, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0382357924757761, + -1.873831794989828, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.05428097845468915, + -1.5540775178412398, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.5013828958089876, + -0.08338717020548815, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.4740952708362824, + -1.0369253241268064, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer2116": { + "type": "monomer", + "id": "2116", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2117": { + "type": "monomer", + "id": "2117", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2118": { + "type": "monomer", + "id": "2118", + "position": { + "x": 3.85, + "y": -2.5665 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2119": { + "type": "monomer", + "id": "2119", + "position": { + "x": 3.85, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2120": { + "type": "monomer", + "id": "2120", + "position": { + "x": 5.11875, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2121": { + "type": "monomer", + "id": "2121", + "position": { + "x": 6.45, + "y": -2.5665 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.7237287541697407, + 0.17460637704423526, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.055359587917948094, + -0.5270344607340007, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0524612566673541, + -0.20312495263832975, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.2705444817986649, + 0.8224253932355774, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.491456139710976, + 1.5240662310138133, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.5057154275080233, + 1.2001567229181425, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.6685463676633068, + -1.0508535918667066, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0521816627889806, + -1.8990016219126435, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.05501009556998125, + -1.574952316877786, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.521549886108452, + -0.08450724973838288, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.6659227198160246, + 2.3445344671007766, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.5073280027837326, + -1.0508535918667066, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer2122": { + "type": "monomer", + "id": "2122", + "position": { + "x": 6.45, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2123": { + "type": "monomer", + "id": "2123", + "position": { + "x": 7.71875, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2124": { + "type": "monomer", + "id": "2124", + "position": { + "x": 9.05, + "y": -2.5665 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomerTemplate-T___Thymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.349054216022482, + 0.9781856830900514, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8055774678799985, + 0.036883955307269886, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.28137602840496845, + 0.036883955307269886, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.824780312981033, + 0.9782581466564704, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.28130356483854946, + 1.919559874439252, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.8055774678799985, + 1.9194874108728328, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.2186894766168748, + 0.9781856830900514, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7160849633525362, + 2.672601256665477, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.6944155735754256, + 0.9782581466564704, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.2403588663939855, + -0.7162298904853742, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "T___Thymine", + "fullName": "Thymine", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer2125": { + "type": "monomer", + "id": "2125", + "position": { + "x": 9.05, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2126": { + "type": "monomer", + "id": "2126", + "position": { + "x": 10.318750000000001, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2127": { + "type": "monomer", + "id": "2127", + "position": { + "x": 11.65, + "y": -2.5665 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3297880141206864, + 0.9642159533015602, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7940728019003959, + 0.03635720573601705, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.27735762254018503, + 0.03635720573601705, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.8130014060655129, + 0.964287381996523, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.27728619384522235, + 1.892146129562066, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7940728019003959, + 1.892074700867103, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1870037823681137, + 0.9642159533015602, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7058583636214547, + 2.6344331276145008, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.6702171743129401, + 0.964287381996523, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer2128": { + "type": "monomer", + "id": "2128", + "position": { + "x": 11.65, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2129": { + "type": "monomer", + "id": "2129", + "position": { + "x": 12.918750000000001, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2130": { + "type": "monomer", + "id": "2130", + "position": { + "x": 1.25, + "y": -5.3870000000000005 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer2131": { + "type": "monomer", + "id": "2131", + "position": { + "x": 1.25, + "y": -4.0705 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomerTemplate-25R___2,5-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.4497168133582634, + -0.8142767654737866, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.6184588488073848, + 0.24404013255469867, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6088858459495599, + -0.980804151008038, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3358409435420487, + 0.7315488751054199, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.0943942595449148, + -0.02543275386108686, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4690771400334166, + 1.5784024264237446, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.151710993095717, + 0.14080887039382642, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5736159249948323, + 0.726976694636011, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.99887855192617, + -1.7441439684398161, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.4714778646749997, + 0.14080887039382642, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.2364608094629723, + 0.5275867619778833, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.690942527206626, + -0.525586433022517, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "25R___2,5-Ribose", + "fullName": "2,5-Ribose", + "alias": "25R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2132": { + "type": "monomer", + "id": "2132", + "position": { + "x": 2.5187500000000003, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2133": { + "type": "monomer", + "id": "2133", + "position": { + "x": 3.85, + "y": -5.3870000000000005 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2134": { + "type": "monomer", + "id": "2134", + "position": { + "x": 3.85, + "y": -4.0705 + }, + "alias": "3A6", + "templateId": "3A6___6-amino-hexanol (3' end)" + }, + "monomerTemplate-3A6___6-amino-hexanol (3' end)": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + -2.574906098958215, + -0.37715097179201307, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.700156880736101, + 0.2284882673093342, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7379965444276043, + -0.2257234387567236, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.1368235668343205, + 0.3799158003446237, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.0989839031428168, + -0.07429590572143414, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.9738040144047417, + 0.5312724403401025, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.935964350713238, + 0.07706073427404476, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.635395081483915, + 0.5613310892197667, + 0 + ] + }, + { + "label": "O", + "location": [ + -3.537137328306522, + 0.07706073427404476, + 0 + ] + }, + { + "label": "H", + "location": [ + -4.236568059077198, + -0.4071387276318667, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.00586488796642, + -0.7707491288200687, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "3A6___6-amino-hexanol (3' end)", + "fullName": "6-amino-hexanol (3' end)", + "alias": "3A6", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2135": { + "type": "monomer", + "id": "2135", + "position": { + "x": 5.11875, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2136": { + "type": "monomer", + "id": "2136", + "position": { + "x": 6.45, + "y": -5.3870000000000005 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomer2137": { + "type": "monomer", + "id": "2137", + "position": { + "x": 6.45, + "y": -4.0705 + }, + "alias": "4sR", + "templateId": "4sR___4-Thio-Ribose" + }, + "monomerTemplate-4sR___4-Thio-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "S", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "4sR___4-Thio-Ribose", + "fullName": "4-Thio-Ribose", + "alias": "4sR", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2138": { + "type": "monomer", + "id": "2138", + "position": { + "x": 7.71875, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2139": { + "type": "monomer", + "id": "2139", + "position": { + "x": 9.05, + "y": -5.3870000000000005 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer2140": { + "type": "monomer", + "id": "2140", + "position": { + "x": 9.05, + "y": -4.0705 + }, + "alias": "5A6", + "templateId": "5A6___6-amino-hexanol (5' end)" + }, + "monomerTemplate-5A6___6-amino-hexanol (5' end)": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 2.57499817257333, + -0.3771540740622795, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7000999718209633, + 0.22849014674863286, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7380026148474303, + -0.22572529545381542, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.1368246922819924, + 0.379848031734153, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0989929428784695, + -0.07429651684535131, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.973820250007892, + 0.531276810342617, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.935988500604369, + 0.07706136814016877, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.635424984570243, + 0.5613357064708889, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.5371664231698072, + 0.07706136814016877, + 0 + ] + }, + { + "label": "H", + "location": [ + 4.236602907135682, + -0.4071420765676074, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.00588961282719, + -0.7707554686475757, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "5A6___6-amino-hexanol (5' end)", + "fullName": "6-amino-hexanol (5' end)", + "alias": "5A6", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2141": { + "type": "monomer", + "id": "2141", + "position": { + "x": 10.318750000000001, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2142": { + "type": "monomer", + "id": "2142", + "position": { + "x": 11.65, + "y": -5.3870000000000005 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer2143": { + "type": "monomer", + "id": "2143", + "position": { + "x": 11.65, + "y": -4.0705 + }, + "alias": "FMOE", + "templateId": "FMOE___2'-O-Tris-trifluoromethoxyethyl ribose" + }, + "monomerTemplate-FMOE___2'-O-Tris-trifluoromethoxyethyl ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -3.248725508584476, + 1.673802282428544, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.8717629113277625, + 2.711848309522766, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -2.378030259530199, + 0.9945333522936909, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -1.7680429317427224, + 2.6741520497970943, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -1.4628652040807928, + 1.6127667368961578, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + -1.0912772688552774, + 3.5452154263877556, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.4268070656830416, + 1.2340371274648025, + 0 + ] + }, + { + "label": "C", + "location": [ + -3.4911743040466563, + 3.624657348739317, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.4082167175136466, + 0.11154264352420357, + 0 + ] + }, + { + "label": "O", + "location": [ + -4.593274522471609, + 3.5452154263877556, + 0 + ] + }, + { + "label": "H", + "location": [ + -5.089363190502027, + 4.276316713645407, + 0 + ] + }, + { + "label": "H", + "location": [ + -0.21601723834984374, + 3.4252058495267312, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.23567524879272317, + 0.14563125339331662, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8020762762723918, + -0.23368736009625224, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9931344676554336, + -1.3220196086604616, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.0309596182278256, + -1.7014118476573072, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.222091435118144, + -2.7897440962215163, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.878094704953559, + -0.9921037105535597, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1659335332338532, + -2.4230154444762637, + 0 + ] + }, + { + "label": "F", + "location": [ + 3.0518509021265756, + -3.0930811862015286, + 0 + ] + }, + { + "label": "F", + "location": [ + 1.6576046708276693, + -3.262419852937943, + 0 + ] + }, + { + "label": "F", + "location": [ + 2.3743489841663634, + -3.659997592232134, + 0 + ] + }, + { + "label": "F", + "location": [ + 3.7082959250056504, + -1.2946309199535284, + 0 + ] + }, + { + "label": "F", + "location": [ + 2.725395402861679, + -0.12185021454294186, + 0 + ] + }, + { + "label": "F", + "location": [ + 3.555302120884664, + -0.4245246749574639, + 0 + ] + }, + { + "label": "F", + "location": [ + 0.33646856825452826, + -2.118794848408931, + 0 + ] + }, + { + "label": "F", + "location": [ + 0.4877689857081509, + -2.989195595434102, + 0 + ] + }, + { + "label": "F", + "location": [ + 1.2919067761842904, + -3.148373942166332, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 23 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 24 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 25 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 26 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 27 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "FMOE___2'-O-Tris-trifluoromethoxyethyl ribose", + "fullName": "2'-O-Tris-trifluoromethoxyethyl ribose", + "alias": "FMOE", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2144": { + "type": "monomer", + "id": "2144", + "position": { + "x": 12.918750000000001, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2145": { + "type": "monomer", + "id": "2145", + "position": { + "x": 1.25, + "y": -8.207500000000001 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomerTemplate-baA___N-benzyl-adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.6972141317677307, + 0.1682094747108162, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.053331426729770405, + -0.5077259564930162, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0139031468057487, + -0.1956832399958495, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.2239966460442384, + 0.7922949077051498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4734510875467369, + 1.468230338908982, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.4871879701892536, + 1.1561876224118155, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.6074172821544817, + -1.012354380625465, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0136337961656994, + -1.829429547215154, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.052994738429708727, + -1.517252155397963, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.6590652673839434, + -0.1420151249660174, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.415469202302518, + -1.012354380625465, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.4090721246013462, + 0.5353343970980741, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.3709232602175585, + 0.2251097974212404, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.292336051009563, + -0.398975635573093, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.082242551771073, + 0.5890025121279063, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.121536156375072, + 0.9010452286250727, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.58108409711606, + -0.7629356879397711, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.541790492512063, + -1.0749110667769253, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 17 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "baA___N-benzyl-adenine", + "fullName": "N-benzyl-adenine", + "alias": "baA", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer2146": { + "type": "monomer", + "id": "2146", + "position": { + "x": 1.25, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2147": { + "type": "monomer", + "id": "2147", + "position": { + "x": 2.5187500000000003, + "y": -6.891 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2148": { + "type": "monomer", + "id": "2148", + "position": { + "x": 3.85, + "y": -8.207500000000001 + }, + "alias": "5meC", + "templateId": "5meC___5-methyl-cytidine" + }, + "monomerTemplate-5meC___5-methyl-cytidine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3490444398920634, + 0.9781785945159245, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8055716301380496, + 1.9194735010098762, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.28130152632867755, + 1.919545964051177, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.8247743360826915, + 0.978251057557225, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2813739893699781, + 0.03688368802197241, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.8055716301380496, + 0.03688368802197241, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.218673398539786, + 0.9781785945159245, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7162247002144897, + -0.7161522371731892, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.694403294730414, + 0.978251057557225, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.2404223409825612, + 2.6725818892463384, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "5meC___5-methyl-cytidine", + "fullName": "5-methyl-cytidine", + "alias": "5meC", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2149": { + "type": "monomer", + "id": "2149", + "position": { + "x": 3.85, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2150": { + "type": "monomer", + "id": "2150", + "position": { + "x": 5.11875, + "y": -6.891 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2151": { + "type": "monomer", + "id": "2151", + "position": { + "x": 6.45, + "y": -8.207500000000001 + }, + "alias": "m1G", + "templateId": "m1G___1-Methylguanine" + }, + "monomerTemplate-m1G___1-Methylguanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 1.8412732722610703, + -4.507742593722824, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.5843964171581226, + -5.176993457573229, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.535535371500609, + -4.868036643159722, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.049289081706504, + -3.5295349154589135, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.0004280360489903, + -3.2205781010454073, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.743551180946042, + -3.8898289648958118, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0006947229841767, + -2.2210354679665802, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.0495557686416905, + -1.9119453100854806, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.4617110917569507, + -2.7209401279735865, + 0 + ] + }, + { + "label": "H", + "location": [ + 0.46163508480775073, + -2.7209401279735865, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.278725188131458, + -5.537287507010127, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.3763806077126888, + -6.155201135837141, + 0 + ] + }, + { + "label": "O", + "location": [ + 4.6947568070223245, + -3.5808721504823056, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 12 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "m1G___1-Methylguanine", + "fullName": "1-Methylguanine", + "alias": "m1G", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer2152": { + "type": "monomer", + "id": "2152", + "position": { + "x": 6.45, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2153": { + "type": "monomer", + "id": "2153", + "position": { + "x": 7.71875, + "y": -6.891 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2154": { + "type": "monomer", + "id": "2154", + "position": { + "x": 9.05, + "y": -8.207500000000001 + }, + "alias": "s2T", + "templateId": "s2T___2-Thiothymine" + }, + "monomerTemplate-s2T___2-Thiothymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 2.500004132790305, + 2.866004737830806, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.500002479674183, + 2.866004737830806, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.0000016531161222, + 2.0000033062322444, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.500002479674183, + 1.1340018746336824, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.500004132790305, + 1.1340018746336824, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.000004959348366, + 2.0000033062322444, + 0 + ] + }, + { + "label": "O", + "location": [ + 4.000006612464489, + 2.0000033062322444, + 0 + ] + }, + { + "label": "H", + "location": [ + 0, + 2.0000033062322444, + 0 + ] + }, + { + "label": "S", + "location": [ + 1.0000016531161222, + 3.7320728362062416, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.000004959348366, + 0.2679337762582463, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "s2T___2-Thiothymine", + "fullName": "2-Thiothymine", + "alias": "s2T", + "attachmentPoints": [ + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer2155": { + "type": "monomer", + "id": "2155", + "position": { + "x": 9.05, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2156": { + "type": "monomer", + "id": "2156", + "position": { + "x": 10.318750000000001, + "y": -6.891 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2157": { + "type": "monomer", + "id": "2157", + "position": { + "x": 11.65, + "y": -8.207500000000001 + }, + "alias": "5eU", + "templateId": "5eU___5-ethynyl-uracil" + }, + "monomerTemplate-5eU___5-ethynyl-uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3384104984069092, + 0.9704680301871874, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7992216528328736, + 0.036592949652957875, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2791560383151973, + 0.036592949652957875, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.8182729920431564, + 0.970539922033264, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2790841464691208, + 1.9044150025674935, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7992216528328736, + 1.9043431107214168, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.2011845431714425, + 0.9704680301871874, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7104352229283492, + 2.651515066994877, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.6810470368076895, + 0.970539922033264, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.3386980657912155, + -0.8978572656498839, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7699772504043674, + -1.6449573300772675, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + }, + { + "type": 3, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "5eU___5-ethynyl-uracil", + "fullName": "5-ethynyl-uracil", + "alias": "5eU", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer2158": { + "type": "monomer", + "id": "2158", + "position": { + "x": 11.65, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2159": { + "type": "monomer", + "id": "2159", + "position": { + "x": 12.918750000000001, + "y": -6.891 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2160": { + "type": "monomer", + "id": "2160", + "position": { + "x": 1.25, + "y": -11.028 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer2161": { + "type": "monomer", + "id": "2161", + "position": { + "x": 1.25, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2162": { + "type": "monomer", + "id": "2162", + "position": { + "x": 2.5187500000000003, + "y": -9.711500000000001 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomerTemplate-bP___Boranophosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "B", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "bP___Boranophosphate", + "fullName": "Boranophosphate", + "alias": "bP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2163": { + "type": "monomer", + "id": "2163", + "position": { + "x": 3.85, + "y": -11.028 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2164": { + "type": "monomer", + "id": "2164", + "position": { + "x": 3.85, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2165": { + "type": "monomer", + "id": "2165", + "position": { + "x": 5.11875, + "y": -9.711500000000001 + }, + "alias": "naP", + "templateId": "naP___Sodium Phosphate" + }, + "monomerTemplate-naP___Sodium Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.16658355168532357, + -0.5277506917574558, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1665848624526487, + -0.5277506917574558, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.33316710337064714, + -1.3939184937670874, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.8334177590820016, + -0.5277506917574558, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.33316710337064714, + 0.33841711025217563, + 0 + ], + "charge": -1 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "naP___Sodium Phosphate", + "fullName": "Sodium Phosphate", + "alias": "naP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2166": { + "type": "monomer", + "id": "2166", + "position": { + "x": 6.45, + "y": -11.028 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomer2167": { + "type": "monomer", + "id": "2167", + "position": { + "x": 6.45, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2168": { + "type": "monomer", + "id": "2168", + "position": { + "x": 7.71875, + "y": -9.711500000000001 + }, + "alias": "nasP", + "templateId": "nasP___Sodium Phosporothioate" + }, + "monomerTemplate-nasP___Sodium Phosporothioate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.16658355168532357, + -0.5277506917574558, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1665848624526487, + -0.5277506917574558, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.33316710337064714, + -1.3939184937670874, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.8334177590820016, + -0.5277506917574558, + 0 + ] + }, + { + "label": "S", + "location": [ + 0.33316710337064714, + 0.33841711025217563, + 0 + ], + "charge": -1 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "nasP___Sodium Phosporothioate", + "fullName": "Sodium Phosporothioate", + "alias": "nasP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2169": { + "type": "monomer", + "id": "2169", + "position": { + "x": 9.05, + "y": -11.028 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer2170": { + "type": "monomer", + "id": "2170", + "position": { + "x": 9.05, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2171": { + "type": "monomer", + "id": "2171", + "position": { + "x": 10.318750000000001, + "y": -9.711500000000001 + }, + "alias": "sP", + "templateId": "sP___Phosporothioate" + }, + "monomerTemplate-sP___Phosporothioate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "S", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "sP___Phosporothioate", + "fullName": "Phosporothioate", + "alias": "sP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2172": { + "type": "monomer", + "id": "2172", + "position": { + "x": 11.65, + "y": -11.028 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer2173": { + "type": "monomer", + "id": "2173", + "position": { + "x": 11.65, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2174": { + "type": "monomer", + "id": "2174", + "position": { + "x": 12.918750000000001, + "y": -9.711500000000001 + }, + "alias": "moen", + "templateId": "moen___2-Methoxyethylamino" + }, + "monomerTemplate-moen___2-Methoxyethylamino": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "H", + "location": [ + 0.0004665388114715543, + 0.0002665936065551739, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.8664292213043152, + 0.4998630122909511, + 0 + ] + }, + { + "label": "H", + "location": [ + 0.8664292213043152, + 1.4995890368728533, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7328584426086304, + 0, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.5992876639129454, + 0.4998630122909511, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.465716885217261, + 0, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.331612919308466, + 0.4995964186843959, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "moen___2-Methoxyethylamino", + "fullName": "2-Methoxyethylamino", + "alias": "moen", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2175": { + "type": "monomer", + "id": "2175", + "position": { + "x": 1.25, + "y": -13.8485 + }, + "alias": "cpmA", + "templateId": "cpmA___N-cyclopropylmethyl-adenine" + }, + "monomerTemplate-cpmA___N-cyclopropylmethyl-adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.7028353176783506, + 0.16956563874449676, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.053761403477038214, + -0.5118194219909951, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0220775911032378, + -0.19726090720236497, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.2338649381339943, + 0.798682668321757, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.47726821697860555, + 1.480067729057249, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.4911158512075397, + 1.1655092142686188, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.6203768464651254, + -1.0205163382244855, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0218060688634547, + -1.8441790526062805, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.053422000677309435, + -1.5294847766977588, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.6724412359435195, + -0.14316010092559797, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.434943565814189, + -1.0205163382244855, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.428494912619342, + 0.5396504515687548, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.3981008308845113, + 0.22692471189866, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.335056199815772, + 0.45778649627417384, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.020429804467195, + -0.5105975719119714, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 13 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "cpmA___N-cyclopropylmethyl-adenine", + "fullName": "N-cyclopropylmethyl-adenine", + "alias": "cpmA", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer2176": { + "type": "monomer", + "id": "2176", + "position": { + "x": 1.25, + "y": -12.532 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2177": { + "type": "monomer", + "id": "2177", + "position": { + "x": 2.5187500000000003, + "y": -12.532 + }, + "alias": "m2nen", + "templateId": "m2nen___(Dimethylaminoethyl)amino" + }, + "monomerTemplate-m2nen___(Dimethylaminoethyl)amino": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "H", + "location": [ + 0.0004665570722099722, + 0.00026660404126284127, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.8664631341042341, + 0.4998825773678274, + 0 + ] + }, + { + "label": "H", + "location": [ + 0.8664631341042341, + 1.499647732103482, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7329262682084683, + 0, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.599389402312702, + 0.4998825773678274, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.4658525364169366, + 0, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.331782462438644, + 0.49961597332656454, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.4658525364169366, + -0.9997651547356547, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "m2nen___(Dimethylaminoethyl)amino", + "fullName": "(Dimethylaminoethyl)amino", + "alias": "m2nen", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2178": { + "type": "monomer", + "id": "2178", + "position": { + "x": 3.85, + "y": -13.8485 + }, + "alias": "tCo", + "templateId": "tCo___1,3-Diaza-2-oxophenoxazin" + }, + "monomerTemplate-tCo___1,3-Diaza-2-oxophenoxazin": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 2.5000015363934143, + 2.8660017613214106, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.5000009218360488, + 2.8660017613214106, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.0000006145573659, + 2.0000012291147318, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.5000009218360488, + 1.134000696908053, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.5000015363934143, + 1.134000696908053, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.0000018436720977, + 2.0000012291147318, + 0 + ] + }, + { + "label": "N", + "location": [ + 4.0000024582294635, + 2.0000012291147318, + 0 + ] + }, + { + "label": "H", + "location": [ + 0, + 2.0000012291147318, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.0000006145573659, + 3.7320689602357264, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0000018436720977, + 0.2679334979937369, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.0000024582294635, + 0.2679334979937369, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.500002765508146, + 1.134000696908053, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.500002765508146, + -0.5980670342129419, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.500003380065512, + -0.5980670342129419, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.000003687344195, + 0.2679334979937369, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.500003380065512, + 1.134000696908053, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 10, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 11 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "tCo___1,3-Diaza-2-oxophenoxazin", + "fullName": "1,3-Diaza-2-oxophenoxazin", + "alias": "tCo", + "attachmentPoints": [ + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2179": { + "type": "monomer", + "id": "2179", + "position": { + "x": 3.85, + "y": -12.532 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2180": { + "type": "monomer", + "id": "2180", + "position": { + "x": 5.11875, + "y": -12.532 + }, + "alias": "Rmp", + "templateId": "Rmp___(Rp)-Methylphosphonate" + }, + "monomerTemplate-Rmp___(Rp)-Methylphosphonate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.5998702079620551, + -0.6927374228643826, + 0 + ] + }, + { + "label": "P", + "location": [ + -0.09993392328685492, + 0.17333435660161628, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4000023613883452, + -0.6927374228643826, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.9000719801840082, + 0.1730676883606907, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.6002702103234434, + 1.0391394678266894, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 0 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "Rmp___(Rp)-Methylphosphonate", + "fullName": "(Rp)-Methylphosphonate", + "alias": "Rmp", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2181": { + "type": "monomer", + "id": "2181", + "position": { + "x": 6.45, + "y": -13.8485 + }, + "alias": "m2G", + "templateId": "m2G___2-Methylguanine" + }, + "monomerTemplate-m2G___2-Methylguanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 3.7131358329417887, + -0.9515681433446118, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.1255810058349396, + -1.7601310553101026, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.7134691784694795, + -2.56916065101436, + 0 + ] + }, + { + "label": "N", + "location": [ + 4.664503968969787, + -2.2600160086344143, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.664237292547634, + -1.2605127784079433, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.505128223663068, + 0.026600973109682624, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.407397811980296, + -0.5913549661225185, + 0 + ] + }, + { + "label": "N", + "location": [ + 5.199390202701575, + 0.38681415033177596, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.24828874309573, + 0.6957587853951075, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.125544422764164, + -1.7601310553101026, + 0 + ] + }, + { + "label": "O", + "location": [ + 6.358499271586142, + -0.9002996011858501, + 0 + ] + }, + { + "label": "N", + "location": [ + 4.038147722439791, + 1.6740612400604782, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.0865795790951793, + 1.9816724930130485, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "m2G___2-Methylguanine", + "fullName": "2-Methylguanine", + "alias": "m2G", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer2182": { + "type": "monomer", + "id": "2182", + "position": { + "x": 6.45, + "y": -12.532 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2183": { + "type": "monomer", + "id": "2183", + "position": { + "x": 7.71875, + "y": -12.532 + }, + "alias": "Rsp", + "templateId": "Rsp___(Rp)-Phosphorothioate" + }, + "monomerTemplate-Rsp___(Rp)-Phosphorothioate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.5998702079620551, + -0.6927374228643826, + 0 + ] + }, + { + "label": "P", + "location": [ + -0.09993392328685492, + 0.17333435660161628, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4000023613883452, + -0.6927374228643826, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9000719801840082, + 0.1730676883606907, + 0 + ] + }, + { + "label": "S", + "location": [ + -0.6002702103234434, + 1.0391394678266894, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 0 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "Rsp___(Rp)-Phosphorothioate", + "fullName": "(Rp)-Phosphorothioate", + "alias": "Rsp", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2184": { + "type": "monomer", + "id": "2184", + "position": { + "x": 9.05, + "y": -13.8485 + }, + "alias": "cnes4T", + "templateId": "cnes4T___4-Cyanoethylthiothymidine" + }, + "monomerTemplate-cnes4T___4-Cyanoethylthiothymidine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 2.499618222202089, + 2.8655623299324753, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.4997709333212534, + 2.8655623299324753, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.4997709333212534, + 1.1338268255908677, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.499618222202089, + 1.1338268255908677, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.999541866642507, + 1.9996945777616713, + 0 + ] + }, + { + "label": "S", + "location": [ + 3.999922407410746, + 1.9976282266979843, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9998472888808356, + 0.26789241693413857, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.9998472888808356, + 1.9996945777616713, + 0 + ] + }, + { + "label": "H", + "location": [ + 0, + 1.9996945777616713, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.999541866642507, + 3.7314967385892035, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.498912861048208, + 1.1305606577805234, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.4992934018164465, + 1.1284943067168365, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.998283855453908, + 0.2614267377993758, + 0 + ] + }, + { + "label": "N", + "location": [ + 6.4969410266617444, + -0.6051742357166071, + 0 + ] + } + ], + "bonds": [ + { + "type": 3, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 2, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "cnes4T___4-Cyanoethylthiothymidine", + "fullName": "4-Cyanoethylthiothymidine", + "alias": "cnes4T", + "attachmentPoints": [ + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer2185": { + "type": "monomer", + "id": "2185", + "position": { + "x": 9.05, + "y": -12.532 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2186": { + "type": "monomer", + "id": "2186", + "position": { + "x": 10.318750000000001, + "y": -12.532 + }, + "alias": "Smp", + "templateId": "Smp___(Sp)-Methylphosphonate" + }, + "monomerTemplate-Smp___(Sp)-Methylphosphonate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.5998702079620551, + -0.6927374228643826, + 0 + ] + }, + { + "label": "P", + "location": [ + -0.09993392328685492, + 0.17333435660161628, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4000023613883452, + -0.6927374228643826, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.9000719801840082, + 0.1730676883606907, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.6002702103234434, + 1.0391394678266894, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "Smp___(Sp)-Methylphosphonate", + "fullName": "(Sp)-Methylphosphonate", + "alias": "Smp", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2187": { + "type": "monomer", + "id": "2187", + "position": { + "x": 11.65, + "y": -13.8485 + }, + "alias": "5iU", + "templateId": "5iU___5-iodo-uracil" + }, + "monomerTemplate-5iU___5-iodo-uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.349054216022482, + 0.9781856830900514, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8055774678799985, + 0.036883955307269886, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.28137602840496845, + 0.036883955307269886, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.824780312981033, + 0.9782581466564704, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.28130356483854946, + 1.919559874439252, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.8055774678799985, + 1.9194874108728328, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.2186894766168748, + 0.9781856830900514, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7160849633525362, + 2.672601256665477, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.6944155735754256, + 0.9782581466564704, + 0 + ] + }, + { + "label": "I", + "location": [ + 1.2403588663939855, + -0.7162298904853742, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "5iU___5-iodo-uracil", + "fullName": "5-iodo-uracil", + "alias": "5iU", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer2188": { + "type": "monomer", + "id": "2188", + "position": { + "x": 11.65, + "y": -12.532 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2189": { + "type": "monomer", + "id": "2189", + "position": { + "x": 12.918750000000001, + "y": -12.532 + }, + "alias": "Ssp", + "templateId": "Ssp___(Sp)-Phosphorothioate" + }, + "monomerTemplate-Ssp___(Sp)-Phosphorothioate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.5998702079620551, + -0.6927374228643826, + 0 + ] + }, + { + "label": "P", + "location": [ + -0.09993392328685492, + 0.17333435660161628, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4000023613883452, + -0.6927374228643826, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9000719801840082, + 0.1730676883606907, + 0 + ] + }, + { + "label": "S", + "location": [ + -0.6002702103234434, + 1.0391394678266894, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "Ssp___(Sp)-Phosphorothioate", + "fullName": "(Sp)-Phosphorothioate", + "alias": "Ssp", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2191": { + "type": "monomer", + "id": "2191", + "position": { + "x": 1.25, + "y": -16.668999999999997 + }, + "alias": "daA", + "templateId": "daA___N,N-dimethyl-Adenine" + }, + "monomerTemplate-daA___N,N-dimethyl-Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.7212077817111169, + 0.17399816869947554, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.05516675324659113, + -0.5251986357061832, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0487952066084882, + -0.20241740522044674, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.2661187800041502, + 0.8195606296709484, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.48974424504644215, + 1.5187574340766072, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.5039538633069278, + 1.1959762035908708, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.6627343014512335, + -1.0471931418046099, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0485165866425963, + -1.8923868083376107, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.054818478289226286, + -1.5694662678689284, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.7161596799110002, + -0.14690237701649078, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.4985941991268565, + -1.0471931418046099, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.3365070339692586, + 0.4132630644091227, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.891411638456989, + -0.9641643919688313, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 12 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "daA___N,N-dimethyl-Adenine", + "fullName": "N,N-dimethyl-Adenine", + "alias": "daA", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer2192": { + "type": "monomer", + "id": "2192", + "position": { + "x": 1.25, + "y": -15.3525 + }, + "alias": "aR", + "templateId": "aR___3-Amino-Ribose" + }, + "monomerTemplate-aR___3-Amino-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "N", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "aR___3-Amino-Ribose", + "fullName": "3-Amino-Ribose", + "alias": "aR", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2193": { + "type": "monomer", + "id": "2193", + "position": { + "x": 2.5187500000000003, + "y": -15.3525 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2194": { + "type": "monomer", + "id": "2194", + "position": { + "x": 3.85, + "y": -16.668999999999997 + }, + "alias": "s2C", + "templateId": "s2C___2-Thiocytosine" + }, + "monomerTemplate-s2C___2-Thiocytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 0.8660015906653609, + -0.5000009183980143, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8660015906653609, + 0.5000009183980143, + 0 + ] + }, + { + "label": "C", + "location": [ + 0, + 1.0000018367960286, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8660015906653609, + 0.5000009183980143, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.8660015906653609, + -0.5000009183980143, + 0 + ] + }, + { + "label": "C", + "location": [ + 0, + -1.0000018367960286, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.7320698481198415, + -1.0000018367960286, + 0 + ] + }, + { + "label": "S", + "location": [ + 0, + -2.000003673592057, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.7320698481198415, + 1.0000018367960286, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "s2C___2-Thiocytosine", + "fullName": "2-Thiocytosine", + "alias": "s2C", + "attachmentPoints": [ + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 6 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2195": { + "type": "monomer", + "id": "2195", + "position": { + "x": 3.85, + "y": -15.3525 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomerTemplate-dR___Deoxy-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.6197811532086971, + -0.8519522451935663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2586888108750001, + 0.14239168733822935, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.2142575265644085, + -1.5026942457234536, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.7985641781727444, + 0.10621192725674759, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.0908938185971924, + -0.9104886991265679, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.4468377740187097, + 0.9406737621185256, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8520227710416783, + 1.0167711522314276, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.1853419288384679, + -2.3484402162831595, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.9077241914309577, + 0.9406737621185256, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3829273560099518, + 1.640924908023072, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.2852490563747625, + 0.8257871555439957, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 6 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "dR___Deoxy-Ribose", + "fullName": "Deoxy-Ribose", + "alias": "dR", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2196": { + "type": "monomer", + "id": "2196", + "position": { + "x": 5.11875, + "y": -15.3525 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2197": { + "type": "monomer", + "id": "2197", + "position": { + "x": 6.45, + "y": -16.668999999999997 + }, + "alias": "c3ally", + "templateId": "c3ally___3-Deaza-3-allylguanine" + }, + "monomerTemplate-c3ally___3-Deaza-3-allylguanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 0.8659997356923963, + -0.49999984739745745, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8659997356923963, + 0.49999984739745745, + 0 + ] + }, + { + "label": "C", + "location": [ + 0, + 0.9999996947949149, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8659997356923963, + 0.49999984739745745, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8659997356923963, + -0.49999984739745745, + 0 + ] + }, + { + "label": "C", + "location": [ + 0, + -0.9999996947949149, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.4043325995185736, + 0, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.816532778918123, + -0.8089997530890862, + 0 + ] + }, + { + "label": "O", + "location": [ + 0, + -1.9999993895898298, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.7320661380311124, + 0.9999996947949149, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.816532778918123, + 0.8089997530890862, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.125466017963432, + 1.76006612948537, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.0020666660359094906, + 2.000532722760387, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8692664013620597, + 2.4995992371093694, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8713330673979691, + 3.499598931904284, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "c3ally___3-Deaza-3-allylguanine", + "fullName": "3-Deaza-3-allylguanine", + "alias": "c3ally", + "attachmentPoints": [ + { + "attachmentAtom": 10, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer2198": { + "type": "monomer", + "id": "2198", + "position": { + "x": 6.45, + "y": -15.3525 + }, + "alias": "mR", + "templateId": "mR___2'-O-Methyl-Ribose" + }, + "monomerTemplate-mR___2'-O-Methyl-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.9587597544113285, + -0.5963737210979235, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5948815433136918, + 0.4054460208012333, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.11837943754904569, + -1.2520082170553333, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.4703202263728292, + 0.36899424921500257, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.7648476985461752, + -0.6553502716175561, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.1234677593565194, + 1.2097298465021025, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7647489261513198, + -1.0208627726693515, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.1926763861108836, + 1.2863283060926616, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.14758348846900834, + -2.1041127879365793, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.256314921928209, + 1.2097298465021025, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.735090822411685, + 1.915245714103828, + 0 + ] + }, + { + "label": "H", + "location": [ + 1.9681824974015705, + 1.0939084280117397, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.9121903024504014, + -1.860674640851927, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 12 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "mR___2'-O-Methyl-Ribose", + "fullName": "2'-O-Methyl-Ribose", + "alias": "mR", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2199": { + "type": "monomer", + "id": "2199", + "position": { + "x": 7.71875, + "y": -15.3525 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2200": { + "type": "monomer", + "id": "2200", + "position": { + "x": 9.05, + "y": -16.668999999999997 + }, + "alias": "s4T", + "templateId": "s4T___4-Thiothymidine" + }, + "monomerTemplate-s4T___4-Thiothymidine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 2.500004132790305, + 2.866004737830806, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.500002479674183, + 2.866004737830806, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.0000016531161222, + 2.0000033062322444, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.500002479674183, + 1.1340018746336824, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.500004132790305, + 1.1340018746336824, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.000004959348366, + 2.0000033062322444, + 0 + ] + }, + { + "label": "S", + "location": [ + 4.000006612464489, + 2.0000033062322444, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.0000016531161222, + 3.7320728362062416, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.000004959348366, + 0.2679337762582463, + 0 + ] + }, + { + "label": "H", + "location": [ + 0, + 2.0000033062322444, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "s4T___4-Thiothymidine", + "fullName": "4-Thiothymidine", + "alias": "s4T", + "attachmentPoints": [ + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer2201": { + "type": "monomer", + "id": "2201", + "position": { + "x": 9.05, + "y": -15.3525 + }, + "alias": "eR", + "templateId": "eR___2'-O,4'-ethylene bridged Ribose" + }, + "monomerTemplate-eR___2'-O,4'-ethylene bridged Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.248177484158332, + 0.19665640130097312, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.1477355156063141, + -0.11493628542466769, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.5205487993447313, + -0.38698922220675597, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.7551466830168463, + 0.40582098360342156, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.4818429281346105, + -0.5049135730928872, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.3889640103193819, + 1.223995000888813, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3630152086205949, + 0.9018398502063708, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.8425649702382683, + -1.1561728639030355, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.3549834519320405, + 1.223995000888813, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.5288471678525477, + 2.039528402185004, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.215337835150185, + 1.112185760714514, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.8991992342171705, + -1.567275079484858, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.280808663483121, + -1.2812546739177888, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.015426756568486232, + -2.0924102118634633, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 11 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 1, + 12 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "eR___2'-O,4'-ethylene bridged Ribose", + "fullName": "2'-O,4'-ethylene bridged Ribose", + "alias": "eR", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2202": { + "type": "monomer", + "id": "2202", + "position": { + "x": 10.318750000000001, + "y": -15.3525 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2203": { + "type": "monomer", + "id": "2203", + "position": { + "x": 11.65, + "y": -16.668999999999997 + }, + "alias": "prpU", + "templateId": "prpU___5-propynyl Uracil" + }, + "monomerTemplate-prpU___5-propynyl Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3296505286073173, + 0.9641162639345855, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7939907034714264, + 0.03635344679922246, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2773289468003552, + 0.03635344679922246, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.812917350626228, + 0.9641876852446035, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2772575254903371, + 1.8919505023799665, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7939907034714264, + 1.8918790810699482, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1867776701347608, + 0.9641162639345855, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7057853855990497, + 2.634160756088257, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.6700444921536712, + 0.9641876852446035, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.3299362138473898, + -0.8919807408162853, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.865881724223353, + -1.8203149284317934, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.2943381630220476, + -2.562596603450102, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + }, + { + "type": 3, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "prpU___5-propynyl Uracil", + "fullName": "5-propynyl Uracil", + "alias": "prpU", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer2204": { + "type": "monomer", + "id": "2204", + "position": { + "x": 11.65, + "y": -15.3525 + }, + "alias": "hx", + "templateId": "hx___hexitol" + }, + "monomerTemplate-hx___hexitol": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.903098421567144, + -0.6825686772593565, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3758056985404105, + 0.228318099897404, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.67667478654289, + 0.22712528868097626, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.201792383233785, + -0.684954299692212, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.6744996602070512, + -1.5958410768489726, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.3779808248762493, + -1.5945781002668726, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.9031685869328162, + 1.1398363653452146, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.9562103949414944, + 1.1395557038825257, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.377904242631537, + 1.868363357119875, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.2023537061591625, + 1.1395557038825257, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.0947200352179771, + -2.325560879840061, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.044338094225803, + 1.1408888458302977, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 6 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 9 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "hx___hexitol", + "fullName": "hexitol", + "alias": "hx", + "attachmentPoints": [ + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2205": { + "type": "monomer", + "id": "2205", + "position": { + "x": 12.918750000000001, + "y": -15.3525 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2206": { + "type": "monomer", + "id": "2206", + "position": { + "x": 1.25, + "y": -19.489499999999996 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer2207": { + "type": "monomer", + "id": "2207", + "position": { + "x": 1.25, + "y": -18.173 + }, + "alias": "mph", + "templateId": "mph___morpholino" + }, + "monomerTemplate-mph___morpholino": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.33313570362457084, + -0.6718412952039229, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.33221913978391066, + 0.3857323670963021, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.5840626812330043, + 0.9136731393165745, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.4994984433200789, + 0.38411075414744167, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.498581879479419, + -0.6734629081527833, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.5822295535516838, + -1.2014741852838755, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -1.2492765148198457, + 0.9137436442273944, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.5815245044434837, + -2.0475331151240557, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.1653468211043005, + 0.38411075414744167, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.8985978936324566, + 0.8063646650485115, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.2326085060265948, + 0.8065056748701516, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 6 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "mph___morpholino", + "fullName": "morpholino", + "alias": "mph", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2208": { + "type": "monomer", + "id": "2208", + "position": { + "x": 2.5187500000000003, + "y": -18.173 + }, + "alias": "hn", + "templateId": "hn___Amino" + }, + "monomerTemplate-hn___Amino": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "H", + "location": [ + 0.00046665830318780055, + 0.00026666188753588605, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.8666511344916296, + 0.49999103912978626, + 0 + ] + }, + { + "label": "H", + "location": [ + 1.7328356106800713, + 0.00026666188753588605, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "hn___Amino", + "fullName": "Amino", + "alias": "hn", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2209": { + "type": "monomer", + "id": "2209", + "position": { + "x": 3.85, + "y": -19.489499999999996 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2210": { + "type": "monomer", + "id": "2210", + "position": { + "x": 3.85, + "y": -18.173 + }, + "alias": "qR", + "templateId": "qR___2-O-beta-hydroxy-ethoxy-methyl Ribose (Qiagen)" + }, + "monomerTemplate-qR___2-O-beta-hydroxy-ethoxy-methyl Ribose (Qiagen)": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.786354990037498, + 0.2631992900372485, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.4280765306327265, + 1.249601945602152, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.9589073549310283, + -0.3822756301870085, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.3792672385145998, + 1.2137810959213784, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.0892722738138036, + 0.20513033450005655, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.2637589908135106, + 2.041508581415979, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.8951714290341827, + -0.15475726463646833, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.0166718594693482, + 2.1169282610172955, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9876619823114933, + -1.2214070189979493, + 0 + ] + }, + { + "label": "O", + "location": [ + -3.0639419744527547, + 2.041508581415979, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5353499532595016, + 2.736167207354267, + 0 + ] + }, + { + "label": "H", + "location": [ + 1.0955443069360116, + 1.9274695482525777, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.0767943309312313, + -1.188944373974748, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.0629870987050367, + -1.5493916738875348, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.2445400380050526, + -2.583648745822847, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.2306628431818254, + -2.944096045735634, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.375905194621838, + -3.7709839800658416, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "qR___2-O-beta-hydroxy-ethoxy-methyl Ribose (Qiagen)", + "fullName": "2-O-beta-hydroxy-ethoxy-methyl Ribose (Qiagen)", + "alias": "qR", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2211": { + "type": "monomer", + "id": "2211", + "position": { + "x": 5.11875, + "y": -18.173 + }, + "alias": "bnn", + "templateId": "bnn___Benzylamino" + }, + "monomerTemplate-bnn___Benzylamino": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "H", + "location": [ + -1.9061310910624305, + 1.6995530091878903, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.040289624309155, + 1.1994727348339702, + 0 + ] + }, + { + "label": "H", + "location": [ + -0.1743814979618576, + 1.6995530091878903, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0397563475569782, + 0.1990455477500408, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.17344826364554797, + -0.301301364979968, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.1715817950129287, + -1.3011952753117202, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.69152662838544, + 0.20024542044243893, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.6953262252447004, + -1.7994757406270436, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.5603011172756884, + -1.2979289552046367, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.5584346486430691, + -0.2980350448728843, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 6 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "bnn___Benzylamino", + "fullName": "Benzylamino", + "alias": "bnn", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2212": { + "type": "monomer", + "id": "2212", + "position": { + "x": 6.45, + "y": -19.489499999999996 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomer2213": { + "type": "monomer", + "id": "2213", + "position": { + "x": 6.45, + "y": -18.173 + }, + "alias": "tR", + "templateId": "tR___Ribose" + }, + "monomerTemplate-tR___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.1670618201734443, + -1.4692218079032717, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0279090336786445, + -0.8437508658781089, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.6938563325335281, + -0.8437508658781089, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.6991058334646683, + 0.16826778660357108, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3649821931177796, + 0.16826778660357108, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + -1.3255699243146413, + 1.026844945652062, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9915172231695248, + 1.026844945652062, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.5034145031574544, + -1.10679342604929, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.1720874190618646, + 0.9366102809978706, + 0 + ] + }, + { + "label": "H", + "location": [ + 1.8379637787149758, + 0.9366102809978706, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 9 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "tR___Ribose", + "fullName": "Ribose", + "alias": "tR", + "attachmentPoints": [ + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2214": { + "type": "monomer", + "id": "2214", + "position": { + "x": 7.71875, + "y": -18.173 + }, + "alias": "co", + "templateId": "co___Carbonyl" + }, + "monomerTemplate-co___Carbonyl": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + 0.0004666610909807805, + 0.00026666348056044603, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8666563118214496, + 0.4999940260508363, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.8666563118214496, + 1.4999820781525088, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7328459625519184, + 0.00026666348056044603, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 3 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "co___Carbonyl", + "fullName": "Carbonyl", + "alias": "co", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2215": { + "type": "monomer", + "id": "2215", + "position": { + "x": 9.05, + "y": -19.489499999999996 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer2216": { + "type": "monomer", + "id": "2216", + "position": { + "x": 9.05, + "y": -18.173 + }, + "alias": "dhp", + "templateId": "dhp___1,3-Dihydroxy-2-propoxymethyl (ganciclovir sugar)" + }, + "monomerTemplate-dhp___1,3-Dihydroxy-2-propoxymethyl (ganciclovir sugar)": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0384907989208056, + 0.20046077925648356, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.6921494858237494, + -1.8020144518269001, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.17347054800685724, + -1.3008625036856911, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.1728707650901989, + -0.3006911688847253, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.6926826261941124, + 0.20046077925648356, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.6916163454533863, + -2.8016526462575024, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.0379576585504426, + 1.2006321140574494, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.6921494858237494, + 1.2006321140574494, + 0 + ] + }, + { + "label": "H", + "location": [ + 1.9030445520106862, + 1.7014508494671816, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.5572363792839932, + 1.7015174920134768, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 2 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "dhp___1,3-Dihydroxy-2-propoxymethyl (ganciclovir sugar)", + "fullName": "1,3-Dihydroxy-2-propoxymethyl (ganciclovir sugar)", + "alias": "dhp", + "attachmentPoints": [ + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 5 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2217": { + "type": "monomer", + "id": "2217", + "position": { + "x": 10.318750000000001, + "y": -18.173 + }, + "alias": "cm", + "templateId": "cm___Carbonylmethyl" + }, + "monomerTemplate-cm___Carbonylmethyl": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7998823962240698, + 0.6928314688627485, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3002225260494342, + -0.17324119564886314, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.8007489354866459, + -1.0387806052296586, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7001637241614691, + -0.17324119564886314, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.2006901335986808, + 0.6923648707982843, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "cm___Carbonylmethyl", + "fullName": "Carbonylmethyl", + "alias": "cm", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2218": { + "type": "monomer", + "id": "2218", + "position": { + "x": 11.65, + "y": -19.489499999999996 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer2219": { + "type": "monomer", + "id": "2219", + "position": { + "x": 11.65, + "y": -18.173 + }, + "alias": "nC62r", + "templateId": "nC62r___2-O-(6-aminohexyl)ribose" + }, + "monomerTemplate-nC62r___2-O-(6-aminohexyl)ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + -1.6543190927943676, + 0.2693868251926999, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -1.3772659758676513, + -0.6914328510019012, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -2.2054254733605765, + -1.2518721084616953, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + -2.9943202244940608, + -0.6373688284254896, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.653736881284582, + 0.30278519179045854, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -3.215176089840118, + 1.1288114602791357, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.2388238399583353, + -2.251223233545527, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.0389491884751862, + 1.0560816839155536, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.43751193608999983, + -1.0296829749879837, + 0 + ] + }, + { + "label": "O", + "location": [ + -4.213060619983529, + 1.0560816839155536, + 0 + ] + }, + { + "label": "H", + "location": [ + -4.775166462602892, + 1.8830412400935892, + 0 + ] + }, + { + "label": "H", + "location": [ + -0.04873095006579154, + 0.9169551547947505, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.32705067171378016, + -0.38431453779656394, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.268404633244618, + -0.7231646324400911, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.032967241048398, + -0.0777961952486713, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.974321202579236, + -0.41664628989219854, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.7388838103830158, + 0.22872214729922133, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.680237771913853, + -0.11012794734430592, + 0 + ] + }, + { + "label": "N", + "location": [ + 5.444800379717633, + 0.5352404898471139, + 0 + ] + }, + { + "label": "H", + "location": [ + 6.385687697403792, + 0.19659038542273496, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 6 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 0, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 1, + 8 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 19 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "nC62r___2-O-(6-aminohexyl)ribose", + "fullName": "2-O-(6-aminohexyl)ribose", + "alias": "nC62r", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 6 + ] + }, + "type": "side" + }, + { + "attachmentAtom": 18, + "leavingGroup": { + "atoms": [ + 19 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2220": { + "type": "monomer", + "id": "2220", + "position": { + "x": 12.918750000000001, + "y": -18.173 + }, + "alias": "fl2me", + "templateId": "fl2me___Difluoromethylene" + }, + "monomerTemplate-fl2me___Difluoromethylene": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.199855914720846, + 0, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.19986487567135774, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.8001261633781306, + 0, + 0 + ] + }, + { + "label": "F", + "location": [ + 0.29986397957630656, + -0.8661922380246667, + 0 + ] + }, + { + "label": "F", + "location": [ + 0.29986397957630656, + 0.8661922380246667, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "fl2me___Difluoromethylene", + "fullName": "Difluoromethylene", + "alias": "fl2me", + "attachmentPoints": [ + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 0 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 2 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2221": { + "type": "monomer", + "id": "2221", + "position": { + "x": 1.25, + "y": -22.309999999999995 + }, + "alias": "dabA", + "templateId": "dabA___7-deaza-8-aza-7-bromo-2-amino-Adenine" + }, + "monomerTemplate-dabA___7-deaza-8-aza-7-bromo-2-amino-Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.732160725308039, + 0.17664066948227555, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.05600456774618185, + -0.5331747989977413, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0647232027200253, + -0.20549150741212685, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.2853472574777114, + 0.8320072526535046, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.49718196442349055, + 1.5418227211335216, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.5116073833884163, + 1.214139429547907, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.6879861574104886, + -1.0630968074445681, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.064440351367772, + -1.9211263845053894, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.055651003555865046, + -1.5933016672436484, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.5392770589632405, + -0.08549182121860334, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.5365402141708193, + -1.0630968074445681, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.6736812082296394, + 2.371850014321252, + 0 + ] + }, + { + "label": "Br", + "location": [ + 0.6308999412013061, + -2.0919686012664696, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 12 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "dabA___7-deaza-8-aza-7-bromo-2-amino-Adenine", + "fullName": "7-deaza-8-aza-7-bromo-2-amino-Adenine", + "alias": "dabA", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer2222": { + "type": "monomer", + "id": "2222", + "position": { + "x": 1.25, + "y": -20.993499999999997 + }, + "alias": "mph", + "templateId": "mph___morpholino" + }, + "monomer2223": { + "type": "monomer", + "id": "2223", + "position": { + "x": 2.5187500000000003, + "y": -20.993499999999997 + }, + "alias": "hn", + "templateId": "hn___Amino" + }, + "monomer2224": { + "type": "monomer", + "id": "2224", + "position": { + "x": 3.85, + "y": -22.309999999999995 + }, + "alias": "oC64m5", + "templateId": "oC64m5___4-Hexan-6-ol-5-methylcytosine" + }, + "monomerTemplate-oC64m5___4-Hexan-6-ol-5-methylcytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + -3.327853369003256, + -0.550932023796934, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.411010770485155, + -0.9495012836935788, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.6074071640346792, + -0.3547799616103411, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.7206461561023043, + 0.6385772707474503, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.6374887546204056, + 1.037146530644095, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.7507277466880313, + 2.0304371126239777, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.6891649075804861, + -0.7516829620592573, + 0 + ] + }, + { + "label": "N", + "location": [ + -3.441092361070881, + 0.44242520856085743, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.2977717784175296, + -1.9428585160513703, + 0 + ] + }, + { + "label": "H", + "location": [ + -4.358001609966892, + 0.8409944684575023, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.11403879660253498, + -0.15549533166201876, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.032214402678819, + -0.552398332110935, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.8354181068618398, + 0.0437892982863036, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.753593712938124, + -0.35311370216261273, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.5567974171211447, + 0.24307392823462598, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.474973023197429, + -0.15382907221429032, + 0 + ] + }, + { + "label": "O", + "location": [ + 5.278243377758359, + 0.44242520856085743, + 0 + ] + }, + { + "label": "H", + "location": [ + 6.195885780811369, + 0.04572215924566861, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "oC64m5___4-Hexan-6-ol-5-methylcytosine", + "fullName": "4-Hexan-6-ol-5-methylcytosine", + "alias": "oC64m5", + "attachmentPoints": [ + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 16, + "leavingGroup": { + "atoms": [ + 17 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2225": { + "type": "monomer", + "id": "2225", + "position": { + "x": 3.85, + "y": -20.993499999999997 + }, + "alias": "qR", + "templateId": "qR___2-O-beta-hydroxy-ethoxy-methyl Ribose (Qiagen)" + }, + "monomer2226": { + "type": "monomer", + "id": "2226", + "position": { + "x": 5.11875, + "y": -20.993499999999997 + }, + "alias": "bnn", + "templateId": "bnn___Benzylamino" + }, + "monomer2227": { + "type": "monomer", + "id": "2227", + "position": { + "x": 6.45, + "y": -22.309999999999995 + }, + "alias": "c3G", + "templateId": "c3G___3-Deazaguanine" + }, + "monomerTemplate-c3G___3-Deazaguanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 0.8660722342091455, + -0.5000417056634789, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8660722342091455, + 0.5000417056634789, + 0 + ] + }, + { + "label": "C", + "location": [ + 0, + 1.0000834113269579, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8660722342091455, + 0.5000417056634789, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8660722342091455, + -0.5000417056634789, + 0 + ] + }, + { + "label": "C", + "location": [ + 0, + -1.0000834113269579, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.4045338819671156, + 0, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.81668485278913, + -0.8090674797635089, + 0 + ] + }, + { + "label": "O", + "location": [ + 0, + -2.0001668226539158, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.7322111406457128, + 1.0000834113269579, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.81668485278913, + 0.8090674797635089, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.1256439546617383, + 1.7602134761628676, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "c3G___3-Deazaguanine", + "fullName": "3-Deazaguanine", + "alias": "c3G", + "attachmentPoints": [ + { + "attachmentAtom": 10, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer2228": { + "type": "monomer", + "id": "2228", + "position": { + "x": 6.45, + "y": -20.993499999999997 + }, + "alias": "tR", + "templateId": "tR___Ribose" + }, + "monomer2229": { + "type": "monomer", + "id": "2229", + "position": { + "x": 7.71875, + "y": -20.993499999999997 + }, + "alias": "co", + "templateId": "co___Carbonyl" + }, + "monomer2230": { + "type": "monomer", + "id": "2230", + "position": { + "x": 9.05, + "y": -22.309999999999995 + }, + "alias": "z5T", + "templateId": "z5T___6-Azathymine" + }, + "monomerTemplate-z5T___6-Azathymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 2.500004132790305, + 2.866004737830806, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.500002479674183, + 2.866004737830806, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.0000016531161222, + 2.0000033062322444, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.500002479674183, + 1.1340018746336824, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.500004132790305, + 1.1340018746336824, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.000004959348366, + 2.0000033062322444, + 0 + ] + }, + { + "label": "O", + "location": [ + 4.000006612464489, + 2.0000033062322444, + 0 + ] + }, + { + "label": "H", + "location": [ + 0, + 2.0000033062322444, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.0000016531161222, + 3.7320728362062416, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.000004959348366, + 0.2679337762582463, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "z5T___6-Azathymine", + "fullName": "6-Azathymine", + "alias": "z5T", + "attachmentPoints": [ + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer2231": { + "type": "monomer", + "id": "2231", + "position": { + "x": 9.05, + "y": -20.993499999999997 + }, + "alias": "dhp", + "templateId": "dhp___1,3-Dihydroxy-2-propoxymethyl (ganciclovir sugar)" + }, + "monomer2232": { + "type": "monomer", + "id": "2232", + "position": { + "x": 10.318750000000001, + "y": -20.993499999999997 + }, + "alias": "cm", + "templateId": "cm___Carbonylmethyl" + }, + "monomer2233": { + "type": "monomer", + "id": "2233", + "position": { + "x": 11.65, + "y": -22.309999999999995 + }, + "alias": "tfU", + "templateId": "tfU___5-trifluoromethyl-uracil" + }, + "monomerTemplate-tfU___5-trifluoromethyl-uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3672906188273737, + 0.9914087158806855, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8164671971587213, + 0.037382549550579215, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.28517964617858366, + 0.037382549550579215, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.8359296247243471, + 0.9914821590035746, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2851062030556945, + 1.9455083253336807, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.8164671971587213, + 1.9454348822107914, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.248681536620107, + 0.9914087158806855, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7257649403906166, + 2.708729258397766, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.71732054251708, + 0.9914821590035746, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.3675843913189305, + -0.9172311617626401, + 0 + ] + }, + { + "label": "F", + "location": [ + 2.2489018659887745, + -0.9178187067457534, + 0 + ] + }, + { + "label": "F", + "location": [ + 0.9266318814924519, + -1.6803052085809467, + 0 + ] + }, + { + "label": "F", + "location": [ + 1.8078024699165176, + -1.6806724241953928, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 12 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "tfU___5-trifluoromethyl-uracil", + "fullName": "5-trifluoromethyl-uracil", + "alias": "tfU", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer2234": { + "type": "monomer", + "id": "2234", + "position": { + "x": 11.65, + "y": -20.993499999999997 + }, + "alias": "nC62r", + "templateId": "nC62r___2-O-(6-aminohexyl)ribose" + }, + "monomer2235": { + "type": "monomer", + "id": "2235", + "position": { + "x": 12.918750000000001, + "y": -20.993499999999997 + }, + "alias": "fl2me", + "templateId": "fl2me___Difluoromethylene" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/all-types-of-possible-modifications.ket b/ketcher-autotests/tests/test-data/KET/all-types-of-possible-modifications.ket new file mode 100644 index 0000000000..519b81564d --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/all-types-of-possible-modifications.ket @@ -0,0 +1,2633 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer72329" + }, + { + "$ref": "monomer72330" + }, + { + "$ref": "monomer72333" + }, + { + "$ref": "monomer72334" + }, + { + "$ref": "monomer72336" + }, + { + "$ref": "monomer72340" + }, + { + "$ref": "monomer72341" + }, + { + "$ref": "monomer72343" + }, + { + "$ref": "monomer72350" + }, + { + "$ref": "monomer72354" + }, + { + "$ref": "monomer72355" + }, + { + "$ref": "monomer72404" + }, + { + "$ref": "monomer72405" + }, + { + "$ref": "monomer72407" + }, + { + "$ref": "monomer72414" + }, + { + "$ref": "monomer72415" + }, + { + "$ref": "monomer72419" + }, + { + "$ref": "monomer72420" + }, + { + "$ref": "monomer72422" + }, + { + "$ref": "monomer72427" + }, + { + "$ref": "monomer72428" + }, + { + "$ref": "monomer72430" + }, + { + "$ref": "monomer72435" + }, + { + "$ref": "monomer72436" + }, + { + "$ref": "monomer72438" + }, + { + "$ref": "monomer72443" + }, + { + "$ref": "monomer72444" + }, + { + "$ref": "monomer72446" + }, + { + "$ref": "monomer72467" + }, + { + "$ref": "monomer72468" + }, + { + "$ref": "monomer72473" + }, + { + "$ref": "monomer72474" + }, + { + "$ref": "monomer72476" + }, + { + "$ref": "monomer72482" + }, + { + "$ref": "monomer72483" + }, + { + "$ref": "monomer72485" + }, + { + "$ref": "monomer72491" + }, + { + "$ref": "monomer72492" + }, + { + "$ref": "monomer72494" + }, + { + "$ref": "monomer72527" + }, + { + "$ref": "monomer72528" + }, + { + "$ref": "monomer72530" + }, + { + "$ref": "monomer72565" + }, + { + "$ref": "monomer72566" + }, + { + "$ref": "monomer72572" + }, + { + "$ref": "monomer72573" + }, + { + "$ref": "monomer72575" + }, + { + "$ref": "monomer72582" + }, + { + "$ref": "monomer72583" + }, + { + "$ref": "monomer72585" + }, + { + "$ref": "monomer72592" + }, + { + "$ref": "monomer72593" + }, + { + "$ref": "monomer72595" + }, + { + "$ref": "monomer72602" + }, + { + "$ref": "monomer72603" + }, + { + "$ref": "monomer72605" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72329", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72330", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72333", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72334", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72329", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72336", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72336", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72333", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72340", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72341", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72333", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72343", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72343", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72340", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72340", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72350", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72354", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72355", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72350", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72354", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72404", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72405", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72354", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72407", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72407", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72404", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72414", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72415", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72419", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72420", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72414", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72422", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72422", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72419", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72427", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72428", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72419", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72430", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72430", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72427", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72435", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72436", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72427", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72438", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72438", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72435", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72443", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72444", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72435", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72446", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72446", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72443", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72467", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72468", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72473", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72474", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72467", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72476", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72476", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72473", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72482", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72483", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72473", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72485", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72491", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72492", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72482", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72494", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72494", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72491", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72527", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer72528", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72528", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72530", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72485", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72528", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72530", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72482", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72565", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72566", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72572", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72573", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72565", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72575", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72575", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72572", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72582", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72583", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72572", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72585", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72585", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72582", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72592", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72593", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72582", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72595", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72595", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72592", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72602", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72603", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72592", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72605", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72605", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72602", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-25R___2,5-Ribose" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-baA___N-benzyl-adenine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-nasP___Sodium Phosporothioate" + }, + { + "$ref": "monomerTemplate-bP___Boranophosphate" + }, + { + "$ref": "monomerTemplate-3A6___6-amino-hexanol (3' end)" + } + ] + }, + "monomer72329": { + "type": "monomer", + "id": "72329", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomerTemplate-25R___2,5-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.6295, + -1.1398, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8657, + 0.3416, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.8523, + -1.3729, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.4701, + 1.024, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.5319, + -0.0356, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.6566, + 2.2094, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0119, + 0.1971, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.2027, + 1.0176, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.3982, + -2.4414, + 0 + ] + }, + { + "label": "O", + "location": [ + -3.4595, + 0.1971, + 0 + ] + }, + { + "label": "H", + "location": [ + -4.5303, + 0.7385, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.7667, + -0.7357, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "25R___2,5-Ribose", + "fullName": "2,5-Ribose", + "alias": "25R", + "naturalAnalogShort": "R" + }, + "monomer72330": { + "type": "monomer", + "id": "72330", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "naturalAnalogShort": "A" + }, + "monomer72333": { + "type": "monomer", + "id": "72333", + "position": { + "x": 3.85, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "naturalAnalogShort": "R" + }, + "monomer72334": { + "type": "monomer", + "id": "72334", + "position": { + "x": 3.85, + "y": -2.5665 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomerTemplate-baA___N-benzyl-adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.4638, + -0.2109, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.5776, + 0.795, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.006, + 0.3343, + 0 + ] + }, + { + "label": "C", + "location": [ + 7.8594, + -0.5925, + 0 + ] + }, + { + "label": "C", + "location": [ + 7.5474, + 0.8747, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.1207, + 1.3381, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.3181, + -1.133, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.7448, + -1.5963, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 17 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "baA___N-benzyl-adenine", + "fullName": "N-benzyl-adenine", + "alias": "baA", + "naturalAnalogShort": "A" + }, + "monomer72336": { + "type": "monomer", + "id": "72336", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "naturalAnalogShort": "P" + }, + "monomer72340": { + "type": "monomer", + "id": "72340", + "position": { + "x": 6.45, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72341": { + "type": "monomer", + "id": "72341", + "position": { + "x": 6.45, + "y": -2.5665 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72343": { + "type": "monomer", + "id": "72343", + "position": { + "x": 5.11875, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72350": { + "type": "monomer", + "id": "72350", + "position": { + "x": 7.71875, + "y": -1.25 + }, + "alias": "nasP", + "templateId": "nasP___Sodium Phosporothioate" + }, + "monomerTemplate-nasP___Sodium Phosporothioate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.1999, + -0.6333, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.3999, + -0.6333, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3998, + -1.6727, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.0001, + -0.6333, + 0 + ] + }, + { + "label": "S", + "location": [ + 0.3998, + 0.4061, + 0 + ], + "charge": -1 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "nasP___Sodium Phosporothioate", + "fullName": "Sodium Phosporothioate", + "alias": "nasP", + "naturalAnalogShort": "P" + }, + "monomer72354": { + "type": "monomer", + "id": "72354", + "position": { + "x": 9.05, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72355": { + "type": "monomer", + "id": "72355", + "position": { + "x": 9.05, + "y": -2.5665 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72404": { + "type": "monomer", + "id": "72404", + "position": { + "x": 11.65, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72405": { + "type": "monomer", + "id": "72405", + "position": { + "x": 11.65, + "y": -2.5665 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72407": { + "type": "monomer", + "id": "72407", + "position": { + "x": 10.318750000000001, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72414": { + "type": "monomer", + "id": "72414", + "position": { + "x": 1.25, + "y": -4.0705 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomer72415": { + "type": "monomer", + "id": "72415", + "position": { + "x": 1.25, + "y": -5.3870000000000005 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72419": { + "type": "monomer", + "id": "72419", + "position": { + "x": 3.85, + "y": -4.0705 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomer72420": { + "type": "monomer", + "id": "72420", + "position": { + "x": 3.85, + "y": -5.3870000000000005 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomer72422": { + "type": "monomer", + "id": "72422", + "position": { + "x": 2.5187500000000003, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72427": { + "type": "monomer", + "id": "72427", + "position": { + "x": 6.45, + "y": -4.0705 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomer72428": { + "type": "monomer", + "id": "72428", + "position": { + "x": 6.45, + "y": -5.3870000000000005 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72430": { + "type": "monomer", + "id": "72430", + "position": { + "x": 5.11875, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72435": { + "type": "monomer", + "id": "72435", + "position": { + "x": 9.05, + "y": -4.0705 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomer72436": { + "type": "monomer", + "id": "72436", + "position": { + "x": 9.05, + "y": -5.3870000000000005 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72438": { + "type": "monomer", + "id": "72438", + "position": { + "x": 7.71875, + "y": -4.0705 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomerTemplate-bP___Boranophosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "B", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "bP___Boranophosphate", + "fullName": "Boranophosphate", + "alias": "bP", + "naturalAnalogShort": "P" + }, + "monomer72443": { + "type": "monomer", + "id": "72443", + "position": { + "x": 11.65, + "y": -4.0705 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomer72444": { + "type": "monomer", + "id": "72444", + "position": { + "x": 11.65, + "y": -5.3870000000000005 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72446": { + "type": "monomer", + "id": "72446", + "position": { + "x": 10.318750000000001, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72467": { + "type": "monomer", + "id": "72467", + "position": { + "x": 1.25, + "y": -6.891 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomer72468": { + "type": "monomer", + "id": "72468", + "position": { + "x": 1.25, + "y": -8.207500000000001 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomer72473": { + "type": "monomer", + "id": "72473", + "position": { + "x": 3.85, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72474": { + "type": "monomer", + "id": "72474", + "position": { + "x": 3.85, + "y": -8.207500000000001 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomer72476": { + "type": "monomer", + "id": "72476", + "position": { + "x": 2.5187500000000003, + "y": -6.891 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72482": { + "type": "monomer", + "id": "72482", + "position": { + "x": 9.05, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72483": { + "type": "monomer", + "id": "72483", + "position": { + "x": 9.05, + "y": -8.207500000000001 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomer72485": { + "type": "monomer", + "id": "72485", + "position": { + "x": 5.11875, + "y": -6.891 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72491": { + "type": "monomer", + "id": "72491", + "position": { + "x": 11.65, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72492": { + "type": "monomer", + "id": "72492", + "position": { + "x": 11.65, + "y": -8.207500000000001 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomer72494": { + "type": "monomer", + "id": "72494", + "position": { + "x": 10.318750000000001, + "y": -6.891 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72527": { + "type": "monomer", + "id": "72527", + "position": { + "x": 6.45, + "y": -8.207500000000001 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomer72528": { + "type": "monomer", + "id": "72528", + "position": { + "x": 6.45, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72530": { + "type": "monomer", + "id": "72530", + "position": { + "x": 7.71875, + "y": -6.891 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomer72565": { + "type": "monomer", + "id": "72565", + "position": { + "x": 1.25, + "y": -9.711500000000001 + }, + "alias": "3A6", + "templateId": "3A6___6-amino-hexanol (3' end)" + }, + "monomerTemplate-3A6___6-amino-hexanol (3' end)": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + -3.6321, + -0.532, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.3982, + 0.3223, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.041, + -0.3184, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.193, + 0.5359, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.5502, + -0.1048, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.7842, + 0.7494, + 0 + ] + }, + { + "label": "N", + "location": [ + 4.1414, + 0.1087, + 0 + ] + }, + { + "label": "H", + "location": [ + 5.128, + 0.7918, + 0 + ] + }, + { + "label": "O", + "location": [ + -4.9894, + 0.1087, + 0 + ] + }, + { + "label": "H", + "location": [ + -5.976, + -0.5743, + 0 + ] + }, + { + "label": "H", + "location": [ + 4.24, + -1.0872, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "3A6___6-amino-hexanol (3' end)", + "fullName": "6-amino-hexanol (3' end)", + "alias": "3A6", + "naturalAnalogShort": "R" + }, + "monomer72566": { + "type": "monomer", + "id": "72566", + "position": { + "x": 1.25, + "y": -11.028 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72572": { + "type": "monomer", + "id": "72572", + "position": { + "x": 3.85, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72573": { + "type": "monomer", + "id": "72573", + "position": { + "x": 3.85, + "y": -11.028 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomer72575": { + "type": "monomer", + "id": "72575", + "position": { + "x": 2.5187500000000003, + "y": -9.711500000000001 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomer72582": { + "type": "monomer", + "id": "72582", + "position": { + "x": 6.45, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72583": { + "type": "monomer", + "id": "72583", + "position": { + "x": 6.45, + "y": -11.028 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72585": { + "type": "monomer", + "id": "72585", + "position": { + "x": 5.11875, + "y": -9.711500000000001 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomer72592": { + "type": "monomer", + "id": "72592", + "position": { + "x": 9.05, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72593": { + "type": "monomer", + "id": "72593", + "position": { + "x": 9.05, + "y": -11.028 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72595": { + "type": "monomer", + "id": "72595", + "position": { + "x": 7.71875, + "y": -9.711500000000001 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomer72602": { + "type": "monomer", + "id": "72602", + "position": { + "x": 11.65, + "y": -9.711500000000001 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72603": { + "type": "monomer", + "id": "72603", + "position": { + "x": 11.65, + "y": -11.028 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer72605": { + "type": "monomer", + "id": "72605", + "position": { + "x": 10.318750000000001, + "y": -9.711500000000001 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/atuc.ket b/ketcher-autotests/tests/test-data/KET/atuc.ket new file mode 100644 index 0000000000..729e8fab3c --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/atuc.ket @@ -0,0 +1,1771 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer1423" + }, + { + "$ref": "monomer1424" + }, + { + "$ref": "monomer1427" + }, + { + "$ref": "monomer1428" + }, + { + "$ref": "monomer1430" + }, + { + "$ref": "monomer1434" + }, + { + "$ref": "monomer1435" + }, + { + "$ref": "monomer1437" + }, + { + "$ref": "monomer1442" + }, + { + "$ref": "monomer1443" + }, + { + "$ref": "monomer1447" + }, + { + "$ref": "monomer1448" + }, + { + "$ref": "monomer1450" + }, + { + "$ref": "monomer1455" + }, + { + "$ref": "monomer1456" + }, + { + "$ref": "monomer1458" + }, + { + "$ref": "monomer1464" + }, + { + "$ref": "monomer1465" + }, + { + "$ref": "monomer1470" + }, + { + "$ref": "monomer1471" + }, + { + "$ref": "monomer1473" + }, + { + "$ref": "monomer1479" + }, + { + "$ref": "monomer1480" + }, + { + "$ref": "monomer1482" + }, + { + "$ref": "monomer1489" + }, + { + "$ref": "monomer1490" + }, + { + "$ref": "monomer1496" + }, + { + "$ref": "monomer1497" + }, + { + "$ref": "monomer1499" + }, + { + "$ref": "monomer1506" + }, + { + "$ref": "monomer1507" + }, + { + "$ref": "monomer1509" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1423", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1424", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1427", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1428", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1423", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1430", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1430", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1427", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1434", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1435", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1427", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1437", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1437", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1434", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1442", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1443", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1447", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1448", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1442", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1450", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1450", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1447", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1455", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1456", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1447", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1458", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1458", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1455", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1464", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1465", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1470", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1471", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1464", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1473", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1473", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1470", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1479", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1480", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1470", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1482", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1482", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1479", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1489", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1490", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1496", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1497", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1489", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1499", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1499", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1496", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1506", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer1507", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1496", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1509", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1509", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1506", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-T___Thymine" + }, + { + "$ref": "monomerTemplate-U___Uracil" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + } + ] + }, + "monomer1423": { + "type": "monomer", + "id": "1423", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer1424": { + "type": "monomer", + "id": "1424", + "position": { + "x": 1.25, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer1427": { + "type": "monomer", + "id": "1427", + "position": { + "x": 3.8625000000000003, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1428": { + "type": "monomer", + "id": "1428", + "position": { + "x": 3.8625000000000003, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer1430": { + "type": "monomer", + "id": "1430", + "position": { + "x": 2.5250000000000004, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer1434": { + "type": "monomer", + "id": "1434", + "position": { + "x": 6.4750000000000005, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1435": { + "type": "monomer", + "id": "1435", + "position": { + "x": 6.4750000000000005, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer1437": { + "type": "monomer", + "id": "1437", + "position": { + "x": 5.1375, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer1442": { + "type": "monomer", + "id": "1442", + "position": { + "x": 1.25, + "y": -3.9875000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1443": { + "type": "monomer", + "id": "1443", + "position": { + "x": 1.25, + "y": -5.2625 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomerTemplate-T___Thymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7117, + -0.9884, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "T___Thymine", + "fullName": "Thymine", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer1447": { + "type": "monomer", + "id": "1447", + "position": { + "x": 3.8625000000000003, + "y": -3.9875000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1448": { + "type": "monomer", + "id": "1448", + "position": { + "x": 3.8625000000000003, + "y": -5.2625 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer1450": { + "type": "monomer", + "id": "1450", + "position": { + "x": 2.5250000000000004, + "y": -3.9875000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer1455": { + "type": "monomer", + "id": "1455", + "position": { + "x": 6.4750000000000005, + "y": -3.9875000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1456": { + "type": "monomer", + "id": "1456", + "position": { + "x": 6.4750000000000005, + "y": -5.2625 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer1458": { + "type": "monomer", + "id": "1458", + "position": { + "x": 5.1375, + "y": -3.9875000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer1464": { + "type": "monomer", + "id": "1464", + "position": { + "x": 1.25, + "y": -6.7250000000000005 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1465": { + "type": "monomer", + "id": "1465", + "position": { + "x": 1.25, + "y": -8 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer1470": { + "type": "monomer", + "id": "1470", + "position": { + "x": 3.8625000000000003, + "y": -6.7250000000000005 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1471": { + "type": "monomer", + "id": "1471", + "position": { + "x": 3.8625000000000003, + "y": -8 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer1473": { + "type": "monomer", + "id": "1473", + "position": { + "x": 2.5250000000000004, + "y": -6.7250000000000005 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer1479": { + "type": "monomer", + "id": "1479", + "position": { + "x": 6.4750000000000005, + "y": -6.7250000000000005 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1480": { + "type": "monomer", + "id": "1480", + "position": { + "x": 6.4750000000000005, + "y": -8 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer1482": { + "type": "monomer", + "id": "1482", + "position": { + "x": 5.1375, + "y": -6.7250000000000005 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer1489": { + "type": "monomer", + "id": "1489", + "position": { + "x": 1.25, + "y": -9.4625 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1490": { + "type": "monomer", + "id": "1490", + "position": { + "x": 1.25, + "y": -10.7375 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer1496": { + "type": "monomer", + "id": "1496", + "position": { + "x": 3.8625000000000003, + "y": -9.4625 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1497": { + "type": "monomer", + "id": "1497", + "position": { + "x": 3.8625000000000003, + "y": -10.7375 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer1499": { + "type": "monomer", + "id": "1499", + "position": { + "x": 2.5250000000000004, + "y": -9.4625 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer1506": { + "type": "monomer", + "id": "1506", + "position": { + "x": 6.4750000000000005, + "y": -9.4625 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer1507": { + "type": "monomer", + "id": "1507", + "position": { + "x": 6.4750000000000005, + "y": -10.7375 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer1509": { + "type": "monomer", + "id": "1509", + "position": { + "x": 5.1375, + "y": -9.4625 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/chem-on-the-end-of-sequence.ket b/ketcher-autotests/tests/test-data/KET/chem-on-the-end-of-sequence.ket new file mode 100644 index 0000000000..c1c60df109 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/chem-on-the-end-of-sequence.ket @@ -0,0 +1,2028 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer756" + }, + { + "$ref": "monomer757" + }, + { + "$ref": "monomer758" + }, + { + "$ref": "monomer759" + }, + { + "$ref": "monomer760" + }, + { + "$ref": "monomer761" + }, + { + "$ref": "monomer762" + }, + { + "$ref": "monomer763" + }, + { + "$ref": "monomer764" + }, + { + "$ref": "monomer765" + }, + { + "$ref": "monomer766" + }, + { + "$ref": "monomer767" + }, + { + "$ref": "monomer768" + }, + { + "$ref": "monomer769" + }, + { + "$ref": "monomer770" + }, + { + "$ref": "monomer980" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer756", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer757", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer757", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer758", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer759", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer760", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer760", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer761", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer762", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer763", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer763", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer764", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer758", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer760", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer761", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer763", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer765", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer766", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer766", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer767", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer768", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer769", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer769", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer770", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer764", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer766", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer767", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer769", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer770", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer980", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-G___Guanine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-T___Thymine" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-U___Uracil" + }, + { + "$ref": "monomerTemplate-Test-6-Ch___Test-6-AP-Chem" + } + ] + }, + "monomer756": { + "type": "monomer", + "id": "756", + "position": { + "x": 5.6000000000000085, + "y": -6.516500000000013 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer757": { + "type": "monomer", + "id": "757", + "position": { + "x": 5.6000000000000085, + "y": -5.200000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer758": { + "type": "monomer", + "id": "758", + "position": { + "x": 6.868750000000015, + "y": -5.200000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer759": { + "type": "monomer", + "id": "759", + "position": { + "x": 8.200000000000019, + "y": -6.516500000000013 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer760": { + "type": "monomer", + "id": "760", + "position": { + "x": 8.200000000000019, + "y": -5.200000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer761": { + "type": "monomer", + "id": "761", + "position": { + "x": 9.468750000000025, + "y": -5.200000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer762": { + "type": "monomer", + "id": "762", + "position": { + "x": 10.800000000000022, + "y": -6.516500000000013 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomerTemplate-T___Thymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7117, + -0.9884, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "T___Thymine", + "fullName": "Thymine", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer763": { + "type": "monomer", + "id": "763", + "position": { + "x": 10.800000000000022, + "y": -5.200000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer764": { + "type": "monomer", + "id": "764", + "position": { + "x": 12.068750000000025, + "y": -5.200000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer765": { + "type": "monomer", + "id": "765", + "position": { + "x": 13.400000000000027, + "y": -6.516500000000013 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer766": { + "type": "monomer", + "id": "766", + "position": { + "x": 13.400000000000027, + "y": -5.200000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer767": { + "type": "monomer", + "id": "767", + "position": { + "x": 14.668750000000028, + "y": -5.200000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer768": { + "type": "monomer", + "id": "768", + "position": { + "x": 16.000000000000025, + "y": -6.516500000000013 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer769": { + "type": "monomer", + "id": "769", + "position": { + "x": 16.000000000000025, + "y": -5.200000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer770": { + "type": "monomer", + "id": "770", + "position": { + "x": 17.26874999999997, + "y": -5.200000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer980": { + "type": "monomer", + "id": "980", + "position": { + "x": 18.599999999999948, + "y": -5.200000000000003 + }, + "alias": "Test-6-Ch", + "templateId": "Test-6-Ch___Test-6-AP-Chem" + }, + "monomerTemplate-Test-6-Ch___Test-6-AP-Chem": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 12.083841486076295, + -6.55002248744598, + 0 + ] + }, + { + "label": "C", + "location": [ + 11.137338236554521, + -6.103220953493176, + 0 + ] + }, + { + "label": "C", + "location": [ + 10.276735281944443, + -6.698922998649142, + 0 + ] + }, + { + "label": "C", + "location": [ + 9.330332032765988, + -6.252221465039658, + 0 + ] + }, + { + "label": "C", + "location": [ + 8.469729078155911, + -6.847823509852303, + 0 + ] + }, + { + "label": "C", + "location": [ + 7.523325828977456, + -6.401121976242818, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.662722874367379, + -6.996824021398784, + 0 + ] + }, + { + "label": "O", + "location": [ + 5.716219624845604, + -6.55002248744598, + 0 + ] + }, + { + "label": "I", + "location": [ + 12.771843848116424, + -6.07362085187052, + 0 + ] + }, + { + "label": "H", + "location": [ + 5.0282172628054775, + -7.026424123021441, + 0 + ] + }, + { + "label": "C", + "location": [ + 7.023324112378527, + -5.535119003093472, + 0 + ] + }, + { + "label": "C", + "location": [ + 7.023324112378527, + -4.535115569895613, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.31622168476432, + -3.828013142281406, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.575022573275927, + -2.8621098261555935, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.609119257150113, + -2.603208937300668, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.86792014566172, + -1.6373056211748553, + 0 + ] + }, + { + "label": "Br", + "location": [ + 4.8679167124638605, + -1.6373056211748553, + 0 + ] + }, + { + "label": "O", + "location": [ + 10.276735281944443, + -7.698926431847001, + 0 + ] + }, + { + "label": "Cl", + "location": [ + 7.575026006473786, + -2.8621098261555935, + 0 + ] + }, + { + "label": "C", + "location": [ + 8.469729078155911, + -7.847826943050163, + 0 + ] + }, + { + "label": "C", + "location": [ + 7.969727361556981, + -8.71392991654283, + 0 + ] + }, + { + "label": "H", + "location": [ + 7.969727361556981, + -9.713933349740689, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 20, + 21 + ] + } + ], + "class": "CHEM", + "classHELM": "CHEM", + "id": "Test-6-Ch___Test-6-AP-Chem", + "fullName": "Test-6-AP-Chem", + "alias": "Test-6-Ch", + "attachmentPoints": [ + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 15, + "leavingGroup": { + "atoms": [ + 16 + ] + }, + "type": "side" + }, + { + "attachmentAtom": 13, + "leavingGroup": { + "atoms": [ + 18 + ] + }, + "type": "side" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 17 + ] + }, + "type": "side" + }, + { + "attachmentAtom": 20, + "leavingGroup": { + "atoms": [ + 21 + ] + }, + "type": "side" + } + ] + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/dna-rna-separate.ket b/ketcher-autotests/tests/test-data/KET/dna-rna-separate.ket new file mode 100644 index 0000000000..20be395818 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/dna-rna-separate.ket @@ -0,0 +1,2127 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer2020" + }, + { + "$ref": "monomer2021" + }, + { + "$ref": "monomer2024" + }, + { + "$ref": "monomer2025" + }, + { + "$ref": "monomer2027" + }, + { + "$ref": "monomer2031" + }, + { + "$ref": "monomer2032" + }, + { + "$ref": "monomer2034" + }, + { + "$ref": "monomer2041" + }, + { + "$ref": "monomer2045" + }, + { + "$ref": "monomer2046" + }, + { + "$ref": "monomer2055" + }, + { + "$ref": "monomer2056" + }, + { + "$ref": "monomer2058" + }, + { + "$ref": "monomer2065" + }, + { + "$ref": "monomer2066" + }, + { + "$ref": "monomer2070" + }, + { + "$ref": "monomer2071" + }, + { + "$ref": "monomer2073" + }, + { + "$ref": "monomer2078" + }, + { + "$ref": "monomer2079" + }, + { + "$ref": "monomer2081" + }, + { + "$ref": "monomer2086" + }, + { + "$ref": "monomer2087" + }, + { + "$ref": "monomer2089" + }, + { + "$ref": "monomer2094" + }, + { + "$ref": "monomer2095" + }, + { + "$ref": "monomer2097" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2020", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2021", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2024", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2025", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2020", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2027", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2027", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2024", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2031", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2032", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2024", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2034", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2034", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2031", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2031", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2041", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2045", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2046", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2055", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2056", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2056", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2058", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2041", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2056", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2058", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2045", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2065", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2066", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2070", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2071", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2065", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2073", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2073", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2070", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2078", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2079", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2070", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2081", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2081", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2078", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2086", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2087", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2078", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2089", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2089", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2086", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2094", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer2095", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2086", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2097", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2097", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2094", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-dR___Deoxy-Ribose" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-T___Thymine" + }, + { + "$ref": "monomerTemplate-U___Uracil" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-G___Guanine" + } + ] + }, + "monomer2020": { + "type": "monomer", + "id": "2020", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomerTemplate-dR___Deoxy-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.8788, + -1.208, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3668, + 0.2019, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3038, + -2.1307, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.1323, + 0.1506, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.5468, + -1.291, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.0515, + 1.3338, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.2081, + 1.4417, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.2628, + -3.3299, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.705, + 1.3338, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.3788, + 2.3267, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.2403, + 1.1709, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 6 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "dR___Deoxy-Ribose", + "fullName": "Deoxy-Ribose", + "alias": "dR", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2021": { + "type": "monomer", + "id": "2021", + "position": { + "x": 1.25, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer2024": { + "type": "monomer", + "id": "2024", + "position": { + "x": 3.8625000000000003, + "y": -1.25 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomer2025": { + "type": "monomer", + "id": "2025", + "position": { + "x": 3.8625000000000003, + "y": -2.5250000000000004 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer2027": { + "type": "monomer", + "id": "2027", + "position": { + "x": 2.5250000000000004, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer2031": { + "type": "monomer", + "id": "2031", + "position": { + "x": 6.4750000000000005, + "y": -1.25 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomer2032": { + "type": "monomer", + "id": "2032", + "position": { + "x": 6.4750000000000005, + "y": -2.5250000000000004 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomerTemplate-T___Thymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7117, + -0.9884, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "T___Thymine", + "fullName": "Thymine", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer2034": { + "type": "monomer", + "id": "2034", + "position": { + "x": 5.1375, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2041": { + "type": "monomer", + "id": "2041", + "position": { + "x": 7.75, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2045": { + "type": "monomer", + "id": "2045", + "position": { + "x": 11.700000000000001, + "y": -1.25 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomer2046": { + "type": "monomer", + "id": "2046", + "position": { + "x": 11.700000000000001, + "y": -2.5250000000000004 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer2055": { + "type": "monomer", + "id": "2055", + "position": { + "x": 9.0875, + "y": -2.5250000000000004 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer2056": { + "type": "monomer", + "id": "2056", + "position": { + "x": 9.0875, + "y": -1.25 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomer2058": { + "type": "monomer", + "id": "2058", + "position": { + "x": 10.3625, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2065": { + "type": "monomer", + "id": "2065", + "position": { + "x": 1.25, + "y": -3.9875000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer2066": { + "type": "monomer", + "id": "2066", + "position": { + "x": 1.25, + "y": -5.2625 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer2070": { + "type": "monomer", + "id": "2070", + "position": { + "x": 3.8625000000000003, + "y": -3.9875000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2071": { + "type": "monomer", + "id": "2071", + "position": { + "x": 3.8625000000000003, + "y": -5.2625 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer2073": { + "type": "monomer", + "id": "2073", + "position": { + "x": 2.5250000000000004, + "y": -3.9875000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2078": { + "type": "monomer", + "id": "2078", + "position": { + "x": 6.4750000000000005, + "y": -3.9875000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2079": { + "type": "monomer", + "id": "2079", + "position": { + "x": 6.4750000000000005, + "y": -5.2625 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer2081": { + "type": "monomer", + "id": "2081", + "position": { + "x": 5.1375, + "y": -3.9875000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2086": { + "type": "monomer", + "id": "2086", + "position": { + "x": 9.0875, + "y": -3.9875000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2087": { + "type": "monomer", + "id": "2087", + "position": { + "x": 9.0875, + "y": -5.2625 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer2089": { + "type": "monomer", + "id": "2089", + "position": { + "x": 7.75, + "y": -3.9875000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer2094": { + "type": "monomer", + "id": "2094", + "position": { + "x": 11.700000000000001, + "y": -3.9875000000000003 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer2095": { + "type": "monomer", + "id": "2095", + "position": { + "x": 11.700000000000001, + "y": -5.2625 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer2097": { + "type": "monomer", + "id": "2097", + "position": { + "x": 10.3625, + "y": -3.9875000000000003 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/mod-base-sequence.ket b/ketcher-autotests/tests/test-data/KET/mod-base-sequence.ket new file mode 100644 index 0000000000..a008bed0c9 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/mod-base-sequence.ket @@ -0,0 +1,1062 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer636" + }, + { + "$ref": "monomer650" + }, + { + "$ref": "monomer651" + }, + { + "$ref": "monomer653" + }, + { + "$ref": "monomer655" + }, + { + "$ref": "monomer656" + }, + { + "$ref": "monomer658" + }, + { + "$ref": "monomer668" + }, + { + "$ref": "monomer670" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer650", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer651", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer651", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer653", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer655", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer656", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer656", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer658", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer668", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer670", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer653", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer668", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer670", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer656", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer668", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer636", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-baA___N-benzyl-adenine" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + } + ] + }, + "monomer636": { + "type": "monomer", + "id": "636", + "position": { + "x": 10.531475573297747, + "y": -10.118526136593884 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomerTemplate-baA___N-benzyl-adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.697214131767731, + 0.16820947471081626, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.05333142672977041, + -0.5077259564930163, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.013903146805749, + -0.19568323999584952, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.2239966460442384, + 0.7922949077051499, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.47345108754673704, + 1.4682303389089824, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.4871879701892537, + 1.1561876224118157, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.6074172821544819, + -1.0123543806254651, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0136337961656996, + -1.8294295472151547, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.05299473842970873, + -1.5172521553979632, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.6590652673839437, + -0.14201512496601743, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.415469202302518, + -1.0123543806254651, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.4090721246013462, + 0.5353343970980742, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.370923260217559, + 0.2251097974212405, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.292336051009565, + -0.39897563557309307, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.082242551771075, + 0.5890025121279063, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.121536156375073, + 0.9010452286250731, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.581084097116061, + -0.7629356879397712, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.541790492512064, + -1.0749110667769255, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 17 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "baA___N-benzyl-adenine", + "fullName": "N-benzyl-adenine", + "alias": "baA", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer650": { + "type": "monomer", + "id": "650", + "position": { + "x": 7.931475573297752, + "y": -10.118526136593884 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer651": { + "type": "monomer", + "id": "651", + "position": { + "x": 7.931475573297752, + "y": -8.80202613659388 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer653": { + "type": "monomer", + "id": "653", + "position": { + "x": 9.20022557329775, + "y": -8.80202613659388 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer655": { + "type": "monomer", + "id": "655", + "position": { + "x": 13.131475573297749, + "y": -10.118526136593884 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer656": { + "type": "monomer", + "id": "656", + "position": { + "x": 13.131475573297749, + "y": -8.80202613659388 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer658": { + "type": "monomer", + "id": "658", + "position": { + "x": 14.400225573297742, + "y": -8.80202613659388 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer668": { + "type": "monomer", + "id": "668", + "position": { + "x": 10.531475573297747, + "y": -8.80202613659388 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer670": { + "type": "monomer", + "id": "670", + "position": { + "x": 11.800225573297748, + "y": -8.80202613659388 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/mod-phosphate-sequence.ket b/ketcher-autotests/tests/test-data/KET/mod-phosphate-sequence.ket new file mode 100644 index 0000000000..a303c7bc5f --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/mod-phosphate-sequence.ket @@ -0,0 +1,855 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer650" + }, + { + "$ref": "monomer651" + }, + { + "$ref": "monomer653" + }, + { + "$ref": "monomer655" + }, + { + "$ref": "monomer656" + }, + { + "$ref": "monomer658" + }, + { + "$ref": "monomer687" + }, + { + "$ref": "monomer688" + }, + { + "$ref": "monomer703" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer650", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer651", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer651", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer653", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer655", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer656", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer656", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer658", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer687", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer688", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer653", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer688", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer688", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer703", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer703", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer656", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-bP___Boranophosphate" + } + ] + }, + "monomer650": { + "type": "monomer", + "id": "650", + "position": { + "x": 8.301459562698616, + "y": -10.14028990067629 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer651": { + "type": "monomer", + "id": "651", + "position": { + "x": 8.301459562698616, + "y": -8.823789900676296 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer653": { + "type": "monomer", + "id": "653", + "position": { + "x": 9.570209562698619, + "y": -8.823789900676296 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer655": { + "type": "monomer", + "id": "655", + "position": { + "x": 13.501459562698608, + "y": -10.14028990067629 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer656": { + "type": "monomer", + "id": "656", + "position": { + "x": 13.501459562698608, + "y": -8.823789900676296 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer658": { + "type": "monomer", + "id": "658", + "position": { + "x": 14.770209562698605, + "y": -8.823789900676296 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer687": { + "type": "monomer", + "id": "687", + "position": { + "x": 10.901459562698616, + "y": -10.14028990067629 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer688": { + "type": "monomer", + "id": "688", + "position": { + "x": 10.901459562698616, + "y": -8.823789900676296 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer703": { + "type": "monomer", + "id": "703", + "position": { + "x": 12.170209562698611, + "y": -8.823789900676296 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomerTemplate-bP___Boranophosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "B", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "bP___Boranophosphate", + "fullName": "Boranophosphate", + "alias": "bP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/mod-sugar-base-phosphate-sequence.ket b/ketcher-autotests/tests/test-data/KET/mod-sugar-base-phosphate-sequence.ket new file mode 100644 index 0000000000..802162df60 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/mod-sugar-base-phosphate-sequence.ket @@ -0,0 +1,1399 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer636" + }, + { + "$ref": "monomer637" + }, + { + "$ref": "monomer639" + }, + { + "$ref": "monomer650" + }, + { + "$ref": "monomer651" + }, + { + "$ref": "monomer653" + }, + { + "$ref": "monomer655" + }, + { + "$ref": "monomer656" + }, + { + "$ref": "monomer658" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer636", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer637", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer637", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer639", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer650", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer651", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer651", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer653", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer655", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer656", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer656", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer658", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer653", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer637", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer639", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer656", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-baA___N-benzyl-adenine" + }, + { + "$ref": "monomerTemplate-25R___2,5-Ribose" + }, + { + "$ref": "monomerTemplate-bP___Boranophosphate" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + } + ] + }, + "monomer636": { + "type": "monomer", + "id": "636", + "position": { + "x": 10.487948045132951, + "y": -9.182684281050545 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomerTemplate-baA___N-benzyl-adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.697214131767731, + 0.16820947471081626, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.05333142672977041, + -0.5077259564930163, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.013903146805749, + -0.19568323999584952, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.2239966460442384, + 0.7922949077051499, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.47345108754673704, + 1.4682303389089824, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.4871879701892537, + 1.1561876224118157, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.6074172821544819, + -1.0123543806254651, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.0136337961656996, + -1.8294295472151547, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.05299473842970873, + -1.5172521553979632, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.6590652673839437, + -0.14201512496601743, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.415469202302518, + -1.0123543806254651, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.4090721246013462, + 0.5353343970980742, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.370923260217559, + 0.2251097974212405, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.292336051009565, + -0.39897563557309307, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.082242551771075, + 0.5890025121279063, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.121536156375073, + 0.9010452286250731, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.581084097116061, + -0.7629356879397712, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.541790492512064, + -1.0749110667769255, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 17 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "baA___N-benzyl-adenine", + "fullName": "N-benzyl-adenine", + "alias": "baA", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer637": { + "type": "monomer", + "id": "637", + "position": { + "x": 10.487948045132951, + "y": -7.866184281050537 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomerTemplate-25R___2,5-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.4497168133582634, + -0.8142767654737866, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.6184588488073848, + 0.24404013255469867, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6088858459495599, + -0.980804151008038, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3358409435420487, + 0.7315488751054199, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.0943942595449148, + -0.02543275386108686, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4690771400334166, + 1.5784024264237446, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.151710993095717, + 0.14080887039382642, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5736159249948323, + 0.726976694636011, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.99887855192617, + -1.7441439684398161, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.4714778646749997, + 0.14080887039382642, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.2364608094629723, + 0.5275867619778833, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.690942527206626, + -0.525586433022517, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "25R___2,5-Ribose", + "fullName": "2,5-Ribose", + "alias": "25R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer639": { + "type": "monomer", + "id": "639", + "position": { + "x": 11.756698045132955, + "y": -7.866184281050537 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomerTemplate-bP___Boranophosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "B", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "bP___Boranophosphate", + "fullName": "Boranophosphate", + "alias": "bP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer650": { + "type": "monomer", + "id": "650", + "position": { + "x": 7.887948045132947, + "y": -9.182684281050545 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer651": { + "type": "monomer", + "id": "651", + "position": { + "x": 7.887948045132947, + "y": -7.866184281050537 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer653": { + "type": "monomer", + "id": "653", + "position": { + "x": 9.156698045132957, + "y": -7.866184281050537 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer655": { + "type": "monomer", + "id": "655", + "position": { + "x": 13.087948045132954, + "y": -9.182684281050545 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer656": { + "type": "monomer", + "id": "656", + "position": { + "x": 13.087948045132954, + "y": -7.866184281050537 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer658": { + "type": "monomer", + "id": "658", + "position": { + "x": 14.356698045132955, + "y": -7.866184281050537 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/mod-sugar-sequence.ket b/ketcher-autotests/tests/test-data/KET/mod-sugar-sequence.ket new file mode 100644 index 0000000000..9b92f9c439 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/mod-sugar-sequence.ket @@ -0,0 +1,984 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer650" + }, + { + "$ref": "monomer651" + }, + { + "$ref": "monomer653" + }, + { + "$ref": "monomer655" + }, + { + "$ref": "monomer656" + }, + { + "$ref": "monomer658" + }, + { + "$ref": "monomer687" + }, + { + "$ref": "monomer690" + }, + { + "$ref": "monomer693" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer650", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer651", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer651", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer653", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer655", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer656", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer656", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer658", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer653", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer693", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer693", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer690", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer690", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer656", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer693", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer687", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-25R___2,5-Ribose" + } + ] + }, + "monomer650": { + "type": "monomer", + "id": "650", + "position": { + "x": 8.562624731687448, + "y": -10.031471080264273 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer651": { + "type": "monomer", + "id": "651", + "position": { + "x": 8.562624731687448, + "y": -8.714971080264275 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer653": { + "type": "monomer", + "id": "653", + "position": { + "x": 9.831374731687449, + "y": -8.714971080264275 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer655": { + "type": "monomer", + "id": "655", + "position": { + "x": 13.76262473168745, + "y": -10.031471080264273 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer656": { + "type": "monomer", + "id": "656", + "position": { + "x": 13.76262473168745, + "y": -8.714971080264275 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer658": { + "type": "monomer", + "id": "658", + "position": { + "x": 15.03137473168745, + "y": -8.714971080264275 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer687": { + "type": "monomer", + "id": "687", + "position": { + "x": 11.162624731687453, + "y": -10.031471080264273 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer690": { + "type": "monomer", + "id": "690", + "position": { + "x": 12.431374731687452, + "y": -8.714971080264275 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer693": { + "type": "monomer", + "id": "693", + "position": { + "x": 11.162624731687453, + "y": -8.714971080264275 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomerTemplate-25R___2,5-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.4497168133582634, + -0.8142767654737866, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.6184588488073848, + 0.24404013255469867, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6088858459495599, + -0.980804151008038, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3358409435420487, + 0.7315488751054199, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.0943942595449148, + -0.02543275386108686, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4690771400334166, + 1.5784024264237446, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.151710993095717, + 0.14080887039382642, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5736159249948323, + 0.726976694636011, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.99887855192617, + -1.7441439684398161, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.4714778646749997, + 0.14080887039382642, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.2364608094629723, + 0.5275867619778833, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.690942527206626, + -0.525586433022517, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "25R___2,5-Ribose", + "fullName": "2,5-Ribose", + "alias": "25R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/modified-agtcup.ket b/ketcher-autotests/tests/test-data/KET/modified-agtcup.ket new file mode 100644 index 0000000000..54f822ac22 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/modified-agtcup.ket @@ -0,0 +1,1651 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer47" + }, + { + "$ref": "monomer48" + }, + { + "$ref": "monomer51" + }, + { + "$ref": "monomer52" + }, + { + "$ref": "monomer54" + }, + { + "$ref": "monomer58" + }, + { + "$ref": "monomer59" + }, + { + "$ref": "monomer61" + }, + { + "$ref": "monomer65" + }, + { + "$ref": "monomer66" + }, + { + "$ref": "monomer68" + }, + { + "$ref": "monomer72" + }, + { + "$ref": "monomer73" + }, + { + "$ref": "monomer75" + }, + { + "$ref": "monomer79" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer47", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer48", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer51", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer52", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer47", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer54", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer54", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer51", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer58", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer59", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer51", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer61", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer61", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer58", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer65", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer66", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer58", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer68", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer68", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer65", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer73", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer65", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer75", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer75", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer72", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer79", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-G___Guanine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-T___Thymine" + }, + { + "$ref": "monomerTemplate-nasP___Sodium Phosporothioate" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-U___Uracil" + } + ] + }, + "monomer47": { + "type": "monomer", + "id": "47", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer48": { + "type": "monomer", + "id": "48", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer51": { + "type": "monomer", + "id": "51", + "position": { + "x": 3.85, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer52": { + "type": "monomer", + "id": "52", + "position": { + "x": 3.85, + "y": -2.5665 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "naturalAnalogShort": "G" + }, + "monomer54": { + "type": "monomer", + "id": "54", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer58": { + "type": "monomer", + "id": "58", + "position": { + "x": 6.45, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer59": { + "type": "monomer", + "id": "59", + "position": { + "x": 6.45, + "y": -2.5665 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomerTemplate-T___Thymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7117, + -0.9884, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "T___Thymine", + "fullName": "Thymine", + "alias": "T", + "naturalAnalogShort": "T" + }, + "monomer61": { + "type": "monomer", + "id": "61", + "position": { + "x": 5.11875, + "y": -1.25 + }, + "alias": "nasP", + "templateId": "nasP___Sodium Phosporothioate" + }, + "monomerTemplate-nasP___Sodium Phosporothioate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.16658355168532357, + -0.5277506917574558, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1665848624526487, + -0.5277506917574558, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.33316710337064714, + -1.3939184937670874, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.8334177590820016, + -0.5277506917574558, + 0 + ] + }, + { + "label": "S", + "location": [ + 0.33316710337064714, + 0.33841711025217563, + 0 + ], + "charge": -1 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "nasP___Sodium Phosporothioate", + "fullName": "Sodium Phosporothioate", + "alias": "nasP", + "naturalAnalogShort": "P" + }, + "monomer65": { + "type": "monomer", + "id": "65", + "position": { + "x": 9.05, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer66": { + "type": "monomer", + "id": "66", + "position": { + "x": 9.05, + "y": -2.5665 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "naturalAnalogShort": "C" + }, + "monomer68": { + "type": "monomer", + "id": "68", + "position": { + "x": 7.71875, + "y": -1.25 + }, + "alias": "nasP", + "templateId": "nasP___Sodium Phosporothioate" + }, + "monomer72": { + "type": "monomer", + "id": "72", + "position": { + "x": 11.65, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer73": { + "type": "monomer", + "id": "73", + "position": { + "x": 11.65, + "y": -2.5665 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "naturalAnalogShort": "U" + }, + "monomer75": { + "type": "monomer", + "id": "75", + "position": { + "x": 10.318750000000001, + "y": -1.25 + }, + "alias": "nasP", + "templateId": "nasP___Sodium Phosporothioate" + }, + "monomer79": { + "type": "monomer", + "id": "79", + "position": { + "x": 12.918750000000001, + "y": -1.25 + }, + "alias": "nasP", + "templateId": "nasP___Sodium Phosporothioate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/modified-and-unmodified-sequence.ket b/ketcher-autotests/tests/test-data/KET/modified-and-unmodified-sequence.ket new file mode 100644 index 0000000000..823a2f1c9c --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/modified-and-unmodified-sequence.ket @@ -0,0 +1,2200 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer6266" + }, + { + "$ref": "monomer6269" + }, + { + "$ref": "monomer6274" + }, + { + "$ref": "monomer6275" + }, + { + "$ref": "monomer6283" + }, + { + "$ref": "monomer6285" + }, + { + "$ref": "monomer6296" + }, + { + "$ref": "monomer6298" + }, + { + "$ref": "monomer6300" + }, + { + "$ref": "monomer6302" + }, + { + "$ref": "monomer6304" + }, + { + "$ref": "monomer6306" + }, + { + "$ref": "monomer6328" + }, + { + "$ref": "monomer6329" + }, + { + "$ref": "monomer6331" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6274", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer6275", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6283", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6285", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6296", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6269", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6296", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer6266", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6269", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6275", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6275", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6298", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6298", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6283", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6283", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer6300", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6285", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6302", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6302", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6306", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6302", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer6304", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6328", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer6329", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6329", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6331", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6306", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6329", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-25R___2,5-Ribose" + }, + { + "$ref": "monomerTemplate-bP___Boranophosphate" + }, + { + "$ref": "monomerTemplate-baA___N-benzyl-adenine" + }, + { + "$ref": "monomerTemplate-daA___N,N-dimethyl-Adenine" + }, + { + "$ref": "monomerTemplate-sP___Phosporothioate" + }, + { + "$ref": "monomerTemplate-U___Uracil" + } + ] + }, + "monomer6266": { + "type": "monomer", + "id": "6266", + "position": { + "x": 5.875000000000004, + "y": -8.74150000000001 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer6269": { + "type": "monomer", + "id": "6269", + "position": { + "x": 7.143750000000005, + "y": -7.425000000000009 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer6274": { + "type": "monomer", + "id": "6274", + "position": { + "x": 8.475000000000007, + "y": -8.74150000000001 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer6275": { + "type": "monomer", + "id": "6275", + "position": { + "x": 8.475000000000007, + "y": -7.425000000000009 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer6283": { + "type": "monomer", + "id": "6283", + "position": { + "x": 11.075000000000014, + "y": -7.425000000000009 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer6285": { + "type": "monomer", + "id": "6285", + "position": { + "x": 12.34375000000001, + "y": -7.425000000000009 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer6296": { + "type": "monomer", + "id": "6296", + "position": { + "x": 5.875000000000004, + "y": -7.425000000000009 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomerTemplate-25R___2,5-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.4497168133582634, + -0.8142767654737866, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.6184588488073848, + 0.24404013255469867, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6088858459495599, + -0.980804151008038, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3358409435420487, + 0.7315488751054199, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.0943942595449148, + -0.02543275386108686, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4690771400334166, + 1.5784024264237446, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.151710993095717, + 0.14080887039382642, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5736159249948323, + 0.726976694636011, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.99887855192617, + -1.7441439684398161, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.4714778646749997, + 0.14080887039382642, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.2364608094629723, + 0.5275867619778833, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.690942527206626, + -0.525586433022517, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "25R___2,5-Ribose", + "fullName": "2,5-Ribose", + "alias": "25R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer6298": { + "type": "monomer", + "id": "6298", + "position": { + "x": 9.743750000000013, + "y": -7.425000000000009 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomerTemplate-bP___Boranophosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "B", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "bP___Boranophosphate", + "fullName": "Boranophosphate", + "alias": "bP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer6300": { + "type": "monomer", + "id": "6300", + "position": { + "x": 11.075000000000014, + "y": -8.74150000000001 + }, + "alias": "baA", + "templateId": "baA___N-benzyl-adenine" + }, + "monomerTemplate-baA___N-benzyl-adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.4638, + -0.2109, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.5776, + 0.795, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.006, + 0.3343, + 0 + ] + }, + { + "label": "C", + "location": [ + 7.8594, + -0.5925, + 0 + ] + }, + { + "label": "C", + "location": [ + 7.5474, + 0.8747, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.1207, + 1.3381, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.3181, + -1.133, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.7448, + -1.5963, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 17 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "baA___N-benzyl-adenine", + "fullName": "N-benzyl-adenine", + "alias": "baA", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer6302": { + "type": "monomer", + "id": "6302", + "position": { + "x": 13.675000000000011, + "y": -7.425000000000009 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomer6304": { + "type": "monomer", + "id": "6304", + "position": { + "x": 13.675000000000011, + "y": -8.74150000000001 + }, + "alias": "daA", + "templateId": "daA___N,N-dimethyl-Adenine" + }, + "monomerTemplate-daA___N,N-dimethyl-Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.4638, + -0.2109, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.3544, + 0.5933, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.7154, + -1.3842, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 12 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "daA___N,N-dimethyl-Adenine", + "fullName": "N,N-dimethyl-Adenine", + "alias": "daA", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer6306": { + "type": "monomer", + "id": "6306", + "position": { + "x": 14.943750000000012, + "y": -7.425000000000009 + }, + "alias": "sP", + "templateId": "sP___Phosporothioate" + }, + "monomerTemplate-sP___Phosporothioate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "S", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "sP___Phosporothioate", + "fullName": "Phosporothioate", + "alias": "sP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer6328": { + "type": "monomer", + "id": "6328", + "position": { + "x": 16.27499999999999, + "y": -8.74150000000001 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer6329": { + "type": "monomer", + "id": "6329", + "position": { + "x": 16.27499999999999, + "y": -7.425000000000009 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer6331": { + "type": "monomer", + "id": "6331", + "position": { + "x": 17.54374999999998, + "y": -7.425000000000009 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/monomers-attached-to-bases-via-r2.ket b/ketcher-autotests/tests/test-data/KET/monomers-attached-to-bases-via-r2.ket new file mode 100644 index 0000000000..2ada9f5efa --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/monomers-attached-to-bases-via-r2.ket @@ -0,0 +1,2074 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer33" + }, + { + "$ref": "monomer35" + }, + { + "$ref": "monomer36" + }, + { + "$ref": "monomer32" + }, + { + "$ref": "monomer37" + }, + { + "$ref": "monomer53" + }, + { + "$ref": "monomer55" + }, + { + "$ref": "monomer72" + }, + { + "$ref": "monomer155" + }, + { + "$ref": "monomer157" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer35", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer36", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer35", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer33", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer33", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer37", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer32", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer37", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer53", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer55", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer53", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer155", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer155", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer157", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-nC6n5U___Amino-Modier C6 dT" + }, + { + "$ref": "monomerTemplate-dR___Deoxy-Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-SMPEG2___SM(PEG)2 linker from Pierce" + }, + { + "$ref": "monomerTemplate-A6OH___6-amino-hexanol" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-Bal___beta-Alanine" + }, + { + "$ref": "monomerTemplate-Edc___S-ethylthiocysteine" + } + ] + }, + "monomer33": { + "type": "monomer", + "id": "33", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "nC6n5U", + "templateId": "nC6n5U___Amino-Modier C6 dT" + }, + "monomerTemplate-nC6n5U___Amino-Modier C6 dT": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3475801195454442, + 0.22820685144288044, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.1038485609363216, + -0.4264215641155225, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.049200774974235, + -0.09937395312538982, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.805469216365113, + -0.7540023686837928, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.750821430403027, + -0.42695475769366004, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.507089871793905, + -1.081583173252063, + 0 + ] + }, + { + "label": "N", + "location": [ + 6.452442085831817, + -0.7545355622619304, + 0 + ] + }, + { + "label": "H", + "location": [ + 7.208310632039092, + -1.4088307318339977, + 0 + ] + }, + { + "label": "H", + "location": [ + 6.641392560084319, + 0.2271404642866053, + 0 + ] + }, + { + "label": "C", + "location": [ + -3.1882976496708735, + -0.4257550721428505, + 0 + ] + }, + { + "label": "C", + "location": [ + -3.0010134053500517, + 0.5563208495892883, + 0 + ] + }, + { + "label": "C", + "location": [ + -3.7578150403190675, + 1.2095496320050803, + 0 + ] + }, + { + "label": "N", + "location": [ + -4.701967568806173, + 0.8807024926887331, + 0 + ] + }, + { + "label": "C", + "location": [ + -4.889251813126994, + -0.1013067798461385, + 0 + ] + }, + { + "label": "O", + "location": [ + -5.833337692416832, + -0.43015391916248547, + 0 + ] + }, + { + "label": "O", + "location": [ + -3.570530795998245, + 2.191558904539952, + 0 + ] + }, + { + "label": "N", + "location": [ + -4.132383528960711, + -0.7545355622619304, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.0556611913121383, + 0.883368460579421, + 0 + ] + }, + { + "label": "H", + "location": [ + -4.319667773281533, + -1.736611483994069, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.2993927499212614, + 0.22874004502101802, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.35404053588334733, + 0.5557876560111508, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.40222790550753024, + -0.09884075954725223, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.16509006163084552, + 1.5375303317569535, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 21, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 11, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 18 + ] + }, + { + "type": 2, + "atoms": [ + 17, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 20, + 21 + ] + }, + { + "type": 2, + "atoms": [ + 20, + 22 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "nC6n5U___Amino-Modier C6 dT", + "fullName": "Amino-Modier C6 dT", + "alias": "nC6n5U", + "attachmentPoints": [ + { + "attachmentAtom": 16, + "leavingGroup": { + "atoms": [ + 18 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "U" + }, + "monomer35": { + "type": "monomer", + "id": "35", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomerTemplate-dR___Deoxy-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.6197811532086971, + -0.8519522451935663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2586888108750001, + 0.14239168733822935, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.2142575265644085, + -1.5026942457234536, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.7985641781727444, + 0.10621192725674759, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.0908938185971924, + -0.9104886991265679, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.4468377740187097, + 0.9406737621185256, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.8520227710416783, + 1.0167711522314276, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.1853419288384679, + -2.3484402162831595, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.9077241914309577, + 0.9406737621185256, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3829273560099518, + 1.640924908023072, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.2852490563747625, + 0.8257871555439957, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 6 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "dR___Deoxy-Ribose", + "fullName": "Deoxy-Ribose", + "alias": "dR", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer36": { + "type": "monomer", + "id": "36", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer32": { + "type": "monomer", + "id": "32", + "position": { + "x": 2.6125000000000003, + "y": -4.0705 + }, + "alias": "SMPEG2", + "templateId": "SMPEG2___SM(PEG)2 linker from Pierce" + }, + "monomerTemplate-SMPEG2___SM(PEG)2 linker from Pierce": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 0.6984289335294863, + -0.016838065700359284, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.5300189033059803, + -0.6627883611303924, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.505434017606377, + -0.2661817552798464, + 0 + ] + }, + { + "label": "C", + "location": [ + 3.337023987382871, + -0.9120618921027946, + 0 + ] + }, + { + "label": "N", + "location": [ + 4.310755295113232, + -0.5162270309301817, + 0 + ] + }, + { + "label": "C", + "location": [ + 6.008874220994465, + -0.3901520139987416, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.205558169873158, + -1.0699889166507477, + 0 + ] + }, + { + "label": "C", + "location": [ + 4.560940887977736, + 0.5060540329028814, + 0 + ] + }, + { + "label": "C", + "location": [ + 5.610443491359715, + 0.583930086767043, + 0 + ] + }, + { + "label": "O", + "location": [ + 4.017001207249047, + 1.1486367151928425, + 0 + ] + }, + { + "label": "O", + "location": [ + 5.267929171571573, + -1.9096471262419976, + 0 + ] + }, + { + "label": "H", + "location": [ + 6.053495095100416, + 1.2997583548535674, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.414888629079774, + -1.4967637235477709, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2769160221638254, + -0.41344467155090525, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.1085761505474043, + 0.23243546527204295, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.0840614234548855, + -0.1641009819714182, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.9155110760172103, + 0.48177915485153, + 0 + ] + }, + { + "label": "C", + "location": [ + -3.8909963489246917, + 0.08517254900098406, + 0 + ] + }, + { + "label": "O", + "location": [ + -4.722586318701185, + 0.731193003038102, + 0 + ] + }, + { + "label": "C", + "location": [ + -5.698001433001583, + 0.334586397187556, + 0 + ] + }, + { + "label": "C", + "location": [ + -6.529521244170992, + 0.980536692617589, + 0 + ] + }, + { + "label": "C", + "location": [ + -7.504936358471388, + 0.583930086767043, + 0 + ] + }, + { + "label": "O", + "location": [ + -7.619926315483426, + -0.2501154342574202, + 0 + ] + }, + { + "label": "O", + "location": [ + -8.169829477814325, + 1.1002974349113945, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 20, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 21, + 22 + ] + }, + { + "type": 2, + "atoms": [ + 21, + 23 + ] + } + ], + "class": "CHEM", + "classHELM": "CHEM", + "id": "SMPEG2___SM(PEG)2 linker from Pierce", + "fullName": "SM(PEG)2 linker from Pierce", + "alias": "SMPEG2", + "attachmentPoints": [ + { + "attachmentAtom": 21, + "leavingGroup": { + "atoms": [ + 22 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + } + ] + }, + "monomer37": { + "type": "monomer", + "id": "37", + "position": { + "x": 1.25, + "y": -4.0705 + }, + "alias": "A6OH", + "templateId": "A6OH___6-amino-hexanol" + }, + "monomerTemplate-A6OH___6-amino-hexanol": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + 3.1837706744863454, + 0, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.2373008012194098, + 0.4468046329222854, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.3767468492510937, + -0.14888838634135776, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.43027697598415804, + 0.2978465096318215, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.43027697598415804, + -0.2978465096318215, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.3766771123019876, + 0.14888838634135776, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.2373008012194098, + -0.4468046329222854, + 0 + ] + }, + { + "label": "O", + "location": [ + -3.1837706744863454, + 0, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.8717954143663618, + 0.47637309934323885, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.8717954143663618, + -0.47637309934323885, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + } + ], + "class": "CHEM", + "classHELM": "CHEM", + "id": "A6OH___6-amino-hexanol", + "fullName": "6-amino-hexanol", + "alias": "A6OH", + "attachmentPoints": [ + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "right" + } + ] + }, + "monomer53": { + "type": "monomer", + "id": "53", + "position": { + "x": 1.25, + "y": -5.558 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer55": { + "type": "monomer", + "id": "55", + "position": { + "x": 2.5187500000000003, + "y": -5.558 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer72": { + "type": "monomer", + "id": "72", + "position": { + "x": 1.25, + "y": -6.874500000000001 + }, + "alias": "nC6n5U", + "templateId": "nC6n5U___Amino-Modier C6 dT" + }, + "monomer155": { + "type": "monomer", + "id": "155", + "position": { + "x": 1.25, + "y": -8.3785 + }, + "alias": "Bal", + "templateId": "Bal___beta-Alanine" + }, + "monomerTemplate-Bal___beta-Alanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.16205056722094371, + 0.46760986560150064, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1069222130860072, + 0.140291426272259, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.2958118763409319, + -0.841748557633554, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.8628195297780585, + 0.7949283049307422, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5939314153891955, + -0.1870270130569826, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.5388877271723476, + 0.140291426272259, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.2947850438643984, + -0.5143454523862242, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + } + ], + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "id": "Bal___beta-Alanine", + "fullName": "beta-Alanine", + "alias": "Bal", + "attachmentPoints": [ + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 6 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "A" + }, + "monomer157": { + "type": "monomer", + "id": "157", + "position": { + "x": 2.75, + "y": -8.3785 + }, + "alias": "Edc", + "templateId": "Edc___S-ethylthiocysteine" + }, + "monomerTemplate-Edc___S-ethylthiocysteine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8932, + -2.0181, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.5928, + -1.2688, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.5905, + 0.232, + 0 + ] + }, + { + "label": "S", + "location": [ + -0.7098, + 0.9813, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.7076, + -2.0181, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.895, + -3.2181, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.9317, + -1.4168, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.7467, + -1.4179, + 0 + ] + }, + { + "label": "S", + "location": [ + -0.7121, + 2.4821, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.0125, + 3.2313, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.0144, + 4.4314, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 5, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "id": "Edc___S-ethylthiocysteine", + "fullName": "S-ethylthiocysteine", + "alias": "Edc", + "attachmentPoints": [ + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 6 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "C" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/r1-r1-sugar-base-connection.ket b/ketcher-autotests/tests/test-data/KET/r1-r1-sugar-base-connection.ket new file mode 100644 index 0000000000..7f34e64419 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/r1-r1-sugar-base-connection.ket @@ -0,0 +1,442 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer124" + }, + { + "$ref": "monomer125" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer125", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer124", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + } + ] + }, + "monomer124": { + "type": "monomer", + "id": "124", + "position": { + "x": 13.15000000000001, + "y": -8.962500000000007 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.3297827367500454, + 0.9642121267330325, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7940696505586429, + 1.8920671920165415, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.27728509341266994, + 1.8921386204280337, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.8129981796040726, + 0.9642835551445247, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.27735652182416215, + 0.036357061449523186, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7940696505586429, + 0.036357061449523186, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1869951030677814, + 0.9642121267330325, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.7059984191887764, + -0.7059269907772842, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.6702105459218086, + 0.9642835551445247, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer125": { + "type": "monomer", + "id": "125", + "position": { + "x": 13.15000000000001, + "y": -7.500000000000009 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/r3-r2-sugar-phosphate.ket b/ketcher-autotests/tests/test-data/KET/r3-r2-sugar-phosphate.ket new file mode 100644 index 0000000000..ba457a2359 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/r3-r2-sugar-phosphate.ket @@ -0,0 +1,384 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer98" + }, + { + "$ref": "monomer100" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer98", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer100", + "attachmentPointId": "R2" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-25R___2,5-Ribose" + }, + { + "$ref": "monomerTemplate-bP___Boranophosphate" + } + ] + }, + "monomer98": { + "type": "monomer", + "id": "98", + "position": { + "x": 11.025000000000006, + "y": -5.325000000000005 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomerTemplate-25R___2,5-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.4497168133582634, + -0.8142767654737866, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.6184588488073848, + 0.24404013255469867, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6088858459495599, + -0.980804151008038, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3358409435420487, + 0.7315488751054199, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.0943942595449148, + -0.02543275386108686, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4690771400334166, + 1.5784024264237446, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.151710993095717, + 0.14080887039382642, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5736159249948323, + 0.726976694636011, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.99887855192617, + -1.7441439684398161, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.4714778646749997, + 0.14080887039382642, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.2364608094629723, + 0.5275867619778833, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.690942527206626, + -0.525586433022517, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "25R___2,5-Ribose", + "fullName": "2,5-Ribose", + "alias": "25R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer100": { + "type": "monomer", + "id": "100", + "position": { + "x": 11.025000000000006, + "y": -6.787500000000004 + }, + "alias": "bP", + "templateId": "bP___Boranophosphate" + }, + "monomerTemplate-bP___Boranophosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "B", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "bP___Boranophosphate", + "fullName": "Boranophosphate", + "alias": "bP", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/rna-dna-peptides-chains.ket b/ketcher-autotests/tests/test-data/KET/rna-dna-peptides-chains.ket new file mode 100644 index 0000000000..336dbfaf52 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/rna-dna-peptides-chains.ket @@ -0,0 +1,3605 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer197" + }, + { + "$ref": "monomer198" + }, + { + "$ref": "monomer201" + }, + { + "$ref": "monomer202" + }, + { + "$ref": "monomer204" + }, + { + "$ref": "monomer208" + }, + { + "$ref": "monomer209" + }, + { + "$ref": "monomer211" + }, + { + "$ref": "monomer215" + }, + { + "$ref": "monomer216" + }, + { + "$ref": "monomer218" + }, + { + "$ref": "monomer222" + }, + { + "$ref": "monomer223" + }, + { + "$ref": "monomer225" + }, + { + "$ref": "monomer230" + }, + { + "$ref": "monomer231" + }, + { + "$ref": "monomer235" + }, + { + "$ref": "monomer236" + }, + { + "$ref": "monomer238" + }, + { + "$ref": "monomer243" + }, + { + "$ref": "monomer244" + }, + { + "$ref": "monomer246" + }, + { + "$ref": "monomer251" + }, + { + "$ref": "monomer252" + }, + { + "$ref": "monomer254" + }, + { + "$ref": "monomer259" + }, + { + "$ref": "monomer260" + }, + { + "$ref": "monomer262" + }, + { + "$ref": "monomer268" + }, + { + "$ref": "monomer272" + }, + { + "$ref": "monomer277" + }, + { + "$ref": "monomer282" + }, + { + "$ref": "monomer287" + }, + { + "$ref": "monomer292" + }, + { + "$ref": "monomer297" + }, + { + "$ref": "monomer302" + }, + { + "$ref": "monomer307" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer197", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer198", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer201", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer202", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer197", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer204", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer204", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer201", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer208", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer209", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer201", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer211", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer211", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer208", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer215", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer216", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer208", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer218", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer218", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer215", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer222", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer223", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer215", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer225", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer225", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer222", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer230", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer231", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer235", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer236", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer230", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer238", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer238", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer235", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer243", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer244", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer235", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer246", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer246", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer243", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer251", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer252", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer243", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer254", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer254", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer251", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer259", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer260", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer251", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer262", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer262", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer259", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer268", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer272", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer272", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer277", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer277", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer282", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer282", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer287", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer287", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer292", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer292", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer297", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer297", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer302", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer302", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer307", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-G___Guanine" + }, + { + "$ref": "monomerTemplate-T___Thymine" + }, + { + "$ref": "monomerTemplate-U___Uracil" + }, + { + "$ref": "monomerTemplate-dR___Deoxy-Ribose" + }, + { + "$ref": "monomerTemplate-A___Alanine" + }, + { + "$ref": "monomerTemplate-F___Phenylalanine" + }, + { + "$ref": "monomerTemplate-E___Glutamic acid" + }, + { + "$ref": "monomerTemplate-R___Arginine" + }, + { + "$ref": "monomerTemplate-H___Histidine" + }, + { + "$ref": "monomerTemplate-T___Threonine" + } + ] + }, + "monomer197": { + "type": "monomer", + "id": "197", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer198": { + "type": "monomer", + "id": "198", + "position": { + "x": 1.25, + "y": -2.5665 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer201": { + "type": "monomer", + "id": "201", + "position": { + "x": 3.85, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer202": { + "type": "monomer", + "id": "202", + "position": { + "x": 3.85, + "y": -2.5665 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer204": { + "type": "monomer", + "id": "204", + "position": { + "x": 2.5187500000000003, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer208": { + "type": "monomer", + "id": "208", + "position": { + "x": 6.45, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer209": { + "type": "monomer", + "id": "209", + "position": { + "x": 6.45, + "y": -2.5665 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer211": { + "type": "monomer", + "id": "211", + "position": { + "x": 5.11875, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer215": { + "type": "monomer", + "id": "215", + "position": { + "x": 9.05, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer216": { + "type": "monomer", + "id": "216", + "position": { + "x": 9.05, + "y": -2.5665 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomerTemplate-T___Thymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7117, + -0.9884, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "T___Thymine", + "fullName": "Thymine", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer218": { + "type": "monomer", + "id": "218", + "position": { + "x": 7.71875, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer222": { + "type": "monomer", + "id": "222", + "position": { + "x": 11.65, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer223": { + "type": "monomer", + "id": "223", + "position": { + "x": 11.65, + "y": -2.5665 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer225": { + "type": "monomer", + "id": "225", + "position": { + "x": 10.318750000000001, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer230": { + "type": "monomer", + "id": "230", + "position": { + "x": 1.25, + "y": -4.0705 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomerTemplate-dR___Deoxy-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.8788, + -1.208, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3668, + 0.2019, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3038, + -2.1307, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.1323, + 0.1506, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.5468, + -1.291, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.0515, + 1.3338, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.2081, + 1.4417, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.2628, + -3.3299, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.705, + 1.3338, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.3788, + 2.3267, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.2403, + 1.1709, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 6 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "dR___Deoxy-Ribose", + "fullName": "Deoxy-Ribose", + "alias": "dR", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 7 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer231": { + "type": "monomer", + "id": "231", + "position": { + "x": 1.25, + "y": -5.3870000000000005 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer235": { + "type": "monomer", + "id": "235", + "position": { + "x": 3.85, + "y": -4.0705 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomer236": { + "type": "monomer", + "id": "236", + "position": { + "x": 3.85, + "y": -5.3870000000000005 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer238": { + "type": "monomer", + "id": "238", + "position": { + "x": 2.5187500000000003, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer243": { + "type": "monomer", + "id": "243", + "position": { + "x": 6.45, + "y": -4.0705 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomer244": { + "type": "monomer", + "id": "244", + "position": { + "x": 6.45, + "y": -5.3870000000000005 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomer246": { + "type": "monomer", + "id": "246", + "position": { + "x": 5.11875, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer251": { + "type": "monomer", + "id": "251", + "position": { + "x": 9.05, + "y": -4.0705 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomer252": { + "type": "monomer", + "id": "252", + "position": { + "x": 9.05, + "y": -5.3870000000000005 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomer254": { + "type": "monomer", + "id": "254", + "position": { + "x": 7.71875, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer259": { + "type": "monomer", + "id": "259", + "position": { + "x": 11.65, + "y": -4.0705 + }, + "alias": "dR", + "templateId": "dR___Deoxy-Ribose" + }, + "monomer260": { + "type": "monomer", + "id": "260", + "position": { + "x": 11.65, + "y": -5.3870000000000005 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer262": { + "type": "monomer", + "id": "262", + "position": { + "x": 10.318750000000001, + "y": -4.0705 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer268": { + "type": "monomer", + "id": "268", + "position": { + "x": 1.25, + "y": -6.891 + }, + "alias": "A", + "templateId": "A___Alanine" + }, + "monomerTemplate-A___Alanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "N", + "location": [ + -1.2549, + -0.392, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.272, + 0.2633, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + -0.3103, + 1.7393, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.0523, + -0.392, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.0829, + -1.5722, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.0353, + 0.2633, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3334, + 0.0905, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + } + ], + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "id": "A___Alanine", + "fullName": "Alanine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 6 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 5 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "A" + }, + "monomer272": { + "type": "monomer", + "id": "272", + "position": { + "x": 2.75, + "y": -6.891 + }, + "alias": "F", + "templateId": "F___Phenylalanine" + }, + "monomerTemplate-F___Phenylalanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + -0.2052, + 2.5398, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5064, + 3.286, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.8032, + 2.5322, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.7988, + 1.0322, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.4976, + 0.2861, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2008, + 1.0398, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.0995, + 0.2905, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1018, + -1.2103, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "N", + "location": [ + -0.1986, + -1.9596, + 0 + ] + }, + { + "label": "C", + "location": [ + 2.4022, + -1.9596, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.404, + -3.1596, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.4407, + -1.3583, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.2376, + -1.3593, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 12 + ] + } + ], + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "id": "F___Phenylalanine", + "fullName": "Phenylalanine", + "alias": "F", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 12 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "F" + }, + "monomer277": { + "type": "monomer", + "id": "277", + "position": { + "x": 4.25, + "y": -6.891 + }, + "alias": "E", + "templateId": "E___Glutamic acid" + }, + "monomerTemplate-E___Glutamic acid": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 0.3442, + -1.4777, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.6244, + -2.2154, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.6261, + -3.3968, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.6469, + -1.6234, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9361, + -2.2154, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.9591, + -1.6245, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.3419, + -0.0001, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.9383, + 0.7375, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.9406, + 2.2151, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.9642, + 2.8049, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0819, + 2.8071, + 0 + ] + }, + { + "label": "H", + "location": [ + 0.0729, + 3.9885, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 0 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + } + ], + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "id": "E___Glutamic acid", + "fullName": "Glutamic acid", + "alias": "E", + "attachmentPoints": [ + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 5 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 1, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 10, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "E" + }, + "monomer282": { + "type": "monomer", + "id": "282", + "position": { + "x": 5.75, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Arginine" + }, + "monomerTemplate-R___Arginine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.7718, + -2.5891, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7732, + -3.5337, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7483, + -1.9994, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "N", + "location": [ + -0.2752, + -2.5891, + 0 + ] + }, + { + "label": "H", + "location": [ + -1.0932, + -2.1168, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.7464, + -0.8182, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2771, + -0.2284, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2789, + 0.9529, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.3024, + 1.5426, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.3042, + 2.7238, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.4868, + 3.1971, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.1227, + 3.1955, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.5892, + -2.1159, + 0 + ] + }, + { + "label": "H", + "location": [ + -0.4883, + 4.3786, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 1, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 13 + ] + } + ], + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "id": "R___Arginine", + "fullName": "Arginine", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 12 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 10, + "leavingGroup": { + "atoms": [ + 13 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer287": { + "type": "monomer", + "id": "287", + "position": { + "x": 7.25, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Arginine" + }, + "monomer292": { + "type": "monomer", + "id": "292", + "position": { + "x": 8.75, + "y": -6.891 + }, + "alias": "H", + "templateId": "H___Histidine" + }, + "monomerTemplate-H___Histidine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8978, + -1.6508, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.8993, + -2.5957, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.8739, + -1.0609, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "N", + "location": [ + -0.15, + -1.6508, + 0 + ] + }, + { + "label": "H", + "location": [ + -0.9683, + -1.1782, + 0 + ] + }, + { + "label": "C", + "location": [ + 0.872, + 0.1209, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.1501, + 0.7098, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2771, + 1.8841, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.433, + 2.1263, + 0 + ] + }, + { + "label": "C", + "location": [ + -2.0205, + 1.1016, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.2277, + 0.2263, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.7155, + -1.1774, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.0317, + 3.1449, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 1, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 10, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 12 + ] + } + ], + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "id": "H___Histidine", + "fullName": "Histidine", + "alias": "H", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 12 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "H" + }, + "monomer297": { + "type": "monomer", + "id": "297", + "position": { + "x": 10.25, + "y": -6.891 + }, + "alias": "R", + "templateId": "R___Arginine" + }, + "monomer302": { + "type": "monomer", + "id": "302", + "position": { + "x": 11.75, + "y": -6.891 + }, + "alias": "T", + "templateId": "T___Threonine" + }, + "monomerTemplate-T___Threonine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0488, + -1.2558, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.0481, + -2.4369, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2297, + -0.5156, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "N", + "location": [ + -1.5081, + -1.2558, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.5321, + -0.6672, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.2289, + 0.9614, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.7944, + 1.551, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.251, + 1.5531, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.072, + -0.6661, + 0 + ] + }, + { + "label": "H", + "location": [ + 0.7866, + 2.7318, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 1, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 9 + ] + } + ], + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "id": "T___Threonine", + "fullName": "Threonine", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 9 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "T" + }, + "monomer307": { + "type": "monomer", + "id": "307", + "position": { + "x": 13.25, + "y": -6.891 + }, + "alias": "H", + "templateId": "H___Histidine" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/rna-g.ket b/ketcher-autotests/tests/test-data/KET/rna-g.ket new file mode 100644 index 0000000000..109b6e1b0c --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/rna-g.ket @@ -0,0 +1,622 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer481" + }, + { + "$ref": "monomer482" + }, + { + "$ref": "monomer484" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer481", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer482", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer482", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer484", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-G___Guanine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + } + ] + }, + "monomer481": { + "type": "monomer", + "id": "481", + "position": { + "x": 7.980115301478178, + "y": -6.345131312077325 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer482": { + "type": "monomer", + "id": "482", + "position": { + "x": 7.980115301478178, + "y": -5.070131312077326 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer484": { + "type": "monomer", + "id": "484", + "position": { + "x": 9.255115301478178, + "y": -5.070131312077326 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/rna-seq-g.ket b/ketcher-autotests/tests/test-data/KET/rna-seq-g.ket new file mode 100644 index 0000000000..6fe9cc7d76 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/rna-seq-g.ket @@ -0,0 +1,1625 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer170" + }, + { + "$ref": "monomer171" + }, + { + "$ref": "monomer172" + }, + { + "$ref": "monomer173" + }, + { + "$ref": "monomer174" + }, + { + "$ref": "monomer175" + }, + { + "$ref": "monomer178" + }, + { + "$ref": "monomer179" + }, + { + "$ref": "monomer181" + }, + { + "$ref": "monomer182" + }, + { + "$ref": "monomer183" + }, + { + "$ref": "monomer184" + }, + { + "$ref": "monomer185" + }, + { + "$ref": "monomer186" + }, + { + "$ref": "monomer187" + }, + { + "$ref": "monomer188" + }, + { + "$ref": "monomer189" + }, + { + "$ref": "monomer217" + }, + { + "$ref": "monomer218" + }, + { + "$ref": "monomer220" + }, + { + "$ref": "monomer226" + }, + { + "$ref": "monomer227" + }, + { + "$ref": "monomer229" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer170", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer171", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer172", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer173", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer170", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer174", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer174", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer172", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer172", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer175", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer178", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer179", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer181", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer182", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer178", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer183", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer184", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer185", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer181", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer186", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer186", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer184", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer187", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer188", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer184", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer189", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer189", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer187", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer183", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer181", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer217", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer218", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer187", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer220", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer220", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer217", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer226", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer227", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer227", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer229", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer175", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer227", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer229", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer178", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-U___Uracil" + }, + { + "$ref": "monomerTemplate-G___Guanine" + } + ] + }, + "monomer170": { + "type": "monomer", + "id": "170", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer171": { + "type": "monomer", + "id": "171", + "position": { + "x": 1.25, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer172": { + "type": "monomer", + "id": "172", + "position": { + "x": 3.8625000000000003, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer173": { + "type": "monomer", + "id": "173", + "position": { + "x": 3.8625000000000003, + "y": -2.5250000000000004 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer174": { + "type": "monomer", + "id": "174", + "position": { + "x": 2.5250000000000004, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer175": { + "type": "monomer", + "id": "175", + "position": { + "x": 5.1375, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer178": { + "type": "monomer", + "id": "178", + "position": { + "x": 9.0875, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer179": { + "type": "monomer", + "id": "179", + "position": { + "x": 9.0875, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer181": { + "type": "monomer", + "id": "181", + "position": { + "x": 11.700000000000001, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer182": { + "type": "monomer", + "id": "182", + "position": { + "x": 11.700000000000001, + "y": -2.5250000000000004 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer183": { + "type": "monomer", + "id": "183", + "position": { + "x": 10.3625, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer184": { + "type": "monomer", + "id": "184", + "position": { + "x": 14.3125, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer185": { + "type": "monomer", + "id": "185", + "position": { + "x": 14.3125, + "y": -2.5250000000000004 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer186": { + "type": "monomer", + "id": "186", + "position": { + "x": 12.975000000000001, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer187": { + "type": "monomer", + "id": "187", + "position": { + "x": 16.925, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer188": { + "type": "monomer", + "id": "188", + "position": { + "x": 16.925, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer189": { + "type": "monomer", + "id": "189", + "position": { + "x": 15.5875, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer217": { + "type": "monomer", + "id": "217", + "position": { + "x": 19.5375, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer218": { + "type": "monomer", + "id": "218", + "position": { + "x": 19.5375, + "y": -2.5250000000000004 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer220": { + "type": "monomer", + "id": "220", + "position": { + "x": 18.2, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer226": { + "type": "monomer", + "id": "226", + "position": { + "x": 6.4750000000000005, + "y": -2.5250000000000004 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer227": { + "type": "monomer", + "id": "227", + "position": { + "x": 6.4750000000000005, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer229": { + "type": "monomer", + "id": "229", + "position": { + "x": 7.75, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/rna-sequence.ket b/ketcher-autotests/tests/test-data/KET/rna-sequence.ket new file mode 100644 index 0000000000..d0bf5bdb06 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/rna-sequence.ket @@ -0,0 +1,1625 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer51" + }, + { + "$ref": "monomer52" + }, + { + "$ref": "monomer53" + }, + { + "$ref": "monomer54" + }, + { + "$ref": "monomer55" + }, + { + "$ref": "monomer56" + }, + { + "$ref": "monomer59" + }, + { + "$ref": "monomer60" + }, + { + "$ref": "monomer62" + }, + { + "$ref": "monomer63" + }, + { + "$ref": "monomer64" + }, + { + "$ref": "monomer65" + }, + { + "$ref": "monomer66" + }, + { + "$ref": "monomer67" + }, + { + "$ref": "monomer68" + }, + { + "$ref": "monomer69" + }, + { + "$ref": "monomer70" + }, + { + "$ref": "monomer71" + }, + { + "$ref": "monomer72" + }, + { + "$ref": "monomer73" + }, + { + "$ref": "monomer127" + }, + { + "$ref": "monomer128" + }, + { + "$ref": "monomer130" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer51", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer52", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer53", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer54", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer51", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer55", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer55", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer53", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer53", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer56", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer59", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer60", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer62", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer63", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer59", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer64", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer64", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer62", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer65", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer66", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer62", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer67", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer68", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer69", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer65", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer70", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer70", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer68", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer71", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer72", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer68", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer73", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer73", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer71", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer67", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer65", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer56", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer59", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer127", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer128", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer71", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer130", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer130", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer127", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-U___Uracil" + }, + { + "$ref": "monomerTemplate-G___Guanine" + } + ] + }, + "monomer51": { + "type": "monomer", + "id": "51", + "position": { + "x": 1.25, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -1.1017, + -1.0663, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.5897, + 0.3436, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.0809, + -1.9889, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9095, + 0.2924, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.3239, + -1.1493, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.8285, + 1.4755, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.4518, + -1.5589, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.431, + 1.5834, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.0399, + -3.1881, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.9279, + 1.4755, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.6017, + 2.4684, + 0 + ] + }, + { + "label": "H", + "location": [ + 3.0174, + 1.3125, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer52": { + "type": "monomer", + "id": "52", + "position": { + "x": 1.25, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer53": { + "type": "monomer", + "id": "53", + "position": { + "x": 3.8625000000000003, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer54": { + "type": "monomer", + "id": "54", + "position": { + "x": 3.8625000000000003, + "y": -2.5250000000000004 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer55": { + "type": "monomer", + "id": "55", + "position": { + "x": 2.5250000000000004, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.2399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.4399, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + -1.0394, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.9601, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.3598, + 1.0394, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer56": { + "type": "monomer", + "id": "56", + "position": { + "x": 5.1375, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer59": { + "type": "monomer", + "id": "59", + "position": { + "x": 6.4750000000000005, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer60": { + "type": "monomer", + "id": "60", + "position": { + "x": 6.4750000000000005, + "y": -2.5250000000000004 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer62": { + "type": "monomer", + "id": "62", + "position": { + "x": 9.0875, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer63": { + "type": "monomer", + "id": "63", + "position": { + "x": 9.0875, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer64": { + "type": "monomer", + "id": "64", + "position": { + "x": 7.75, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer65": { + "type": "monomer", + "id": "65", + "position": { + "x": 11.700000000000001, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer66": { + "type": "monomer", + "id": "66", + "position": { + "x": 11.700000000000001, + "y": -2.5250000000000004 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomer67": { + "type": "monomer", + "id": "67", + "position": { + "x": 10.3625, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer68": { + "type": "monomer", + "id": "68", + "position": { + "x": 14.3125, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer69": { + "type": "monomer", + "id": "69", + "position": { + "x": 14.3125, + "y": -2.5250000000000004 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomer70": { + "type": "monomer", + "id": "70", + "position": { + "x": 12.975000000000001, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer71": { + "type": "monomer", + "id": "71", + "position": { + "x": 16.925, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer72": { + "type": "monomer", + "id": "72", + "position": { + "x": 16.925, + "y": -2.5250000000000004 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomer73": { + "type": "monomer", + "id": "73", + "position": { + "x": 15.5875, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer127": { + "type": "monomer", + "id": "127", + "position": { + "x": 19.5375, + "y": -1.25 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer128": { + "type": "monomer", + "id": "128", + "position": { + "x": 19.5375, + "y": -2.5250000000000004 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer130": { + "type": "monomer", + "id": "130", + "position": { + "x": 18.2, + "y": -1.25 + }, + "alias": "P", + "templateId": "P___Phosphate" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/KET/sugar-on-the-end-of-sequence.ket b/ketcher-autotests/tests/test-data/KET/sugar-on-the-end-of-sequence.ket new file mode 100644 index 0000000000..ee307a4990 --- /dev/null +++ b/ketcher-autotests/tests/test-data/KET/sugar-on-the-end-of-sequence.ket @@ -0,0 +1,1867 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer756" + }, + { + "$ref": "monomer757" + }, + { + "$ref": "monomer758" + }, + { + "$ref": "monomer759" + }, + { + "$ref": "monomer760" + }, + { + "$ref": "monomer761" + }, + { + "$ref": "monomer762" + }, + { + "$ref": "monomer763" + }, + { + "$ref": "monomer764" + }, + { + "$ref": "monomer765" + }, + { + "$ref": "monomer766" + }, + { + "$ref": "monomer767" + }, + { + "$ref": "monomer768" + }, + { + "$ref": "monomer769" + }, + { + "$ref": "monomer770" + }, + { + "$ref": "monomer988" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer756", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer757", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer757", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer758", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer759", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer760", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer760", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer761", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer762", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer763", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer763", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer764", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer758", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer760", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer761", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer763", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer765", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer766", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer766", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer767", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer768", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer769", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer769", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer770", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer764", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer766", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer767", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer769", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer770", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer988", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-G___Guanine" + }, + { + "$ref": "monomerTemplate-R___Ribose" + }, + { + "$ref": "monomerTemplate-P___Phosphate" + }, + { + "$ref": "monomerTemplate-C___Cytosine" + }, + { + "$ref": "monomerTemplate-T___Thymine" + }, + { + "$ref": "monomerTemplate-A___Adenine" + }, + { + "$ref": "monomerTemplate-U___Uracil" + }, + { + "$ref": "monomerTemplate-25R___2,5-Ribose" + } + ] + }, + "monomer756": { + "type": "monomer", + "id": "756", + "position": { + "x": 6.7500000000000115, + "y": -8.516500000000017 + }, + "alias": "G", + "templateId": "G___Guanine" + }, + "monomerTemplate-G___Guanine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.9527, + 3.3542, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "G___Guanine", + "fullName": "Guanine", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "G" + }, + "monomer757": { + "type": "monomer", + "id": "757", + "position": { + "x": 6.7500000000000115, + "y": -7.200000000000012 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomerTemplate-R___Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.7870668737745955, + -0.7617767155358548, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.4212883139374412, + 0.2454717053907153, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.05779587009926911, + -1.4208925344924144, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6497570315857263, + 0.20889384940699984, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.9458090534539231, + -0.821072849259456, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 1.306300970043431, + 1.0541137989057054, + 0 + ] + }, + { + "label": "O", + "location": [ + 1.7515935019701854, + -1.1136956971291794, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.022322498294859, + 1.131198772746387, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.028505008862309486, + -2.2776145051109995, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.091724697943758, + 1.0541137989057054, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.573094997979451, + 1.7634527287149055, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.1556645047902916, + 0.9376647652075489, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "R___Ribose", + "fullName": "Ribose", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + }, + "monomer758": { + "type": "monomer", + "id": "758", + "position": { + "x": 8.018750000000011, + "y": -7.200000000000012 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomerTemplate-P___Phosphate": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "P", + "location": [ + -0.19991692871090108, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + -1.1999182394782262, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + -0.8661678020096315, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.800084382056424, + 0, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.29983372634506966, + 0.8661678020096315, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ], + "class": "Phosphate", + "classHELM": "RNA", + "id": "P___Phosphate", + "fullName": "Phosphate", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 1 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 3 + ] + }, + "type": "right" + } + ], + "naturalAnalogShort": "P" + }, + "monomer759": { + "type": "monomer", + "id": "759", + "position": { + "x": 9.350000000000012, + "y": -8.516500000000017 + }, + "alias": "C", + "templateId": "C___Cytosine" + }, + "monomerTemplate-C___Cytosine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9884, + -0.9883, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "C___Cytosine", + "fullName": "Cytosine", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "C" + }, + "monomer760": { + "type": "monomer", + "id": "760", + "position": { + "x": 9.350000000000012, + "y": -7.200000000000012 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer761": { + "type": "monomer", + "id": "761", + "position": { + "x": 10.618750000000016, + "y": -7.200000000000012 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer762": { + "type": "monomer", + "id": "762", + "position": { + "x": 11.950000000000017, + "y": -8.516500000000017 + }, + "alias": "T", + "templateId": "T___Thymine" + }, + "monomerTemplate-T___Thymine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.7117, + -0.9884, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 9 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "T___Thymine", + "fullName": "Thymine", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "T" + }, + "monomer763": { + "type": "monomer", + "id": "763", + "position": { + "x": 11.950000000000017, + "y": -7.200000000000012 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer764": { + "type": "monomer", + "id": "764", + "position": { + "x": 13.218750000000018, + "y": -7.200000000000012 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer765": { + "type": "monomer", + "id": "765", + "position": { + "x": 14.55000000000002, + "y": -8.516500000000017 + }, + "alias": "A", + "templateId": "A___Adenine" + }, + "monomerTemplate-A___Adenine": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.0354, + 0.2498, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.0792, + -0.754, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5057, + -0.2906, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.8177, + 1.1766, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.7031, + 2.1804, + 0 + ] + }, + { + "label": "N", + "location": [ + 0.7235, + 1.717, + 0 + ] + }, + { + "label": "N", + "location": [ + -2.3871, + -1.5034, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5053, + -2.7168, + 0 + ] + }, + { + "label": "N", + "location": [ + -0.0787, + -2.2532, + 0 + ] + }, + { + "label": "N", + "location": [ + 2.1768, + -0.1209, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.5871, + -1.5034, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "A___Adenine", + "fullName": "Adenine", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "A" + }, + "monomer766": { + "type": "monomer", + "id": "766", + "position": { + "x": 14.55000000000002, + "y": -7.200000000000012 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer767": { + "type": "monomer", + "id": "767", + "position": { + "x": 15.818750000000021, + "y": -7.200000000000012 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer768": { + "type": "monomer", + "id": "768", + "position": { + "x": 17.14999999999998, + "y": -8.516500000000017 + }, + "alias": "U", + "templateId": "U___Uracil" + }, + "monomerTemplate-U___Uracil": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "C", + "location": [ + 1.8617, + 1.3499, + 0 + ] + }, + { + "label": "C", + "location": [ + 1.1117, + 0.0509, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3883, + 0.0509, + 0 + ] + }, + { + "label": "N", + "location": [ + -1.1382, + 1.35, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.3882, + 2.649, + 0 + ] + }, + { + "label": "N", + "location": [ + 1.1117, + 2.6489, + 0 + ] + }, + { + "label": "O", + "location": [ + 3.0618, + 1.3499, + 0 + ] + }, + { + "label": "O", + "location": [ + -0.9882, + 3.6882, + 0 + ] + }, + { + "label": "H", + "location": [ + -2.3383, + 1.35, + 0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + } + ], + "class": "Base", + "classHELM": "RNA", + "id": "U___Uracil", + "fullName": "Uracil", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "left" + } + ], + "naturalAnalogShort": "U" + }, + "monomer769": { + "type": "monomer", + "id": "769", + "position": { + "x": 17.14999999999998, + "y": -7.200000000000012 + }, + "alias": "R", + "templateId": "R___Ribose" + }, + "monomer770": { + "type": "monomer", + "id": "770", + "position": { + "x": 18.418749999999957, + "y": -7.200000000000012 + }, + "alias": "P", + "templateId": "P___Phosphate" + }, + "monomer988": { + "type": "monomer", + "id": "988", + "position": { + "x": 19.749999999999954, + "y": -7.200000000000012 + }, + "alias": "25R", + "templateId": "25R___2,5-Ribose" + }, + "monomerTemplate-25R___2,5-Ribose": { + "type": "monomerTemplate", + "atoms": [ + { + "label": "O", + "location": [ + -0.4497168133582634, + -0.8142767654737866, + 0 + ] + }, + { + "label": "C", + "location": [ + -0.6184588488073848, + 0.24404013255469867, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.6088858459495599, + -0.980804151008038, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 0.3358409435420487, + 0.7315488751054199, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 1.0943942595449148, + -0.02543275386108686, + 0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.4690771400334166, + 1.5784024264237446, + 0 + ] + }, + { + "label": "O", + "location": [ + 2.151710993095717, + 0.14080887039382642, + 0 + ] + }, + { + "label": "C", + "location": [ + -1.5736159249948323, + 0.726976694636011, + 0 + ] + }, + { + "label": "O", + "location": [ + 0.99887855192617, + -1.7441439684398161, + 0 + ] + }, + { + "label": "O", + "location": [ + -2.4714778646749997, + 0.14080887039382642, + 0 + ] + }, + { + "label": "H", + "location": [ + -3.2364608094629723, + 0.5275867619778833, + 0 + ] + }, + { + "label": "H", + "location": [ + 2.690942527206626, + -0.525586433022517, + 0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 7 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 8 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 11 + ] + } + ], + "class": "Sugar", + "classHELM": "RNA", + "id": "25R___2,5-Ribose", + "fullName": "2,5-Ribose", + "alias": "25R", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 10 + ] + }, + "type": "left" + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 11 + ] + }, + "type": "right" + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 8 + ] + }, + "type": "side" + } + ], + "naturalAnalogShort": "R" + } +} \ No newline at end of file diff --git a/ketcher-autotests/tests/test-data/Sequence/sequence-500-symbols.seq b/ketcher-autotests/tests/test-data/Sequence/sequence-500-symbols.seq new file mode 100644 index 0000000000..851b5f1efb --- /dev/null +++ b/ketcher-autotests/tests/test-data/Sequence/sequence-500-symbols.seq @@ -0,0 +1 @@ +actgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugtcuaactgugaactgugtcuaactgugaactgugtcuaactgugaactgugtcuaactguggtu \ No newline at end of file diff --git a/ketcher-autotests/tests/utils/canvas/helpers.ts b/ketcher-autotests/tests/utils/canvas/helpers.ts index 7f7c939318..64b2ad319e 100644 --- a/ketcher-autotests/tests/utils/canvas/helpers.ts +++ b/ketcher-autotests/tests/utils/canvas/helpers.ts @@ -246,6 +246,10 @@ export async function takeTopToolbarScreenshot(page: Page) { await takeElementScreenshot(page, 'top-toolbar'); } +export async function takeLayoutSwitcherScreenshot(page: Page) { + await takeElementScreenshot(page, 'sequence-type-dropdown'); +} + export async function takePolymerEditorScreenshot(page: Page) { const maxTimeout = 3000; const editor = page.locator('.Ketcher-polymer-editor-root'); diff --git a/ketcher-autotests/tests/utils/canvas/tools/helpers.ts b/ketcher-autotests/tests/utils/canvas/tools/helpers.ts index 294dc65ba4..7e1785049c 100644 --- a/ketcher-autotests/tests/utils/canvas/tools/helpers.ts +++ b/ketcher-autotests/tests/utils/canvas/tools/helpers.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-magic-numbers */ import { Page } from '@playwright/test'; import { selectOption, SequenceType } from '@utils'; import { selectButtonByTitle } from '@utils/clicks/selectButtonByTitle'; diff --git a/ketcher-autotests/tests/utils/macromolecules/index.ts b/ketcher-autotests/tests/utils/macromolecules/index.ts index b4d6ef23f4..97959ef35f 100644 --- a/ketcher-autotests/tests/utils/macromolecules/index.ts +++ b/ketcher-autotests/tests/utils/macromolecules/index.ts @@ -51,3 +51,9 @@ export async function chooseFileFormat( await page.getByRole('option', { name: fileFomat }).click(); }); } + +export async function enterSequence(page: Page, sequence: string) { + for (const nucleotide of sequence) { + await page.keyboard.press(nucleotide); + } +}