WIP: add autoPROC pmodule #19

Draft
duan_j wants to merge 1 commits from autoproc into main
5 changed files with 118 additions and 0 deletions
+1
View File
@@ -1 +1,2 @@
pbuild.log
autoPROC_snapshot_*.tar.gz
+68
View File
@@ -0,0 +1,68 @@
# autoPROC
autoPROC (Global Phasing Ltd.) is an automated pipeline for integrating and scaling
macromolecular crystallography diffraction data. It is licence-gated: the PSI licence
token is committed as `autoPROC/.licence` and installed into the software tree at build
time. CCP4 8.0 and XDS are hard runtime requirements and are pulled in as module
dependencies.
## Build on Ra
Step 1: login with your `-adm` account
```
kinit xxxx_x-adm
aklog
```
Step 2: load the latest Pmodules package
```
module use unstable
module load Pmodules/2.0.0
```
Step 3: stage the licence-gated snapshot. Download it from Global Phasing (needs
credentials, so `wget` in the build script will not work) and save it in this module
directory named by its snapshot date. Do NOT commit it (it is proprietary and large;
`.gitignore` already excludes `autoPROC_snapshot_*.tar.gz`).
```
cd autoPROC
# e.g. save the download as autoPROC_snapshot_20240710.tar.gz here
```
Step 4: edit `files/config.yaml` to add the real snapshot date as the version, and
confirm the `ccp4` dependency coordinates for this cluster:
```
module avail ccp4 # adjust ccp4/8.0 in runtime_deps if the name/version differs
vi files/config.yaml
```
Step 5: build (installs to `/opt/psi/MX/autoPROC/<date>`)
```
./build 20240710
```
Step 6: confirm the module loads and autoPROC is licensed
```
module use MX unstable
module load autoPROC/20240710
process -h
```
## Assumptions to verify on the first real build
- The snapshot tarball has a single top-level directory, so `tar --strip-components=1`
puts `setup.sh` directly at `$PREFIX/setup.sh`. If the layout differs, adjust the
strip level in `build`.
- autoPROC reads its licence from the software home, i.e. `$autoPROC_home/.licence`,
which equals `$PREFIX/.licence` after the strip. `build` copies `.licence` there.
- If loading the module fails with `... : unbound variable` (setup.sh under `set -u`),
add `puts stdout "set +x nounset"` before the `source` line in `modulefile` (same fix
used for phenix).
- There is no `ccp4` module in this repo; `runtime_deps` references a site CCP4 module.
Set the exact name/version from `module avail ccp4`.
Executable
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env modbuild
pbuild::prep() { :; }
pbuild::configure() { :; }
pbuild::compile() { :; }
pbuild::install() {
# autoPROC is licence-gated: the Global Phasing snapshot cannot be wget'd
# (download needs credentials), so stage it in this module dir first as
# autoPROC_snapshot_<version>.tar.gz, then unpack into $PREFIX. Not committed to git.
mkdir -p "${PREFIX}"
cd "${PREFIX}"
tar -xf "${BUILDBLOCK_DIR}/autoPROC_snapshot_${V}.tar.gz" --strip-components=1
# Install the PSI licence token at the software home so autoPROC is activated.
cp "${BUILDBLOCK_DIR}/.licence" "${PREFIX}/.licence"
}
+13
View File
@@ -0,0 +1,13 @@
---
format: 1
autoPROC:
defaults:
group: MX
overlay: base
relstage: unstable
versions:
20240710:
config:
relstage: unstable
# XDS = in-repo module; CCP4 = site module, confirm name with `module avail ccp4`.
runtime_deps: [xds/20251103, ccp4/8.0]
+16
View File
@@ -0,0 +1,16 @@
#%Module1.0
module-whatis "autoPROC: automated data processing for macromolecular crystallography"
module-url "https://www.globalphasing.com/autoproc/"
module-license "Global Phasing Ltd. proprietary licence"
module-maintainer "MX Data <jiaxin.duan@psi.ch>"
module-help "
autoPROC (Global Phasing Ltd.) is an automated pipeline for integrating and scaling
macromolecular crystallography diffraction data. It wraps XDS, CCP4 and other tools and
requires a valid Global Phasing licence plus CCP4 8.0 and XDS at runtime (both pulled in
as module dependencies).
"
# autoPROC is activated by sourcing its setup script (sets autoPROC_home, PATH, etc.).
puts stdout "source $PREFIX/setup.sh;"