Membrane Thickness & Protein Contact Remodeling - k-ngo/CATMD GitHub Wiki
Membrane Thickness & Protein Contact Remodeling
Overview and Methodology
What It Does
This tool analyzes both the structural and interactional dynamics of membrane–protein systems by computing:
-
Membrane Thickness:
Average vertical (z-axis) distance between upper and lower lipid leaflets, calculated from headgroup atoms (e.g., phosphorus). -
Protein–Lipid Contacts:
The number of atomic contacts (within a user-defined cutoff) between a selected protein and surrounding lipid molecules. -
Per-Residue Contact Changes:
Tracks how contact frequency between specific residues and lipids increases or decreases over the trajectory.
How It Works
-
Membrane Thickness:
- Selects lipid atoms with a specified name (e.g.,
P
). - Splits atoms into upper and lower leaflets using the median z-coordinate.
- Calculates average z for each leaflet:
$[ \text{Thickness} = \langle z_{\text{upper}} \rangle - \langle z_{\text{lower}} \rangle ]$
- Selects lipid atoms with a specified name (e.g.,
-
Protein–Lipid Contacts:
- Counts atom pairs between protein and lipid atoms within a distance threshold (default: 3 Å).
- Aggregated over time to reveal contact trends.
-
Residue-Level Tracking:
- Measures change in contact counts from the start to the end of the simulation.
- Top N residues showing gain or loss are plotted.
Configuration and Inputs
Prerequisites
- Requires a loaded trajectory.
Key Configuration Options
-
Selections:
protein_sel
: Protein atom selection.lipid_sel
: Lipid atom selection.headgroup_atom
: Atom used to define leaflets (e.g.,P
in phospholipids).
-
Contact Parameters:
contact_cutoff
: Maximum distance (Å) for protein–lipid contact.top_n_residues
: Number of residues to highlight for gain/loss analysis.
-
Simulation Settings:
time_total
,step
: Used to derive time axis for plots.
-
Parallelization:
num_threads
: Speed up frame-by-frame analysis.
Output
Plots
-
Membrane Thickness
- Time-series of average lipid–lipid thickness.
-
Protein–Lipid Contacts
- Time-series of total contact counts between protein and lipid atoms.
-
Residue-Level Bar Charts:
- Top residues that gained the most lipid contacts.
- Top residues that lost the most lipid contacts.
All plots saved in:
figures/{protein_name}_{lipid_name}_Membrane_Contacts.png
Data Export
- CSV Summary
- Contains membrane thickness and contact count per frame:
figures/{protein_name}_{lipid_name}_Analysis.csv
- Contains membrane thickness and contact count per frame:
Interpreting the Results
Membrane Thickness
-
Stable Thickness:
Suggests consistent bilayer integrity. -
Fluctuating Thickness:
Could indicate protein-induced perturbation, lipid phase changes, or compression/stretching.
Total Contacts
-
Decreasing Contacts:
Protein may be detaching from the membrane or moving toward the bilayer center. -
Increasing Contacts:
Suggests insertion, embedding, or spreading of protein into lipids.
Per-Residue Contact Trends
-
Gainers:
Residues becoming more exposed to or embedded in the bilayer. -
Losers:
Residues losing lipid interactions, possibly due to rotation or displacement.
Example Scenarios
Peripheral Membrane Protein Binding
- Observation: Steady increase in contacts with upper leaflet residues.
- Interpretation: Gradual insertion into the outer membrane surface.
Transmembrane Protein Drift
- Observation: Contact loss at extracellular loop residues, increase at intracellular helices.
- Interpretation: Protein shifts toward bilayer midplane or deeper insertion.
Lipid Rearrangement
- Observation: Large fluctuations in thickness; residues with sudden gain/loss.
- Interpretation: Lipid reorganization around a dynamic or rotating protein.
Usage Tips
-
Selection Strategy:
- Use
segid
orresid
restrictions to target specific chains or domains.
- Use
-
Contact Threshold:
- Adjust
contact_cutoff
(e.g., 3–5 Å) depending on lipid tail vs. headgroup resolution.
- Adjust
-
Headgroup Atom:
- Default is
P
, but can vary depending on the force field (e.g.,O21
,NC3
).
- Default is
-
Protein Labeling:
- Bar plot labels are auto-generated using
OneLetterCode + ResidueID:SegID
.
- Bar plot labels are auto-generated using
-
Missing Data Handling:
- Frames without valid selections are skipped; time series may have
NaN
.
- Frames without valid selections are skipped; time series may have