Playmol

May 11, 2018 ยท View on GitHub

DOI

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:

http://atoms.peq.coppe.ufrj.br/playmol


Forum

A forum for Questions & Answers about Playmol is available at:

https://groups.google.com/forum/#!forum/playmol-users


Installation

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

git clone https://github.com/atoms-ufrj/playmol

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

cd playmol
make
sudo make install

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

git pull
make
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:

wget http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.11.src.tar.gz
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 ../
make
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):

#!/usr/local/bin/playmol

List of Playmol Commands

Here is a complete list of Playmol commands:

CommandDescription
definedefines a variable for further substitution
for/nextexecutes commands repeatedly while changing the value of a variable
if/then/elseexecutes commands conditionally or selects between two command sequences
atom_typecreates an atom type with given name and parameters
massspecifies the mass of atoms of a given type
diameterspecifies the diameter of atoms of a given type
bond_typedefines parameters for bonds between atoms of two given types
angle_typedefines parameters for angles involving atoms of three given types
dihedral_typedefines parameters for dihedrals involving atoms of four given types
improper_typedefines parameters for impropers involving atoms of four given types
modelsdefines whether the first attribute of each type is a model name
atomcreates an atom with given name and type
chargespecifies the charge of a given atom
bondcreates chemical bonds and automatically detects angles and dihedrals
impropercreates an improper involving four given atoms or search for impropers
rigid_bodyselects a set of atoms to be marked as a rigid body
mixing_ruledefines mixing rules for pairs of atom types
extracreates an extra bond, angle, or dihedral involving given atoms
linklinks two atoms (and fuses their molecules) without actually bonding them
unlinkremoves an existing link (and splits the corresponding molecule)
buildguesses atom positions from provided geometric information
prefix/suffixdefines default prefixes or suffixes for atom types and atoms
boxdefines the properties of a simulation box
velocitydefines parameters for generating Maxwell-Boltzmann atomic velocities
alignaligns the principal axes of a molecule to the Cartesian axes
packmolexecutes Packmol in order to create a packed molecular system
writesaves system info in different file formats (including LAMMPS and OpenMM)
includeincludes commands from another script
resetresets a list of entities together with its dependent lists
shellexecutes an external shell command
quitinterrupts 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.