Skip to main content

Reaction Database for benchmarking

Project description

SynRXN

PyPI version Release Last Commit Zenodo CI Stars

Reaction Database for Benchmarking SynRXN is a curated, provenance-tracked collection of reaction datasets and evaluation manifests designed for reproducible benchmarking of reaction-informatics tasks (rebalancing, atom-atom mapping, reaction classification, property prediction, and synthesis/retrosynthesis). It provides standardized splits, manifest files (RNG seeds & split indices), and lightweight utilities to load and inspect datasets for fair, reproducible model comparison.

Installation

  1. Python Installation: Ensure that Python 3.11 or later is installed on your system. You can download it from python.org.

  2. Creating a Virtual Environment (Optional but Recommended): It's recommended to use a virtual environment to avoid conflicts with other projects or system-wide packages. Use the following commands to create and activate a virtual environment:

python -m venv synrxn-env
source synrxn-env/bin/activate  

Or Conda

conda create --name synrxn-env python=3.11
conda activate synrxn-env
  1. Install from PyPi: The easiest way to use SynTemp is by installing the PyPI package synrxn.
pip install synrxn

Optional if you want to install full version

pip install synrxn[all]

Example

from synrxn.data_loader import DataLoader
from synrxn.split.repeated_kfold import RepeatedKFoldsSplitter

# create a loader for the 'property' task and print available dataset names
dl = DataLoader(task="property")
dl.print_names()

# expected stdout:
# >>Datasets in task 'property': 11
#   b97xd3                          lograte                         rgd1                          
#   cycloadd                        phosphatase                     sn2                           
#   e2                              rad6re                          snar                          
#   e2sn2                

# load the 'b97xd3' dataset (returns a pandas.DataFrame)
df = dl.load("b97xd3")
splitter = RepeatedKFoldsSplitter(
    n_splits=5,
    n_repeats=5,
    ratio=(8, 1, 1),
    shuffle=True,
    random_state=42,
)

# compute splits (no stratification in this example)
splitter.split(df, stratify_col=None)

# retrieve one specific split (repeat 0, fold 0) as pandas DataFrames
train_df, val_df, test_df = splitter.get_split(repeat=0, fold=0, as_frame=True)

# quick checks
print(type(train_df), type(val_df), type(test_df))     
print(len(train_df), len(val_df), len(test_df))        
print(train_df.columns.tolist())          

Contributing

Publication

SynRXN: A Benchmarking Framework and Open Data Repository for Computer-Aided Synthesis Planning

License

This project is licensed under MIT License - see the License file for details.

Acknowledgments

This project has received funding from the European Unions Horizon Europe Doctoral Network programme under the Marie-Skłodowska-Curie grant agreement No 101072930 (TACsy -- Training Alliance for Computational)

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

synrxn-0.0.5.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

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

synrxn-0.0.5-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file synrxn-0.0.5.tar.gz.

File metadata

  • Download URL: synrxn-0.0.5.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for synrxn-0.0.5.tar.gz
Algorithm Hash digest
SHA256 49e9c91664b512e6afee1471938a3628be8e6f23241d13c5fe6e2461092dc41a
MD5 d08b3408b6a0a3f7442d9c2e54464962
BLAKE2b-256 34bd1fc06d7aa9380cb501bb128bfdfa29b5d50724134e43c6a761fdc8ae56db

See more details on using hashes here.

Provenance

The following attestation bundles were made for synrxn-0.0.5.tar.gz:

Publisher: publish-package.yml on TieuLongPhan/SynRXN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file synrxn-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: synrxn-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for synrxn-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b0b5062e9a36b2e69dcb4046763f68c31eb9f2aad15945723a9557b81f133b6f
MD5 d8824d85945dd36d7630eb8ac36a1a38
BLAKE2b-256 2322f7a98bf4e708bfcae7976fe23641a72b2e16c4a9943896295690aab6581d

See more details on using hashes here.

Provenance

The following attestation bundles were made for synrxn-0.0.5-py3-none-any.whl:

Publisher: publish-package.yml on TieuLongPhan/SynRXN

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