epam / epam/Indigo

Indigo Toolkit is to pedantic with CXSMILES input

Open
#1,397 0 comments 0 reactions 0 assignees View on GitHub
User`s Feedback
Dominant language
C++
Stars
406
Forks
134
Avg merge
2d 11h
Merged PRs (30d)
24

Description

**Steps to Reproduce**

Indigo toolkit 1.14.0 via Java

```java
Indigo indigo = new Indigo();
indigo.loadMolecule("C1(=C(C=C(C=C1*)*)N)[N+](=O)[O-] |$;;;;;;R3;R1$|");
IndigoInchi indigoInchi = new IndigoInchi(indigo);
IndigoObject mol = indigo.loadMolecule(smi);
```

**Expected behavior**

The SMILES `C1(=C(C=C(C=C1*)*)N)[N+](=O)[O-] |$;;;;;;R3;R1$|` should be parsed without error. The compactness CXSMILES allows you omit trailing delimiters. You can confirm MarvinJS https://marvinjs-demo.chemaxon.com/latest/ does not complain on input.

**Actual behavior**

Indigo throws an error and expects the label count to equal the number of atoms:
```
C1(=C(C=C(C=C1*)*)N)[N+](=O)[O-] |$;;;;;;R3;R1;;;;$|
```

https://marvinjs-demo.chemaxon.com/latest/

**Attachments**

**Indigo/Bingo version**

1.14.0, 1.13.0 and others (I only tested those two).

**Additional context**

At the least a warning would be better than an error, but such inputs are unambiguous.

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.