update qfit to include missing package

This commit is contained in:
2026-09-02 10:02:19 +02:00
parent 77494991a6
commit f748558fe4
2 changed files with 14 additions and 3 deletions
+5 -2
View File
@@ -13,7 +13,10 @@ follows the name/version rule as `qfit/<version>`.
- **2025.3** (Dec 2025) — current. Post-2024-paper qFit-ligand
(RDKit `-sm SMILES` route, `-em` flag). Python 3.12, solvers
cvxpy + pyscipopt (SCIP) declared in `install_requires` — no
extras, no CPLEX size cap.
CPLEX size cap. One extra: `cctbx-base` (structure I/O imports
iotbx/scitbx/cctbx/mmtbx but upstream lists it only in conda's
`environment.yml`; the PyPI manylinux_2_28 wheel works on Ra
RHEL8 — no conda involved, anaconda repo is unreachable from Ra).
- **3.2.2** (Aug 2022) — legacy, pre-paper qfit_ligand algorithm.
Python 3.10 (`numpy<1.22`), cvxopt + CPLEX Community Edition
pip-installed as extras. Last upstream tag with the `v` prefix —
@@ -54,7 +57,7 @@ module use MX unstable && module load qfit/2025.3
which qfit_protein # -> .../qfit/2025.3/venv/bin/qfit_protein
qfit_protein --help # argparse usage, no traceback
qfit_ligand --help # should list -sm/--smiles (2024.3+)
"$QFIT_ENV/bin/python" -c "import qfit, pyscipopt, cvxpy; print(qfit.__version__)"
"$QFIT_ENV/bin/python" -c "import qfit, iotbx, pyscipopt, cvxpy; print(qfit.__version__)"
```
The post-refinement scripts (`qfit_final_refine_xray.sh`) call phenix:
+9 -1
View File
@@ -8,7 +8,10 @@
# (>=81 removed pkg_resources entirely).
# - 2024.3+ : numpy relaxed to <2 -> Python 3.12; solvers switched to
# cvxpy+pyscipopt and moved into install_requires (no CPLEX size cap);
# pkg_resources import removed -> no extras needed at all.
# pkg_resources import removed. BUT structure I/O now imports
# iotbx/scitbx/cctbx/mmtbx, and cctbx-base is only in environment.yml,
# not install_requires (same conda-only trap as the old solvers)
# -> pip cctbx-base explicitly (manylinux_2_28 wheel, Ra RHEL8 = glibc 2.28).
# - both eras: use_scm_version needs git metadata the tarball lacks
# -> SETUPTOOLS_SCM_PRETEND_VERSION
@@ -38,9 +41,14 @@ pbuild::install() {
# cplex is the IBM Community Edition pip wheel (problem-size limited);
# full CPLEX needs an academic license, see README.
3.*) extras=('setuptools<81' cvxopt cplex) ;;
# cctbx-base: conda-only dep upstream forgot in install_requires;
# PyPI wheel (not conda - anaconda repo is unreachable from Ra)
*) extras=(cctbx-base) ;;
esac
"$UV" pip install --python "$PREFIX/venv/bin/python" \
"${extras[@]}" "$SRC_DIR" || \
std::die 42 "qfit install failed - check build log above"
[[ -x "$PREFIX/venv/bin/qfit_protein" ]] || std::die 42 "qfit_protein missing from venv"
# full import chain (hits iotbx, solvers, ...) - catches forgotten runtime deps at build time
"$PREFIX/venv/bin/python" -c "import qfit" || std::die 42 "qfit import failed - missing runtime dep?"
}