From 599d6240f1a08413a8e66fba022ffb7a6eca4670 Mon Sep 17 00:00:00 2001 From: Greta Assmann Date: Thu, 18 Jul 2024 16:06:34 +0200 Subject: [PATCH] add phenix --- phenix/README.md | 26 ++++++++++++++++++++++++++ phenix/build | 26 ++++++++++++++++++++++++++ phenix/files/config.yaml | 16 ++++++++++++++++ phenix/modulefile | 13 +++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 phenix/README.md create mode 100755 phenix/build create mode 100644 phenix/files/config.yaml create mode 100644 phenix/modulefile diff --git a/phenix/README.md b/phenix/README.md new file mode 100644 index 0000000..8db5c37 --- /dev/null +++ b/phenix/README.md @@ -0,0 +1,26 @@ +### Installation + +- src files can only be retrieved with phenix login credentials. They are only valid for a month roughly - as a result new credentials need to be requested for academic purpose. +- The build script will therefore expect the un-tared downloaded phenix folder in the BUILD_DIR folder +- the default $PMODULES_TMPDIR is too small for phenix and needs another place. export PMODULES_TMPDIR=/w/y/w/ in the terminal (not in build script, does not work), I used /afs/psi.ch/groups/HPCE/user/assman_g/.. +- the installation of Phenix requires the owner of the files in the BUILDBLOCK_DIR to be the same as the owner of the PREFIX DIR. in a nutshell : files need to be owned by adm account in the BUILDBLOCK_DIR . ( which is why AFS is a good place to put this, as I can write as assman_g and assman_g-adm there, and files need to be owned by assman_g-adm for the install ) +- phenix needs sourcing of a shell script when loading the module: Problem- when unloading, the variables stay defined. ...TODO: find a way to unset these variables as well. + +### Installation with Rosetta +As of July 2024, phenix 1.21 exists, and also Rosetta 3.14. These do not work together , as phenix/1.21.1 misses a file called command_line.py , which is existent in phenix 1.20 and is required for Rosetta. Also the compilation of phenix+Rosetta fails on RH7, so def needs to be done on RH8 nodes (Ra) and Rosetta 3.14 fails during compilation. --> check for new phenix releases if the compatabilty with Rosetta latest release was tested etc . + +As a result, phenix/1.20 plus Rosetta 3.13 is used. (July 2024) + +The installation of Rosetta +phenix requires a fully functional new phenix installation. A phenix command is run after the installation of Rosetta that builds the interface between the two: +- Install Rosetta as usual (see Pmodules MX Rosetta build script) +- copy the site.settings file into the correct folder as described in "NOTE: On linux, if you are using GCC 5.1 or later (Ubuntu 16.04 or later), there is an ABI change that requires an additional flag to allow linking between our CentOS 6 binary build and Rosetta. To apply this flag, copy this site.settings file to ${PHENIX_ROSETTA_PATH}/main/source/tools/build/site.settings before running this final step" "(https://phenix-online.org/documentation/reference/rosetta_install.html) +- the run the command + +rosetta.build_phenix_interface nproc=10 + +- run rosetta.run_tests to test it. + + +### Additional Remarks + +the phenix help pages (BB archive) does not work. diff --git a/phenix/build b/phenix/build new file mode 100755 index 0000000..ab9dd31 --- /dev/null +++ b/phenix/build @@ -0,0 +1,26 @@ +#!/usr/bin/env modbuild + + +pbuild::prep(){ + : +} + +pbuild::pre_configure() { + + echo "${PMODULES_TMPDIR}" + echo "${SRC_DIR}" + + # copy code from BUILD Dir into SRCDIR . wget does not work , because login credentials required for download (wget --user did not work) + cp -r "${BUILDBLOCK_DIR}/phenix-installer-${V}-intel-linux-2.6-x86_64-centos6/"* "${SRC_DIR}" + +} +pbuild::compile() { + : +} + +pbuild::install() { + cd "${SRC_DIR}" + ./install --prefix="${PREFIX}" +} + + diff --git a/phenix/files/config.yaml b/phenix/files/config.yaml new file mode 100644 index 0000000..e4fe4bb --- /dev/null +++ b/phenix/files/config.yaml @@ -0,0 +1,16 @@ +--- +format: 1 +phenix: + defaults: + group: MX + overlay: base + relstage: stable + versions: + 1.21.1-5286: + config: + relstage: unstable + 1.20.1-4487: + config: + relstage: unstable + + diff --git a/phenix/modulefile b/phenix/modulefile new file mode 100644 index 0000000..fb9628b --- /dev/null +++ b/phenix/modulefile @@ -0,0 +1,13 @@ +#%Module1.0 + +module-whatis "Python-based Hierarchical ENvironment for Integrated Xtallography" +module-url "http://www.phenix-online.org/" +module-license "NON-COMMERCIAL END USER SOURCE CODE LICENSE" +module-maintainer "greta.assmann@psi.ch" + +module-help " +PHENIX is a software suite for the automated determination of molecular structures using X-ray crystallography and other methods. +Citing PHENIX: +PHENIX: a comprehensive Python-based system for macromolecular structure solution. P. D. Adams, P. V. Afonine, G. Bunkóczi, V. B. Chen, I. W. Davis, N. Echols, J. J. Headd, L.-W. Hung, G. J. Kapral, R. W. Grosse-Kunstleve, A. J. McCoy, N. W. Moriarty, R. Oeffner, R. J. Read, D. C. Richardson, J. S. Richardson, T. C. Terwilliger and P. H. Zwart. Acta Cryst. D66, 213-221 (2010). +" +puts stdout "source /opt/psi/MX/phenix/${V}/${P}-${V}/phenix_env.sh"