Installation Guide¶
This page provides detailed instructions for installing DROPPS (Distributed Rapid Operation Platform for Phase-separation Simulations). DROPPS is implemented in Python and uses OpenMM, numpy, gsd, and MDAnalysis as its computational backend.
Installation consists of the following steps:
Preparing a Python environment
Installing required dependencies
Installing DROPPS from source
Verifying the installation
DROPPS requires Python 3.10+, CUDA (optional), and a working compiler toolchain if OpenMM/GSD are compiled from source.
Quick start¶
DROPPS is distributed using python wheals package. It is recommended to install DROPPS using a conda virtual environment by the following very simple commands.
On Linux (preferably CentOS Stream 7/8/9) or MacOS (preferably M1/M2/M3/M4 Mac) without GPU support or with OpenCL Support
conda create -n DROPPS python=3.12.11
conda activate DROPPS
pip install dropps-0.2.0-py3-none-any.whl
On high-performance Computing Cluster with GPU Support
conda create -n DROPPS python=3.12
conda install -c conda-forge openmm cudatoolkit
pip install dropps-0.2.0-py3-none-any.whl
Manual installation¶
Prerequisites¶
Before installing DROPPS, ensure you have the following dependencies:
Python 3.10 or newer
pip ≥ 22.0
openMM ≥ 8.1
OpenCL toolkit (optional, for GPU acceleration on AMD cards or Apple silicons)
NVIDIA CUDA toolkit (optional, for GPU acceleration)
On Linux (Debian/Ubuntu):
sudo apt update
sudo apt install -y build-essential cmake git python3-dev python3-venv
Creating a Python Environment¶
It is recommended to install DROPPS inside a dedicated conda environment:
conda create -n dropps python=3.12 -y
conda activate dropps
Or using venv:
python3 -m venv dropps-env
source dropps-env/bin/activate
Installing Dependencies¶
DROPPS uses the following libraries:
OpenMM (MD engine)
GSD (If gsd file support is enabled)
MDAnalysis (trajectory manipulation)
numpy, scipy, h5py, tqdm
Install OpenMM:
conda install -c conda-forge openmm
Install GSD:
conda install -c conda-forge gsd
Install MDAnalysis:
pip install MDAnalysis
Install Python utilities:
pip install numpy scipy h5py tqdm
Installing DROPPS¶
DROPPS is currently under development and distributed via GitHub.
Clone the repository:
git clone https://github.com/tymworld/DROPPS.git
cd DROPPS
Install using pip:
pip install dist/dropps-0.2.0-py3-none-any.whl
Or install in editable (developer) mode:
pip install -e dist/dropps-0.2.0-py3-none-any.whl
Configuring GPU Support¶
DROPPS can run on:
NVIDIA GPUs (CUDA)
AMD GPUs / Apple silicons (OpenCL)
CPU only (OpenMM Reference platform)
To check that OpenMM sees your GPU:
python -m openmm.testInstallation
To verify HOOMD GPU backend:
python - << EOF
import hoomd
print(hoomd.device.GPU())
EOF
Environment Variables¶
Optional environment variables for performance tuning:
export OPENMM_CPU_THREADS=8
export OMP_NUM_THREADS=8
export HOOMD_DISABLE_JIT=1
Verifying the Installation¶
Run the built-in test script:
dps -h
Run a simple LLPS simulation example:
dps pdb2dps -s FF -r 1 -oc FF -op OC -on OC
dps genmesh -f FF.pdb -p FF.itp -n 1 -mesh 1 1 1 -oc box -op box
cp /PATH_TO_DPS/share/template/md.mdp ./
dps grompp -f box.pdb -p box.top -m md.mdp -o FF.tpr
dps mdrun -s FF.tpr -o FF
If the simulation starts successfully, the installation is complete.
Troubleshooting¶
OpenMM CUDA not detected
Check CUDA installation
Ensure correct conda channel priority
Ensure your GPU is supported by OpenMM
HOOMD “No GPU detected”
Update NVIDIA drivers
Try installing HOOMD from conda-forge only
MDAnalysis trajectory loading errors
Ensure packages are up-to-date:
pip install --upgrade MDAnalysis h5py
If problems persist, please open an issue on the DROPPS GitHub page.
Note
DROPPS is actively developed. Installation instructions may change frequently as new modules and plugins are added.