API Documentation

The Implicit Solvent DDM (Double Decoupling Method) package provides a comprehensive Python API for performing absolute binding free energy calculations using implicit solvent models. The API is organized into several key modules that handle different aspects of the workflow:

Core Workflow Modules: - implicit_solvent_ddm.implicit_ddm_workflow - Main workflow orchestration and execution - implicit_solvent_ddm.workflow_phases - Defines the different phases of the DDM cycle - implicit_solvent_ddm.setup_simulations - Handles simulation setup and configuration

Simulation Management: - implicit_solvent_ddm.runner.IntermidateRunner - Manages intermediate state simulations - implicit_solvent_ddm.run_endstate - Handles end-state simulation execution - implicit_solvent_ddm.simulations - Core simulation utilities and functions

Configuration and Control: - implicit_solvent_ddm.config - Configuration file parsing and validation - implicit_solvent_ddm.matrix_order.CycleSteps - Defines the thermodynamic cycle steps

Restraints and Alchemical Transformations: - implicit_solvent_ddm.adaptive_restraints - Adaptive restraint application and management - implicit_solvent_ddm.alchemical - Alchemical transformation protocols - implicit_solvent_ddm.restraints - Restraint definitions and utilities - implicit_solvent_ddm.restraint_helper - Helper functions for restraint calculations

File I/O and Analysis: - implicit_solvent_ddm.mdin - AMBER input file generation and manipulation - implicit_solvent_ddm.mdout - AMBER output file parsing and analysis - implicit_solvent_ddm.pandasmbar - MBAR analysis integration with pymbar - implicit_solvent_ddm.postTreatment - Post-processing and analysis utilities

This API enables researchers to programmatically set up, execute, and analyze implicit solvent binding free energy calculations with full control over the thermodynamic cycle parameters, restraint schemes, and analysis protocols.

implicit_solvent_ddm.implicit_ddm_workflow

Double Decoupling Method (DDM) workflow for free energy calculations.

implicit_solvent_ddm.workflow_phases

Workflow phase functions for the Double Decoupling Method (DDM) workflow.

implicit_solvent_ddm.setup_simulations

Setup simulations for the Double Decoupling Method (DDM) workflow.

implicit_solvent_ddm.runner.IntermidateRunner(...)

Manages and executes MD simulations and post-analysis steps for a given system phase.

implicit_solvent_ddm.run_endstate

Functions that setup REMD, Basic MD or user defind endstate simulations.

implicit_solvent_ddm.config

Dataclass to make life a little easier, which defines config properties, sub-properties, and types in a config.py file.

implicit_solvent_ddm.matrix_order.CycleSteps(...)

Simple dataclass that arranges all the thermodyamic steps in the correct chronological order for the given system (i.e. complex, ligand, receptor).

implicit_solvent_ddm.adaptive_restraints

A collection of functions that performs simple iterative proceess to improve space phase overlap between adjecent states.

implicit_solvent_ddm.alchemical

Functions that perform alchemical transformations.

implicit_solvent_ddm.mdin

Simple functions to create all the required MD input files (i.e. 'mdin').

implicit_solvent_ddm.mdout

Functions to parse an mdout file into a pandas Dataframe.

implicit_solvent_ddm.pandasmbar

Functions to make applying pyMBAR to Pandas DataFrames easier.

implicit_solvent_ddm.postTreatment

class that will parse in pandas dataframe for mbar analysis

implicit_solvent_ddm.restraint_helper

Helper functions used to construct conformational and orientational restraints.

implicit_solvent_ddm.restraints

Classes for Boresch, FlatBottom and conformational restraints.

implicit_solvent_ddm.simulations

Classes to setup different types of simulations (i.e. remd, basic md).