epam / epam/Indigo

System allow to pass empty values for parameters in IDT alias section

Open
#3,672 0 comments 0 reactions 0 assignees View on GitHub
Priority: Medium Severity: Medium
Dominant language
C++
Stars
406
Forks
134
Avg merge
2d 11h
Merged PRs (30d)
24

Description

**Steps to Reproduce**
1. Open Macromolecules - Flex mode (clean canvas)
2. Go to console and execute following commands:

_Nucleotide2 with empty parameters

```javascript
await ketcher.updateMonomersLibrary('\n -INDIGO-10122513312D\n\n 0 0 0 0 0 0 0 0 0 0 0 V3000\nM V30 BEGIN CTAB\nM V30 COUNTS 1 0 0 0 0\nM V30 BEGIN ATOM\nM V30 1 _Nucleotide1 9.9 -9.35 0.0 0 CLASS=RNA SEQID=1\nM V30 END ATOM\nM V30 BEGIN BOND\nM V30 END BOND\nM V30 END CTAB\nM V30 BEGIN TEMPLATE\nM V30 TEMPLATE 1 RNA/_Nucleotide1/_Nucleotide1 NATREPLACE=RNA/A\nM V30 BEGIN CTAB\nM V30 COUNTS 5 4 4 0 0\nM V30 BEGIN ATOM\nM V30 1 C -0.866 -0.75 0.0 0\nM V30 2 C 0.0 -0.25 0.0 0\nM V30 3 H 0.0 0.75 0.0 0\nM V30 4 H 0.866 -0.75 0.0 0\nM V30 5 H 0.866 0.25 0.0 0\nM V30 END ATOM\nM V30 BEGIN BOND\nM V30 1 1 1 2\nM V30 2 1 2 3\nM V30 3 1 2 4\nM V30 4 1 2 5\nM V30 END BOND\nM V30 BEGIN SGROUP\nM V30 1 SUP 1 ATOMS=(1 3) XBONDS=(1 2) BRKXYZ=(9 0.000000 -0.500000 0.000000-\nM V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=-\nM V30 LGRP\nM V30 2 SUP 2 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 -0.433000 -0.250000 0.00000-\nM V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS-\nM V30 =LGRP\nM V30 3 SUP 3 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.433000 0.250000 0.000000-\nM V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=-\nM V30 LGRP\nM V30 4 SUP 4 ATOMS=(2 1 2) XBONDS=(3 2 3 4) BRKXYZ=(9 0.000000 0.500000 0.0-\nM V30 00000 0.433000 -0.250000 0.000000 0.000000 0.000000 0.000000) BRKXYZ=(-\nM V30 9 0.433000 0.250000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000-\nM V30 000 0.000000) LABEL=_Nucleotide1 CLASS=RNA SAP=(3 2 3 Al) SAP=(3 2 5 B-\nM V30 r) SAP=(3 2 4 Cx) NATREPLACE=RNA/A\nM V30 END SGROUP\nM V30 END CTAB\nM V30 END TEMPLATE\nM END\n> \nmonomerTemplate\n\n> \n_Nucleotide1_HELM\n\n> \nbase=,ep3=,ep5=,i=\n\n$$$$\n', { format: 'sdf' })
```


**Actual behavior**
`_Nucleotide1` unsplit nucleotide appears in the library, no error in the console
Image

**Expected behavior**
No unsplit nucleotide appears in the library.
System throws an error in the console on `_Nucleotide1` wrong parameter in IDT alias.

As per [requirement](https://github.com/epam/Indigo/issues/3161):
> - `idtAliases` - string, optional.
> Format: `base` or `ep5`, `ep3`, `i` comma separated set of fields can be provided. Meaning: `ep5` - endpoint5, `ep3` - endpoint3, `i` - internal, no spaces, ticket - Format described in the ticket:[#7863](https://github.com/epam/ketcher/issues/7863)
>
> If a monomer/preset property is incorrect for whatever reason: skip that monomers, load the rest and throw an error with monomer name and details

**Environment details:**
- Ketcher Version 3.9.0-rc.1 Build at 2025-10-02; 16:35:40
- Indigo Version 1.37.0-rc.1.0-gca09660df-wasm32-wasm-clang-19.0.0
- Chrome Version 141.0.7390.55 (Official Build) (64-bit)
- Win10

Related issue: https://github.com/epam/Indigo/issues/3161

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.