Playmol is a(nother) software for building molecular models
Switch branches/tags
Nothing to show
Clone or download



Playmol is a(nother) software for building molecular models.

Its main distinguishing features are:

  • Molecules are created with simple scripts consisting of a small set of commands.
  • Molecular topology arises naturally when atoms are connected (automatic detection of angles and dihedrals).
  • Multiple copies of a molecule are automatically created when new coordinates are defined for their atoms.
  • Integration with Packmol provides a way of creating complex molecular systems.
  • Generation of LAMMPS and OpenMM files provides a way of performing efficient MD simulations.

Copyright: GNU Public License.

Author: Charlles R. A. Abreu
Applied Thermodynamics and Molecular Simulation Group (ATOMS)
Federal University of Rio de Janeiro, Brazil

Online Manual

The Playmol User Manual is available at:


A forum for Questions & Answers about Playmol is available at:!forum/playmol-users


Playmol is distributed as a git repository. To download it, just run:

git clone

To compile the source code and install Playmol in your system, you can do:

cd playmol
sudo make install

To update Playmol, enter the playmol directory and execute the following commands (including recompilation and reinstallation):

git pull
sudo make install

User's Manual

The Playmol User's Manual is available online here. You can also generate a local version if you have Doxygen (version 1.8 or later) installed in your system. If you do not have Doxygen, you can download and install it by:

tar -zxvf doxygen-1.8.11.src.tar.gz
cd doxygen-1.8.11/
sudo apt-get install cmake flex bison
mkdir build && cd build/
cmake ../
sudo make install

In order to generate the local User's Manual, please go to the playmol directory and execute:

make doc

The manual will be available as a file playmol/doc/html/index.html, which you can open using your favorite web browser.

Using Playmol

Once Playmol is installed, you can execute a series of input scripts by typing:

playmol file-1 [file-2 ...]

This will execute the files in sequence as if they were a unique script. To execute the scripts one at a time, just run playmol multiple times.

Another way of runnig a playmol script is by starting it with the following line and then making it executable (e.g. via chmod +x):


List of Playmol Commands

Here is a complete list of Playmol commands:

Command Description
define defines a variable for further substitution
for/next executes commands repeatedly while changing the value of a variable
if/then/else executes commands conditionally or selects between two command sequences
atom_type creates an atom type with given name and parameters
mass specifies the mass of atoms of a given type
diameter specifies the diameter of atoms of a given type
bond_type defines parameters for bonds between atoms of two given types
angle_type defines parameters for angles involving atoms of three given types
dihedral_type defines parameters for dihedrals involving atoms of four given types
improper_type defines parameters for impropers involving atoms of four given types
models defines whether the first attribute of each type is a model name
atom creates an atom with given name and type
charge specifies the charge of a given atom
bond creates chemical bonds and automatically detects angles and dihedrals
improper creates an improper involving four given atoms or search for impropers
rigid_body selects a set of atoms to be marked as a rigid body
mixing_rule defines mixing rules for pairs of atom types
extra creates an extra bond, angle, or dihedral involving given atoms
link links two atoms (and fuses their molecules) without actually bonding them
unlink removes an existing link (and splits the corresponding molecule)
build guesses atom positions from provided geometric information
prefix/suffix defines default prefixes or suffixes for atom types and atoms
box defines the properties of a simulation box
velocity defines parameters for generating Maxwell-Boltzmann atomic velocities
align aligns the principal axes of a molecule to the Cartesian axes
packmol executes Packmol in order to create a packed molecular system
write saves system info in different file formats (including LAMMPS and OpenMM)
include includes commands from another script
reset resets a list of entities together with its dependent lists
shell executes an external shell command
quit interrupts the execution of a Playmol script

The syntax and behavior of each command is described in the Playmol documentation.

Input Script Examples

Some input script examples are available in the playmol/examples directory.