WIP: add autoPROC pmodule #19
@@ -1 +1,2 @@
|
||||
pbuild.log
|
||||
autoPROC_snapshot_*.tar.gz
|
||||
|
||||
@@ -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
@@ -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"
|
||||
}
|
||||
@@ -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]
|
||||
@@ -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;"
|
||||
Reference in New Issue
Block a user