Python module to interact with Fragalysis
Project description
Fragalysis
The "start here" repository for the Fragalysis Stack application. This repository (which is currently UNDER CONSTRUCTION) will be used as a 'base' for all documentation relating to the application.
This replaces the original fragalysis repository, which was responsible for the RDKit-based Python tools for analysis of protein-ligand interactions. The original repository has been renamed and can now be found in the fragutils repository.
The repository is compatible with ReadTheDocs and you can find the latest documentation
(built from the most recent changes on this repository's main branch) on ReadTheDocs at
https://fragalysis.readthedocs.io/en/latest/.
Stable documentation (built from the most recent tag in this repository) can be found at https://fragalysis.readthedocs.io/en/stable/.
XChem repositories
A significant amount of our work resides in public GitHub repositories in the
XChem organisation. A growing list of all the repositories that represent
our work can be found in the Related repositories section below. We also rely on a
number of external repositories (those not managed by us directly). Importantly,
when we find that the material in such a repository becomes crucial to our work we
SHOULD consider fork it to XChem. Forking allows us to: -
- Preserve content
- Adopt our own development processes, which include: -
- A consistent release mechanism
- Consistent package naming (PyPI packages all begin
xchem-for example) - Use of linting, formatting, and test tools that we like
- Improve stability (we like working with static tagged references)
In xchem we tend to follow a trunk-based development strategy that we explain in
our trunk-based-development repository. It's provides us with a centrally-defined
set of policies with accompanying documentation on its wiki - a place
where we provide guidance, some advanced topics, and development inspiration.
Working on codes that's not in XChem?
If you are using code that we don't own (manage) we MUST consider forking the
repository into XChem, applying our development process, tagging it when important
changes are available, and asking others to switch to using our repository and the
packages it produces.
Local development
To compile the documentation, which is based on Sphinx, start with a Python environment (ideally Python 3.12, as that's the version used by ReadTheDocs and the GitHub CI workflow) and install the dependencies: -
pip install uv
uv venv
source .venv/bin/activate
pip install -r rtd-requirements.txt
Then, to build the HTML documentation, run the following command: -
sphinx-build docs/source/ docs/build/
The resulting index.html will be in the docs/build/ directory.
Related repositories
The Fragalysis Stack you find running in Kubernetes relies on a number of related (and diverse) repositories. We've tried to capture references to all of them below, in no particular order: -
xchem repositories
trunk-based-development : A repository for development guidance
fragutils : Logic that allows connection to the neo4j graph
fragalysis-backend : Django/REST Framework application
fragalysis-frontend : Django visual application (frontend)
fragalysis-stack : The build logic that combines the backed and frontend to create the container image
fragalysis-api : Command-line API utilities
fragalysis-database : A reference PostgreSQL database image (with extras)
fragalysis-keycloak : A specialised build of keycloak to provide a custom login theme deprecated
fragalysis-ispyb-target-access-authenticator : Code for the container image that acts as an interface to ISPyB, yielding Target Access Strings based on username
fragalysis-mock-target-access-authenticator : A "mock" ISPyB authenticator (providing results based on a config file)
fragalysis-target-access-authenticator-python-client : A Python client for the authenticator
fragalysis-rdkit-cartridge-pgvector-debian : An extension to the underlying database image (informaticsmatters/rdkit-cartridge-debian) that adds PG-Vector utilities
fragalysis-stack-kubernetes : Ansible playbooks for application deployment and management
fragalysis-stack-behaviour-tests : Basic gherkin-based behaviour tests for the stack API
xchem-align : Tools to generate input data for Fragalysis
docker-neo4j : Custom neo4j image providing built-in S3 bucket bulk-loading
3rd-party respositories (Informatics Matters)
There are also a number of 3rd-party repositories that provide facilities for the Fragalysis Stack application: -
squonk2-data-manager (PRIVATE) : The Squonk2 Data Manager
(a private repository and container image)
squonk2-account-server (PRIVATE) : The Squonk2 Account Server providing
accounting and billign services (a private repository and container image)
squonk2-data-manager-ui : The Squonk2 UI
squonk2-data-manager-jupyter-operator : The Squonk2 Jupyter Notebook operator (launches notebooks)
squonk2-data-manager-job-operator : The Squonk2 Job operator (launches Jobs)
squonk2-fragmenstein : Squonk2 Job defintions used by the Fragalysi Stack
Numerous other respositories exist for Job execution etc. For inmformatics Matters any respository that has the topic tag
squonk2orsquonk2-jobsmight be relevant.
docker-volume-replicator : Replicates volumes (used for media)
bandr : PostgreSQL backup and recovery container images
Fragmentation
There is also the fragmentation logic that is used to compile the underlying neo4j database CSV files. These processes rely on access to substabntial computing resources - typically kubernetes or slurm: -
fragmentor (Informatics Matters) : Standardisation, fragmentation and combination graph logic (and playbooks)
fragmentor-k8s-orchestration (Informatics Matters) : Ansible playbooks for the Kubernetes-based execution of fragmentor Playbooks
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xchem_fragalysis-1.4.12.tar.gz.
File metadata
- Download URL: xchem_fragalysis-1.4.12.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c44a1dad406f7039060181e04c7f9c18437b61b4ce86eb249953010d4b924207
|
|
| MD5 |
c9abdb9905e161f1239885dd00ecd20e
|
|
| BLAKE2b-256 |
1d92cce5df0a339cc3c59e7a85dd6a45948c24684c4db0f9b0ec19ef048566d1
|
Provenance
The following attestation bundles were made for xchem_fragalysis-1.4.12.tar.gz:
Publisher:
release.yaml on xchem/fragalysis
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xchem_fragalysis-1.4.12.tar.gz -
Subject digest:
c44a1dad406f7039060181e04c7f9c18437b61b4ce86eb249953010d4b924207 - Sigstore transparency entry: 1362341977
- Sigstore integration time:
-
Permalink:
xchem/fragalysis@8fa0a58789f5421a825478940b342d183f61e139 -
Branch / Tag:
refs/tags/1.4.12 - Owner: https://github.com/xchem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8fa0a58789f5421a825478940b342d183f61e139 -
Trigger Event:
release
-
Statement type:
File details
Details for the file xchem_fragalysis-1.4.12-py3-none-any.whl.
File metadata
- Download URL: xchem_fragalysis-1.4.12-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5a4eb3c6bdef9488f1fbb40b3ccbc3b5f24c7150ca20108d74fcc2ff8b33e9f
|
|
| MD5 |
10c277240959204c9ad798a4ba7acb6b
|
|
| BLAKE2b-256 |
7484e3e4b2a2468e654121e0c03e48bb45ab0de16f5e551dedae297ec018c65f
|
Provenance
The following attestation bundles were made for xchem_fragalysis-1.4.12-py3-none-any.whl:
Publisher:
release.yaml on xchem/fragalysis
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xchem_fragalysis-1.4.12-py3-none-any.whl -
Subject digest:
c5a4eb3c6bdef9488f1fbb40b3ccbc3b5f24c7150ca20108d74fcc2ff8b33e9f - Sigstore transparency entry: 1362342075
- Sigstore integration time:
-
Permalink:
xchem/fragalysis@8fa0a58789f5421a825478940b342d183f61e139 -
Branch / Tag:
refs/tags/1.4.12 - Owner: https://github.com/xchem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8fa0a58789f5421a825478940b342d183f61e139 -
Trigger Event:
release
-
Statement type: