Skip to content

🤝 Tool for generating KEGG pathways completeness heatmaps from eggNOG-mapper annotations

License

Notifications You must be signed in to change notification settings

iliapopov17/KEGGaNOG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KEGGaNOG



Python3 Pandas Seaborn Matplotlib Numpy KEGG-Decoder License Downloads

Linux macOS



Motivation

eggNOG-mapper 🤝 KEGG-Decoder

  • eggNOG-mapper is a comprehensive tool for fast functional annotation of novel sequences. Yet it does not provide any visualization functions.
  • KEGG-Decoder is a perfect tool for visualizing KEGG Pathways. But it only takes KEGG-Koala outputs as an input (including blastKOALA, ghostKOALA, KOFAMSCAN).
  • KEGG-Koala is a web-tool which can work for more than 24 hours. eggNOG-mapper can be installed locally on your PC / server and work faster.
  • This tool KEGGaNOG makes eggNOG-mapper meet KEGG-Decoder! It parses eggNOG-mapper output, make it fit for the input to KEGG-Decoder and then visualize KEGG Pathways as the heatmap!
  • Pro-tip: eggNOG-mapper and KEGGaNOG could be wrapped into 🐍 Snakemake pipeline making metabolic profiling a "one-click" process!
  • Ultra-Pro-tip: KEGGaNOG uses a lot of legacy code due to hardwired KEGG-Decoder. Either use Snakemake v.5.11 or use the latest version but define two separate conda envinronments - one for eggNOG-mapper and the other one for KEGGaNOG.

Installation

KEGG-Decoder is hardwired into KEGGaNOG
KEGG-Decoder uses python=3.6
That's why KEGGaNOG uses this version too
There are some compatibility issues, yet they are managed (however, installing KEGGaNOG on macOS is a bit not standart)

# Linux / WSL / Intel Macs
conda create -n kegganog python=3.6
conda activate kegganog
pip install kegganog
# ARM Macs (Apple M1-M4 and so on)
CONDA_SUBDIR=osx-64 conda create -n kegganog python=3.6 python.app
conda activate kegganog
pip install kegganog
alias KEGGaNOG="pythonw $(which KEGGaNOG)"

# In case user needs to unalias KEGGaNOG from pythonw
unalias KEGGaNOG
# To check if KEGGaNOG uses python or pythonw
which KEGGaNOG

Usage Guide

usage: KEGGaNOG [-h] [-M] -i INPUT -o OUTPUT [-dpi DPI] [-c COLOR] [-n NAME]
                [-g] [-V]

KEGGaNOG: Link eggNOG-mapper and KEGG-Decoder for pathway visualization.

optional arguments:
  -h, --help            show this help message and exit
  -M, --multi           “Multi” mode allows to run KEGGaNOG on multiple
                        eggNOG-mapper annotation files (a text file with file
                        location paths must be passed to the input)
  -i INPUT, --input INPUT
                        Path to eggNOG-mapper annotation file
  -o OUTPUT, --output OUTPUT
                        Output folder to save results
  -dpi DPI, --dpi DPI   DPI for the output image (default: 300)
  -c COLOR, --color COLOR, --colour COLOR
                        Cmap for seaborn heatmap. Recommended options: Greys,
                        Purples, Blues, Greens, Oranges, Reds (default: Blues)
  -n NAME, --name NAME  Sample name for labeling (default: SAMPLE) (not active
                        in `--multi` mode)
  -g, --group           Group the heatmap based on predefined categories
  -V, --version         show program's version number and exit

🔗 Please also visit KEGGaNOG wiki page

Wiki page is in process of rewritting!

Output examples

Single mode Multi mode
single multi

These figures are generated using functional groupping mode (-g/--group), Blues colormap and 300 dpi

Advantages

  1. Free Access to KEGG Annotations: Provides KEGG Ortholog (KO) annotations without requiring a KEGG license, making it budget-friendly.
  2. High-Throughput Capability: Optimized for rapid KO assignment in large-scale datasets, ideal for metagenomics and genomics projects.
  3. Broad Functional Coverage: Leverages the extensive eggNOG database to annotate genes across a wide range of taxa.

Limitation

  1. Indirect KO Mapping: eggNOG-mapper doesn’t directly use the KEGG database, its KO term assignments are inferred through orthologous groups (eggNOG entries). This can sometimes result in less precise annotations.

Tool name background

KEGGaNOG stands for “KEGG out of NOG”, highlighting its purpose: extracting KEGG Ortholog annotations from eggNOG’s Non-supervised Orthologous Groups.

Contributing

Contributions are welcome! If you have any ideas, bug fixes, or enhancements, feel free to open an issue or submit a pull request.

Contact

For any inquiries or support, feel free to contact me via email

Happy functional annotation! 💻🧬