PPIIMoL: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
No edit summary
 
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
= PPIIMoL =
= PPIIMoL =
<span title="Small PPII helix icon">
[[File:PPIIMoL_icon.png|right|120px|alt=Small PPII helix icon|link=]]


'''PPIIMoL''' is a Python module for [[PyMOL]] that automates the detection of polyproline II (PPII) helices in proteins. It identifies PPII-like φ/ψ angle patterns, screens for plausible non‑canonical Cα–H···O=C contacts, and provides one‑click visualization and export.
</span>


This tool was developed as part of a Bachelor's Thesis in Computer Engineering in collaboration with the '''Protein Structure, Dynamics and Interactions by NMR Group''' at the Instituto de Química‑Física “Blas Cabrera” (IQF‑CSIC). The module’s design and validation take as a '''primary reference''' the data and architectonic principles reported by '''Segura Rodríguez & Laurents (2024)'''. See ''Provenance & how to cite'' below.
'''PPIIMoL''' is a Python module for [[PyMOL]] that automates the detection of polyproline II (PPII) helices in proteins. It identifies PPII-like φ/ψ angle patterns, screens for plausible non-canonical Cα–H···O=C contacts, and provides one-click visualization and export.
 
This tool was developed as part of a Bachelor's Thesis in Computer Engineering in collaboration with the Protein Structure, Dynamics and Interactions by NMR Group at the Instituto de Química-Física “Blas Cabrera” (IQF-CSIC). The module’s design and validation take as a primary reference the data and architectonic principles reported by Segura Rodríguez & Laurents (2024) (see [[#How to cite|How to cite]]).


== Scientific background ==
== Scientific background ==
Polyproline II (PPII) helices are extended, left‑handed motifs (≈3 residues/turn) typically enriched in glycine‑ and proline‑rich domains. Although common in several glycine‑rich bundles, they are often unannotated in PDB files. PPIIMoL automates their detection directly in PyMOL to improve speed and reproducibility.
Polyproline II (PPII) helices are extended, left-handed motifs (≈3 residues/turn) typically enriched in glycine- and proline-rich domains. Although common in several glycine-rich bundles, they are often unannotated in PDB files. PPIIMoL automates their detection directly in PyMOL to improve speed and reproducibility.
 


== Features ==
== Features ==
* 🔍 '''Automatic detection''' of PPII segments via phi/psi angle analysis.
* 🔍 Automatic detection of PPII segments via phi/psi angle analysis.
* 🧬 '''Identification''' of Cα-H···O=C interactions relevant to structural stability.
* 🧬 Identification of Cα-H···O=C interactions relevant to structural stability.
* 📊 '''CSV export''' of detected segments and interactions.
* 📊 CSV export of detected segments and interactions.
* 🎨 '''Direct visualization''' in PyMOL with customizable color codes.
* 🎨 Direct visualization in PyMOL with customizable color codes.
* 🖱️ '''Simple Tkinter-based GUI''' — no commands required; all actions are accessible via buttons.
* 🖱️ Simple Tkinter-based GUI — no commands required; all actions are accessible via buttons.
 


== Requirements ==
== Requirements ==
* [[PyMOL]] 2.x or newer
* PyMOL 2.x or newer
* Python with [https://docs.python.org/3/library/tkinter.html Tkinter] support (for the GUI)
* Python with Tkinter enabled (for the GUI)


== Installation ==
== Installation ==
'''Option A — Single‑file run (no cloning)'''
'''Option A — Single-file download (simplest)'''
# Download `PPIIMoL.py` from the [https://github.com/silviaenma/PPIIMoL GitHub repository].
# Download `PPIIMoL.py` from the repository (see [[#Repository|Repository]] below).
# In PyMOL:
# In PyMOL:
<pre>
<pre>
run /path/to/PPIIMoL.py
run /full/path/to/PPIIMoL.py
</pre>
</pre>


'''Option B — Clone repository (optional)'''
'''Option B — Clone the repository'''
<pre>
<pre>
git clone https://github.com/silviaenma/PPIIMoL.git
git clone https://github.com/silviaenma/PPIIMoL.git
</pre>
</pre>
Then in PyMOL:
Then in PyMOL:
<pre>
run PPIIMoL/PPIIMoL.py
</pre> 
 
'''Optional: install as a plugin''' 
In PyMOL: ''Plugin → Plugin Manager → Install New Plugin → select `PPIIMoL.py` (or the whole folder) → restart PyMOL.''
 
== Usage (GUI) ==
Once loaded, PPIIMoL opens a Tkinter window with buttons to: 
* Load PDB (or use an already-loaded object) 
* Detect PPII (scan φ/ψ windows and list segments) 
* Scan Cα–H···O=C (optional geometric screening) 
* Style / Colors (apply the chosen palette) 
* Export (CSV reports; optional per-segment PDBs) 
 
Results are written to a date-stamped folder; selections/objects are created in the PyMOL session and colored according to the chosen scheme.
 
=== GUI snapshot ===
[[File:PPIIMoL_GUI.png|thumb|left|800px|alt=PyMOL window with the PPIIMoL pane and a success dialog after detecting PPII segments.|PPIIMoL graphical interface inside PyMOL. Main actions: Load PDB, Detect PPII, Scan Cα–H···O=C, Style/Colors, Export.]]
<div style="clear:both;"></div>
 
=== Examples ===
<gallery widths=520 heights=350 perrow=2>
File:PPIIMoL_segments_1LNZ.png|Detected PPII segments colored by selection (example structure).
File:PPIIMoL_distances_1LNZ.png|Distances and Cα–H···O=C angle labels between neighboring PPII segments.
</gallery>
 
== Example (command line, optional) ==
<pre>
<pre>
# Load the module
run /full/path/to/PPIIMoL.py
# or
run PPIIMoL/PPIIMoL.py
run PPIIMoL/PPIIMoL.py
# Load a structure and trigger detection
fetch 3bog, async=0
ppii_detect()
</pre>
</pre>


'''Option C — Install as plugin (optional)'''
== Reference figures ==
* PyMOL → '''Plugin → Plugin Manager → Install New Plugin''' → select `PPIIMoL.py` (or the folder) → restart.
Below are reference figures illustrating PPII bundle organization and residue patterns, reproduced with permission from Segura Rodríguez & Laurents (2024).
 
<!-- Fila 1: Fig. 1 y Fig. 8 -->
<gallery widths=480 heights=640 perrow=2> <!-- añade mode=packed si tu wiki lo soporta -->
File:PPIIMoL Fig1.jpg|alt=Four panels showing polyproline motifs and packing diagrams.|'''Figure 1.''' Overview of polyproline motifs.<br><small>Reproduced with permission from Segura Rodríguez & Laurents (2024).</small>
File:PPIIMoL Fig8.jpg|alt=Pie charts summarizing glycine content and flanking residues across PPII bundles.|'''Figure 8. Quantitative trends:'''<br>(A) Glycine content per PPII helix increases with number of neighbors.<br>(B) Flanking segments enriched in small polar/turn-forming residues; cationic residues often near C-termini.<br><small>Reproduced with permission from Segura Rodríguez & Laurents (2024).</small>
</gallery>
 
<!-- Filas siguientes: Fig. 2–7 -->
<gallery widths=500 heights=340 perrow=2> <!-- añade mode=packed si tu wiki lo soporta -->
File:PPIIMoL Fig2.jpg|alt=HhAFP with six PPII helices arranged in two antiparallel layers and disulfides.|'''Figure 2.''' Snow flea antifreeze protein (HhAFP): six PPII helices in two layers, stabilized by disulfides and predominantly antiparallel.<br><small>Reproduced with permission from Segura Rodríguez & Laurents (2024).</small>
File:PPIIMoL Fig3.jpg|alt=GrAFP nine-helix PPII bundle in two layers.|'''Figure 3.''' Granisotoma rainieri antifreeze protein (GrAFP): nine-helix PPII bundle arranged in two layers.<br><small>Reproduced with permission from Segura Rodríguez & Laurents (2024).</small>
File:PPIIMoL Fig4.jpg|alt=Obg GTPase domain with six PPII helices connected by variable segments.|'''Figure 4.''' Obg GTPase PPII domain: six PPII helices in two layers connected by variable segments.<br><small>Reproduced with permission from Segura Rodríguez & Laurents (2024).</small>
File:PPIIMoL Fig5.jpg|alt=Carboxylases forming compact bundles of short PPII helices.|'''Figure 5.''' Carboxylases: compact bundles of short PPII helices; one helix surrounded by six neighbors; bundle largely buried.<br><small>Reproduced with permission from Segura Rodríguez & Laurents (2024).</small>
File:PPIIMoL Fig6.jpg|alt=Bacteriophage S16 tail fiber tip with ten PPII helices and variable loops.|'''Figure 6.''' Bacteriophage S16 tail fiber tip (gp38): ten PPII helices; two fully glycine and fully surrounded; variable loops control host recognition.<br><small>Reproduced with permission from Segura Rodríguez & Laurents (2024).</small>
File:PPIIMoL Fig7.jpg|alt=Human ALK extracellular glycine-rich domain with fourteen PPII helices.|'''Figure 7.''' Human ALK extracellular glycine-rich domain: fourteen PPII helices; three nearly all-Gly; connectors range from short turns to longer elements.<br><small>Reproduced with permission from Segura Rodríguez & Laurents (2024).</small>
</gallery>


== Usage ==
== GUI buttons ==
When loaded, PPIIMoL opens a Tkinter window with buttons to:
* '''Load PDB''': Opens a file dialog (.pdb/.cif). 
* Prepare the structure (remove solvent, add hydrogens)
* '''Prepare structure''': Optional cleanup (remove solvent/ligands, add hydrogens)
* Detect PPII segments
* '''Detect PPII''': Scans backbone torsion angles (φ/ψ), creates selections (ppii_1, ppii_2, …) and colors them. 
* Visualize / color segments
* '''Scan Cα–H···O=C''': Searches plausible non-canonical contacts; cutoffs configurable. 
* Export results (CSV, PDB)
* '''Style / Colors''': Applies the selected color scheme. 
* '''Export''': Writes CSV reports (angles, contacts, detected segments)


Outputs are written to a dated folder and objects/selections are created in the PyMOL session.
== Troubleshooting ==
* GUI does not appear → Ensure PyMOL build includes Tkinter. 
* No segments detected → Check backbone completeness; relax φ/ψ windows. 
* Too many contacts → Tighten cutoffs in Scan Cα–H···O=C. 
* CSV/PDB not written → Verify write permissions. 
* Emojis not visible → Cosmetic only.


== Figures ==
== Compatibility ==
<!-- Example insertions; replace with your uploaded file names -->
* PyMOL: 2.x (Tkinter required for the GUI)
[[File:PPIIMoL_Fig1.jpg|thumb|center|Figure 1 from Segura Rodríguez & Laurents (2024), bioRxiv preprint of "Architectonic principles of polyproline II helix bundle protein domains". Licensed under CC BY‑NC‑ND 4.0.]]
* OS: Windows / Linux / macOS
[[File:PPIIMoL_Fig2.jpg|thumb|center|Figure 2 from Segura Rodríguez & Laurents (2024), bioRxiv preprint. Licensed under CC BY‑NC‑ND 4.0.]]
* Python: 3.x
<!-- Add Fig3..Fig8 similarly if desired -->
* Notes: requires complete backbone atoms to compute φ/ψ; add hydrogens to enable geometric screening.


== Provenance & how to cite ==
== Support ==
The algorithm implements the manual workflow used at IQF‑CSIC and was benchmarked on reference domains reported by Segura Rodríguez & Laurents. If you use PPIIMoL in research, please cite:
Found a bug or have a feature request? → [https://github.com/silviaenma/PPIIMoL/issues Open an issue on GitHub].


* '''Software''' Rodríguez Fernández, S. E. ''PPIIMoL: automated detection of polyproline II helices in PyMOL''. GitHub: https://github.com/silviaenma/PPIIMoL (GPL‑3.0).
== How to cite ==
* '''Primary reference (journal)''' Segura Rodríguez, C. M., & Laurents, D. V. (2024). ''Architectonic principles of polyproline II helix bundle protein domains''. ''Archives of Biochemistry and Biophysics'', 741, 109981. [https://doi.org/10.1016/j.abb.2024.109981 DOI]
If PPIIMoL is useful in your work, please cite both the software and the reference article:
* '''Figures source (preprint license)''' — bioRxiv preprint of the above article, licensed under CC BY‑NC‑ND 4.0 (attribution required; no derivatives).
 
'''Software'''
Rodríguez Fernández, S. E. (2025). ''PPIIMoL'' (version 1.1) [Computer software]. GitHub. https://github.com/silviaenma/PPIIMoL
 
'''Reference article'''
Segura Rodríguez, C. M., & Laurents, D. V. (2024). Architectonic principles of polyproline II helix bundle protein domains. ''Archives of Biochemistry and Biophysics, 741'', 109981. [https://doi.org/10.1016/j.abb.2024.109981 DOI]


== Repository ==
== Repository ==
* [https://github.com/silviaenma/PPIIMoL PPIIMoL on GitHub]
[https://github.com/silviaenma/PPIIMoL PPIIMoL on GitHub]


== License ==
== License ==
PPIIMoL is released under the [https://www.gnu.org/licenses/gpl-3.0.html GNU GPLv3].
PPIIMoL is released under the [https://www.gnu.org/licenses/gpl-3.0.en.html GNU GPLv3].
 
 


[[Category:Plugins]]
[[Category:Plugins]]
[[Category:Structure Analysis]]

Latest revision as of 03:16, 19 August 2025

PPIIMoL

Small PPII helix icon

PPIIMoL is a Python module for PyMOL that automates the detection of polyproline II (PPII) helices in proteins. It identifies PPII-like φ/ψ angle patterns, screens for plausible non-canonical Cα–H···O=C contacts, and provides one-click visualization and export.

This tool was developed as part of a Bachelor's Thesis in Computer Engineering in collaboration with the Protein Structure, Dynamics and Interactions by NMR Group at the Instituto de Química-Física “Blas Cabrera” (IQF-CSIC). The module’s design and validation take as a primary reference the data and architectonic principles reported by Segura Rodríguez & Laurents (2024) (see How to cite).

Scientific background

Polyproline II (PPII) helices are extended, left-handed motifs (≈3 residues/turn) typically enriched in glycine- and proline-rich domains. Although common in several glycine-rich bundles, they are often unannotated in PDB files. PPIIMoL automates their detection directly in PyMOL to improve speed and reproducibility.

Features

  • 🔍 Automatic detection of PPII segments via phi/psi angle analysis.
  • 🧬 Identification of Cα-H···O=C interactions relevant to structural stability.
  • 📊 CSV export of detected segments and interactions.
  • 🎨 Direct visualization in PyMOL with customizable color codes.
  • 🖱️ Simple Tkinter-based GUI — no commands required; all actions are accessible via buttons.

Requirements

  • PyMOL 2.x or newer.
  • Python with Tkinter enabled (for the GUI).

Installation

Option A — Single-file download (simplest)

  1. Download `PPIIMoL.py` from the repository (see Repository below).
  2. In PyMOL:
run /full/path/to/PPIIMoL.py

Option B — Clone the repository

git clone https://github.com/silviaenma/PPIIMoL.git

Then in PyMOL:

run PPIIMoL/PPIIMoL.py

Optional: install as a plugin In PyMOL: Plugin → Plugin Manager → Install New Plugin → select `PPIIMoL.py` (or the whole folder) → restart PyMOL.

Usage (GUI)

Once loaded, PPIIMoL opens a Tkinter window with buttons to:

  • Load PDB (or use an already-loaded object)
  • Detect PPII (scan φ/ψ windows and list segments)
  • Scan Cα–H···O=C (optional geometric screening)
  • Style / Colors (apply the chosen palette)
  • Export (CSV reports; optional per-segment PDBs)

Results are written to a date-stamped folder; selections/objects are created in the PyMOL session and colored according to the chosen scheme.

GUI snapshot

PyMOL window with the PPIIMoL pane and a success dialog after detecting PPII segments.
PPIIMoL graphical interface inside PyMOL. Main actions: Load PDB, Detect PPII, Scan Cα–H···O=C, Style/Colors, Export.

Examples

Example (command line, optional)

# Load the module
run /full/path/to/PPIIMoL.py
# or
run PPIIMoL/PPIIMoL.py

# Load a structure and trigger detection
fetch 3bog, async=0
ppii_detect()

Reference figures

Below are reference figures illustrating PPII bundle organization and residue patterns, reproduced with permission from Segura Rodríguez & Laurents (2024).

GUI buttons

  • Load PDB: Opens a file dialog (.pdb/.cif).
  • Prepare structure: Optional cleanup (remove solvent/ligands, add hydrogens).
  • Detect PPII: Scans backbone torsion angles (φ/ψ), creates selections (ppii_1, ppii_2, …) and colors them.
  • Scan Cα–H···O=C: Searches plausible non-canonical contacts; cutoffs configurable.
  • Style / Colors: Applies the selected color scheme.
  • Export: Writes CSV reports (angles, contacts, detected segments).

Troubleshooting

  • GUI does not appear → Ensure PyMOL build includes Tkinter.
  • No segments detected → Check backbone completeness; relax φ/ψ windows.
  • Too many contacts → Tighten cutoffs in Scan Cα–H···O=C.
  • CSV/PDB not written → Verify write permissions.
  • Emojis not visible → Cosmetic only.

Compatibility

  • PyMOL: 2.x (Tkinter required for the GUI)
  • OS: Windows / Linux / macOS
  • Python: 3.x
  • Notes: requires complete backbone atoms to compute φ/ψ; add hydrogens to enable geometric screening.

Support

Found a bug or have a feature request? → Open an issue on GitHub.

How to cite

If PPIIMoL is useful in your work, please cite both the software and the reference article:

Software Rodríguez Fernández, S. E. (2025). PPIIMoL (version 1.1) [Computer software]. GitHub. https://github.com/silviaenma/PPIIMoL

Reference article Segura Rodríguez, C. M., & Laurents, D. V. (2024). Architectonic principles of polyproline II helix bundle protein domains. Archives of Biochemistry and Biophysics, 741, 109981. DOI

Repository

PPIIMoL on GitHub

License

PPIIMoL is released under the GNU GPLv3.