🦛 Hit Interaction Profiling for Progression Optimisation
HIPPO is in active development and feedback is appreciated.
Please see the documentation to get started
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)
Repository structure
- HIPPO/main: latest stable version
- HIPPO/dev: @mwinokan's development branch
- HIPPO/postgres: @mwinokan's PostgreSQL development branch
- HIPPO/django_lean: An experimental branch implementing HIPPO as a Django web-app
Information for HIPPO developers
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 .
HIPPO is automatically released to PyPI as hippo-db via Github releases off the main branch using the python-publish workflow.
HIPPO is linted using black and commits are automatically linted using the black 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 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
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.
