Skip to main content

A modular platform for constructing molecular dynamics simulations (Chemical Compiler).

Project description

        ██████                                                                                      
      █▓▓▓▓▓▓▓▓▓▓▓████                                           ████████████████████               
     ██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██              ██▓▓▓▓▓▓▓▓▓▓▓█         ██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓  ▓██            
     █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██           █▓▓▓▓▓▓▓▓▓▓▓▓█▒        █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓█           
     █▓▓▓▓▓      ▓▓▓▓▓▓▓▓▓▓▓▓██          █▓▓▓▓▓▓▓▓▓▓██          ████▓▓▓▓▓██████████▓▓▓▓▓▓██         
    ░█▓▓▓▓         ▓▓▓▓▓▓▓▓▓▓▓▓▓█           █▓▓▓▓▓█                █▓▓▓▓▓█         ██▓▓▓▓▓██        
    ██▓▓▓▓           ▓▓▓▓▓▓▓▓▓▓▓▓██         █▓▓▓▓▓█                █▓▓▓▓▓█           █▓▓▓▓▓▓██      
    █▓▓▓▓▓            ▓▓▓▓▓▓▓▓▓▓▓▓██        █▓▓▓▓▓█████       ██████▓▓▓▓▓█            ██▓▓▓▓▓██     
    █▓▓▓▓▓            ▓▓▓▓▓▓▓▓▓▓▓▓▓█▓       █▓▓▓▓▓▓▓▓▓▓▓█   ██▓▓▓▓▓▓▓▓▓▓▓█              █▓▓▓▓▓█     
    █▓▓▓▓▓            ▓▓▓▓▓▓▓▓▓▓▓▓▓▓█       █▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓█              ██▓▓▓▓█     
    █▓▓▓▓▓            ▓▓▓▓▓▓▓▓▓▓▓▓▓▓█       █▓▓▓▓▓███▓▓▓▓▓▓▓▓▓▓▓▓███▓▓▓▓▓█              ██▓▓▓▓█     
    █▓▓▓▓▓           ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██      █▓▓▓▓▓█  ██▓▓▓▓▓▓▓▓██  █▓▓▓▓▓█              ██▓▓▓▓█     
    █▓▓▓▓▓          ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██      █▓▓▓▓▓█    █▓▓▓▓▓██    █▓▓▓▓▓█              ██▓▓▓▓█     
    █▓▓▓▓▓        ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██      █▓▓▓▓▓█    █▓▓▓▓▓█     █▓▓▓▓▓█              ██▓▓▓▓█     
    █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓█       █▓▓▓▓▓█    █▓▓▓▓▓█     █▓▓▓▓▓█              ██▓▓▓▓█     
    █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██    ░░██████       █▓▓▓▓▓█    █▓▓▓▓▓█     █▓▓▓▓▓█              ██▓▓▓▓█     
    █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█        ██▓▓▓▓██     █▓▓▓▓▓█     █▓▓▓██     █▓▓▓▓▓█              ██▓▓▓▓█     
   ░█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█       ██▓▓▓▓▓▓▓██   █▓▓▓▓▓█                █▓▓▓▓▓█              ██▓▓▓▓█     
    █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█    ███▓▓▓▓▓▓▓▓▓█   ██▓▓▓▓▓█                █▓▓▓▓▓█             ██▓▓▓▓▓█     
    █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███▓▓▓▓▓▓▓▓▓▓▓▓██     █▓▓▓▓█                █▓▓▓▓▓█            █▓▓▓▓▓▓█      
    █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓█       █▓▓▓█                █▓▓▓▓▓█          ██▓▓▓▓▓██       
    █▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████▓▓▓▓▓▓▓▓▓▓▓▓▓▓█      ██▓▓▓█                █▓▓▓▓▓█         █▓▓▓▓▓▓██        
    █▓▓▓▓▓▓▓▓▓▓▓▓████████▓▓▓▓▓▓▓▓▓▓▓▓▓██   ░██▓▓▓▓▓▓▓▓▓█      █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█          
    █▓▓▓▓▓▓▓▓▓█████████ ██▓▓▓▓▓▓▓▓▒▒▒▓▓█████▓▓▓▓▓▓▓▓▓▓▓▓█    █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██           
      █████████           ██▓▓▓▓█▓▓▓█████▓▓▓▓▓▓▓▓▓▓▓▓▓██      ██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██             

DoMD

DoMD is a toolkit for atomistic molecular dynamics modelling.

Installation

Quick installation for the release

# Download and unzip the release zip file
$ cd <path-to-domd>
$ conda env create -f environment.yml
$ conda activate domd-toolkit
$ python -c 'from domd_tools import *; print("Success install domd.")'

Step-by-step installation from repo

We recommend using conda to manage your environment. Follow the steps below to set up DoMD:

1. Create and Activate the Conda Environment

conda create -n domd-toolkit -c conda-forge python==3.12 nomkl numpy rdkit=2025.03.6 openbabel numba networkx pandas scipy jupyter scikit-learn matplotlib MDAnalysis
conda activate domd-toolkit

2. Install PyTorch and Additional Dependencies

pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cpu
pip3 install torch_geometric pdbreader

3. Download the Toolkit

You can obtain the DoMD toolkit via GitHub or by downloading our official release. Please choose one of the following options:

Option A: Clone from GitHub (Requires manual database download)

  1. Clone the repository:
    git clone https://github.com/DoMD-toolkit/DoMD.git
    
  2. Important: Download the required forcefield database opls.db (large file) from Google Drive Link.
  3. Move opls.db into the following directory: DoMD/domd_forcefield/oplsaa/resources/opls.db

Option B: Download the Release DoMD.zip (Recommended) Download the latest DoMD.zip file from the Releases page. The opls.db file is already included in the compressed package, so no extra downloads are necessary. Unzip the file before proceeding.

4. Install DoMD

Navigate to the root directory of the project (where setup.py is located) and install it in editable mode:

cd DoMD
pip install -e .

Usage Examples & Testing

Navigate to the polyimide example directory:

cd <path-to-the-examples>/pi

1. End-to-End Workflow

Run the main script to process a pre-equilibrated Coarse-Grained (CG) configuration:

python polyimides.py
  • Outputs: * chemfast.gro: The back-mapped All-Atom (AA) conformation.
    • chemfast.top: The GROMACS-compatible force field and topology file.
    • out_chemfast.xml: The PyGAMD xml intput
  • Purpose: These files are ready for immediate use in atomistic simulations using GROMACS.

2. Step-by-Step Module Testing

We also provide individual tests for specific S-CGFG functions to demonstrate the underlying workflow:

  • CG Topology Generation

    python cg.py
    

    Generates an initial CG configuration (e.g., linear chains) and force field parameters based on HSP (Hansen Solubility Parameters) predictions. This is typically used for pre-equilibration or reaction runs. (Note: This step is optional as a pre-equilibrated configuration is already provided).

    • Output: out_chemfast_cg.xml file for PyGAMD, and cg_params.txt as CG forcefield parameters.
  • CG Parameterization

    python cg_params.py
    

    Generates CG simulation force field parameters only from specific monomers and reaction templates.

    • Output: cg_parameters.txt
  • Back-mapping (CG to FG)

    python fg.py
    

    Tests the Coarse-Grained to Fine-Grained (AA) conversion.

    • Outputs: AA conformations (stored in the aa_confs/ folder) and topology metadata (meta_aa_top.pkl).
  • Force Field Parameterization

    python ff.py
    

    Performs force field parameterization by reading meta_aa_top.pkl.

    • Output: meta_ffs.pkl
  • Final Assembly

    python output.py
    

    Assembles the AA conformations and force field data into standard GROMACS input formats.

    • Outputs: Final .gro, .top and .xml (for PyGAMD) files.

Large Files & Databases

Due to file size limits, our large database files are hosted externally. You can download them from this Google Drive Link.

  • domd_forcefield/oplsaa/resources/opls.db (Required) This is the core database necessary for standard force field assignment and running the toolkit.
  • domd_database/forcefield/oplsaa/data/ligpargen/AllData.pkl (Optional) This file is strictly used for training the ML force field models. You can ignore this file if you are only running standard simulations.

Documentation

  • Online: Access the latest manuals, API references, and tutorials at our official Documentation Site.
  • Offline: You can also browse the documentation locally by opening docs/build/html/index.html from your cloned repository in any web browser.

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

domd_toolkit-1.0.0.tar.gz (131.9 kB view details)

Uploaded Source

Built Distribution

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

domd_toolkit-1.0.0-py3-none-any.whl (148.1 kB view details)

Uploaded Python 3

File details

Details for the file domd_toolkit-1.0.0.tar.gz.

File metadata

  • Download URL: domd_toolkit-1.0.0.tar.gz
  • Upload date:
  • Size: 131.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for domd_toolkit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8f22f5529653da9d2f425ec900789134d73a5d1e7b3b0bb641702f970904390d
MD5 fca50ca93a7ab0209df31c778595e066
BLAKE2b-256 60eae2a2b139e36038289c9687a69133f027a6c056b7f2617e24d524238d856b

See more details on using hashes here.

File details

Details for the file domd_toolkit-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: domd_toolkit-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 148.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for domd_toolkit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1144e26636ee7b510fbfc28db4979fef1c860a2fca3bfeb51d0df5fb3af6544
MD5 4111f62d922a2ac4f7300c513dd18cf3
BLAKE2b-256 e32e3e3b116e4b709ee292ac0484be8179db09a625c4d7f25f86675d27148e2f

See more details on using hashes here.

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