molecular_simulations.build.build_interface module¶
Interface-based system building module for DeepDriveMD.
This module provides the InterfaceBuilder class for building molecular systems targeting specific protein-protein interfaces, with support for DeepDriveMD enhanced sampling simulations.
- Classes:
InterfaceBuilder: Build systems for interface-targeted simulations.
- class molecular_simulations.build.build_interface.InterfaceBuilder(path, pdb, interfaces, target, binder, padding=10.0, protein=True, rna=False, dna=False, polarizable=False)[source]¶
Bases:
ExplicitSolventBuild systems for driving binding to specific protein interfaces.
For a given target/binder pair, builds systems for driving binding to each of the supplied interfaces using DeepDriveMD. Includes writing the required YAML configuration files for running DeepDrive simulations.
- Parameters:
pdb (
str) – Path to input PDB file.interfaces (
dict[str,Any]) – Dictionary of interface configurations, keyed by site name (e.g., ‘site0’). Each interface should contain: ‘contact_sel’, ‘distance_sel’, ‘vector’, and ‘com’.padding (
float) – Padding around solute in Angstroms. Defaults to 10.0.protein (
bool) – Whether to load protein force field. Defaults to True.rna (
bool) – Whether to load RNA force field. Defaults to False.dna (
bool) – Whether to load DNA force field. Defaults to False.polarizable (
bool) – Whether to use polarizable force field. Defaults to False.
- interfaces¶
Dictionary of interface site configurations.
- target¶
MDAnalysis AtomGroup for the target protein.
- binder¶
Path to binder structure file.
- root¶
Root output directory based on target name.
- com¶
Center of mass of the target protein.
Example
>>> interfaces = { ... "site0": { ... "contact_sel": "resid 10-50", ... "distance_sel": "resid 10-50", ... "vector": [10.0, 0.0, 0.0], ... "com": [50.0, 50.0, 50.0], ... } ... } >>> builder = InterfaceBuilder( ... path="./build", ... pdb="complex.pdb", ... interfaces=interfaces, ... target="target.pdb", ... binder="binder.pdb", ... ) >>> builder.build_all()
Initialize the InterfaceBuilder.
- __init__(path, pdb, interfaces, target, binder, padding=10.0, protein=True, rna=False, dna=False, polarizable=False)[source]¶
Initialize the InterfaceBuilder.
- build_all()[source]¶
Build systems for all interface sites.
Iterates through each interface site for the target and builds the corresponding solvated system with the binder positioned near the interface.
- Return type:
- place_binder(vector, com)[source]¶
Position the binder near the target interface.
Translates the binder structure to be positioned near the interface as defined by the displacement vector.
- merge_proteins(binder)[source]¶
Merge target and binder into a single structure.
Combines the target and binder AtomGroups and writes a unified PDB file for subsequent system building.
- write_ddmd_yaml(contact_selection, distance_selection)[source]¶
Write the DeepDriveMD simulation configuration YAML.
Creates the prod.yaml file containing all settings for running a DeepDriveMD enhanced sampling simulation.