Quickstart
auto-Enrich is a Docker-based pipeline that facilitates the usage g:Profiler, PANTHER, and Gene Set Enrichment Analysis (GSEA) for streamlined Enrichment Analysis. Includes support features for input building and output processing. Its compose of 7 modules (reference table) that can be run independently or combined into full workflows.
The pipeline supports two primary input data types:
- Gene list files
Text files with one GeneID/UniprotKB/Gene Symbol per line. Used for Over-Representation Analysis by the
g:ProfilerandPANTHERmodules.Must be provided inside a folder named /prepared_gene_lists
- Gene expression matrix
A matrix of gene expression values across experimental groups and samples. Used for GSEA (Classic or Preranked).
At minimum, you need:
- Pipeline configuration file
config Specifies modules, input file, target species, annotation sources, and post-processing settings.
- Pipeline configuration file
- Input data 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.
auto-Enrich streamlines:
Extracting differentially expressed genes
Mapping Gene IDs
Running g:Profiler and PANTHER enrichment analysis
Preparing inputs and running GSEA
Filtering and intersecting enrichment results
Installation
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.
Minimal config example
This minimal configuration demonstrates the simplest way to run auto-Enrich for Over-Representation Enrichment Analysis (ORA), specifying only the essential variables in config file.
This configuration file and inputs must be place in the same folder (that will be given as the mounted directory /data when running docker).
Minimal configuration setup for ORA in config (# are comments):
modules="2,3,4" # Specify the tools to run.
species="Mouse" # Indicate the target species name.
gprofiler_dbs="Reactome" # Specific annotation source to run analysis on g:Profiler
panther_dbs="Reactome" # Specific annotation source to run analysis on PANTHER
What happens?
The pipeline maps input Genes identifiers (Module 2) and performs enrichment analysis using g:Profiler (Module 3) and PANTHER (Module 4). With this setup and a single gene list placed in the /prepared_gene_lists folder, users can quickly test the pipeline and generate basic enrichment results with minimal configuration effort.
Run command
After filling in the configuration file and making sure the input files are present, the user should run the following command to use the Docker image of the pipeline:
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.
Expected results
Enrichment outputs from g:Profiler and PANTHER are saved in /gprofiler and /panther, with one results subdirectory for the input gene list.
Example of gProfiler results in the mounted directory (/data):
/data/
└── gprofiler/
└── <input_gene_list_name>/
├── enrichment_fields.tsv
├── enriched_terms_annotations.tsv
└── REAC/
└── annotations/
├── R-MMU-76002_Platelet_activation_signaling_and_aggregation/
│ ├── genes_in_intersection
│ └── genes_in_term
├── R-MMU-76005_Response_to_elevated_platelet_cytosolic_Ca2
├── ...
└── R-MMU-6798695_Neutrophil_degranulation
Each results directory includes:
enrichment_fields.tsv → full enrichment fields (TermIDs, description, p-values, fold enrichment, parent terms, etc.).
enriched_terms_annotations.tsv → consolidated summary of enriched terms annotations, counts, gene memberships and intersections (gene symbols)
Per-source subdirectories contain the same outputs restricted to that source, plus per-term annotation directories with:
genes_in_intersection → input genes that intersect with the genes in the enriched term
genes_in_term → full enriched term annotations genes (gene symbols)