Skip to content

Latest commit

 

History

History
56 lines (35 loc) · 1.64 KB

DEV-GUIDE.md

File metadata and controls

56 lines (35 loc) · 1.64 KB

XChem Align Developer Guide

Tools to generate data suitable for loading into Fragalysis.

This supersedes Fragalysis-API.

Prerequisites

  • Python 3.10 or later

Getting started (to contribute)

Project dependencies are defined in the pyproject.toml file.

You will need to use Python 3.10 or later (a requirement of the pyproject.toml file). If you prefer to use conda you can create a Python 3.10 environment using the environment.yaml in this project, otherwise, if you have Python 3.10 or later, you can create an environment using the built-in venv module: -

python -m venv venv
source venv/bin/activate
pip install --upgrade pip

Make sure you create the venv using Python 3.10 (or later).

From your clean virtual environment you can now install the run-time and development dependencies like this: -

pip install -e .[dev]

The project also relies on CI that is run in GitHub using the actions defined in the files you'll find in the .github/workflows directory.

We also require the use of the Git pre-commit framework. To get started review the pre-commit utility and then install the pre-commit hooks with the command: -

pre-commit install

Now the project's rules will run on every commit, and you can check the current health of your clone with: -

pre-commit run --all-files

Tools

The main tools are implemented as the following Python modules:

  • Copier: xchemalign/copier.py
  • Collator: xchemalign/collator.py
  • Aligner: xchemalign/aligner.py