epam / epam/Indigo

Support Graft, Crosslink, and Modification S-groups

Open
#3,791 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 Graft, Crosslink, and Modification 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/10666

**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:
Graft
Crosslink
Modification
The S-group type, included atoms, and repeat pattern should be preserved.

MOL V2000

Support:
GRA — Graft
CRO — Crosslink
MOD — Modification
The repeat pattern should be read from and written to M SCN.

MOL V3000

Support:
GRA — Graft
CRO — Crosslink
MOD — Modification
The repeat pattern should be read from and written to CONNECT.

CDX and CDXML

Graft, Crosslink, Modification, 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:
Graft — grf
Crosslink — xl
Modification — mod

Render brackets and the repeat pattern for Graft, Crosslink and Modification in the same way as for SRU polymer.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the KET, MOL V2000/V3000, CDX, and CDXML conversion paths, then inspect the PNG and SVG rendering paths. Done means Graft, Crosslink, and Modification S-group types, included atoms, repeat patterns, and required abbreviations and brackets are preserved or displayed across the listed formats.

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
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.