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.
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.
See online web server at Here.
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)]
You will get the prediction of one molecule for central chirality.
[{
'center id': [4],
'quadrupole matrix':
[[array([[-0.29989323, -1.08474687, 0.09943544],
[-2.0754821 , 0.47857598, 1.02051223],
[-0.0064714 , -0.03258116, 2.29906673]])]],
'determinant': [[-5.501797575969392]],
'norm CP': [[-0.8993660781912431]],
'sign': [[-1.0]]
}]
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.
We also provide sampled achiral molecules and centrally chiral molecules with multiple centers from the PubChem3D database in the folder ./data.
@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},
}



