First Simulation

This tutorial provides a complete, step-by-step guide to performing your first phase separation molecular dynamics simulation using DROPPS.

Note that DROPPS is a highly flexible package that can be used in many different ways, but this tutorial focuses on the most straightforward workflow that closely follows the slab-simulation pipeline. This is the recommended starting point for new users, as it covers all the essential steps while maintaining a familiar structure.

DROPPS is intentionally designed to mimic the user interface of GROMACS, meaning that each step corresponds to a familiar GROMACS command. The following are the DROPPS equivalents of common (selected) GROMACS commands:

GROMACS

DROPPS

gmx pdb2gmx

dps pdb2dps

gmx editconf

dps editconf

gmx grompp

dps grompp

gmx mdrun

dps mdrun

gmx make_ndx

dps make_ndx

gmx contact

dps contact

This tutorial walks you through the complete pipeline for a slab simulation for a multi-component co-phase separation system (co-phase separation of α-synuclein and full-length TDP-43 ).

Overview of the Workflow

A DROPPS simulation consists of the following steps:

  1. Generate single-chain structure & topology for each type of biomolecule (pdb2dps)

  2. Build a multi-chain system (genmesh)

  3. Prepare a simulation run input (grompp)

  4. Run MD simulation on local machine or on HPC cluster (mdrun)

  5. (Optional) Build index groups (make_ndx)

  6. (Optional) Perform trajectory analysis (contact, density, gyrate, etc.)

Each step directly corresponds to a command in the dps command-line suite.

1. Generate Structures and Topologies (pdb2dps)

To create the initial single-chain structure and topology from a sequence or PDB file, use dps pdb2dps.

1.1 Generate Single-Chain Structure and Topology for α-Synuclein

Assume that you don’t have the all-atom structure for α-synuclein, thus the fastest way is to generate its coarse grained structure and topology is through a random walk.

dps pdb2dps
-s MDVFMKGLSKAKEGVVAAAEKTKQGVAEAAGKTKEGVLYVGSKTKEGVVHGVATVAEKTKEQVTNVGGAVVTGVTAVAQKTVEGAGSIAAATGFVKKDQLGKNEEGAPQEGILEDMPVDPDNEAYEMPSEEGYQDYEPEA
-cNTD -cCTD -r 3
-oc asyn -op asyn -on asyn -ff HPS

The command line options are described as follows:

  • The -cNTD and -cCTD flags specify that additional charge is added to N- and C-terminus.

  • The -oc, -op, -on flags specify the coordinate file name, topology file name, and molecule name.

  • The -ff flag specify the forcefield. If not specified, you will be asked to choose interactively.

  • The -r flag specifies the maximum radius for the random walk strou can adjust this value to generate a more compact or more extended initial structure.ucture. Y

The command will write the following files:

  • asyn.pdb — coarse-grained coordinates

  • asyn.itp — single-chain topology

Optional: Add Angle Potentials for α-Synuclein to Capture Secondary Structure Propensities

If you want to include angle potentials to capture secondary-structure propensities, you can use the dps addangle command.

If you want to include angle potentials to capture secondary-structure propensities, you can use the dps addangle command.

A recent publication:

showed that α-synuclein has seven β-sheet-rich domains. Their β-probabilities are listed in the following table. It is wise to add angle potentials to these domains with force constants proportional to their β-probabilities, as this may better capture the conformational ensemble of α-synuclein.

Sequence

β-probability

Angle

Force constant

4FMKGLSK10

0.83

180°

0.83

26VAEAAGK32

0.82

180°

0.82

36GVLYVGS42

0.66

180°

0.66

61EQVTNVG67

0.74

180°

0.74

75TAVAQKT81

0.77

180°

0.77

88IAAATGF94

0.66

180°

0.66

113LEDMPVD119

0.44

180°

0.44

To add these angle potentials, create a file named angle.txt with the contents provided at the end of this page. Or, use this command to create the file directly from the command line:

awk 'BEGIN{split("4 26 36 61 75 88 113",s);split("83 82 66 74 77 66 44",v);for(i=1;i<=7;i++)for(j=0;j<7;j++)printf"%d\t180\t%d\n",s[i]+j,v[i]}' > angle.txt

Then, run the following command to add angle potentials:

mv asyn.itp asyn_base.itp
dps addangle -ip asyn_base.itp -op asyn.itp -al angle.txt

This command will generate a new topology file that includes the angle potentials.

1.2 Generate Single-Chain Structure and Topology for Full-Length TDP-43

TDP-43 contains multiple structured domains whose conformation should be resumed in coarse-grained simulations. However, the all-atom structure for full-length TDP-43 is not available. To generate the coarse-grained structure and topology for full-length TDP-43, we can use the predicted structure from AlphaFold. The predicted structure can be downloaded from the AlphaFold Protein Structure Database (https://alphafold.ebi.ac.uk/entry/AF-Q9W1I0-F1).

After downloading the PDB file, you can run the following command to generate the coarse-grained structure and topology:

dps pdb2dps
-s MSEYIRVTEDENDEPIEIPSEDDGTVLLSTVTAQFPGACGLRYRNPVSQCMRGVRLVEGILHAPDAGWGNLVYVVNYPKDNKRKMDETDASSAVKVKRAVQKTSDLIVLGLPWKTTEQDLKEYFSTFGEVLMVQVKKDLKTGHSKGFGFVRFTEYETQVKVMSQRHMIDGRWCDCKLPNSKQSQDEPLRSRKVFVGRCTEDMTEDELREFFSQYGDVMDVFIPKPFRAFAFVTFADDQIAQSLCGEDLIIKGISVHISNAEPKHNSNRQLERSGRFGGNPGGFGNQGGFGNSRGGGAGLGNNQGSNMGGGMNFGAFSINPAMMAAAQAALQSSWGMMGMLASQQNQSGPSGNNQNQGNMQREPNQAFGSGNNSYSGSNSGAAIGWGSASNAGSGSGFNGGFGSSMDSKSSGWGM
-f AF-Q9W1I0-F1-model_v6.pdb
-cNTD -cCTD
-oc tdp43.pdb -op tdp43.top -on tdp43 -ff HPS

The command line options are described as follows:

  • The -f flag specifies the input PDB file containing the all-atom structure.

  • The -cNTD and -cCTD flags specify that additional charge is added to N- and C-terminus.

  • The -oc, -op, -on flags specify the coordinate file name, topology file name, and molecule name.

  • The -ff flag specify the forcefield. If not specified, you will be asked to choose interactively.

The command will write the following files:

  • tdp43.pdb — coarse-grained coordinates

  • tdp43.itp — single-chain topology

Optional: Add Elastic Network Bonds to Preserve Structured Domain Conformations

If you want to preserve the conformations of the structured domains in TDP-43, you can add elastic network bonds to these domains. This can be done using the dps genelastic command. For example, if you want to add elastic bonds to the NTD domain (residues 1–77), the RRM1 domain (residues 106–177) and the RRM2 domain (residues 192–259) respectively, you can create a file named elastic.txt with the content provided at the end of this page. Or, use this command to create the file directly from the command line:

seq -s' ' 1 77 > elastic.txt
seq -s' ' 106 177 >> elastic.txt
seq -s' ' 192 259 >> elastic.txt

Then, to add elastic network bonds, run the following command:

mv tdp43.itp tdp43_base.itp
dps genelastic -f tdp43.pdb -p tdp43_base.itp -o tdp43.itp -er elastic.txt

This command will generate a new topology file that includes the elastic network bonds for the specified domains. Note that the parameters for the elastic bonds can be adjusted by command line options. Please refer to the help information in “dps genelastic -h”.

2. Build a Multi-Chain System (genmesh)

To construct a system with many copies of the protein, use dps genmesh. For example, we would like to simulate a system with 125 chains of α-synuclein and 125 chains of TDP-43 on a random mesh, use the following command:

dps genmesh
-f asyn.pdb tdp43.pdb
-p asyn.itp tdp43.itp
-n 125 125
-mesh 8 8 8 -g 1 --shuffle
-oc system.pdb -op system.top

The command line options are described as follows:

  • The -f flag specifies the input PDB file for each molecule specie.

  • The -p flag specifies the input topology file for each molecule specie.

  • The -n flag specifies the number of chains for each molecule specie.

  • The -mesh flag specifies the dimensions of the spatial mesh to arrange the chains.

  • The g flag specifies the minimum distance between chains to avoid overlaps.

  • The –shuffle flag randomizes the placement of chains on the mesh.

  • The -oc and -op flags specify the output coordinate file name and topology file name for the multi-chain system.

Note that there are more mesh points (8*8*8=512) then the number of chains (125+125=250), so the chains will be randomly placed on the mesh with some empty points.

The command will write the following files:

  • system.pdb — coarse-grained coordinates for the whole system

  • system.top — Topology for the whole system

3. Perform a Short NPT Simulation for Dense-Phase Formation

Before running a long production simulation, it is often helpful to perform a simulation under the NPT ensemble for a short time to allow the system form a dense phase. This is because starting from a random configuration, it may take a long time for the system to spontaneously phase separate and form a dense phase, which can be computationally expensive. By performing a short simulation under the NPT ensemble, you can allow the system to quickly phase separate and form a dense phase, which can then be used as the starting point for a longer production simulation.

To do so, you will need a molecular dynamics parameter file (npt.mdp) that specifies the simulation parameters for the NPT simulation. The content for the file and the description for each parameter is provided in the end of this page. You can adjust the parameters as needed, but for a quick test, you can use the default parameters provided in the file.

The most important parameters are:

  • tcoulp = Bussi, which is the method for temperature coupling. Bussi thermostat

    is a stochastic velocity rescaling thermostat that can generate the correct canonical ensemble. It is suitable for coarse-grained simulations and is currently the only allowed method for temperature coupling in DROPPS.

  • initial-temperature = 150 and production-temperature = 150 K, which is the ensemble temperature for the system.

    Use of a low temperature allow the system to efficiently collapse into a dense phase.

  • pcoulp = True, which enables pressure coupling. This allows the system to adjust its

    volume and density during the simulation.

  • ref-P = 1 and tau-P = 5, which is the reference pressure and time constant for

    pressure coupling. This is a common choice for simulating biological systems at ambient conditions.

Then, you can run the NPT simulation using the following two command:

dps grompp -f system.pdb -p system.top -m npt.mdp -o npt.tpr
dps mdrun -s npt.tpr -o npt

The grompp command generates a run input file (tpr) that is used for the mdrun command, which will be described extensively below.

The mdrun command will generate these files:

  • npt.xtc: trajectory file

  • npt.pdb: final configuration

  • npt.log: log information

4. Generate a Phase-Coexistence State

After the NPT simulation, you are now in a place to prepare a phase-coexistence state. This can be done by expanding the final configuration of the NPT simulation in one direction by the following command:

dps editconf -f npt.pdb -mz 10 -o slab.pdb

The command line options are described as follows:

  • The -mz flag specifies that the box will be expanded in the z direction for 10 times.

Note that the periodic boundary condition will be automatically treated so that no molecule will be break in the z direction.

5. Prepare the Production Run (Phase-Coexistence Simulation)

DROPPS uses a distributed design in which the simulation-construction and trajectory-analysis modules are decoupled from the production-run module and linked through a portable run-input file (tpr). This architecture enables simulations to be executed on external computational resources such as high-performance computing (HPC) clusters and supercomputers, with OpenMM used as backends.

For the production run, you also need a mdp file (md.mdp) that specifies the simulation parameters for the production simulation. The content for the file and the description for each parameter is provided in the end of this page. You can adjust the parameters as needed.

Note that the pressure coupling is turned off in the production simulation.

A run input file (md.tpr) can be generated using the following command:

dps grompp -m md.mdp -f system.pdb -p system.top -o md.tpr

This command will generate a “md.tpr” run input file that includes everything needed to run the production simulation.

6. Run the Production Simulation

The simulation can be performed on local machine. For better performance, it is recommended to run the simulation on an HPC cluster or supercomputer with GPU resources. The tpr file can be transferred to an HPC cluster or supercomputer for running the production simulation. A sample job submission script for a slurm-based HPC cluster is provided:

#!/bin/bash

module load DROPPS/0.3.1
dps mdrun -s md.tpr -o md >> md.out &> md.error

The mdrun command will generate these files:

  • md.xtc: trajectory file

  • md.pdb: final configuration

  • md.log: log information

If you would like to track the progress of the simulation, or the time evolution of some critical properties such as potential energy, temperature, etc., you can adjust the settings in the mdp file section “Output control” to print these properties to the screen or the log file at a certain frequency.

Currently, these properties are allowed:

  • step: current step index

  • time: current time

  • potentialEnergy: potential energy

  • kineticEnergy: kinetic energy

  • totalEnergy: total energy

  • temperature: instantaneous temperature

  • volume: periodic box volume

  • density: system density

  • progress: current progress (percent completion).

  • remainingTime: estimate of the remaining clock time until completion.

  • speed: estimate of the simulation speed in ns/day

  • elapsedTime: elapsed time of the simulation in seconds.

7. Generate Index Groups (Optional, make_ndx)

Some analyses require custom index groups.

Use:

dps make_ndx -f md.tpr -o md.ndx

The interactive interface supports:

  • splitch — automatically split groups by chain (specialized for large multichain HPS systems)

  • res, abbr, chain, index, etc.

8. Perform Data Analysis (Optional)

DROPPS provides a suite of built-in analysis tools, such as:

  • dps density

  • dps cmap

  • dps idist / dps odist

  • dps gyrate

  • dps contact

Example: calculate a contact number map between protein chains:

dps contact -s md.tpr -f md.xtc -n md.ndx -o contact.xvg

Example: compute density profile along the z-axis:

dps density -s md.tpr -f md.xtc -n md.ndx --axis z -o density.xvg

Troubleshooting

Common issues (summarized from user guidance on pp. 31–33):

  • Command not found Ensure dps is added to your $PATH.

  • Missing topology files Check that .itp and .top files are correctly generated in earlier steps.

  • MDAnalysis cannot load trajectory Use dps check to diagnose tpr / xtc issues.

  • Incorrect box size after genmesh Use dps editconf to adjust simulation boundaries.

Summary

You have now completed your first full DROPPS simulation, following the exact pipeline recommended by the official documentation slides. The design philosophy, commands, and workflow mirror GROMACS but are optimized for multi-chain HPS coarse-grained simulations.

Next steps:

  • Learn advanced mdp parameters

  • Enable elastic restraints (dps genelastic)

  • Add angle potentials (dps addangle)

  • Write custom analysis scripts using the trajectory API