Skip to main content

GateWizard (API)

GateWizard

PyPI version Documentation DOI License: MIT GitHub stars

Python library for membrane protein preparation, system building, equilibration setup, and MD trajectory analysis.

This repository is the API only. It does not include a graphical interface.

If you want a desktop app, use gatewizard-gui, a separate project that calls this library. You can use the API without the GUI, and the GUI without cloning this repo (it installs the API via pip).

📖 Documentation · Manual (PDF) · 💬 Discussions (API + GUI community forum)

Features

  • Preparation — clean structures, pKa (PROPKA), protonation, and termini capping
  • Membrane builder — orient protein, pack lipids and solvent, Amber parametrization (tleap). GateWizard supports 4028 lipid types from packmol-memgen --available_lipids_all (version 2025.1.29). 3770 of them parametrize through PACKMOL-Memgen's Lipid_ext library on top of lipid21 or lipid17; those parameters are not in Amber's lipid21.lib. The catalog lists 4055 names; the 27 SIRAH lipids are coarse-grained and are not supported. See the builder reference.
  • Equilibration — the same CHARMM-GUI-style protocols for four MD engines: NAMD, GROMACS, OpenMM, and Amber (NVT, NPT, NPAT, NPγT)
  • Analysis — trajectory metrics, structural analysis, and plotting helpers
  • Force fields — Amber protein models (e.g. ff14SB, ff19SB) and common water/lipid setups

Install

conda create -n gatewizard -c conda-forge python sqlite ambertools=26 parmed=4.3.0 openmm cudatoolkit gromacs -y
conda activate gatewizard
conda install -c conda-forge -c bioconda reduce -y
pip install "gatewizard[full]"
pip install "mempro @ git+https://github.com/pstansfeld/MemPrO.git@v0.2.0"

That conda line is for Linux or WSL with an NVIDIA driver. On macOS, leave out cudatoolkit. NAMD is not in this environment; install it separately and put namd3 on PATH if you run NAMD equilibration.

MemPrO is installed from the MemPrO GitHub release (v0.2.0). pip install mempro is a different, older package, so the line above is the one to use. A checkout’s environment.yml already includes that pin.

For the library without the OpenMM extra (NAMD, GROMACS, and Amber still use their own programs):

pip install gatewizard

From a git checkout (environment.yml already runs pip install -e ".[full]", including CPU GROMACS, OpenMM, and cudatoolkit):

git clone https://github.com/maurobedoya/gatewizard.git
cd gatewizard
conda env create -f environment.yml
conda activate gatewizard

environment.yml already installs MemPrO v0.2.0 with the rest of the environment.

Check the version:

python -c "import gatewizard; print(gatewizard.__version__)"

Dependencies

GateWizard is split across two repositories (API + GUI). Below is the full dependency stack; subsections mark what this repo installs automatically.

Python — core (pip install gatewizard) · this repo

Installed automatically:

Package Role
Python ≥ 3.8 Runtime
NumPy Numerical arrays
Matplotlib Plots and analysis figures
MDAnalysis Trajectories and topologies
lipyphilic Membrane / lipid analysis (AreaPerLipid, leaflets, thickness; git extra for exclude until PyPI)
PROPKA pKa and protonation
RDKit Ligand 2D structures
Pillow Image I/O
psique Structure / sequence tools
gemmi mmCIF and biological assembly
freud-analysis Voronoi area-per-lipid (EVAPL, GridMAT, VTMC)
requests HTTP helpers

Python — optional [full] · this repo

Package Role
ParmEd Topology conversion (GROMACS, etc.)
OpenMM Equilibration / MD (Python; use with conda cudatoolkit for GPU)
PDBFixer Short loops of 1–6 residues
MemPrO Membrane orientation (GitHub)

Install: pip install "gatewizard[full]", then pip install "mempro @ git+https://github.com/pstansfeld/MemPrO.git@v0.2.0". A checkout’s environment.yml already includes that pin.

For protein-aware upstream AreaPerLipid (exclude_sel before a PyPI release with PR #164): pip install -r requirements-lipyphilic-git.txt. GateWizard’s default APL with occupants remains EVAPL.

Python — GUI backend · gatewizard-gui

Package Role
FastAPI Local HTTP API for the desktop app
Uvicorn ASGI server
Paramiko SSH for Run on cluster
Biopython Residue mutation
SciPy Numerical helpers
Biotite Chain superposition
PDBFixer Short loops (also in gatewizard[full])
gatewizard[full] This API (installed into the embedded runtime)

Conda (building + OpenMM GPU) · this repo via environment.yml; GUI embeds on Linux/WSL/macOS

Package Role
AmberTools 26 tleap, antechamber, packmol, pdb4amber, …
reduce (bioconda) Amber hydrogens for pdb4amber --reduce. AmberTools 26 does not ship it.
ParmEd 4.3.0 From conda-forge (AmberTools-compatible)
OpenMM ≥ 8.0 MD engine (Python)
cudatoolkit OpenMM CUDA platform (Linux/WSL + NVIDIA driver)
GROMACS (CPU) Equilibration. Prefer this conda package over a CUDA GROMACS build in the same env.
sqlite Conda runtime library

Desktop app · gatewizard-gui

Package Role
Electron Desktop shell
Node.js 20+ App and build runtime
Svelte 5 UI framework
Vite Frontend bundler
Tailwind CSS Styling
Three.js + Threlte 3D structure viewer
electron-updater In-app update checks

External MD engines (install separately · neither repo)

Tool Role
NAMD Run NAMD equilibration — namd3 / namd2 on PATH
GROMACS Run GROMACS equilibration — gmx on PATH (prefer conda-forge CPU gromacs; CUDA conda builds often hang next to OpenMM — see Installation)
Amber Run Amber equilibration — pmemd / pmemd.cuda, or sander from AmberTools

OpenMM needs no separate binary — use openmm + cudatoolkit (conda) with gatewizard[full]. Auto-selects CUDA → OpenCL → CPU; override with PLATFORM=CUDA bash run_equilibration.sh.

python -c "import openmm; print([openmm.Platform.getPlatform(i).getName() for i in range(openmm.Platform.getNumPlatforms())])"

Provided by this repository

Component Included
gatewizard Python package (core + [full] extras) yes
environment.yml (AmberTools, OpenMM, cudatoolkit, …) yes
Desktop app (Electron, Svelte, viewer) no — gatewizard-gui
FastAPI backend no — GUI repo
NAMD, GROMACS, and Amber pmemd binaries no — user install (sander comes with AmberTools)

Desktop GUI

gatewizard-gui — Electron app for the same workflow with a visual interface. It manages its own Python runtime and can update the API from the app. First-launch bootstrap installs CPU GROMACS by default (CUDA GROMACS is opt-in); details in Installation → Desktop GUI runtime.

Community and support

Need Where
Questions, workflows, methodology Discussions — central forum for API and GUI (use labels like api, gui, api:installation, gui:installation)
API bug or feature Issues in this repo
GUI bug or feature Issues in gatewizard-gui
Docs and troubleshooting Documentation
Manual (PDF) Download

New to the project? Read the welcome post and say hello in the comments.

Metadata

Release files for gatewizard 1.0.54

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gatewizard 1.0.54
File Size Uploaded Provenance
gatewizard-1.0.54.tar.gz 720.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gatewizard 1.0.54
File Interpreter ABI Platform
gatewizard-1.0.54-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / gatewizard-1.0.54.tar.gz

Download URL gatewizard-1.0.54.tar.gz
Size 720.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e821dcf9b201bda00d8a21bb7cc973c77701e677d597d07a881569e773b3241e
BLAKE2b-256 checksum
How to use checksums
bae77a0788484263b20049ab8550d445ef10263c12dc3fd7ec3a6d5333df122b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / gatewizard-1.0.54-py3-none-any.whl

Download URL gatewizard-1.0.54-py3-none-any.whl
Size 880.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15cf9bf4e904a2211dda4ec2e3f65337b88b5793935ae90f9a8889059fcca7cb
BLAKE2b-256 checksum
How to use checksums
a5e5dda6dc16186659f3f24805b81454c15c8439467c899f515f5aad788ba6f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Security for gatewizard 1.0.54

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.0.54 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page