-
Notifications
You must be signed in to change notification settings - Fork 216
Closed
Copy link
Labels
APIMonomer CreationMonomer creation and editing epicMonomer creation and editing epicMonomer LibraryPriority: HighSeverity: HighHigh level visibility to the userHigh level visibility to the user
Milestone
Description
Description:
When adding a new preset to the monomer library using the updateMonomersLibrary API method, all previously existing presets disappear from the library.
This behavior contradicts the expected functionality of updateMonomersLibrary, which should add or update monomers while preserving the existing ones.
Steps to Reproduce
- Open Ketcher Standalone
- Open the browser console and execute:
await ketcher.updateMonomersLibrary('\n -INDIGO-08262516282D\n\n 0 0 0 0 0 0 0 0 0 0 0 V3000\nM V30 BEGIN CTAB\nM V30 COUNTS 3 2 0 0 0\nM V30 BEGIN ATOM\nM V30 1 G 15.9 -4.575 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 2 Al)\nM V30 2 R 15.9 -3.075 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 1 Cx 3 Br)\nM V30 3 P 17.4 -3.075 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(2 2 Al)\nM V30 END ATOM\nM V30 BEGIN BOND\nM V30 1 1 1 2\nM V30 2 1 2 3\nM V30 END BOND\nM V30 END CTAB\nM V30 BEGIN TEMPLATE\nM V30 TEMPLATE 1 BASE/Gua/Z NATREPLACE=BASE/Z\nM V30 BEGIN CTAB\nM V30 COUNTS 12 13 2 0 0\nM V30 BEGIN ATOM\nM V30 1 N -0.438 0.541 0.0 0\nM V30 2 C -0.438 -0.459 0.0 0\nM V30 3 C 0.428 -0.959 0.0 0\nM V30 4 C 1.294 -0.459 0.0 0\nM V30 5 N 1.294 0.541 0.0 0\nM V30 6 C 0.428 1.041 0.0 0\nM V30 7 N 0.22 -1.937 0.0 0\nM V30 8 C -0.775 -2.041 0.0 0\nM V30 9 N -1.182 -1.128 0.0 0\nM V30 10 O 2.16 -0.959 0.0 0\nM V30 11 H -2.16 -0.92 0.0 0\nM V30 12 N 0.428 2.041 0.0 0\nM V30 END ATOM\nM V30 BEGIN BOND\nM V30 1 2 6 1\nM V30 2 1 1 2\nM V30 3 2 2 3\nM V30 4 1 3 4\nM V30 5 1 4 5\nM V30 6 1 5 6\nM V30 7 1 2 9\nM V30 8 1 9 8\nM V30 9 2 8 7\nM V30 10 1 7 3\nM V30 11 2 4 10\nM V30 12 1 9 11\nM V30 13 1 6 12\nM V30 END BOND\nM V30 BEGIN SGROUP\nM V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.489000 -0.104000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=LGRP\nM V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 12) XBONDS=(1 12) BRKXYZ=(9 -0.489000 0.104000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=Z CLASS=BASE SAP=(3 9 11 Al) NATREPLACE=BASE/G\nM V30 END SGROUP\nM V30 END CTAB\nM V30 TEMPLATE 2 SUGAR/Rib/R NATREPLACE=SUGAR/R\nM V30 BEGIN CTAB\nM V30 COUNTS 12 12 4 0 0\nM V30 BEGIN ATOM\nM V30 1 C 1.499 1.176 0.0 0 CFG=1\nM V30 2 C 1.656 0.188 0.0 0 CFG=2\nM V30 3 C 0.765 -0.266 0.0 0 CFG=1\nM V30 4 C 0.058 0.441 0.0 0 CFG=2\nM V30 5 O 0.512 1.332 0.0 0\nM V30 6 O 2.207 1.883 0.0 0\nM V30 7 O 0.608 -1.254 0.0 0\nM V30 8 O 2.547 -0.266 0.0 0\nM V30 9 H 1.386 -1.883 0.0 0\nM V30 10 C -0.93 0.285 0.0 0\nM V30 11 O -1.559 1.062 0.0 0\nM V30 12 H -2.547 0.905 0.0 0\nM V30 END ATOM\nM V30 BEGIN BOND\nM V30 1 1 1 5\nM V30 2 1 5 4\nM V30 3 1 4 3\nM V30 4 1 3 2\nM V30 5 1 2 1\nM V30 6 1 1 6 CFG=1\nM V30 7 1 3 7 CFG=3\nM V30 8 1 2 8 CFG=1\nM V30 9 1 7 9\nM V30 10 1 4 10 CFG=1\nM V30 11 1 10 11\nM V30 12 1 11 12\nM V30 END BOND\nM V30 BEGIN COLLECTION\nM V30 MDLV30/STEABS ATOMS=(4 1 2 3 4)\nM V30 END COLLECTION\nM V30 BEGIN SGROUP\nM V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.494000 0.078500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=LGRP\nM V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 9) BRKXYZ=(9 -0.389000 0.314500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=LGRP\nM V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 6) BRKXYZ=(9 -0.354000 -0.353500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=LGRP\nM V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 7 8 10 11) XBONDS=(3 6 9 12) BRKXYZ=(9 0.354000 0.353500 0.000000 0.389000 -0.314500 0.000000 0.000000 0.000000 0.000000) BRKXYZ=(9 -0.494000 -0.078500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 11 12 Al) SAP=(3 7 9 Br) SAP=(3 1 6 Cx) NATREPLACE=SUGAR/R\nM V30 END SGROUP\nM V30 END CTAB\nM V30 TEMPLATE 3 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P\nM V30 BEGIN CTAB\nM V30 COUNTS 5 4 3 0 0\nM V30 BEGIN ATOM\nM V30 1 P 0.0 0.0 0.0 0\nM V30 2 O 0.5 -0.866 0.0 0\nM V30 3 O 0.5 0.866 0.0 0\nM V30 4 O -1.0 0.0 0.0 0\nM V30 5 O 1.0 0.0 0.0 0\nM V30 END ATOM\nM V30 BEGIN BOND\nM V30 1 2 1 2\nM V30 2 1 1 3\nM V30 3 1 1 4\nM V30 4 1 1 5\nM V30 END BOND\nM V30 BEGIN SGROUP\nM V30 1 SUP 1 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 0.500000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=LGRP\nM V30 2 SUP 2 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 -0.500000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=LGRP\nM V30 3 SUP 3 ATOMS=(3 1 2 3) XBONDS=(2 3 4) BRKXYZ=(9 -0.500000 0.000000 0.000000 0.500000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P CLASS=PHOSPHATE SAP=(3 1 4 Al) SAP=(3 1 5 Br) NATREPLACE=PHOSPHATE/P\nM V30 END SGROUP\nM V30 END CTAB\nM V30 END TEMPLATE\nM END\n> <type>\nmonomerGroupTemplate\n\n> <groupClass>\nRNA\n\n> <groupName>\nZ\n\n> <idtAliases>\nbase=rZ\n\n$$$$\n', { format: 'sdf' })
- Observe the monomer library after the update completes.
Actual behavior
All previously available presets disappear from the library, leaving only the newly added preset.
Expected behavior
Existing presets in the library should remain unchanged; the new preset should be added or updated without clearing the current library.
Video
2025-10-08_15h38_23.mp4
Desktop:
- OS: Windows 11
- Browser Chrome
Version 140.0.7339.128 (Official Build) (64-bit)
Ketcher version
[Version 3.9.0-rc.1]
Indigo version
[Version 1.37.0-rc.1]
This bug was found while testing: #7674
Metadata
Metadata
Assignees
Labels
APIMonomer CreationMonomer creation and editing epicMonomer creation and editing epicMonomer LibraryPriority: HighSeverity: HighHigh level visibility to the userHigh level visibility to the user