Skip to main content

An automated GROMACS force field converter tool

Project description

gmx_ffconv

gmx_ffconv is a semi-automated, all-atom force field converter for GROMACS. It has been developed to be fast and user-friendly, and doesn't require users to known any programming.
gmx_ffconv requires users to provide included topology files for the molecules they want to convert in the current and new force field, it does not generate or interpolate force field parameters.

Usage:

gmx_ffconv ffmap -h
usage: gmx_ffconv ffmap [-h] -itp1 ITP1 -itp2 ITP2 -name NAME [--duplicate] [--all_mappings] [--validate]

optional arguments:
-h, --help show this help message and exit
-itp1 ITP1 First ITP file (path), corresponding to force field used in
.gro file -itp2 ITP2 Second ITP file (path)
-name NAME Name of the molecule, does not need to match itp files
--duplicate Skip graph matching, create a mapping where everything is kept in same order. Only useful when part of the coordinate file needs reordering. --all_mappings Obtain all mappings, not recommended
--validate Carry out conversion in both directions

usage: gmx_ffconv groconv [-h] -name NAME [NAME ...] -nmol NMOL [NMOL ...]
-coordfile COORDFILE [-mapping_dir MAPPING_DIR]
-output OUTPUT [--validate] [--norename]

optional arguments:
-h, --help show this help message and exit
-name NAME [NAME ...] Molecule names separated by spaces
-nmol NMOL [NMOL ...] Molecule counts separated by spaces
-coordfile COORDFILE Input .gro file
-mapping_dir MAPPING_DIR Directory containing mapping CSV files
-output OUTPUT Output .gro file name
--validate Generate back-converted structure
--norename Do not rename the reordered gro

Installation instructions:

The recommended way of installing gmx_ffconv is with pip: pip install gmx_ffconv
PyPI version Alternatively The easiest way to install gmx_ffconv is to clone the github, cd in gmx_ffconv and running pip install . Note, it is considered good practice to perform this in a virtual environment.

Possible issues:

If the installation contains a message about installing an UNKNOWN package, please update your pip version.

Example:

The files are provided in “Tutorial” in folder Example1

Example 1: Small membrane

A membrane containing 24 DOPE,24 DPPC,24 CHL, 6 K+, 6 Cl- and 2709 TIP3P molecules was generated by CHARMM-GUI’s Membrane builder using CHARMM36m. The target force field is AMBER (Lipid21) . The water model is kept as TIP3, and the ions are standard for the water model.

First, mappings for each molecule must be found. These commands can be run at the same time by the use of &.

DPPC

gmx_ffconv ffmap -itp1 toppar_CHARMM/DPPC.itp -itp2 toppar_AMBER/PPPC.itp -name DPPC

Cholesterol

gmx_ffconv ffmap -itp1 toppar_CHARMM/CHL1.itp -itp2 toppar_AMBER/CHL.itp -name CHL

DOPE

gmx_ffconv ffmap -itp1 toppar_CHARMM/DOPE.itp -itp2 toppar_AMBER/OOPE.itp -name DOPE

TIP3

gmx_ffconv ffmap -itp1 toppar_CHARMM/TIP3.itp -itp2 toppar_AMBER/TP3.itp -name TIP3P Potassium

gmx_ffconv ffmap -itp1 toppar_CHARMM/POT.itp -itp2 toppar_AMBER/K+.itp -name POT Chloride

gmx_ffconv ffmap -itp1 toppar_CHARMM/CLA.itp -itp2 toppar_AMBER/Cl-.itp -name CLA

These should have generated multiple mapping files, a mapping file per molecule type named mapping_{NAME}.csv.

Now, that all mappings are obtained, the new coordinate file can be obtained via groconv

gmx_ffconv groconv -coordfile CHARMM_MEMB.gro -name DOPE DPPC CHL POT CLA TIP3P -nmol 24 24 24 6 6 2709 -output AMBER_MEMB_from_CHARMM.gro

We can now compare the AMBER_MEMB_from_CHARMM.gro to AMBER_MEMB_FF.gro, which will match in energy values if the conversion has been successful. This file is provided in the AMBER_REF folder with the necessary files.

Citation

If you find my tool useful, please cite: Jasmine E. Aaltonen, gmx_ffconv: A Fast, User-Friendly Semi-Automated All-Atom Force Field Converter for GROMACS, under review (2025) DOI

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

gmx_ffconv-1.0.2.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

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

gmx_ffconv-1.0.2-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file gmx_ffconv-1.0.2.tar.gz.

File metadata

  • Download URL: gmx_ffconv-1.0.2.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gmx_ffconv-1.0.2.tar.gz
Algorithm Hash digest
SHA256 2a3578ef1d18303d35badcb8de43f079a1825a6529aa98d1e60bb5c071cff960
MD5 cf28e932d0c37803936095817ff11a0f
BLAKE2b-256 db79717bc47918ab8fe443549d716ca8e7df51126571faa2e18bca50a5a0168c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gmx_ffconv-1.0.2.tar.gz:

Publisher: publish.yml on Jassu1998/gmx_ffconv

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

File details

Details for the file gmx_ffconv-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: gmx_ffconv-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gmx_ffconv-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 302c1d2f07aa133983d4f93fe3234db6c8aa4f927b0f28cc5c03a8005abbefc7
MD5 b40343c7745ce37f382074a84c8c19b5
BLAKE2b-256 b2205b04ff393dbbab1f5c002c8fece3f4c36fbba9a935e6199158e960c6b905

See more details on using hashes here.

Provenance

The following attestation bundles were made for gmx_ffconv-1.0.2-py3-none-any.whl:

Publisher: publish.yml on Jassu1998/gmx_ffconv

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