cofactors Module
The cofactors module handles the detection and modeling of inorganic cofactors and metal ions within protein structures.
Overview
Many proteins require metal ions (like Zn²⁺, Ca²⁺, or Mg²⁺) for structural stability or catalytic function. This module automatically identifies coordination motifs—such as Zinc Fingers—and inserts the appropriate ions with correct geometric coordination.
Key Features
- Motif Detection: Scans the structure for residues capable of coordinating metals (Cys, His, Asp, Glu).
- Geometric Coordination: Places metal ions at the geometric centroid of their coordinating ligands.
- Automated Insertion: Integrates with the generation pipeline to produce holoproteins (proteins with cofactors).
API Reference
::: synth_pdb.cofactors handler: python options: members: - find_metal_binding_sites - add_metal_ion
Scientific Principles
Coordination Chemistry
In biological systems, metal ions are coordinated by specific amino acid side chains (ligands). For example, a Zinc Finger typically coordinates a Zn²⁺ ion using two Cysteines and two Histidines ($C_2H_2$).
The module calculates the ideal position for the metal ion as the centroid ($\mathbf{C}$) of the coordinating atoms:
$$\mathbf{C} = \frac{1}{n} \sum_{i=1}^n \mathbf{x}_i$$
where $\mathbf{x}_i$ are the coordinates of the ligand atoms (e.g., SG for Cys, NE2/ND1 for His).
Usage Example
from synth_pdb.generator import PeptideGenerator
from synth_pdb.cofactors import find_metal_binding_sites, add_metal_ion
# 1. Generate a sequence known to bind Zinc (e.g., a simple Zinc Finger)
seq = "CPYCGKSFSDSSALRNHVRTH"
gen = PeptideGenerator(seq)
structure = gen.generate(conformation="alpha")
# 2. Detect potential binding sites
sites = find_metal_binding_sites(structure)
# 3. Add the metal ion if a site is found
if sites:
structure_with_metal = add_metal_ion(structure, sites[0])