Skip to main content

The chiralfinder package.

Project description

chiralfinder

Data and codes for the paper "A Unifying Geometric Framework for Computational Representation of Stereoisomers Based on Mixed Product", published in Cell Reports Physical Science 2026.

Overview

Molecular chirality plays a fundamental role in chemistry, biology, and drug discovery, yet existing computational methods struggle with complex stereochemistry and cannot quantify chirality. This project introduces a unifying geometric framework based on mixed product representations that directly map molecular symmetry breaking into a 3D algebraic space. The framework provides quantitative descriptors for each stereogenic element, going beyond the qualitative Cahn–Ingold–Prelog rules. We implement this theory in ChiralFinder, a computational tool that accurately identifies and distinguishes central and axial stereogenic elements, differentiates conformations, and integrates effectively with machine learning models to improve spectra prediction. By offering a rigorous geometric foundation, ChiralFinder enables automated chirality analysis and forms the basis for a comprehensive stereoisomer representation framework with potential extensions to planar and helical chirality.

1

Web server

See online web server at Here.

Quick use

To use ChiralFinder as a python package, install Anaconda, create and enter your own environment like

conda create -n env_test python=3.10

Enter the conda environment and install the ChiralFinder package through pip like

conda activate env_test
pip install chiralfinder

Run run_example.py to get example results.

python run_example.py
from chiralfinder import ChiralFinder

if __name__ == '__main__':
    smi_list = ["C[C@H]1CC(=O)[C@]2(CCCC2=O)C1", "CC1=CC=C(SC2=C(C)N(C3=CC=CC=C3C(C)(C)C)C(C)=C2)C=C1"]

    chiral_finder = ChiralFinder(smi_list, "SMILES")
    res_ = chiral_finder.get_axial(n_cpus=8)
    print(res_[0]["chiral axes"], res_[1]["chiral axes"])
    chiral_finder.draw_res_axial("./img")

    smi_list_center = ["BrC/C(=C\[C@@H]1CCCO1)C1CCCCC1"]
    chiral_finder = ChiralFinder(smi_list_center, "SMILES")
    res_ = chiral_finder.get_central()
    print(res_)

You will get the images of two molecules with predicted chiral axes in the folder ./img by default. Predicted chiral axes:

[(5,)] [(9, 10)]

01

You will get the prediction of one molecule for central chirality.

[{'center id': [4], 
'quadrupole matrix': 
       [[array([[-0.29989338, -1.08474684,  0.09943545],
       [-0.58823299,  0.65781245, -1.20683256],
       [ 2.07548201, -0.47857599, -1.02051216]])]], 
'determinant': [[3.6349643722752485]], 
'norm CP': [[0.9890715818535913]], 
'sign': [[1.0]], 
'neighbor ids': [[18, 5, 3, 8]]}]

Dataset

The RotA dataset is stored in the folder ./data. It contains 3,140 conformers of 650 axially chiral molecules, each with at least one chiral axis. The excel file contains labeled chiral axes and some calculated molecular properties. The pickle file includes calculated molecular conformers. The dataset includes a wide range of axially chiral structures, and the corresponding molecular fingerprints are visualized below.

1

We also provide sampled achiral molecules and centrally chiral molecules with multiple centers from the PubChem3D database in the folder ./data.

Citation

@article{Shi2025ChiralFinder,
  author    = {Shi, Runhan and Zhang, Chi and Yu, Gufeng and Huo, Xiaohong and Yang, Yang},
  title     = {A unifying geometric framework for computational representation of stereoisomers based on mixed product},
  journal   = {Cell Reports Physical Science},
  year      = {2026},
  volume    = {7},
  number    = {1},
  pages     = {103065},
  doi       = {10.1016/j.xcrp.2025.103065},
}

Project details


Download files

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

Source Distribution

chiralfinder-0.0.3.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

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

chiralfinder-0.0.3-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file chiralfinder-0.0.3.tar.gz.

File metadata

  • Download URL: chiralfinder-0.0.3.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for chiralfinder-0.0.3.tar.gz
Algorithm Hash digest
SHA256 4101a048941693b92fd2b07c5e5673aa4cf58527135702aa9c9f2c5c0fd8ccb2
MD5 031cf0c8a7773ada00b587a5340a1d3c
BLAKE2b-256 a4ac53e3d426226996d55484f385e459a100f92e5358b1e531b23b929ce4fedf

See more details on using hashes here.

File details

Details for the file chiralfinder-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: chiralfinder-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for chiralfinder-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 82cf78985a5796c49cbfb402943b96fe16542fdad1cb1034dce5bf73134a7d42
MD5 c88b929809a04bb48d48aa2f83077abb
BLAKE2b-256 35ba35d4b8f1cac2bb404c05c399167da98daf0d71d5296d8d24d2854c9bcf6e

See more details on using hashes here.

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