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

Uploaded CPython 3.12Windows x86-64

rdkit_montai-1.1.2-cp312-cp312-manylinux_2_34_x86_64.whl (29.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

rdkit_montai-1.1.2-cp312-cp312-manylinux_2_34_aarch64.whl (27.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

rdkit_montai-1.1.2-cp312-cp312-macosx_14_0_arm64.whl (22.7 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

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

File metadata

File hashes

Hashes for rdkit_montai-1.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 42c60b5c037e928fe7176be757def859218d4ea72be38ec8e14a1665cf623754
MD5 39df997ffba27727871cf61777a65ecd
BLAKE2b-256 8bd4bd806ea7e652c0b44642634efcffb59a58efd3b471ba15b93a3da31de2a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.1.2-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e36002c3461e007df840c7beddb2130319f3b0c176857bcbc8bc8b664cb7b4cb
MD5 1e3512091c06e1c5c7e52babc0f4dc1a
BLAKE2b-256 f553cee3c7b420b8ef20e59f59db18d859e69fd3ec0e21718a09773f350aafe5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.1.2-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 33869cc05c0748a0048b607b7a89c21f4e6f818dfb548f5937e90f54dfa1830a
MD5 20802f1503fade2a4de812457832a452
BLAKE2b-256 95254fbc002eb2f0d4f55921561f08e7870325f3fd74e4ffdebe375ba2c1660b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.1.2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ca19c672e40f54b178a641fd88a4eac07a3a13d90faab7e7e993274a7c102be6
MD5 758b45c69cdee8aecc64afdaaf43f097
BLAKE2b-256 da58d80070e939a736edd0844b53b9d9ba25e0b0c744b54db953aa15c7915ed4

See more details on using hashes here.

Provenance

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