Skip to content
 
 

Repository files navigation

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 requires python 3.13. Install it with an explicit version:

pip install xchem-hippo==2.0.3

Pin the version. A bare pip install xchem-hippo is not safe here. If the requested version cannot be installed — most often because the interpreter is not 3.13 — pip does not report that. It quietly works backwards through older releases until it finds one that fits, and lands on 1.0.5, the last release predating the 2.x rewrite. The install succeeds and nothing warns you, but the package installed is a different codebase.

The 1.0.x releases cannot be yanked, as existing work depends on them, so this fallback path stays open. Pinning closes it: with == there is only one candidate, so pip has nothing to fall back to and reports the real error instead.

To run the full suite of tests see README-dev.md.

Syndirella

HIPPO reads and writes Syndirella's file formats. xchem-syndirella is a normal dependency and is installed for you.

It was previously excluded, because the older syndirella distribution required python <3.11 and numpy<2 and so could not be depended on at all. xchem-syndirella 1.0.6 lifted both caps. It does still pin numpy<=2.4, which is what holds numpy below the latest release in this project.

Note that import syndirella also requires PyRosetta, which is not installed automatically: it is a large out-of-band download with its own licence terms. Without it, xchem-fragmenstein substitutes a mock object for pyrosetta that cannot satisfy submodule imports, and importing syndirella fails with 'AttributeFilledMock' object is not iterable. To install it:

python -c "import pyrosetta_installer; pyrosetta_installer.install_pyrosetta()"

This does not affect HIPPO itself, which does not yet import syndirella — the code that did (Pose.posebusters()) has not been ported yet.

More Information

Repository structure

Branches

Releases

HIPPO is automatically released to PyPI as xchem-hippo via a Github Action off the using the release workflow.

Documentation

Documentation is automatically built off the HIPPO/main branch using readthedocs. For local building using sphinx:

cd docs
make html

About

Hit Interaction Profiling for Progression Optimisation

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages