Metadata-Version: 2.4
Name: packmol
Version: 21.2.0
Summary: Packmol - Creates Initial Configurations for Molecular Dynamics Simulations
Project-URL: Homepage, https://github.com/m3g/packmol
Project-URL: Repository, https://github.com/m3g/packmol
Author: Leandro Martínez, Ernesto G. Birgin, José Mario Martínez, Packmol Contributors
License: MIT License
        
        Copyright (c) 2009-2018 Leandro Martínez, José Mario Martínez, Ernesto Birgin
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: AUTHORS
License-File: LICENSE
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Fortran
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# 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)



