Files
MX_Pmodule/pymol-open-source/README.md
T

2.1 KiB

pymol-open-source

Open-Source PyMOL, compiled from the GitHub source. Free for everyone, no license file — unlike the pymol module (Schrodinger incentive bundle).

How it is built

uv route (careless-style): uv fetches a standalone Python 3.12 into $PREFIX/python, creates $PREFIX/venv, then uv pip install compiles the sha-pinned source tarball into it with the gcc/12.3.0 module (CC=gcc CXX=g++; gcc is also a runtime dep for its libstdc++). glm (header-only) is fetched as a second pinned tarball and staged via PREFIX_PATH. PyQt5 is pip-installed for the GUI.

Build options passed as uv pip install -C k=v (upstream _custom_build/backend.py turns them into build_ext --k=v):

  • use-msgpackc=no — no msgpack-c/mmtf-cpp on Ra; disables fast MMTF load
  • no-libxml=yes — disables COLLADA export
  • no-vmd-plugins=no — disables VMD molfile plugins (needs libnetcdf). no is correct: upstream stores the value straight into vmd_plugins.

Required system RPMs on the build host (if the compile fails, ask sysadmins for): glew-devel libpng-devel freetype-devel mesa-libGL-devel.

uv must be on the build host (default ~/.local/bin/uv, override with UV=/path/to/uv).

Building on Ra

module use unstable && module load modbuild/2.1.3
cd pymol-open-source
modbuild build \
    --tmpdir=/das/work/p21/p21515/.cache/Pmodules \
    --distdir=/das/work/p21/p21515/.cache/Pmodules \
    3.1.0
module use MX unstable && module load pymol-open-source/3.1.0

Verifying the install

which pymol                              # -> .../pymol-open-source/3.1.0/venv/bin/pymol
readlink -f "$PYMOL_ENV/bin/python"      # must resolve inside the module PREFIX
pymol -cq                                # headless no-op: exits 0 without X
pymol                                    # Qt GUI check, needs X

Adding a new version

Add the version + tarball sha256 in files/config.yaml (sha256sum the downloaded v<ver>.tar.gz), then build as above.