Merge remote-tracking branch 'origin/build-pymol'

This commit is contained in:
2026-08-18 21:54:18 +02:00
4 changed files with 76 additions and 38 deletions
+46 -11
View File
@@ -1,17 +1,52 @@
# pymol
Installation Remarks:
Molecular visualization system. This module ships the **incentive**
(official Schrodinger) Linux bundle, not the open-source build.
1.)
If installed on RH7 (merlin6 nodes), a library is missing for RH8 nodes (RA) :
- Upstream: https://pymol.org/ (support: https://www.pymol.org/support.html)
- License: Schrodinger incentive license required for full features
## How it is built
Per pymol.org support page for Linux (RHEL 8+ supported since v2.5.10):
download the `PyMOL-<ver>_<build>-Linux-x86_64-py310.tar.bz2` bundle,
unpack, run `./pymol`. The recipe downloads the bundle from the public
pymol-storage GCS bucket (sha256-verified), unpacks it and moves the
bundle contents into `$PREFIX`; the `pymol` launcher sits at the PREFIX
root, so the modulefile does `prepend-path PATH $PREFIX` (the bundle's
private `bin/` with its own python is deliberately NOT on PATH).
Versions before 3.1.8 in this module's git history were open-source
builds (git clone + setup.py) against merlin-era psi-python modules;
see https://github.com/schrodinger/pymol-open-source/blob/master/INSTALL
if that route is ever needed again.
### License file
The bundle runs unlicensed with limited features. Site-wide: drop the
SLM license file at `$PREFIX/share/pymol/license.lic`. Per user: PyMOL
prompts on first start (get the file from https://pymol.org/dsc/ip/license/).
## Building on Ra
```sh
module use unstable && module load modbuild/2.1.2
cd pymol
modbuild build 3.1.8
module use MX unstable && module load pymol/3.1.8
```
libGLEW.so.1.10
## Verifying the install
```sh
which pymol # -> /opt/psi/MX/pymol/3.1.8/pymol
pymol -cq # headless no-op: exits 0 without X
pymol # GUI check, needs X
```
To overcome this, copy this library from /usr/lib64/libGLEW.so.1.10.0 to the pmodules lib folder and link accordingly to the right name if neccessary.
## Adding a new version
2.)
Installed with the options --no-vmd-plugins --use-msgpackc=no, if these options should be available, probably other dependencies needed.
Description from https://github.com/schrodinger/pymol-open-source/blob/master/INSTALL:
- msgpack-c 2.1.5+ (optional, for fast MMTF loading and export, disable with --use-msgpackc=no)
- mmtf-cpp (for fast MMTF export, disable with --use-msgpackc=no)
- libnetcdf (optional, disable with --no-vmd-plugins)
Check the exact bundle filename on https://pymol.org (the `_0` build
number and `py310` tag change between releases), update `urls:` if
needed, add the version + tarball sha256 in `files/config.yaml`, then
`modbuild build <version>` (modbuild/2.1.2) on a Ra login node.
+10 -16
View File
@@ -1,23 +1,17 @@
#!/usr/bin/env modbuild
pbuild::prep() {
git clone --depth 1 --branch "v${V_PKG}" https://github.com/schrodinger/pymol-open-source.git
}
# Incentive PyMOL: prebuilt Linux bundle from pymol.org, no compile.
# Default pbuild::prep downloads + sha-verifies + unpacks (urls/shasums in
# files/config.yaml); the bundle unpacks to pymol/ with the launcher at its root.
pbuild::configure() {
#NEEDS GML
git clone -b 0.9.9.8 https://github.com/g-truc/glm.git $SRC_DIR/glm/
cp -r $SRC_DIR/glm/glm/ $SRC_DIR/pymol-open-source/include/
}
pbuild::compile() {
cd "$SRC_DIR/pymol-open-source/"
python3 setup.py install --prefix "$PREFIX/" --no-vmd-plugins --use-msgpackc=no
}
pbuild::install(){
:
}
pbuild::compile() {
:
}
pbuild::install() {
mv "${SRC_DIR}/pymol/"* "${PREFIX}/"
}
+9 -5
View File
@@ -1,13 +1,17 @@
---
format: 1
pymol:
defaults:
group: MX
overlay: base
relstage: unstable
urls:
# _0 build number and py310 tag are release-specific; check
# https://pymol.org/ #download for the exact filename when bumping
- url: https://storage.googleapis.com/pymol-storage/installers/PyMOL-${V_PKG}_0-Linux-x86_64-py310.tar.bz2
shasums:
PyMOL-3.1.8_0-Linux-x86_64-py310.tar.bz2: 69ba3492d6d7c4b6cc3d89d47320fb49ed5fdc2bda1a373b73ce11aad3225a7f
versions:
2.5.0:
3.1.8:
config:
build_requires: ["psi-python38/2020.11", "gcc/9.3.0", "cuda/11.0.3"]
3.0.0:
config:
build_requires: ["psi-python39/2021.11", "gcc/9.3.0", "cuda/11.0.3"]
relstage: unstable
+11 -6
View File
@@ -1,10 +1,15 @@
#%Module1.0
module-whatis "PyMol - molecular visualization system"
module-url "https://github.com/schrodinger/pymol-open-source"
module-license "-"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-help "https://pymol.org/2/"
module-whatis "PyMOL - molecular visualization system (incentive build)"
module-url "https://pymol.org/"
module-license "Schrodinger incentive PyMOL - needs license.lic (see module-help)"
module-maintainer "MX Data <jiaxin.duan@psi.ch>"
module-help "
PyMOL molecular visualization system, official Schrodinger Linux
bundle. Full features need a license file: place it at
\$PREFIX/share/pymol/license.lic (site-wide) or let PyMOL prompt
for it on first start (per user).
"
prepend-path PATH $PREFIX