Skip to main content

SynEPD

SynEPD is a hierarchical database of polar organic reaction mechanisms. It combines curated atom-mapped reactions, the POLAR taxonomy, reaction-center (RC) and mechanistic-center (MC) templates, ITS graphs, and ordered electron-pushing diagram (EPD) arrows in SQLite and a web explorer.

SynEPD Explorer preview

Dataset

Item Count
Reactions 1,926
Molecules 2,277
RC templates 1,521
MC templates 1,540
EPD arrows 8,123
Taxonomy classes 939
Accepted RXNO/MOP links 218

An RC describes changed bonds. An MC extends its RC with the transition edges required by the curated electron flow. In the current release, 284 MC templates (18.44%) differ from their RC and 229 (14.87%) structurally extend it.

The corpus covers closed-shell, paired-electron mechanisms. Concerted reactions are included when their electron movement is expressible with two-electron arrows. Radical and single-electron-transfer mechanisms are excluded because the current vocabulary has no fishhook-arrow representation.

Quick Start

Create the Conda environment and install the package:

conda env create -f env.yaml
conda activate synepd
python -m pip install -e ".[dev]"

Start the local explorer:

./run_server.sh

Then open http://127.0.0.1:8000/. Versioned API routes are available under /api/v1; /api remains as a compatibility alias.

Query from Python

from synepd.query import SynEPDQuery

with SynEPDQuery("data/epdb.sqlite") as query:
    result = query.epd("CC[O-].[NH4+]>>CCO")
    for arrow in result.get("arrows", []):
        print(
            arrow["arrow_index"],
            arrow["arrow_type_code"],
            arrow["source_atoms"],
            "->",
            arrow["target_atoms"],
        )

The same interface supports molecule, taxonomy, arrow-sequence, RC-template, ITS/RC/MC, and RXNO/MOP queries. SynEPDQuery.from_release(...) resolves a tagged release through the zenodo, github, or auto sources.

Build and Validate the Data

Build the release database:

PYTHONPATH=. python -m synepd.construct.build_release_db

Rebuild or check the external RXNO/MOP linkage:

python scripts/build_rxno_mapping.py --obo data/rxno.obo
python scripts/build_rxno_mapping.py --check --obo data/rxno.obo

Verify the checked-in release artifact:

python -m synepd.construct.release_manifest data/epdb.sqlite \
  --verify data/release-manifest.json

Core release files are:

Path Purpose
data/polar.json Curated production reaction records
data/hierarchy.md POLAR taxonomy source
data/epdb.sqlite Built read-only release database
data/rxno_crosswalk.tsv SynEPD-to-RXNO/MOP linkage
data/release-manifest.json Version, counts, and checksums
synepd/web/static/data_arch.tex Editable database diagram source

SQLite contains the reaction, molecular, taxonomy, RC, MC, ITS, and EPD core. RXNO/MOP mappings remain versioned TSV/RDF artifacts and are resolved on demand instead of being duplicated in SQLite. Narrative curation notes and internal named-reaction relations are not exposed through the public schema.

Development Checks

python -m black --check --workers 1 synepd test
./lint.sh
./pytest.sh
python -m synepd.precheck.epd_verification --strict

For a multi-worker deployment, run ./run_server.sh run --no-reload --workers 4 behind a reverse proxy. The bundled SQLite release is opened read-only; PostgreSQL is supported for horizontally scaled or write-heavy deployments.

License and Acknowledgment

The software is licensed under Apache License 2.0. Curated release data is distributed under CC BY 4.0 where stated in its metadata. See LICENSE.

This project received funding from the European Union's Horizon Europe Doctoral Network programme under Marie Skłodowska-Curie grant agreement No. 101072930 (TACsy).

Download files

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

Source Distribution

synepd-0.4.0.tar.gz (129.5 kB view details)

Uploaded Source

Built Distribution

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

synepd-0.4.0-py3-none-any.whl (141.1 kB view details)

Uploaded Python 3

File details

Details for the file synepd-0.4.0.tar.gz.

File metadata

  • Download URL: synepd-0.4.0.tar.gz
  • Upload date:
  • Size: 129.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for synepd-0.4.0.tar.gz
Algorithm Hash digest
SHA256 1edbb8b4e9eb79548451697e0ad8dff451012a28a666cb17f16a3c9f1c239a23
MD5 1102e6f4bf73aab08f82c75e7945c239
BLAKE2b-256 5467fa86444ea166c2ac92c345f20ac5f3e0617ebca3157aa9dabed2b3b05d67

See more details on using hashes here.

Provenance

The following attestation bundles were made for synepd-0.4.0.tar.gz:

Publisher: publish-package.yml on TieuLongPhan/SynEPD

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

File details

Details for the file synepd-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: synepd-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 141.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for synepd-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24cb6bdc348d8839ba25bfb9a54b070bacf01647569cc54f11277ba4cc11358b
MD5 164e2920ecb20b64a2e12f8acb310116
BLAKE2b-256 87f8c583a63d027a5687f2404b1d3784fa888e956cf4ab4716c58bea7075c54c

See more details on using hashes here.

Provenance

The following attestation bundles were made for synepd-0.4.0-py3-none-any.whl:

Publisher: publish-package.yml on TieuLongPhan/SynEPD

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

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 files

0.3.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page