update BUSTER

This commit is contained in:
2026-09-01 11:36:37 +02:00
parent 1fbb6c1c97
commit f8b2e907e8
4 changed files with 134 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
# BUSTER
BUSTER (Global Phasing Ltd.) — macromolecular refinement suite:
`refine`, `grade2`, `rhofit`, `buster-report`, `pipedream`, ...
Licence-gated: the PSI licence token is committed as `BUSTER/.licence`
and installed into the software tree at build time.
- Upstream: https://www.globalphasing.com/buster/
- Install doc followed: https://www.globalphasing.com/buster/manual/installation/CentOS7_64bit/index.html
## Dependencies (per the GPhL doc)
| Doc requirement | On Ra |
|---|---|
| CCP4 (all components; also provides coot for `visualise-*-coot`) | `runtime_deps: ccp4/8.0` |
| ImageMagick (buster-report) | `runtime_deps: ImageMagick/7.1.2-30` |
| PyMOL (buster-report) | `runtime_deps: pymol-open-source/3.1.0` |
| TeX/LaTeX (buster-report PDF) | system RPM — ask admins for `texlive` if missing |
| CSD-Core (Grade2, Mogul validation) | not licensed on Ra → `BDG_CSD_TOP_DIRECTORY=none` |
| autoPROC (optional, pipedream) | `module load autoPROC` by hand |
The build writes `$PREFIX/setup_local.sh` (GPhL configure step) with
`BDG_CSD_TOP_DIRECTORY=none` and the obsolete CSD variables unset, so
Grade2 and Mogul checks are cleanly disabled. If PSI ever licenses
CSD-Core, point that variable at the CCDC top dir (must contain
`ccdc-software/`) and rebuild — or edit the installed file in place.
The doc's `BUSTER_latest` symlink is not needed: Pmodules versioning
covers it.
## Build on Ra
Stage the licence-gated snapshot by hand (download needs GPhL
credentials, so no `urls:`): save it in this module dir as
`BUSTER_snapshot_<date>.tar.gz` (gitignored). Then:
```sh
module use unstable && module load modbuild/2.1.3
cd BUSTER
modbuild build \
--tmpdir=/das/work/p21/p21515/.cache/Pmodules \
--distdir=/das/work/p21/p21515/.cache/Pmodules \
20240710
module use MX unstable && module load BUSTER/20240710
```
## Verifying the install
GPhL ships `checkdeps` exactly for this (~10 s; `-n` skips per-program
prompts):
```sh
module load BUSTER/20240710
checkdeps -n
```
Expected FINAL SUMMARY: SUCCESS for refine (licence), hydrogenate,
buster-report, pipedream; grade/grade2 will FAIL by design (CSD
disabled). `refine -h` should show licence info. Also run `checkdeps`
once from a normal user account to catch permission issues.
## Adding a new version
Stage the new `BUSTER_snapshot_<date>.tar.gz` here, add the date under
`versions:` in `files/config.yaml`, build as above. `setup_local.sh`
carries over automatically (the build regenerates it).
Executable
+34
View File
@@ -0,0 +1,34 @@
#!/usr/bin/env modbuild
pbuild::prep() { :; }
pbuild::configure() { :; }
pbuild::compile() { :; }
pbuild::install() {
# BUSTER is licence-gated: the Global Phasing snapshot cannot be wget'd
# (download needs credentials), so stage it in this module dir first as
# BUSTER_snapshot_<snapshot-date>.tar.gz (gitignored), then unpack into $PREFIX.
# V_PKG (not V) so rebuilds as <date>-2, <date>-3 reuse the same staged tarball.
mkdir -p "${PREFIX}"
cd "${PREFIX}"
tar -xf "${BUILDBLOCK_DIR}/BUSTER_snapshot_${V_PKG}.tar.gz" --strip-components=1 || \
std::die 42 "BUSTER: untar failed - is BUSTER_snapshot_${V_PKG}.tar.gz staged in ${BUILDBLOCK_DIR}?"
# PSI licence token at the software home ($BDG_home) activates the suite
cp "${BUILDBLOCK_DIR}/.licence" "${PREFIX}/.licence" || \
std::die 42 "BUSTER: .licence token missing from module dir"
# GPhL configure step (doc section 6): no CSD-Core on Ra, so Grade2 and
# buster-report Mogul validation are disabled. Point BDG_CSD_TOP_DIRECTORY
# at a CCDC install top dir (contains ccdc-software/) if one ever arrives.
# The unset clears obsolete pre-May-2024 CSD variables per the doc.
cat > "${PREFIX}/setup_local.sh" <<'EOF'
export BDG_CSD_TOP_DIRECTORY=none
unset BDG_TOOL_MOGUL CSD_HOME BDG_TOOL_CSD_PYTHON_API
EOF
[[ -r "${PREFIX}/setup.sh" ]] || \
std::die 42 "BUSTER: setup.sh missing at PREFIX root - check tarball layout / strip level"
}
+16
View File
@@ -0,0 +1,16 @@
---
format: 1
BUSTER:
defaults:
group: MX
overlay: base
relstage: unstable
versions:
20240710:
config:
relstage: unstable
# Per GPhL install doc: CCP4 required by all components; ImageMagick +
# PyMOL required by buster-report. TeX/LaTeX (also buster-report) is a
# system RPM, no module. ImageMagick/pymol-open-source are still
# unstable - promote them before promoting BUSTER to stable.
runtime_deps: [ccp4/8.0, ImageMagick/7.1.2-30, pymol-open-source/3.1.0]
+19
View File
@@ -0,0 +1,19 @@
#%Module1.0
module-whatis "BUSTER: macromolecular refinement suite (refine, grade2, rhofit, pipedream)"
module-url "https://www.globalphasing.com/buster/"
module-license "Global Phasing Ltd. proprietary licence"
module-maintainer "MX Data <jiaxin.duan@psi.ch>"
module-help "
BUSTER (Global Phasing Ltd.): refine, grade2, rhofit, buster-report,
pipedream and friends. CCP4, ImageMagick and PyMOL come in as module
dependencies; buster-report PDF output additionally needs system
TeX/LaTeX. Grade2/Mogul validation is disabled (no CSD-Core licence
on Ra) - use the Grade Web Server for non-confidential ligands.
For pipedream's processing step, also: module load autoPROC
"
# BUSTER is activated by sourcing its setup script (sets BDG_home, PATH, etc.),
# which in turn sources our setup_local.sh (CSD disabled).
puts stdout "source $PREFIX/setup.sh;"