Merge branch 'dials' into main (PR #20): add autoPROC module
# Conflicts: # .gitignore
This commit is contained in:
@@ -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