protein-ligand-binding-analysis-plip
SKILL.md
Protein-Ligand Binding Analysis with PLIP
Analyze protein-ligand interactions in PDB structures, generate comprehensive interaction reports, and create 3D visualizations.
When to Use
- Analyzing binding modes from crystal structures or docking results
- Identifying key interactions driving binding affinity
- Comparing ligand binding patterns across multiple structures
- Generating publication-ready interaction visualizations
Workflow
Step 1: Load PDB and Identify Ligands
from plip.structure.preparation import PDBComplex
complex = PDBComplex()
complex.load_pdb(pdb_file)
# Filter ligands by molecular weight (exclude ions/cofactors, MW > 150 Da)
ligands = []
for lig in complex.ligands:
if lig.mol.molwt > 150: # OpenBabel molecule object
ligands.append(lig)
complex.characterize_complex(lig)
Step 2: Analyze Interactions
from plip.exchange.report import BindingSiteReport
complex.analyze()
for key, interactions in complex.interaction_sets.items():
report = BindingSiteReport(interactions)
report_lines = report.generate_txt()
# Parse interaction data from report_lines
Step 3: Generate Visualizations
from plip.basic.remote import VisualizerData
from plip.visualization.visualize import visualize_in_pymol
from plip.basic import config
config.PICS = True
config.OUTPATH = output_dir
config.BACKGROUND = "white"
config.CARTOON = True
for key in complex.interaction_sets:
data = VisualizerData(complex, key)
visualize_in_pymol(data)
Expected Outputs
| Output | Description |
|---|---|
| Interaction Report | Markdown summary of all interaction types per ligand |
| Visualization Images | PNG files showing 3D interaction diagrams |
| Summary Statistics | Counts of H-bonds, hydrophobic, π-stacking, etc. |
Interaction Types Reported
| Type | Description |
|---|---|
| Hydrogen bonds | H-bonds with ligand/protein as donor |
| Hydrophobic contacts | Non-polar interactions |
| Water bridges | Water-mediated interactions |
| π-stacking | Aromatic ring interactions |
| Salt bridges | Ionic interactions |
| Halogen bonds | Halogen-mediated contacts |
| Metal complexes | Metal coordination |
Score Interpretation
- More H-bonds: Generally indicates stronger, more specific binding
- Hydrophobic contacts: Contribute to binding entropy
- Water bridges: Can enhance or reduce binding affinity
- π-stacking: Important for aromatic ligand recognition
Error Handling
| Error | Solution |
|---|---|
| No ligands found | Check PDB file format; ligand may need HETATM records |
| PLIP characterization fails | Ligand may be malformed; try alternative PDB source |
| PyMOL visualization fails | Ensure PyMOL is installed and in PATH |
| Low MW ligands filtered | Adjust MW threshold if small molecules are targets |
Dependencies
pip install plip pymol-open-source
Example Usage
# Analyze EGFR-erlotinib complex (1M17)
python examples/basic_example.py --pdb tmp/pdb_1m17.pdb --output ./results/
See examples/basic_example.py for complete implementation and references/advanced.md for batch processing workflows.
Weekly Installs
2
Repository
pharmolix/openbiomedGitHub Stars
1.0K
First Seen
11 days ago
Security Audits
Installed on
trae-cn2
iflow-cli2
deepagents2
antigravity2
claude-code2
github-copilot2