https://github.com/m3g/packmol
Packmol - Initial configurations for molecular dynamics simulations
https://github.com/m3g/packmol
molecular-dynamics simulation
Last synced: 6 days ago
JSON representation
Packmol - Initial configurations for molecular dynamics simulations
- Host: GitHub
- URL: https://github.com/m3g/packmol
- Owner: m3g
- License: mit
- Created: 2016-03-10T22:20:24.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2026-01-24T23:40:45.000Z (8 days ago)
- Last Synced: 2026-01-25T08:29:14.285Z (8 days ago)
- Topics: molecular-dynamics, simulation
- Language: Fortran
- Homepage: http://m3g.github.io/packmol
- Size: 11.4 MB
- Stars: 334
- Watchers: 9
- Forks: 57
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
# Packmol
Packmol - Creates Initial Configurations for Molecular Dynamics Simulations
**https://m3g.github.io/packmol**
## What is Packmol
Packmol creates an initial point for molecular dynamics simulations by packing molecules in defined regions of space. The packing guarantees that short range repulsive interactions do not disrupt the simulations.
The great variety of types of spatial constraints that can be attributed to the molecules, or atoms within the molecules, makes it easy to create ordered systems, such as lamellar, spherical or tubular lipid layers.
The user must provide only the coordinates of one molecule of each type, the number of molecules of each type and the spatial constraints that each type of molecule must satisfy.
The package is compatible with input files of PDB, TINKER, and XYZ.
## Usage
User guide, examples, and tutorials, are available at: https://m3g.github.io/packmol
## Installation instructions
### Multi-platform package provider with Julia
If you are not familiar with compiling packages, you may find it easier to get the Julia interface for
`packmol`, which provides executables for all common platforms: https://github.com/m3g/Packmol.jl
Installation of the Julia programming language and of the Julia `Packmol` package are necessary, but
these follow simple instructions which are described in the link above.
### Installation from the Python Package Index
Packmol is available for most platforms as a pre-build wheel from the Python Package Index.
```bash
pip install packmol
```
or direclty as CLI command using [uv](https://docs.astral.sh/uv/)
```bash
uvx packmol < inp.pack
```
### Manual compilation
1. Download the `.tar.gz` or `.zip` files of the latest version from: https://github.com/m3g/packmol/releases
2. Unpack the files, for example with:
```bash
tar -xzvf packmol-21.0.0.tar.gz
```
or
```bash
unzip -xzvf packmol-21.0.0.zip
```
substituting the `21.0.0` with the correct version number.
#### Using `make`
3. Go into the `packmol` directory, and compile the package (we assume `gfortran` or other compiler is available):
```bash
cd packmol
./configure [optional: path to fortran compiler]
make
```
4. An executable called `packmol` will be created in the main directory. Add that directory to your path.
#### Using the Fortran Package Manager (`fpm`)
3. Install the Fortran Package Manager from: https://fpm.fortran-lang.org/en/install/index.html#install
4. Go into the `packmol` directory, and run:
```bash
fpm install --profile release
```
this will compile and send the executable somewhere in your `PATH`.
By default (on Linux systems) it will be `~/.local/bin`. Making it available
as a `packmol` command anywhere in your computer.
`fpm` will look for Fortran compilers automatically and will use `gfortran`
as default. To use another compiler modify the environment variable
`FPM_FC=compiler`, for example for `ifort`, use in bash, `export FPM_FC=ifort`.
## References
Please always cite one of the following references in publications for which Packmol was useful:
L Martinez, R Andrade, EG Birgin, JM Martinez, Packmol: A package for building initial configurations for molecular dynamics simulations. Journal of Computational Chemistry, 30, 2157-2164, 2009. (https://doi.org/10.1002/jcc.21224)
JM Martinez, L Martinez, Packing optimization for the automated generation of complex system's initial configurations for molecular dynamics and docking. Journal of Computational Chemistry, 24, 819-825, 2003.
(https://doi.org/10.1002/jcc.10216)