Bioinformatics · PARylation

Predict PARylation sites with publication-quality output

ParylationPredictor identifies PAR-binding domains and predicts ADP-ribosylation sites from UniProt IDs, raw sequences, or FASTA files — in a single command.

Get Started View Example Output Try Online
$ pip install -e .

Everything in one tool

From raw sequence to publication-ready figures and data — no intermediate steps required.

DOM

PAR-binding Domain Detection

Queries the InterPro API for 11 known PAR-binding domain families including WWE, Macro, BRCT, PBZ, RRM, and PARP catalytic domains.

MTF

Motif-based PARylation Prediction

Scores residues using SxxE, SxxD, TxxE, ExxE, and acidic-cluster motifs with position-weighted confidence scoring.

IDR

Disorder Prediction

Integrates IUPred2A for per-residue intrinsic disorder scores, highlighting sites in flexible regions most amenable to modification.

ENR

Cross-database Enrichment

Fetches known PTMs from PHOSPHO.ELM, pathways from Reactome & KEGG, and relevant literature from EuropePMC automatically.

FIG

8-Panel Publication Figure

Domain architecture, confidence landscape, hydrophobicity, charge, motif breakdown, residue composition, disorder profile, and residue-type breakdown.

OUT

Complete Output Package

PNG + PDF + SVG figures, formatted Excel workbook, interactive HTML report, structured JSON, and TSV — all in a named protein folder.

Up and running in 60 seconds

Requires Python 3.8+ and a few standard scientific packages.

1

Clone the repository

# Clone from GitHub
git clone https://github.com/gheinani/parbm-detector.git
cd parbm-detector
2

Install in editable mode

# Installs the package and all dependencies
pip install -e .

# Dependencies installed automatically:
#   requests · matplotlib · numpy · openpyxl · plotly
3

Verify the installation

import parbm_detector_pkg as parbm
print(parbm.__version__)   # → 3.1.0

From UniProt ID to full report

The example below reproduces the RNF146 output shown in the gallery above.

  Minimal — UniProt ID
from parbm_detector_pkg import PARBMDetector

detector = PARBMDetector()

# Analyze RNF146 (WWE domain, PAR-binding)
result = detector.analyze("Q9NTX7")
detector.print_analysis(result)
  Full — Enrich + Export
from parbm_detector_pkg import PARBMDetector

detector = PARBMDetector()

# Analyze
result = detector.analyze("Q9NTX7")

# Enrich with disorder, PTMs, pathways, literature
result = detector.enrich_result(result)

# Export everything to Q9NTX7_RNF146/ folder
detector.export_to_folder(result, base_dir=".")
  Raw sequence input
# Works with raw amino-acid sequences too
seq = "MSEQ...LNRK"
result = detector.analyze(seq)
  FASTA file input
# FASTA files — returns a list of results
results = detector.analyze_fasta_file(
    "proteins.fasta"
)
for r in results:
    detector.export_to_folder(r, base_dir="output")

Generated output files

All files are placed in a folder named {UniProtID}_{gene}/

FileFormatDescription
*_analysis.png PNG 8-panel composite figure (200 dpi)
*_analysis.pdf PDF Vector PDF for journal submission
*_analysis.svg SVG Scalable vector for web/presentations
*_report.xlsx XLSX Formatted 4-sheet Excel workbook
*_report.html HTML Interactive 9-tab Plotly report
*_data.json JSON Structured data for programmatic use
*_sites.tsv TSV Site-level table with disorder & PTM columns
panels/*.png/pdf/svg ×24 Each of the 8 panels individually exported

Core methods

All methods live on the PARBMDetector class.

detector.analyze(input_data) → dict

analyze()

Accepts a UniProt ID, raw sequence, FASTA string, or file path. Fetches protein metadata from UniProt, detects PAR-binding domains via InterPro, and predicts PARylation sites.

  • input_data — str, auto-detected type
  • Returns full result dict with sites, domains, summary
detector.enrich_result(result, skip=[]) → dict

enrich_result()

Adds disorder scores (IUPred2A), known PTMs (PHOSPHO.ELM), pathway annotations (Reactome + KEGG), and literature (EuropePMC) to a result dict.

  • skip — list of modules to omit: 'disorder', 'ptm', 'pathways', 'literature'
detector.export_to_folder(result, base_dir=".") → str

export_to_folder()

Creates a named folder and writes all output files: composite figure (PNG/PDF/SVG), 8 individual panels (×3 formats), Excel, HTML, JSON, TSV.

  • Returns the path to the created folder
detector.print_analysis(result)

print_analysis()

Prints a formatted text report to stdout with identity block (protein, gene, organism, length), PARylation summary (high-confidence count, top site), and a 10-row site detail table.

detector.visualize_protein(result, output_file, show) → str

visualize_protein()

Renders the 8-panel composite figure and saves it as PNG + PDF + SVG. Also saves 8 individual panel files.

detector.export_excel(result, output_file) → str

export_excel()

Writes a formatted openpyxl workbook with 4 sheets: Summary, PARylation Sites, Domains, and full Sequence with annotation.

Get in touch

For questions about the tool, collaborations, or to report issues, contact the development group.

Hashemi Gheinani Lab

Department of BioMedical Research · University of Bern