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-1.1.1-cp312-cp312-win_amd64.whl (47.7 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

rdkit_montai-1.1.1-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-1.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rdkit_montai-1.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aea6a3fdb2c84cb71b13a62c9ca4535775f4ca50dc6a0edcf1a1cec99b82d4fc
MD5 70dc3d416dcba0d9bcf0d499b6211f98
BLAKE2b-256 38719a65c8ae4414fd38effac08e129f3581ca598604b35a8dc2b961d9c1f0cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdkit_montai-1.1.1-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-1.1.1-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for rdkit_montai-1.1.1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a0729dcca8d62f840944244bff033d429c316851313a43c63e8a9ab00dc6aa8e
MD5 011356374b7fb7ab7555493c6e5a4b52
BLAKE2b-256 f77dce78ffa4b91b47cc1033183427a2f41c6d5eda3b0f72f302ce1176b32b7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdkit_montai-1.1.1-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-1.1.1-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for rdkit_montai-1.1.1-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 00e3d4387905e68954fd5dfd382441219a9bd284455ca774ff8632d2c083f373
MD5 0905b8bdbde366e06bf0b0696cee7fad
BLAKE2b-256 c7d26921c0091e0567d707b132a023301955d327d3dd743ba171a563ea94e840

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdkit_montai-1.1.1-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-1.1.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for rdkit_montai-1.1.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 525a2697c1fb38ae157cc9d43a21ba44a702d612fc5c97e785789c000e21931f
MD5 3ea4f07992b171580e07cf2268386dd7
BLAKE2b-256 7f9ac3cb803500336bf02449091fe5678576f0cb86f06acaeedaab8e09482919

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdkit_montai-1.1.1-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