Overview

auto-Enrich is a Bash script-based pipeline that integrademtes multiple widely used enrichment analysis tools into a single, modular framework. It is designed to automate enrichment analysis workflows and standardize results. Packaged as a Docker image, auto-Enrich allows users to perform comprehensive enrichment analysis with three popular tools: g:Profiler, PANTHER, and GSEA (Gene Set Enrichment Analysis).

The pipeline includes pre-processing, enrichment analysis, and post-processing steps, facilitating end-to-end workflows. Its seven core modules can be run independently or combined, providing flexibility depending on analytical needs. Detailed descriptions of each module are provided in Modules section.

The auto-Enrich pipeline runs in any computing environment with Docker installed. It is distributed as part of the pegi3s Bioinformatics Docker Images Project, and the corresponding image is available at: https://hub.docker.com/r/pegi3s/auto-enrich. That page also provides a short guide for installing Docker on both Linux and Windows systems. Since Docker is widely adopted, additional installation and usage instructions are readily available in the official Docker documentation.

The pipeline supports two primary input data types:

  • Gene list files

    Text files with one Gene ID per line. Used for Over-Representation Analysis by the g:Profiler and PANTHER modules.

  • Gene expression matrix

    A matrix of gene expression values. Used for GSEA (Classic or Preranked).

At a minimum, the pipeline requires two files:

  • Pipeline configuration file config

    Specify modules, input file, target species, annotation sources, and post-processing settings.

  • Input file

    At least one gene list or gene expression matrix.

  • If running GSEA

    At least one Gene Set from the Molecular Signature Database Collections must be provided inside a folder named /gene_sets.

This pipeline is designed to simplify and standardize the following steps:

  1. Extract differentially expressed genes from an expression matrix

  2. Map input Genes information (includes Gene ID, UniProtKB IDs, Gene Symbol and Description)

  3. Run g:Profiler enrichment analysis, using the g:GOSt tool.

  4. Run PANTHER analysis statistical overrepresentation test.

  5. Prepare inputs for GSEA (Classic and Preranked)

  6. Run Gene Set Enrichment Analysis GSEA

  7. Filter enrichment results (to remove non-relevant terms from analysis outputs)

The pipeline runs in any environment with Docker installed. After preparing input and configuration files, execute auto-Enrich with:

docker run --rm -v /your/working/directory:/data pegi3s/auto_enrich

A mounted directory structure, where the user should change your/working/directory to their data directory.

_images/diagram_2.png

Overview of the auto-Enrich pipeline.

Module Index Reference

Each module in auto-Enrich is referenced by a numbered index defined in the modules variable of the pipeline configuration file (config). This numbering ensures that modules can be easily called in sequence or selected individually. Detailed explanations of each module are provided in later sections.

Module Index Reference Table

Module #

Name

Description

1

Prepare Gene Lists

Identify and generate lists of differentially expressed genes out of the expression data

2

Map Gene Identifiers

Maps gene identifiers to standard formats (UniProtKB; Gene Symbol and Description)

3

gProfiler plus

Run enrichment analysis with g:Profiler (g:GOSt)

4

PANTHER plus

Run enrichment analysis with PANTHER Overrepresentation test

5

Prepare GSEA inputs

Create .rnk, .gct and .cls files from expression data for GSEA

6

GSEA plus

Execute Gene Set Enrichment Analysis

7

Filter EA results

Filter and intersect enriched terms from tools EA outputs

Important

To use these modules, you must configure the required parameters. Please see the configuration section for details.