Skip to main content

Simple Gromacs python wrapper

Project description

Documentation Status PyPI version

GroMorG

A python tool to automate the calculation of MD simulations of small organic molecules using gromacs.
Online documentation is available at https://gromorg.readthedocs.io/

Features

  • Link first principles & molecular mechanics calculations using PyQchem
  • Get parameters from SwissParam (https://www.swissparam.ch) automatically from molecular structure
  • Clean run without intermediate files
  • Add solvent molecules to the system
  • Extract structures from the trajectory (including surrounding solvent molecules)

Requirements

Basic example

from gromorg import GromOrg
import matplotlib.pyplot as plt
from pyqchem.structure import Structure

# Define moleule as PyQchem Structure
structure = Structure(coordinates=[[ 0.6695, 0.0000, 0.0000],
                                   [-0.6695, 0.0000, 0.0000],
                                   [ 1.2321, 0.9289, 0.0000],
                                   [ 1.2321,-0.9289, 0.0000],
                                   [-1.2321, 0.9289, 0.0000],
                                   [-1.2321,-0.9289, 0.0000]],
                      symbols=['C', 'C', 'H', 'H', 'H', 'H'])

# Define Gromacs parameters
gmx_params = {
             'integrator': 'md-vv',     # Verlet integrator
             'nsteps': 5000,            # 0.001 * 5000 = 50 ps
             'dt': 0.001,               # time step, in ps
             # Temperature coupling is on
             'tcoupl': 'nose-hoover',    # Nose-Hoover thermostat
             'tau_t': 0.3,               # time constant, in ps
             'ref_t': 300,               # reference temperature, one for each group, in K
             # Bond parameters
             'gen_vel': 'yes',           # assign velocities from Maxwell distributio
             'gen_temp': 300,            # temperature for Maxwell distribution
             'gen_seed': -1,             # generate a random seed
             }

# Define simulation
calc = GromOrg(structure, 
               params=gmx_params,        # MDP parms 
               box=[10, 10, 10],         # a, b, c in angstrom
               angles=[90, 90, 90],      # alpha, beta, gamma in degree
               supercell=[3, 3, 3],
               delete_scratch=True,      # delete temp files when finished
               silent=False)             # print MD log info in screen

# Run simulation and get trajectory (MDTraj) and energy
trajectory, energy = calc.run_md(whole=True) 

# plot energies
plt.plot(energy['potential'], label='potential')
plt.plot(energy['kinetic'], label='kinetic')
plt.plot(energy['total'], label='total')
plt.legend()
plt.show()

# Store trajectory
trajectory.save('trajectory.gro')

Contact info

Abel Carreras
abelcarreras83@gmail.com

Donostia International Physics Center (DIPC)
Donostia-San Sebastian, Euskadi (Spain)

Project details


Download files

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

Source Distribution

gromorg-0.3.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gromorg-0.3-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file gromorg-0.3.tar.gz.

File metadata

  • Download URL: gromorg-0.3.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gromorg-0.3.tar.gz
Algorithm Hash digest
SHA256 3c9cf7c8d657dd019b8f53929bcde2d15fc6fcb203466660b639eda0eedc67f2
MD5 f4978ce59eef385ca8410d13cece2310
BLAKE2b-256 d73226d246afd5eabbc8cfb951dc9e5b3d2a8fbef5ab0d89325ac234de0f29d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gromorg-0.3.tar.gz:

Publisher: python-publish.yml on abelcarreras/gromorg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gromorg-0.3-py3-none-any.whl.

File metadata

  • Download URL: gromorg-0.3-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gromorg-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d9cf06274d60783a967522e4c0774a5fdae5fb020013d2033f6ed4f3c73cebe7
MD5 f8d09b596e956b628afafcf2667d4047
BLAKE2b-256 3b2d3988e75a8bd106df43a30dc3da65baee9f43f59ea51ec22d5e5e39022252

See more details on using hashes here.

Provenance

The following attestation bundles were made for gromorg-0.3-py3-none-any.whl:

Publisher: python-publish.yml on abelcarreras/gromorg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page