Skip to main content

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

GitHub Tag Release Lint Test

Code style: black

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xchem_hippo-1.0.4.tar.gz (203.5 kB view details)

Uploaded Source

Built Distribution

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

xchem_hippo-1.0.4-py3-none-any.whl (221.5 kB view details)

Uploaded Python 3

File details

Details for the file xchem_hippo-1.0.4.tar.gz.

File metadata

  • Download URL: xchem_hippo-1.0.4.tar.gz
  • Upload date:
  • Size: 203.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xchem_hippo-1.0.4.tar.gz
Algorithm Hash digest
SHA256 b7ca6efe2eace726d812e6a598b6f7308d3d31f7048e35c4fef28f79e80b7ed5
MD5 7e04f5822cd769006f7be719c44ff2d4
BLAKE2b-256 7554415c1ada75f46cc30f6a86ccb1f27953c6a36f19f05333e22fb1e1c62d7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for xchem_hippo-1.0.4.tar.gz:

Publisher: release.yaml on xchem/HIPPO

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_hippo-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: xchem_hippo-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 221.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xchem_hippo-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 06c2c5a5bf4aa0b0706db7bc57c7ae15a218d2ffb465060b5de8dcc0a88b88c5
MD5 07618a0fcd1b3e9b76614c5ba92081eb
BLAKE2b-256 af72e7f124a3ac5b3408adeb0cd43d2a5756ddc8f3adfb8ea430dd9eff5cad05

See more details on using hashes here.

Provenance

The following attestation bundles were made for xchem_hippo-1.0.4-py3-none-any.whl:

Publisher: release.yaml on xchem/HIPPO

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