epam / epam/Indigo

Calculating CIP for atoms that cannot be chiral centers

Open
#2,679 0 comments 0 reactions 0 assignees View on GitHub
Ljubica found bugs Priority: Medium Severity: High
Dominant language
C++
Stars
406
Forks
134
Avg merge
2d 11h
Merged PRs (30d)
24

Description

**Steps to Reproduce**
1. Go to Ketcher micromolecules mode
2. Draw the following structures:
![image](https://github.com/epam/Indigo/assets/169887211/d6e6e0de-625f-4cbe-98ad-633d5eb6db86)
3. Select calculate CIP

**Actual behavior**

Ketcher calculates CIP for germanium, lead and tin.
![image](https://github.com/epam/Indigo/assets/169887211/302ae8ff-b71b-43b9-95fe-1b62249d12a3)

**Expected behavior**

Only carbon (C), nitrogen (N), silicon (Si), phosphorus (P), sulfur (S), arsenic (As), selenium (Se), and tellurium (Te), and their isoelectronic equivalents can be chiral centers.

An isoelectronic equivalent is an atom/ion that has the same number of electrons as some other atom/ion. For example:
![image](https://github.com/epam/Indigo/assets/169887211/17aa4a38-bba3-4d89-8d00-82bf387c992e)

Only atoms that fulfill these conditions can be chiral centers. Other conditions need to be met for CIP to be calculated. See related issue [#4754](https://github.com/epam/Indigo/issues/2678) for those conditions.

**Ketcher version v2.22.0**

Contributor guide

No contributing guide indexed for this repository

Research direction

No source file or test is named. Reproduce the issue in Ketcher micromolecules mode, then trace the calculate-CIP entry point and compare atom eligibility with the expected list; done means germanium, lead, and tin no longer receive CIP while the listed atoms and their isoelectronic equivalents still do.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.