Skip to main content

Graph-based reaction templates extraction

Project description

SynUtils

Utils for Synthesis Planning

SynUtils is a collection of tools designed to support the planning and execution of chemical synthesis. This repository provides computational resources and utilities aimed at enhancing the efficiency and accuracy of synthesis planning through the use of advanced algorithms and AI-driven models.

SynUtils

Our tools are tailored to assist researchers and chemists in navigating complex chemical reactions and synthesis pathways, leveraging the power of modern computational chemistry. Whether you're designing novel compounds or optimizing existing processes, SynUtils aims to provide the critical tools you need.

For more details on each utility within the repository, please refer to the documentation provided in the respective folders.

Step-by-Step Installation Guide

  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 synutils-env
source synutils-env/bin/activate  

Or Conda

conda create --name synutils-env python=3.11
conda activate synutils-env
  1. Cloning and Installing SynUtils: Clone the SynUtils repository from GitHub and install it:
git clone https://github.com/TieuLongPhan/SynUtils.git
cd SynUtils
pip install -r requirements.txt
pip install black flake8 pytest # black for formating, flake8 for checking format, pytest for testing

Setting Up Your Development Environment

Before you start, ensure your local development environment is set up correctly. Pull the latest version of the main branch to start with the most recent stable code.

git checkout main
git pull

Working on New Features

  1. Create a New Branch:
    For every new feature or bug fix, create a new branch from the main branch. Name your branch meaningfully, related to the feature or fix you are working on.

    git checkout -b feature/your-feature-name
    
  2. Develop and Commit Changes:
    Make your changes locally, commit them to your branch. Keep your commits small and focused; each should represent a logical unit of work.

    git commit -m "Describe the change"
    
  3. Run Quality Checks:
    Before finalizing your feature, run the following commands to ensure your code meets our formatting standards and passes all tests:

    ./lint.sh # Check code format
    pytest Test # Run tests
    

    Fix any issues or errors highlighted by these checks.

Integrating Changes

  1. Rebase onto Staging:
    Once your feature is complete and tests pass, rebase your changes onto the staging branch to prepare for integration.

    git fetch origin
    git rebase origin/staging
    

    Carefully resolve any conflicts that arise during the rebase.

  2. Push to Your Feature Branch: After successfully rebasing, push your branch to the remote repository.

    git push origin feature/your-feature-name
    
  3. Create a Pull Request: Open a pull request from your feature branch to the stagging branch. Ensure the pull request description clearly describes the changes and any additional context necessary for review.

Important Notes

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

synutility-0.0.3.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

synutility-0.0.3-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: synutility-0.0.3.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for synutility-0.0.3.tar.gz
Algorithm Hash digest
SHA256 49af686b90aa42957a96d051346c48347c5fb2b271249b390757b901f8a86a94
MD5 bb2cbc4a89d756b8f80c75660d911d7a
BLAKE2b-256 89c2ce3eae7e11938fa7ee36ebecf3f9d63ec4798d4cdce081380611417b2cf6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: synutility-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for synutility-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f8f11726c071e8954ffd6945c3ff669482ad2d0000439779bfbc7a363f3f3e04
MD5 db79f49a01ed968216235fdc0e478a9a
BLAKE2b-256 5ab420f8cc03c9215e21b97712619c142f776829b18a0e72d72ba56d38eb0528

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page