Skip to main content

RDKit fork with enhanced stereochemistry InChI support

Project description

rdkit-montai

Fork of RDKit 2026.03.1pre with enhanced stereochemistry InChI support.

Install

Pre-built wheels for Linux (x86_64, aarch64) and macOS (ARM):

pip install rdkit-montai

What's different from upstream RDKit?

Upstream RDKit silently drops enhanced stereo group annotations (ABS, OR, AND) during InChI generation. This means a racemic mixture and a single enantiomer produce identical InChI Keys — they are indistinguishable.

This fork fixes that:

  • Mol → InChI: Stereo groups (ABS/OR/AND) are passed to the InChI library via the GetINCHIEx extended API, producing a /s layer that encodes the stereo group type
  • InChI → Mol: The /s layer is parsed back into StereoGroup objects, so round-trips preserve stereo annotations
  • Stable keys: Enhanced stereo InChIs produce standard InChI=1S/ output (not Beta 1B), so keys will match the eventual official IUPAC release
  • InChI v1.07.5: Upgraded from v1.05 (2017) to the IUPAC-InChI dev branch with enhanced stereochemistry support
Group Type Meaning InChI /s prefix
ABS Absolute configuration 1(...)
OR This enantiomer or its mirror 2(...)
AND Racemic mixture 3(...)

Usage

from rdkit import Chem
from rdkit.Chem.inchi import MolToInchi, MolFromInchi

# Create a molecule with an AND stereo group (racemic)
mol = Chem.MolFromSmiles('[C@@H](F)(Cl)Br |&1:0|')

# Generate InChI — stereo group is preserved in /s layer
inchi = MolToInchi(mol)
print(inchi)  # Contains /s3(...) for AND group

# Round-trip back — stereo group is restored
mol2 = MolFromInchi(inchi)
groups = mol2.GetStereoGroups()
print(len(groups))  # 1

Preserving atom order with AuxInfo

from rdkit.Chem.inchi import MolToInchiAndAuxInfo, MolFromInchiAndAuxInfo

mol = Chem.MolFromSmiles('c1cc(O)ccc1N')
inchi, aux = MolToInchiAndAuxInfo(mol)
mol2 = MolFromInchiAndAuxInfo(inchi, aux)
# Atom order and coordinates are preserved

Upstream status

Change Upstream PR Status
MolFromInchiAndAuxInfo rdkit/rdkit #9158 Merged into rdkit:main
Enhanced stereo InChI Not yet submitted (waiting for IUPAC official release)
InChI v1.07 upgrade Depends on IUPAC official release

Base commit: RDKit 2026.03.1pre (22be7245d)

License

Code released under the BSD license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rdkit_montai-2.0.0-cp312-cp312-win_amd64.whl (47.7 MB view details)

Uploaded CPython 3.12Windows x86-64

rdkit_montai-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl (28.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

rdkit_montai-2.0.0-cp312-cp312-manylinux_2_34_aarch64.whl (26.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

rdkit_montai-2.0.0-cp312-cp312-macosx_14_0_arm64.whl (22.2 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

Details for the file rdkit_montai-2.0.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rdkit_montai-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ccc1fe2495bdce3446e55f34ecad6266dadd8c013a98f30bf802fb47ffae6297
MD5 fcc765de43b1b2542af6970f05992381
BLAKE2b-256 ab11c89fe60dc632bef7e9ce92f3fe007a4bd863eabf71123b82b9d0d5571ecf

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdkit_montai-2.0.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on fl65inc/rdkit-montai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rdkit_montai-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for rdkit_montai-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 189444b68118ad2e4c3f97cf9fd6fd7a8115073cda4c6d506e33d20c82d16920
MD5 6357f37b26f66ee62f3c30dd6148cf14
BLAKE2b-256 fff564361168c44258986e004f14ba59dacb728eb04c3603fbe332b0ad397bcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdkit_montai-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: release.yml on fl65inc/rdkit-montai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rdkit_montai-2.0.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for rdkit_montai-2.0.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f8e2628ddab3f9d3577571a705dbd2ae51b537a8a2ffcf1a7c7429164f31db1c
MD5 b76d4c06e5a83842ba0002b24c9e0a4d
BLAKE2b-256 fae614ee09e290d090352c9cddf50d07e06da81ad978821219f5f0cd60404ff2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdkit_montai-2.0.0-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: release.yml on fl65inc/rdkit-montai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rdkit_montai-2.0.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for rdkit_montai-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6e8e2e40f5eba867b880eaa520c8f5e8e61316ad2b37f328dcdffbfb6f7f9e45
MD5 6614b1c09bce5ccb50456eb134f37daf
BLAKE2b-256 2d9215a0b0ac8983dd7b0e22a1b670d22e19cc58c6965c25f5aae9b3cfbe6cdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdkit_montai-2.0.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: release.yml on fl65inc/rdkit-montai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page