Hit Interaction Profiling and Procurement Optimisation
Project description
XChem HIPPO
HIPPO: 🦛 Hit Interaction Profiling for Progression Optimisation
HIPPO is in active development and feedback is appreciated.
Please see the documentation to get started
Installation
HIPPO is pip-installable, but use of a conda environment is recommended for the
rdkit and chemicalite dependencies:
pip install --upgrade hippo-db
conda install -c conda-forge chemicalite=2024.05.1
For more information see the installation guide
You can verify the installation:
python -m hippo verify
Or by running the full suite of tests (see Developer information)
More Information
Repository structure
Branches
- HIPPO/main: latest stable version
- HIPPO/dev: Dvelopment branch
- HIPPO/postgres: PostgreSQL development branch
- HIPPO/django_lean: An experimental branch implementing HIPPO as a Django web-app
Information for HIPPO developers
Developer installation
To develop on HIPPO please fork this repository and then install locally:
git clone https://github.com/YOUR_USER/HIPPO
cd HIPPO
pip install -e .
Releases
HIPPO is automatically released to PyPI as
xchem-hippo via a Github Action off the using the
release workflow.
When you want to make an official release go to the Releases page and then click the Draft a new release button. Remember to familiarise yourself with the xchem release process on the trunk-based-development Wiki Creating releases page.
Code style
HIPPO is linted using black and commits are automatically linted using the lint workflow. The use of pre-commit is encouraged for local development to automatically run the linting at git commit time:
pip install pre-commit
pre-commit install
Documentation
Documentation is automatically built off the HIPPO/main branch using readthedocs. For local building using sphinx:
cd docs
make html
To check API reference coverage use docstr-coverage
pip install docstr-coverage
docstr-coverage hippo
Tests
Some tests are provided in the tests directory, which can be run with pytest:
cd tests
pytest
N.B. the numbered tests, e.g. test_00_cleanup.py need to run in sequential order to set up the database. Other tests can run in arbitrary order thereafter. The tests will fail if https://fragalysis.diamond.ac.uk can not provide the protein target's data, as specified in tests/config.py.
Postgres specific instructions
Local Postgres development (Mac)
Install via homebrew
brew install postgresql@18
Initialise database
/opt/homebrew/opt/postgresql@18/bin/initdb -D /opt/homebrew/var/postgresql@18 -U postgres -W
Run in foreground
/opt/homebrew/opt/postgresql@18/bin/postgres -D /opt/homebrew/var/postgresql@18 -p 5432
Install psycopg
pip install psycopg[binary]
See images/postgres for a container including the RDKit cartridge
Connecting to a remote deployment
Check port availability:
nc -zv IP_ADDRESS 5432
Success will look something like this:
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Connected to IP_ADDRESS:5432.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
To ssh tunnel to a host which has the correct exposed port and forward the correct port:
ssh -L 5432:IP_ADDRESS:5432 USER@GATEWAY_HOST
To test your connection (from your local machine)
pg_isready -h localhost -p 5432
To list available databases with psql
psql -h localhost -U USER -p 5432 -l
To connect to a specific database with psql
psql -h localhost -U USER -p 5432 -n DATABASE
Running tests
To run the unit tests, uncomment and configure tests/config.py to the desired postgres deployment. N.B. currently not all tests will succeed.
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_hippo-1.0.1.tar.gz.
File metadata
- Download URL: xchem_hippo-1.0.1.tar.gz
- Upload date:
- Size: 202.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83c0e12dbc3c599c925974141cbdbccf5485fe3493fe5e4d696b17bbed77c110
|
|
| MD5 |
75f90719fc69c2305b00ef1befae6ae4
|
|
| BLAKE2b-256 |
3d2e404362939515b007554232cab9d97bb6f5bb535884138f2f9a53bc0c31c3
|
Provenance
The following attestation bundles were made for xchem_hippo-1.0.1.tar.gz:
Publisher:
release.yaml on xchem/HIPPO
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xchem_hippo-1.0.1.tar.gz -
Subject digest:
83c0e12dbc3c599c925974141cbdbccf5485fe3493fe5e4d696b17bbed77c110 - Sigstore transparency entry: 1082482920
- Sigstore integration time:
-
Permalink:
xchem/HIPPO@f9edd0a7fdff5a505a0d92a269da0a4f5452173f -
Branch / Tag:
refs/tags/1.0.1 - Owner: https://github.com/xchem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@f9edd0a7fdff5a505a0d92a269da0a4f5452173f -
Trigger Event:
release
-
Statement type:
File details
Details for the file xchem_hippo-1.0.1-py3-none-any.whl.
File metadata
- Download URL: xchem_hippo-1.0.1-py3-none-any.whl
- Upload date:
- Size: 220.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be239eb9c4debaa85edaa56424e51c4c074dd6d6b7e696227081166142f2abf9
|
|
| MD5 |
224828b11a436cd6421ca409813d41a3
|
|
| BLAKE2b-256 |
431a0fcd55705f8c7be91ed8196597d3a236f2b4a8d10df7e5c2724632a9c489
|
Provenance
The following attestation bundles were made for xchem_hippo-1.0.1-py3-none-any.whl:
Publisher:
release.yaml on xchem/HIPPO
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xchem_hippo-1.0.1-py3-none-any.whl -
Subject digest:
be239eb9c4debaa85edaa56424e51c4c074dd6d6b7e696227081166142f2abf9 - Sigstore transparency entry: 1082482978
- Sigstore integration time:
-
Permalink:
xchem/HIPPO@f9edd0a7fdff5a505a0d92a269da0a4f5452173f -
Branch / Tag:
refs/tags/1.0.1 - Owner: https://github.com/xchem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@f9edd0a7fdff5a505a0d92a269da0a4f5452173f -
Trigger Event:
release
-
Statement type: