A tool for membrane protein preparation and molecular dynamics analysis
Project description
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).
Features
- Preparation — clean structures, pKa (PROPKA), protonation, and termini capping
- Membrane builder — orient protein, pack lipids and solvent, Amber parametrization (tleap)
- Equilibration — CHARMM-GUI-style protocols for NAMD, GROMACS, and OpenMM (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=24 parmed=4.3.0 openmm cudatoolkit -y
conda activate gatewizard
pip install "gatewizard[full]"
pip install -r requirements-orientation.txt
MemPrO is installed from the MemPrO GitHub release (v0.1.0).
For optional extras without OpenMM (NAMD/GROMACS only):
pip install gatewizard
From source (includes openmm + cudatoolkit via conda):
git clone https://github.com/maurobedoya/gatewizard.git
cd gatewizard
conda env create -f environment.yml
conda activate gatewizard
pip install -e .
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 |
| PROPKA | pKa and protonation |
| RDKit | Ligand 2D structures |
| Pillow | Image I/O |
| psique | Structure / sequence tools |
| 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) |
| MemPrO | Membrane orientation (GitHub) |
Install: pip install "gatewizard[full]" then pip install -r requirements-orientation.txt for MemPrO.
Python — GUI backend · gatewizard-gui
| Package | Role |
|---|---|
| FastAPI | Local HTTP API for the desktop app |
| Uvicorn | ASGI server |
| 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 24 | tleap, antechamber, packmol, pdb4amber, … |
| ParmEd 4.3.0 | From conda-forge (AmberTools-compatible) |
| OpenMM ≥ 8.0 | MD engine (Python) |
| cudatoolkit | OpenMM CUDA platform (Linux/WSL + NVIDIA driver) |
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 |
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 binaries | no — user install |
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gatewizard-1.0.40.tar.gz.
File metadata
- Download URL: gatewizard-1.0.40.tar.gz
- Upload date:
- Size: 299.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fe8f2d715559f9ac1eb6239c03ef0283bfb7f48b1ed4db6befc2d4718ab1cc8
|
|
| MD5 |
28d6da56585d03cd02b3b803fbf25e92
|
|
| BLAKE2b-256 |
5738618c83ac8c39b950beb9bc02a171d796e46710637bd4c75d61c0f66ea4db
|
Provenance
The following attestation bundles were made for gatewizard-1.0.40.tar.gz:
Publisher:
publish-to-pypi.yml on maurobedoya/gatewizard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gatewizard-1.0.40.tar.gz -
Subject digest:
6fe8f2d715559f9ac1eb6239c03ef0283bfb7f48b1ed4db6befc2d4718ab1cc8 - Sigstore transparency entry: 1876126534
- Sigstore integration time:
-
Permalink:
maurobedoya/gatewizard@bd8a61c0447b3c44e69c816c49ef8d23689d91c7 -
Branch / Tag:
refs/tags/v1.0.40 - Owner: https://github.com/maurobedoya
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@bd8a61c0447b3c44e69c816c49ef8d23689d91c7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gatewizard-1.0.40-py3-none-any.whl.
File metadata
- Download URL: gatewizard-1.0.40-py3-none-any.whl
- Upload date:
- Size: 463.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99090305412e9de320ee92e9455c6da9bec9457b6b0102e396fe4aa526175747
|
|
| MD5 |
670c20927f40c2c064b892a1f8f6613d
|
|
| BLAKE2b-256 |
705bda36978991a31515f7215ac1ad0594df797422456f8c90771d3f3cbb37a4
|
Provenance
The following attestation bundles were made for gatewizard-1.0.40-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on maurobedoya/gatewizard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gatewizard-1.0.40-py3-none-any.whl -
Subject digest:
99090305412e9de320ee92e9455c6da9bec9457b6b0102e396fe4aa526175747 - Sigstore transparency entry: 1876126605
- Sigstore integration time:
-
Permalink:
maurobedoya/gatewizard@bd8a61c0447b3c44e69c816c49ef8d23689d91c7 -
Branch / Tag:
refs/tags/v1.0.40 - Owner: https://github.com/maurobedoya
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@bd8a61c0447b3c44e69c816c49ef8d23689d91c7 -
Trigger Event:
push
-
Statement type: