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

Uploaded CPython 3.12Windows x86-64

rdkit_montai-1.1.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-1.1.0-cp312-cp312-manylinux_2_34_aarch64.whl (26.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

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

File metadata

File hashes

Hashes for rdkit_montai-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fe58a3b593a82e521d4a8f61542f4fa6d671a7fcb2c9d063280b4510dbac21ee
MD5 df90b2d35e705cbead8e31ac6a3a525b
BLAKE2b-256 bf899fcd78eaf9bcf1fd51b7ad62d37a3b0133ef3d313f8ddc19a0849fd623dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 691423271d90f3abea30d849a206c81a04bca391272af49b10e7cddb07dacad2
MD5 8f444feaec8532f141d4bddf43765122
BLAKE2b-256 561852d3530ec6b9c4b00d59298ee0ce4f8fc62edcd534752e1aaa94cccb1bfc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.1.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f192f4c2c39fd614bdc6233c9e1352cf9ec6a09c9376cfb17a9744c06cc5ba94
MD5 9be44082f3f8a22f0fb044ee948fe342
BLAKE2b-256 9edd8bda4679c6c9865453043dbffd5d8823c6f9065956685d2f91af5030b31d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.1.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 030c8e3e3f586ac2f86ab2ad031b80698e2dbd40f9d345e59952d41f6be99b27
MD5 03fd74aca2145c04c981f898bfb1798a
BLAKE2b-256 2100c06f23bcf71b58816602907190060c0c43c5fdd515b2b3fdd4e3e153ab2e

See more details on using hashes here.

Provenance

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