PPIIMoL: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
 
(44 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 ''References'' and ''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] enabled (for the GUI).
* Python with Tkinter enabled (for the GUI).


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


'''Option B — Clone the 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>
<pre>
run PPIIMoL/PPIIMoL.py
run PPIIMoL/PPIIMoL.py
</pre>
</pre>


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


== Usage (GUI) ==
== Usage (GUI) ==
Once loaded, PPIIMoL opens a Tkinter window with buttons to:
Once loaded, PPIIMoL opens a Tkinter window with buttons to:
* '''Load PDB''' (or use an already‑loaded object),
* Load PDB (or use an already-loaded object)
* '''Detect PPII''' (scan φ/ψ windows and list segments),
* Detect PPII (scan φ/ψ windows and list segments)
* '''Scan Cα–H···O=C''' (optional geometric screening),
* Scan Cα–H···O=C (optional geometric screening)
* '''Style / Colors''' (apply the chosen palette),
* Style / Colors (apply the chosen palette)
* '''Export''' (CSV reports; optional per‑segment PDBs).
* 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>


Results are written to a date‑stamped folder; selections/objects are created in the PyMOL session and colored according to the chosen scheme.
=== 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) ==
== Example (command line, optional) ==
<pre>
<pre>
# Load the module (either single file or cloned repo)
# Load the module
run /full/path/to/PPIIMoL.py
run /full/path/to/PPIIMoL.py
# or
# or
run PPIIMoL/PPIIMoL.py
run PPIIMoL/PPIIMoL.py


# Load a structure and (optionally) trigger detection
# Load a structure and trigger detection
fetch 3bog, async=0
fetch 3bog, async=0
ppii_detect()
ppii_detect()
</pre>
</pre>


[[File:PPIIMoL_Fig1.jpg|thumb|center|600px|''Figure 1.'' Overview of polyproline motifs.]]
== Reference figures ==
''Legend (Fig. 1):'' (A) isolated PPII helix; (B) collagen triple helix; (C) double-layered sheets from (Pro–Gly–Gly)n with Pro outward and Gly inward; (D) 3D polyglycine II network. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).''
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>
 
== 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.


== Reference figures ==
== Compatibility ==
Below are reference figures illustrating PPII bundle organization and residue patterns, reproduced with permission from the authors of the cited work.
* 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.


[[File:PPIIMoL_Fig1.jpg|thumb|center|600px|''Figure 1.'' Overview of polyproline motifs: (A) isolated PPII helix; (B) collagen triple helix; (C) double-layered sheets from (Pro–Gly–Gly)n with Pro out/Gly in; (D) 3D polyglycine II network. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
== Support ==
[[File:PPIIMoL_Fig2.jpg|thumb|center|600px|''Figure 2.'' Snow flea antifreeze protein (HhAFP): six PPII helices in two layers, stabilized by disulfides and predominantly antiparallel. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
Found a bug or have a feature request? → [https://github.com/silviaenma/PPIIMoL/issues Open an issue on GitHub].
[[File:PPIIMoL_Fig3.jpg|thumb|center|600px|''Figure 3.'' Granisotoma rainieri antifreeze protein (GrAFP): nine-helix PPII bundle arranged in two layers. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
[[File:PPIIMoL_Fig4.jpg|thumb|center|600px|''Figure 4.'' Obg GTPase PPII domain: six PPII helices in two layers connected by segments of variable length/secondary structure. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
[[File:PPIIMoL_Fig5.jpg|thumb|center|600px|''Figure 5.'' Carboxylases (acetone/acetophenone): compact bundles of short PPII helices; one helix surrounded by six neighbors; bundle largely buried. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
[[File:PPIIMoL_Fig6.jpg|thumb|center|600px|''Figure 6.'' Bacteriophage S16 tail fiber tip (gp38): ten PPII helices; two fully glycine and fully surrounded; variable loops control host recognition. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
[[File:PPIIMoL_Fig7.jpg|thumb|center|600px|''Figure 7.'' Human ALK extracellular glycine-rich domain: fourteen PPII helices; three nearly all-Gly; connectors range from short turns to longer elements. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
[[File:PPIIMoL_Fig8.jpg|thumb|center|600px|''Figure 8.'' Quantitative trends: (A) glycine content per PPII helix increases with the number of neighboring PPII helices; (B) flanking segments enriched in small polar/turn-forming residues; cationic residues often near C-termini. ''Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]


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


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


* '''Reference article'''
'''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 https://doi.org/10.1016/j.abb.2024.109981]
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 ==
* GitHub: https://github.com/silviaenma/PPIIMoL
[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.