epam / epam/Indigo

Support for haptic bonds

Open
#3,233 0 comments 0 reactions 1 assignee Claimed by @NikolaiBalabanov View on GitHub
Dominant language
C++
Stars
406
Forks
134
Avg merge
2d 11h
Merged PRs (30d)
24

Description

## Background

Haptic bonds refer to a type of bonding interaction most commonly discussed in organometallic chemistry, where a ligand attaches to a metal atom through multiple contiguous atoms at once.

[Front-end support](https://github.com/epam/ketcher/issues/8390)

## Requirements

1. Indigo should be able to convert between KET files that contain attachment groups and/or haptic bonds and:
- MOL V3000 (and variants)
- CDX
- CDXML

Expand for an example and a section of MOL specifications

Ferrocene with multi-endpoint bonds
ACCLDraw10102310482D
0 0 0 0 0 999 V3000
M V30 BEGIN CTAB
M V30 COUNTS 13 12 0 0 0
M V30 BEGIN ATOM
M V30 1 C 8.0843 -7.4691 0 0 CHG=-1 CFG=3
M V30 2 C 6.5925 -7.6259 0 0
M V30 3 C 5.9824 -6.2556 0 0
M V30 4 C 7.0971 -5.2519 0 0
M V30 5 C 8.3962 -6.0019 0 0
M V30 6 * 11.6957 -7.5993 0 0
M V30 7 C 10.9375 -6.542 0 0
M V30 8 C 10.6256 -8.0092 0 0 CHG=-1 CFG=3
M V30 9 C 12.4293 -6.3852 0 0
M V30 10 C 13.0394 -7.7556 0 0
M V30 11 C 11.9246 -8.7592 0 0
M V30 12 * 7.1957 -6.5993 0 0
M V30 13 Fe 9.3436 -7.165 0 0 CHG=2
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 1 1 2
M V30 2 2 2 3
M V30 3 1 3 4
M V30 4 2 4 5
M V30 5 1 5 1
M V30 6 1 7 8
M V30 7 2 7 9
M V30 8 1 9 10
M V30 9 2 10 11
M V30 10 1 8 11
M V30 11 9 13 12 ENDPTS=(5 1 5 4 3 2) ATTACH=ALL
M V30 12 9 13 6 ENDPTS=(5 7 8 9 10 11) ATTACH=ALL
M V30 END BOND
M V30 END CTAB
M END

**Note**: The * atom is an internal phantom atom that represents the center of the pi-system (haptic
system).

2. On export to other formats that do not support haptic bonds, they should be ommited.

3. Indigo should support PNG/SVG render for structures that include haptic bonds.

4. For the purposes of layout/clean up haptic bonds between an atom and an attachment group should be 1,5x the length of all other bonds.

> Haptic bonds are often established between an attachment group (AG) that is made up of a hexagon, pentagon, etc. For the resulting structure to look correct, the default bond length should be increased. This is only valid for AG-to-atom haptic bonds, not for atom-atom haptic bonds.
> Desired appearance:
> Image
> Suboptimal appearance:
> Image

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.