# 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. Runtime deps follow the GPhL CentOS8/RHEL8 install doc (https://www.globalphasing.com/autoproc/manual/installation/CentOS8_64bit/index.html): CCP4 8.0 and XDS are absolute requirements, ImageMagick is "highly recommended" for full functionality. All three come in as `runtime_deps` (`xds/20260616`, `ccp4/8.0`, `ImageMagick/7.1.2-30`) — the module-load equivalent of the doc's `.bashrc` recipe (source setup.sh + CCP4 setup + XDS on PATH). The doc's `autoPROC_latest` symlink trick is not needed: Pmodules versioning covers it. ## Build on Ra Step 1: make sure you are in the `unx-mx_adm` group -- no -adm account needed, members can update the modules in `/opt/psi/MX` directly (if you have problems, please let the admins know) Step 2: load the build tool (modbuild) ``` module use unstable module load modbuild/2.1.3 ``` 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/`) ``` modbuild 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). - `runtime_deps` must reference module versions that exist on Ra: check with `module avail xds ccp4 ImageMagick` after an XDS/CCP4 update and adjust. - ImageMagick/7.1.2-30 is still `unstable`; promote it to stable before promoting autoPROC (a stable module may only depend on stable modules). ## Updating runtime_deps without a rebuild `runtime_deps` land in the generated modulefile, so after editing `files/config.yaml`: ``` modbuild build --update-modulefiles 20240710 module use MX unstable && module load autoPROC/20240710 # should auto-load xds, ccp4, ImageMagick ```