Skip to main content

Synthetically Driven Elaborations

Project description

Syndirella Logo

GitHub Tag release

Syndirella (Synthesis Directed Elaborations) is a tool for generating and scoring synthetically practical elaborations of molecules designed from fragment screens. Starting from the retrosynthetic analysis of fragment merged molecules, superstructures of the original reactants are found by catalog search and filtered by selectivity issues. The elaborated final products are defined by reaction SMIRKS patterns and energy minimized in the protein with restraints to experimental data.

Preprint: https://chemrxiv.org/engage/chemrxiv/article-details/68d4f08ff416303770403a44

Documentation

Full Documentation - Complete user guide, API reference, and examples

Documentation Status

Quick Start

Installation

conda create -n syndirella python=3.10
conda activate syndirella
pip install syndirella
pip install aizynthfinder
python -c 'import pyrosetta_installer; pyrosetta_installer.install_pyrosetta()'  # run once, for Fragmenstein

Note: PyRosetta is required by Fragmenstein to operate. Syndirella does not use PyRosetta by default to score compounds. PyRosetta is available for academic and non-commercial use (see PyRosetta License).

Troubleshooting:

cgrtools fails to install:

pip install "cython<3.2"
conda install -c conda-forge c-compiler cxx-compiler
pip install --no-build-isolation cgrtools

Install with HIPPO (optional)

pip install aizynthfinder --no-deps # HIPPO requires `rdkit>=2024.9.6`; AiZynthFinder declares `rdkit<2024`. Install in this order so pip does not pull AiZynthFinder’s RDKit
pip install syndirella[hippo]
conda install -c conda-forge chemicalite

See the HIPPO documentation for full setup and version compatibility.

Basic Usage

  1. Setup AiZynthFinder (required for retrosynthesis):

    ⚠️ WARNING: This step downloads large model files (~750MB total) if run the first time. These are required to run AiZynthFinder.

    Files will be downloaded to: [syndirella_package_path]/aizynth/

    syndirella setup-aizynth
    
  2. Run the pipeline:

    syndirella run --input /absolute/path/to/input.csv --output /absolute/path/to/output_directory --templates /absolute/path/to/templates/ --hits_path /absolute/path/to/fragments.sdf
    

    Note: All paths must be absolute paths.

Example Input

Create a CSV file with your fragment data. Hit names must match the exact names in your SDF file:

smiles,hit1,hit2,hit3,template,compound_set
O=C(NC1CC(C(F)(F)F)C1)c1cc2ccsc2[nH]1,A71EV2A-x0556_A_147_1_A71EV2A-x0526+A+147+1,A71EV2A-x0566_A_147_1_A71EV2A-x0526+A+147+1,,Ax0310a_apo-desolv,my_compound_set
CC(=O)Nc1cc(CC(=O)NCC(NC(=O)CCl)c2cccnc2)c(NC(C)=O)nn1,A71EV2A-x1346_A_250_1_A71EV2A-x0526+A+147+1,,,Ax1346a_apo-desolv,my_compound_set

For complete examples and templates, see the run_syndirella_example directory.

Output Files

The main output file to read is the structured_output.pkl.gz file, which contains:

  • Complete synthesis routes with reaction details
  • Placement information with energy values
  • Structural quality metrics
  • Product information and success flags

This file contains all the information needed to analyze and reproduce the elaborations.

Requirements

  • Python 3.10
  • RDKit
  • AiZynthFinder
  • Fragmenstein
  • Additional dependencies (see pyproject.toml)

Learn More

License

This project is licensed under the MIT 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 Distribution

xchem_syndirella-1.0.0a1.tar.gz (13.1 MB view details)

Uploaded Source

Built Distribution

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

xchem_syndirella-1.0.0a1-py3-none-any.whl (9.6 MB view details)

Uploaded Python 3

File details

Details for the file xchem_syndirella-1.0.0a1.tar.gz.

File metadata

  • Download URL: xchem_syndirella-1.0.0a1.tar.gz
  • Upload date:
  • Size: 13.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xchem_syndirella-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 ba921fb6370cdee8386e0ac5dad3e5347d61106bffdabe3f2eaddbe54a6c915a
MD5 6041dcb3a59228d4196ba359a199a493
BLAKE2b-256 f495228449e09a755a8c9b2ed4221b779b43dcee2c5da581b75aba2dd9f0a95c

See more details on using hashes here.

Provenance

The following attestation bundles were made for xchem_syndirella-1.0.0a1.tar.gz:

Publisher: release.yaml on xchem/syndirella

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

File details

Details for the file xchem_syndirella-1.0.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for xchem_syndirella-1.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 6206ff646c3dfbee869f9d1044d013f9a9689d0fe9519332378bd2c824fadebb
MD5 08ddc27ac0e50e29815ad1319c0572d0
BLAKE2b-256 b6798035b47065f4d381d7549fac6f6f1271786b6c0edd8fa1eb801ee17df4d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for xchem_syndirella-1.0.0a1-py3-none-any.whl:

Publisher: release.yaml on xchem/syndirella

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