TurtleMol: An Python Alternative to PackMol

A student at Pitt, Dominick Filonowich has been working on “TurtleMol” as a Python alternative to PackMol.

TurtleMol takes an input molecules (or molecules) and copies them into a grid filling out a user defined volume. The number of molecules in the volume can be defined, calculated via a desired density, or for filling space.

The orientation of the molecules can be randomized so structures are closer to their equilibrium geometry, but further optimization or dynamics is needed to produce an equilibrium geometry.

Molecules can also be placed randomly instead of in a grid, allowing for a more disordered structure.

Current Features:

  • Generate a box or sphere of molecules
  • Generate a box or sphere of molecules around an existing molecular structure
  • Fill a volume, or place a specfied number of molecules in space
  • Randomly orient molecules to better represent an equilibrium structure
  • Read/Write structures from XYZ and PDB formats

Features in Progress:

  • Adding common solvent molecules (e.g., water)
  • Placing molecules with orientation (e.g., thiol monolayers, micelles, etc.)
  • Adding “warping” to create defect surfaces
  • Generate structures based on meshes defined from outside software/packagaes such as Blender

Feedback Welcome:

Thoughts? Suggestions?

Dom started work on this because compiling PackMol can be tricky.

I did recently see there’s a Julia version of PackMol: GitHub - m3g/Packmol.jl: The future of Packmol which we might also add as an Avogadro plugin for those with Julia installed.