PPIIMoL: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
mNo edit summary
 
(51 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. 
</span>
It streamlines structural analysis by:


* Identifying characteristic torsional angles (phi and psi) of PPII helices.
'''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.
* Detecting potential non-canonical hydrogen bonds (Cα-H···O=C) relevant to structural stability.
* Exporting results for further analysis.
* Providing direct, customizable visualization in PyMOL.


This tool was developed as part of a Bachelor's Thesis in Computer Engineering in collaboration with the CSIC neuroscience laboratory.
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 ==
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.   
📊 Export of results in CSV format for further analysis.   
* 📊 CSV export of detected segments and interactions.   
🎨 Direct visualization in PyMOL with customizable color codes.   
* 🎨 Direct visualization in PyMOL with customizable color codes.   
🖱️ Simple GUI based on Tkinter — 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 enabled (for the GUI).
* Python with Tkinter enabled (for the GUI).


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


'''Full repository (optional):'''
'''Option B — Clone the repository'''
# Clone the repository to also get example files and documentation:
<pre>
<pre>
git clone https://github.com/silviaenma/PPIIMoL.git
git clone https://github.com/silviaenma/PPIIMoL.git
</pre>
</pre>
# In PyMOL, run:
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>


(Optional) Install permanently as a plugin:   
== Reference figures ==
* In PyMOL: '''Plugin → Plugin Manager → Install New Plugin'''.   
Below are reference figures illustrating PPII bundle organization and residue patterns, reproduced with permission from Segura Rodríguez & Laurents (2024).
* Select `PPIIMoL.py` or the full `PPIIMoL` folder.   
 
* Restart PyMOL.
<!-- 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>
 
== 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.


== Usage ==
== Support ==
Once loaded, PPIIMoL opens a Tkinter-based graphical interface. 
Found a bug or have a feature request? → [https://github.com/silviaenma/PPIIMoL/issues Open an issue on GitHub].
From this window, you can:
* Load a PDB file.
* Detect PPII helices. 
* Export results as CSV. 
* Change visualization colors directly.


Results are automatically exported to a folder named with the current date, containing CSV files with detected segments and interactions. Detected PPII helices are highlighted in PyMOL according to the selected color scheme.
== 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. [https://doi.org/10.1016/j.abb.2024.109981 DOI]


== Repository ==
== Repository ==
The project is hosted on GitHub: [https://github.com/silviaenma/PPIIMoL PPIIMoL on GitHub]
[https://github.com/silviaenma/PPIIMoL PPIIMoL on GitHub]


== License ==
== License ==
This project is licensed 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.