PPIIMoL: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
= PPIIMoL =
= PPIIMoL =


'''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.
'''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 ''References'' and ''How to cite'' below.
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.
Results are written to a date-stamped folder; selections/objects are created in the PyMOL session and colored according to the chosen scheme.


== 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()
Line 64: Line 62:


== Reference figures ==
== Reference figures ==
Below are reference figures illustrating PPII bundle organization and residue patterns, reproduced with permission from the authors of the cited work.
Below are reference figures illustrating PPII bundle organization and residue patterns, reproduced with permission from Segura Rodríguez & Laurents (2024).
 
[[File:PPIIMoL_Fig1.jpg|thumb|center|600px|''Figure 1.'' Overview of polyproline motifs: <br/>(A) isolated PPII helix; <br/>(B) collagen triple helix; <br/>(C) double-layered sheets from (Pro–Gly–Gly)n with Pro out/Gly in; <br/>(D) 3D polyglycine II network. ''<br/>Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
[[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. ''<br/>Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
[[File:PPIIMoL_Fig3.jpg|thumb|center|600px|''Figure 3.'' Granisotoma rainieri antifreeze protein (GrAFP): nine-helix PPII bundle arranged in two layers. ''<br/>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. ''<br/>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. ''<br/>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. ''<br/>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. ''<br/>Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]
[[File:PPIIMoL_Fig8.jpg|thumb|center|600px|''Figure 8.'' Quantitative trends: <br/>(A) glycine content per PPII helix increases with the number of neighboring PPII helices; <br/>(B) flanking segments enriched in small polar/turn-forming residues; cationic residues often near C-termini. ''<br/>Reproduced with permission from Segura Rodríguez & Laurents (2024).'' ]]


[[File:ppii_fig1.png|thumb|400px|Figure 1. Overview of polyproline motifs: (A) isolated PPII helix; (B) collagen triple helix; (C) double-layered sheets; (D) 3D polyglycine II network.]] 
[[File:ppii_fig2.png|thumb|400px|Figure 2. Snow flea antifreeze protein (HhAFP): six PPII helices in two layers.]] 
[[File:ppii_fig3.png|thumb|400px|Figure 3. Granisotoma rainieri antifreeze protein (GrAFP): nine-helix PPII bundle.]] 
[[File:ppii_fig4.png|thumb|400px|Figure 4. Obg GTPase PPII domain: six PPII helices in two layers.]] 
[[File:ppii_fig5.png|thumb|400px|Figure 5. Carboxylases: compact bundles of short PPII helices.]] 
[[File:ppii_fig6.png|thumb|400px|Figure 6. Bacteriophage S16 tail fiber tip (gp38): ten PPII helices.]] 
[[File:ppii_fig7.png|thumb|400px|Figure 7. Human ALK extracellular glycine-rich domain: fourteen PPII helices.]] 
[[File:ppii_fig8.png|thumb|400px|Figure 8. Quantitative trends: (A) glycine content vs neighbors; (B) flanking residues trends.]] 


== GUI buttons ==
== GUI buttons ==
; Load PDB
* '''Load PDB''': Opens a file dialog (.pdb/.cif).
: Opens a file dialog to choose a structure (.pdb/.cif). If an object is already loaded, it can reuse it.
* '''Prepare structure''': Optional cleanup (remove solvent/ligands, add hydrogens).
; Prepare structure
* '''Detect PPII''': Scans backbone torsion angles (φ/ψ), creates selections (ppii_1, ppii_2, …) and colors them.
: Optional cleanup (e.g., remove solvent/ligands) and add hydrogens to enable geometric analysis.
* '''Scan Cα–H···O=C''': Searches plausible non-canonical contacts; cutoffs configurable.
; Detect PPII
* '''Style / Colors''': Applies the selected color scheme.
: Scans backbone torsion angles (φ/ψ) and lists candidate PPII segments; creates selections (ppii_1, ppii_2, …) and colors them. Thresholds are configurable in the GUI (typical PPII angles are around φ ≈ −75°, ψ ≈ +150°).
* '''Export''': Writes CSV reports (angles, contacts, detected segments).
; Scan Cα–H···O=C
: Searches plausible non-canonical contacts between neighboring PPII helices; distance/angle cutoffs are configurable in the GUI.
; Style / Colors
: Applies the selected color scheme to all detected segments and updates labels/selections.
; Export
: Writes CSV reports (e.g., ''report_ppii.csv'', ''phi_psi_angles.csv'', ''ca_h_o_contacts.csv'') and optional per-segment PDBs into a date-stamped folder.
 


== Troubleshooting ==
== Troubleshooting ==
* '''GUI does not appear''' → Ensure your PyMOL build includes Tkinter (the GUI toolkit). Restart PyMOL after installation as a plugin.
* GUI does not appear → Ensure PyMOL build includes Tkinter.
* '''No segments detected''' → Check that the structure has complete backbone atoms; relax φ/ψ windows slightly in the GUI; try adding hydrogens (''Prepare structure'').
* No segments detected → Check backbone completeness; relax φ/ψ windows.
* '''Too many contacts''' → Tighten distance/angle cutoffs in '''Scan Cα–H···O=C'''; focus on contacts between neighboring PPII segments only.
* Too many contacts → Tighten cutoffs in Scan Cα–H···O=C.
* '''CSV/PDB not written''' → Verify write permissions in the working directory or choose a different output location in '''Export'''.
* CSV/PDB not written → Verify write permissions.
* '''Emojis in Features not visible''' → Cosmetic only; the text remains in bold and readable on all browsers.
* Emojis not visible → Cosmetic only.


== 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 1.1)'' [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


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


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


[[Category:Plugins]]
[[Category:Plugins]]

Revision as of 06:07, 18 August 2025

PPIIMoL

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.

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).

File:Ppii fig1.png
Figure 1. Overview of polyproline motifs: (A) isolated PPII helix; (B) collagen triple helix; (C) double-layered sheets; (D) 3D polyglycine II network.
File:Ppii fig2.png
Figure 2. Snow flea antifreeze protein (HhAFP): six PPII helices in two layers.
File:Ppii fig3.png
Figure 3. Granisotoma rainieri antifreeze protein (GrAFP): nine-helix PPII bundle.
File:Ppii fig4.png
Figure 4. Obg GTPase PPII domain: six PPII helices in two layers.
File:Ppii fig5.png
Figure 5. Carboxylases: compact bundles of short PPII helices.
File:Ppii fig6.png
Figure 6. Bacteriophage S16 tail fiber tip (gp38): ten PPII helices.
File:Ppii fig7.png
Figure 7. Human ALK extracellular glycine-rich domain: fourteen PPII helices.
File:Ppii fig8.png
Figure 8. Quantitative trends: (A) glycine content vs neighbors; (B) flanking residues trends.

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.

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

Repository

GitHub: https://github.com/silviaenma/PPIIMoL

License

PPIIMoL is released under the GNU GPLv3.