torsion Module

The torsion module provides tools for calculating and analyzing the dihedral angles that define protein backbone and side-chain conformations.

Overview

Dihedral (torsion) angles are the most important degrees of freedom in a protein. This module extracts these angles from Biotite structures, enabling Ramachandran analysis and torsion-space modeling.

Key Features

  • Backbone Torsions: Calculation of $\phi$ (phi), $\psi$ (psi), and $\omega$ (omega) angles.
  • Side-Chain Torsions: Extraction of $\chi_1, \chi_2, \chi_3, \chi_4$ angles.
  • Statistics: Tools for comparing synthetic torsion distributions against experimental libraries.

API Reference

::: synth_pdb.torsion handler: python options: members: - calculate_torsion_angles

Scientific Principles

Dihedral Definition

A dihedral angle is defined by four consecutive atoms ($A-B-C-D$). It is the angle between the plane containing $A, B, C$ and the plane containing $B, C, D$.

  • $\phi$ (Phi): $C_{i-1} - N_i - C\alpha_i - C_i$
  • $\psi$ (Psi): $N_i - C\alpha_i - C_i - N_{i+1}$
  • $\omega$ (Omega): $C\alpha_i - C_i - N_{i+1} - C\alpha_{i+1}$

The Ramachandran Plot

By plotting $\phi$ vs. $\psi$, we can visualize the allowed conformational space of a protein. Helices and sheets appear as distinct clusters on this plot. The torsion module provides the raw data needed to generate these visualizations.

Usage Example

from synth_pdb.generator import PeptideGenerator
from synth_pdb.torsion import calculate_torsion_angles

# 1. Generate a structure
gen = PeptideGenerator("MEELQK")
structure = gen.generate(conformation="alpha")

# 2. Calculate backbone torsions
angles = calculate_torsion_angles(structure)

for res in angles:
    print(f"Residue {res['res_id']} ({res['res_name']}):")
    print(f"  Phi: {res['phi']:.1f}°, Psi: {res['psi']:.1f}°")