Setup

Back to the hub.

Everything in this book runs on free software. One environment covers every chapter except the three noted at the bottom.

Clone and install

git clone https://github.com/nexagenlabs/molecular-docking-ai-era.git
cd molecular-docking-ai-era
python3.12 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

Python 3.12 specifically. The pinned RDKit does not resolve on 3.14. The repository's environment/README.md carries the exact per-platform recipe, including the AutoDock Vina binary, which pip does not provide on every platform.

Two things about those four lines are worth knowing before you run them, both because following them on a clean machine did not work.

Check it worked

bash ch09_first_run/run.sh

That is the sample chapter. It docks a small synthetic system, demonstrates that the default seed is not reproducible and a fixed one is, and prints three box-size results. Those three numbers are in Chapter 9. If they match, your environment is correct.

The structures

The book uses four PDB entries: 1L2S, 4JXS, 4JXV and 1GA9. They are downloaded rather than committed, so that you get them from the source:

bash data/structures/fetch.sh

Checksums are in data/structures/README.md.

Why the versions are pinned exactly

Six packages can change a number printed in the book: RDKit, AutoDock Vina, spyrmsd, Meeko, NumPy and Open Babel. They are pinned exactly. Matplotlib and SciPy affect only plots and carry minimum bounds.

If your numbers differ from the book's, that is information rather than a fault. The build record in the repository lists the differences already found, and what caused them. What each pin is currently at upstream is on the versions page.

What does not run everywhere

Three chapters need software that may not install on your machine: GNINA (Chapter 16), Boltz-2 (Chapter 14) and PDBFixer (Chapters 5 and 6). Each pipeline is written and each exits with the exact command it would have run, so you can see what was intended without installing anything.

Do not install Boltz-2 into this environment. It succeeds and silently downgrades NumPy, gemmi and SciPy, which changes the conformer counts in Chapter 8 and the RMSD values in Chapter 17. Use a separate environment.