epam / epam/Indigo

Support Any Polymer, Mer, Generic, and Monomer S-groups

Open
#3,790 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 create Any Polymer, Mer, Generic, and Monomer S-groups. Indigo should preserve these types and their properties when structures are loaded, saved, and converted.
Supporting Ketcher issue: https://github.com/epam/ketcher/issues/10665

**Requirements**

Indigo should support conversion between KET and MOL V2000 and V3000 formats and their variants, CDX, and CDXML.

KET

KET should represent the following as separate S-group types:
Any Polymer
Mer
Generic
Monomer
The S-group type, included atoms, and repeat pattern should be preserved.

MOL V2000

Support:
ANY — Any Polymer
MER — Mer
GEN — Generic
MON — Monomer
The repeat pattern should be read from and written to M SCN.

MOL V3000

Support:
ANY — Any Polymer
GEN — Generic
MON — Monomer
The repeat pattern should be read from and written to CONNECT.

CDX and CDXML

Any Polymer, Mer, Generic, Monomer, and repeat pattern information should be converted to and from the corresponding KET representation.

PNG and SVG

Display the abbreviation outside the closing bracket, at its lower-right side:
Any polymer — anyp
Mer — mer
Monomer — mon
Generic — no abbreviation

Render brackets for Any polymer, Mer, Generic and Monomer, and the repeat pattern for Any polymer and Mer in the same way as for SRU polymer.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing Indigo's KET, MOL V2000/V3000, CDX/CDXML conversion entry points and the PNG/SVG rendering path. Compare the existing SRU polymer handling with the required Any Polymer, Mer, Generic, and Monomer mappings; done means types, included atoms, repeat patterns, and required abbreviations survive all listed conversions and render correctly.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.