update BUSTER
This commit is contained in:
@@ -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
@@ -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"
|
||||
}
|
||||
@@ -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]
|
||||
@@ -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;"
|
||||
Reference in New Issue
Block a user