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

Uploaded CPython 3.12Windows x86-64

rdkit_montai-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl (27.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

rdkit_montai-1.0.1-cp312-cp312-manylinux_2_34_aarch64.whl (25.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

rdkit_montai-1.0.1-cp312-cp312-macosx_14_0_arm64.whl (21.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

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

File metadata

File hashes

Hashes for rdkit_montai-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3d81a7fed797b91187f5840be4a1681e3f2d379818fb3ad87010517a88796593
MD5 8e0ff58c66446b9f63bb6508e552de64
BLAKE2b-256 6f2db3153cbadfe5f19f2f3a75589f223d60ee8156be7a6a27a3be75848e75ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.0.1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8ff89d6dcd16af3e0434d215c04ee4ef57d62c02f2d2dcbabfac0a8014ebb3a7
MD5 9bffdb50ca18d0dd66e7439ce65beef5
BLAKE2b-256 1007d98d894f1e926707f00aecf13707fc00c421fc59bde34f7d3c8d7e0516e8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.0.1-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 722bd3717ecfcee397402a021b80ef15d9e9f0086301cb509a6f28bb8d698c49
MD5 dc27d6890b5c21714d93799d67f5f7c5
BLAKE2b-256 797661d438685aca1cc9250d2b1bf4837dc047b9aaf20e1e42190717d927b069

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rdkit_montai-1.0.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ff9f7c8c2d2e034308d5d9fa6d09a2589998949b51af9b0e5dbc023174077f7d
MD5 e2872bf5357e7677d1c455fd58249366
BLAKE2b-256 0b0db8f1925cdecdac75284c51a18f4c0338f646e5e94530e0f7a1dc2b1c7c5c

See more details on using hashes here.

Provenance

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