epam / epam/Indigo

Support different S-group bracket types

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

Description

**Background**

Ketcher will allow users to select one of three bracket types for an S-group:
Square: []
Round: ()
Curly: {}
Indigo should preserve the selected type where the format supports it and use it when rendering the structure.
Supporting Ketcher issue - https://github.com/epam/ketcher/issues/10469

**Requirements**

1. KET
Store the selected bracket style in the corresponding S-group object.
Supported styles:
Square brackets [ ]
Parentheses ( )
Curly brackets { }
Preserve and render the selected style during KET load and save.

2. MOL V2000
No M SBT record or style 0 → Square brackets [ ]
Style 1 → Parentheses ( )
Curly brackets { } must be exported as Square brackets [ ]
3. MOL V3000
No BRKTYP or BRKTYP=BRACKET → Square brackets [ ]
BRKTYP=PAREN → Parentheses ( )
Curly brackets { } must be exported as BRKTYP=BRACKET

4. CDX
SquarePair ↔ Square brackets [ ]RoundPair ↔ Parentheses ( )
CurlyPair ↔ Curly brackets { }

5. CDXML
BracketType="SquarePair" ↔ Square brackets [ ]
BracketType="RoundPair" ↔ Parentheses ( )
BracketType="CurlyPair" ↔ Curly brackets { }

6. PNG and SVG rendering of S-groups with different bracket types should be supported.

Contributor guide

No contributing guide indexed for this repository

Research direction

No implementation files or tests are named. Start by locating the S-group representation and the KET, MOL V2000/V3000, CDX, and CDXML load/save paths, then trace PNG and SVG rendering; done means all listed bracket mappings are preserved or converted as specified and both renderers show the selected type.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.