How to Install mdxplain
Prerequisites
Python >= 3.8 (Python 3.12 recommended)
Virtual environment manager (conda or venv)
Quick Setup
mdxplain uses a Makefile for streamlined installation and development workflows.
git clone https://github.com/maximilian-salomon/mdxplain.git
cd mdxplain
Conda Environment (Recommended)
Create a new conda environment with production dependencies, Jupyter, and nglview:
make setup-conda
conda activate mdxplain
Python Virtual Environment (Alternative)
Create a new virtual environment with production dependencies, Jupyter, and nglview:
make setup-venv
source mdxplain-venv/bin/activate
Install in Existing Environment
Install mdxplain core package in your currently active environment:
# Without Jupyter notebooks and nglview
make install
# With Jupyter notebooks and nglview
make install-jupyter
Optional: PyMOL Installation
PyMOL is not included in the standard installation to avoid compatibility issues due to its complex system-level dependencies. If you need PyMOL for 3D structure visualization, install it separately:
make install-pymol
Note: For system-specific installation instructions, please refer to the official PyMOL documentation <https://www.pymol.org/>. Alternatively, you can install PyMOL independently and load mdxplain’s generated PyMOL scripts manually.
Installation Options
Environment Setup Commands
Command |
Environment |
Description |
|---|---|---|
|
conda |
Production dependencies with Jupyter and nglview (no PyMOL) |
|
conda |
Development dependencies with Jupyter and nglview (no PyMOL) |
|
conda |
Production dependencies with Jupyter, nglview and PyMOL |
|
venv |
Production dependencies with Jupyter and nglview (no PyMOL) |
|
venv |
Development dependencies with Jupyter and nglview (no PyMOL) |
|
venv |
Production dependencies with Jupyter, nglview and PyMOL |
Installation in Existing Environment
Command |
Description |
|---|---|
|
Install core package only (no Jupyter, no PyMOL) |
|
Install with development dependencies plus Jupyter and nglview (no PyMOL) |
|
Install Jupyter and nglview (adds to existing installation) |
|
Install PyMOL for 3D structure visualization |
|
Install with full dependencies including Jupyter and PyMOL |
What’s Included
- Production Setup (
make setup-conda/make setup-venv) Core mdxplain package
Jupyter ecosystem (JupyterLab, notebook, ipykernel, ipywidgets)
nglview for interactive 3D visualization in Jupyter
DPA (Density Peak Algorithm)
- Core Installation (
make install) Core mdxplain package with basic dependencies
DPA (Density Peak Algorithm)
No Jupyter, no nglview, no PyMOL
Use this for minimal installations or server environments
- Development Setup (
make setup-dev-conda/make setup-dev-venv/make install-dev) All production dependencies (core + Jupyter + nglview, no PyMOL)
Code formatting and style tools (black, autopep8, isort)
Linting and analysis tools (flake8, pylint, mypy, pydocstyle, etc.)
Testing and coverage tools (pytest, coverage)
Documentation tools (sphinx, sphinx-rtd-theme, myst-nb)
Security and profiling tools (bandit, safety, memory-profiler, snakeviz)
- PyMOL Setup (
make setup-pymol-conda/make setup-pymol-venv/make install-pymol) Production dependencies with Jupyter, nglview and PyMOL
PyMOL for advanced 3D structure visualization (pymol-open-source >= 3.2.0a0)
Separate installation option to avoid compatibility issues
PyMOL only works in terminal/script environments (not Jupyter notebooks)
nglview provides 3D visualization within Jupyter notebooks
- Jupyter Addition (
make install-jupyter) Jupyter ecosystem (JupyterLab, notebook, ipykernel, ipywidgets)
nglview for interactive 3D visualization
Adds Jupyter to existing mdxplain installation (e.g., after
make install)Use this if you installed core only but now need Jupyter support
- Complete Installation (
make install-full) Full installation with all dependencies in existing environment
Core mdxplain package
Jupyter ecosystem (JupyterLab, notebook, ipykernel, ipywidgets)
nglview for interactive 3D visualization in Jupyter
PyMOL for advanced 3D structure visualization
Additional Commands
Jupyter
make jupyter # Start JupyterLab
make notebook # Start classic Jupyter Notebook
Development
make test # Run tests with pytest
make lint # Run code quality checks
make format # Format code with black and isort
make html # Build documentation
make clean # Remove environments and cache files
Help
To see all available commands:
make help
Install on Windows
Windows requires Make to be installed for using the Makefile commands. If you don’t have Make, you can install it via Chocolatey or use the manual pip/conda commands below.
All make command except PyMOL installation are supported on Windows.
PyMOL Installation on Windows
The make install-pymol command is not supported on Windows due to PyMOL’s
GUI-specific dependencies and the need for pre-built wheel files. Instead, install
PyMOL manually using pre-compiled wheels.
Installation Steps:
Download and install the appropriate PyMOL wheel for your Python version from the official releases:
# Example for Python 3.12
wget https://github.com/cgohlke/pymol-open-source-wheels/releases/download/v2025.10.30/pymol-3.2.0a0-cp312-cp312-win_amd64.whl
pip install pymol-3.2.0a0-cp312-cp312-win_amd64.whl
- Note:
Make sure to select the correct wheel file matching your Python version (e.g.,
cp312for Python 3.12,cp311for Python 3.11).PyMOL version 3.2.0a0 or higher is required for compatibility with numpy 2.x.
For detailed instructions and troubleshooting, visit the PyMOL Windows Wheels repository.
Manual Installation (without Make)
Create a virtual environment:
# Using conda conda create -n mdxplain python=3.12 -y conda activate mdxplain # Using venv python -m venv mdxplain-venv mdxplain-venv\Scripts\activate
Install mdxplain with desired dependencies:
# Production with Jupyter and nglview (no PyMOL) pip install .[jupyter] pip install --no-deps DPA # Development with Jupyter and nglview (no PyMOL) pip install .[dev,jupyter] pip install --no-deps DPA
Install PyMOL separately:
# Example for Python 3.12 wget https://github.com/cgohlke/pymol-open-source-wheels/releases/download/v2025.10.30/pymol-3.2.0a0-cp312-cp312-win_amd64.whl pip install pymol-3.2.0a0-cp312-cp312-win_amd64.whl