GateWizard (API)
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'slipid21.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]"
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.
gatewizard[full] installs the CPU build of MemPrO (mempro ≥ 0.3.0). A checkout’s environment.yml does the same.
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 CPU MemPrO 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]". That extra includes the CPU MemPrO package. A checkout’s environment.yml already includes it.
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.55
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gatewizard-1.0.55.tar.gz | 722.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gatewizard-1.0.55-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / gatewizard-1.0.55.tar.gz
| Download URL | gatewizard-1.0.55.tar.gz |
|---|---|
| Size | 722.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9d56c304f3e8f5b5e362f80cf6cdd0735aad5b43b506aaae9c659ddc7af62698
|
|
BLAKE2b-256 checksum How to use checksums |
2ffd058e0f90cbcbe8e0c4ec9f5e917af806974dab66d8efa3e86a5bf6b8efec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / gatewizard-1.0.55-py3-none-any.whl
| Download URL | gatewizard-1.0.55-py3-none-any.whl |
|---|---|
| Size | 882.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
56d0e9c22769421854b4826f83b92e43e94a2bb7ca7eed8bc45e5848e0ee27bd
|
|
BLAKE2b-256 checksum How to use checksums |
ece2c4341548ac59eb7b12dfbeb13adb9e2c8c6a1f771b263cea261d4204bf26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for gatewizard 1.0.55
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.