Installation Guide¶
This guide provides detailed instructions for installing GateWizard on different platforms.
Prerequisites¶
Before installing GateWizard, ensure you have:
- Conda (Miniconda or Anaconda): Download here
- Git (for cloning the repository): Download here
- Python 3.8+ (will be installed via conda)
Full API installation (Linux or WSL)¶
Use this when the new machine should build membranes, orient with MemPrO, and run OpenMM or GROMACS. NAMD stays a separate download.
conda create -n gatewizard -c conda-forge python sqlite ambertools=24 parmed=4.3.0 openmm cudatoolkit gromacs -y
conda activate gatewizard
pip install "gatewizard[full]"
pip install "mempro @ git+https://github.com/pstansfeld/MemPrO.git@v0.1.0"
python -c "import gatewizard; print(gatewizard.__version__)"
which pdb4amber
which mempro
On macOS, omit cudatoolkit. Prefer the CPU gromacs package. A CUDA GROMACS build in this same environment often stalls in the solver; see GROMACS: CPU vs CUDA.
The same stack from a git checkout:
git clone https://github.com/maurobedoya/gatewizard.git
cd gatewizard
conda env create -f environment.yml
conda activate gatewizard
pip install -r requirements-orientation.txt
environment.yml already installs the package with pip install -e ".[full]". The requirements file adds MemPrO, which PyPI cannot list inside the [full] extra.
For the desktop app, install gatewizard-gui separately. On first launch the GUI embeds its own micromamba runtime. That runtime is not this conda env. See Desktop GUI runtime (GROMACS / CUDA) below.
API package only¶
This installs the Python library without OpenMM or MemPrO:
conda create -n gatewizard -c conda-forge python sqlite ambertools=24 parmed=4.3.0 -y
conda activate gatewizard
pip install gatewizard
python -c "import gatewizard; print(gatewizard.__version__)"
Platform-Specific Instructions¶
Linux¶
GateWizard works natively on Linux. Follow the Quick Installation steps above.
Additional Notes: - Ensure you have tkinter support: sudo apt-get install python3-tk (Ubuntu/Debian) - For display issues, ensure X11 is properly configured
macOS¶
GateWizard works on macOS with some considerations:
# Follow the Quick Installation steps, then:
# If you encounter display issues:
conda install -c conda-forge python.app
Known Issues: - On Apple Silicon (M1/M2), some dependencies may require Rosetta 2
Windows¶
GateWizard is best used on Windows with WSL (Windows Subsystem for Linux):
Option 1: WSL (Recommended)
# 1. Install WSL2 with Ubuntu
wsl --install
# 2. Inside WSL, follow the Linux installation instructions
# 3. Install X server on Windows (e.g., VcXsrv, X410)
# 4. Set DISPLAY environment variable in WSL
export DISPLAY=:0
Option 2: Native Windows (Experimental)
# Use Anaconda Prompt
conda create -n gatewizard -c conda-forge python sqlite ambertools=24 parmed=4.3.0 -y
conda activate gatewizard
pip install gatewizard
python -c "import gatewizard; print(gatewizard.__version__)"
For the desktop app on Windows, use the gatewizard-gui Windows installer or the Linux/WSL build for the full MD workflow.
If Windows Task Manager shows VmmemWSL using several GB after you close the app, cap the VM — see Troubleshooting: VmmemWSL RAM.
Dependencies¶
Core Python Dependencies¶
Installed by pip install gatewizard:
- Python ≥ 3.8
- NumPy ≥ 1.21.0
- Matplotlib ≥ 3.5.0
- MDAnalysis ≥ 2.0.0
- lipyphilic ≥ 0.12.0
- freud-analysis ≥ 2.5.0
- Propka ≥ 3.2.0
- RDKit ≥ 2023.3.1
- gemmi ≥ 0.6.5
- psique ≥ 1.2.1
pip install "gatewizard[full]" also installs ParmEd and OpenMM. MemPrO is a separate pip line (requirements-orientation.txt or the GitHub tag v0.1.0). AmberTools, the conda ParmEd build, OpenMM’s CUDA toolkit, and CPU GROMACS come from conda, not from that pip extra.
Scientific Computing Dependencies¶
Must be installed via conda:
- AmberTools 24 - Molecular dynamics preparation and analysis
- Parmed 4.3.0 - Parameter/topology manipulation (must be from conda-forge)
External Requirements¶
- NAMD - Required for NAMD equilibration (separate install; not on conda-forge)
- Recommended: NAMD 3.0.1 or later (
namd3) - Download from: NAMD Official Website
- Must be on PATH or selectable via the GUI engine picker
- OpenMM (optional for API users) - Python MD engine via conda-forge
conda install -c conda-forge openmm cudatoolkiton Linux/WSL with an NVIDIA driver for the CUDA platform- macOS uses Metal/OpenCL (no
cudatoolkit) - Auto-selects CUDA → OpenCL → CPU; override with
PLATFORM=CUDAwhen running equilibration scripts - GROMACS (optional) - Recommended via conda-forge; the GUI also installs a build into its embedded runtime
- CPU (recommended default):
conda install -c conda-forge gromacs - CUDA (Linux only, advanced):
conda install -c conda-forge 'gromacs=*=nompi_cuda*' - System installs under
/usr/local/gromacs(withGMXRC) are auto-detected - See the notes below before choosing the CUDA conda build
GROMACS: CPU vs CUDA (conda-forge)¶
GateWizard equilibration works with either a CPU or CUDA gmx. Prefer the CPU package unless you specifically need a conda CUDA GROMACS binary.
| Goal | Command / behavior |
|---|---|
| Reliable conda install | conda install -c conda-forge gromacs |
| CUDA GROMACS (opt-in) | conda install -c conda-forge 'gromacs=*=nompi_cuda*' |
| GPU OpenMM (separate) | conda install -c conda-forge openmm cudatoolkit |
Why CUDA GROMACS often fails or hangs
- Installing
gromacs=*=nompi_cuda*into an environment that already has OpenMM +cudatoolkitcan stall for a very long time in the dependency solver (little or no log output afterPinned packages:). - Log lines about the CUDA Toolkit EULA or Anaconda Terms of Service are informational. Non-interactive installs (
conda/micromambawith-y) do not wait for you to type “yes”. - If the CUDA solve is cancelled or times out, installing the CPU
gromacspackage normally succeeds quickly. - For GPU MD with GateWizard, OpenMM +
cudatoolkitis usually enough. Use a system CUDA GROMACS (or GMXRC) if you needgmxon the GPU, or keep conda GROMACS on CPU.
Desktop GUI runtime (GROMACS / CUDA)¶
gatewizard-gui bootstraps an embedded micromamba env on first launch (see that repo’s README and runtime-install.log).
- OpenMM: on Linux/WSL, if
nvidia-smisees a GPU, the GUI installsopenmm+cudatoolkitinto the embedded env (unlessGATEWIZARD_SKIP_CONDA_CUDA=1). - GROMACS (default): the GUI installs the CPU conda-forge build. This avoids multi-hour CUDA solver hangs next to OpenMM’s toolkit.
- GROMACS CUDA (opt-in): set
GATEWIZARD_CONDA_GROMACS_CUDA=1before launching the GUI. The bootstrap tries a frozen CUDA install with a short timeout, then falls back to CPU GROMACS if the solve stalls. - Quitting mid-install kills leftover
micromambaprocesses for that env so a relaunch is not blocked by an orphaned solver. - Linux/WSL log:
~/.config/gatewizard-gui/runtime-install.log(look for[gromacs] starting…/failed/installed). - The embedded env is
~/.config/gatewizard-gui/mamba-env.sudo apt remove gatewizard-gui-linuxleaves it.sudo apt purge gatewizard-gui-linuxdeletes that directory for the user who ran sudo. It does not remove a separate conda env such as~/miniconda3/envs/gatewizard.
Manual API environments should follow the same preference: install CPU gromacs by default; only add the CUDA matchspec if you accept a long or fragile solve.
Verifying Installation¶
After installation, verify that everything works:
# Activate environment
conda activate gatewizard
# Check Python version
python --version # Should be 3.8+
# Check key dependencies
python -c "import MDAnalysis; print('MDAnalysis:', MDAnalysis.__version__)"
python -c "import parmed; print('ParmEd:', parmed.__version__)"
python -c "import openmm; print([openmm.Platform.getPlatform(i).getName() for i in range(openmm.Platform.getNumPlatforms())])"
# Check AmberTools
which pdb4amber # Should show path in conda environment
# Verify GateWizard API
python -c "import gatewizard; print(gatewizard.__version__)"
Upgrading GateWizard¶
To upgrade to the latest version from PyPI:
# Activate environment
conda activate gatewizard
# Upgrade GateWizard
pip install --upgrade gatewizard
# Verify new version
python -c "import gatewizard; print(gatewizard.__version__)"
Check for updates: You can check if a newer version is available:
Force reinstall (if needed): If you encounter issues after an update:
Troubleshooting Installation¶
Issue: conda GROMACS CUDA install hangs after “Pinned packages”¶
Cause: The gromacs=*=nompi_cuda* solve often conflicts with an environment that already has OpenMM/cudatoolkit. The solver can run for a very long time with almost no new log lines. EULA / Terms-of-Service messages in the log are not interactive prompts.
Solution:
# Cancel the stuck install (Ctrl+C), then install CPU GROMACS:
conda install -c conda-forge gromacs -y
# Optional: use a system CUDA GROMACS / GMXRC instead of the conda CUDA build
For gatewizard-gui, leave the default (CPU GROMACS). Only set GATEWIZARD_CONDA_GROMACS_CUDA=1 if you explicitly want the timed CUDA attempt. See Desktop GUI runtime (GROMACS / CUDA).
Issue: ImportError with numpy.compat¶
Cause: Version conflict between NumPy and Parmed.
Solution:
Issue: pdb4amber command not found¶
Cause: AmberTools not properly installed or environment not activated.
Solution:
# Ensure environment is activated
conda activate gatewizard
# Reinstall AmberTools
conda install -c conda-forge ambertools=24
Issue: Module not found errors¶
Cause: Installation incomplete or wrong environment.
Solution:
# Ensure you're in the correct environment
conda activate gatewizard
# Reinstall the API
cd /path/to/gatewizard
pip install -e ".[full]" --force-reinstall
pip install -r requirements-orientation.txt
Tip: GateWizard follows semantic versioning. Check the releases page for changelog and new features.
For Development Installation¶
If you installed from source:
# Update repository
cd /path/to/gatewizard
git pull origin main
# Update dependencies if needed
conda env update -f environment.yml
# Reinstall
pip install -e ".[full]" --force-reinstall
pip install -r requirements-orientation.txt
# Re-verify import
python -c "import gatewizard; print(gatewizard.__version__)"
Uninstallation¶
To completely remove GateWizard:
# Remove conda environment
conda deactivate
conda env remove -n gatewizard
# Remove repository (if desired)
rm -rf /path/to/gatewizard
Next Steps¶
After successful installation:
- Read the User Guide to learn about features
- Try the example workflows
- Check the Troubleshooting Guide if you encounter issues
For additional help, please contact the developers or check the GitHub repository.