Skip to main content

Package for chemical structure analysis of atomic files

Project description

ChemStruct: Chemical Structure Analysis Package


ChemStruct is a Python package for structural analysis of atomic files (like .xyz files) and assistance with molecular dynamics simulations on LAMMPS. ChemStruct computes bonds based on the distance between atoms, as well as angles and dihedrals, hybridization, cycles, etc. It also writes LAMMPS Data Files with atom_style full for a given .xyz file, using CGenFF (CHARMM General Force Field) atomic classification and original parameters.

Ready-to-run examples can be found in the examples directory.


Install ChemStruct using pip:

pip3 install chemstruct

Then run Python, import the package and use the write_lmpdat() function to convert your xyz file into a LAMMPS Data File:

from chemstruct.quick import write_lmpdat
write_lmpdat("yourdir/", "outdir/outfile.lmp")

Note that:

(1) The write_lmpdat() function will take a break while the user is checking the parameters in the .par file (written in the same directory as the input .xyz file, with the same name plus _(computed_parameters).par). This is needed because not all bonds/angles/dihedrals found in the input file will always have parameters, so a few manual additions may be necessary. Another necessity is the choice of atomic charges, since CHARMM doesn't have a one-for-one class-charge correspondence. ChemStruct makes suggestions for charges. If your system if simple enough, no manual editing will be necessary.

(2) The write_lmpdat() function requires a defined Lattice in the input .xyz file, e.g. as generated by Ovito (open-source visualization software). The Lattice is needed when the system is periodic -- if that is not the case, writing Lattice="10.0 0.0 0.0 0.0 10 0.0 0.0 0.0 10.0"in the second line of your .xyz file will make it work.


Send any bugs or suggestions to

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for chemstruct, version 2019.6.2
Filename, size File type Python version Upload date Hashes
Filename, size chemstruct-2019.6.2-py3-none-any.whl (180.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size chemstruct-2019.6.2.tar.gz (161.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page