ipegg (InterProscan Environment & Genomic Grapher) is an R-based tool designed to visualize protein domain architectures from InterProScan TSV outputs. It creates publication-quality plots that respect the full protein length and allows for deep customization via YAML configuration files.
- True Backbone: Represents the protein from amino acid 0 to its full length (V3 column), highlighting N- and C-terminal regions without domains.
- Intelligent Scaling: Automatically adjusts image height based on the number of sequences to maintain consistent block thickness.
- Natural Sorting: Handles alphanumeric IDs (e.g., Chr1, Chr2, Chr10) correctly.
- Regex Normalization: Automatically clean or rename complex domain names.
- Domain Filtering: Remove noisy or uninformative hits (e.g., non-cytoplasmic regions).
- Dynamic Themes: Large axis titles and clear X-axis lines for better readability.
- iTOL Ready: Generates ready-to-use dataset files for iTOL (Interactive Tree Of Life).
- Phylogenetic Ordering: Option to order sequences based on a Newick tree file.
ipegg uses a YAML file to manage settings, ensuring reproducible results for your genomic pipelines.
git clone [https://github.com/mathiashole/ipegg.git](https://github.com/mathiashole/ipegg.git)
cd ipegginstall.packages(c("ggplot2", "dplyr", "yaml", "RColorBrewer", "tidyr", "ggtree"))Run the script from your terminal passing the configuration file as an argument:
Rscript ipegg.r --config config2.yaml| Section | Parameter | Description |
|---|---|---|
| input | file |
Path to the InterProScan TSV file. |
| normalize | replace |
Dictionary of "Pattern": "Replacement" for name cleaning (Regex support). |
| remove | list |
List of domains or keywords to exclude from the final plot. |
| options | ordenar |
Boolean. If true, applies natural alphanumeric sort (e.g., Hap1, Hap2, Hap10). |
| domains | colors |
Manual color mapping using R color names or Hex codes. |
We welcome contributions!
Pull requests and 🌟 stars are always welcome.- For major changes, please open an issue first to discuss what you would like to change.
- Please make sure to update tests as appropriate.