Outputs

Pipeline Outputs

All results are saved in the assigned working directory (/data), regardless of the pipeline configuration. This ensures that input files, configuration files, and results are stored together for reproducibility and traceability.

After running the full pipeline with all modules (modules="1,2,3,4,5,6,7") and available parameters, the /data directory will contain:

  • Original inputs and configuration files: Raw expression matrices, gene lists, gene sets and configuration file (config).

  • Modules output directories:

    • /prepared_gene_lists – Gene lists prepared by Module 1

    • /mapped_gene_lists – Mapped gene lists by Module 2

    • /gprofiler – Enrichment results from Module 3 (g:Profiler plus).

    • /panther – Enrichment results from Module 4 (PANTHER plus).

    • /gsea – Inputs and analysis outputs from Modules 5 and 6 (GSEA Classic and GSEA Preranked).

    • /common_results - Intersection analysis results by Module 7

    • /annotations – Consolidated mapping and term annotation files from Modules 2–4, enabling easy cross-referencing of enriched terms and gene memberships.

  • Averaged and Isoform filtered expression matrices by Modules 2 and 5, if averaging and isoform filtering enabled.

Mapping and Annotations → /annotations

This directory is generated during the first run of the pipeline to keep the working environment organized by centralizing species-specific mapping and annotations files. It ensures that required files are generated once and after reused, avoiding redundant processing and repeated external queries.

When Modules 2, 3, or 4 are executed, the necessary files are automatically generated when missing.

Important

Do not rename or move these files, as modules depend on their naming conventions and location.

Contents in the /annotations

This directory centralizes all annotation and mapping files generated or used across Modules 2–4.

File Pattern

Description

organisms_index

Supported organisms and naming conventions for the species variable

<species>_ids_map

Gene identifier mapping (Entrez IDs, UniProtKB, HGNC symbols, and names) from Uniprot Database

<species>_gprofiler_gene_sets.gmt

Annotations and pathways sourced from gProfiler gGOSt ‘data sources’ section

<species>_REAC_pathways.gmt

Reactome Pathways sourced from the Reactome Database

<species>_PTHR19.0_gene_sets.gmt

PANTHER annotations (GO-SLIM, Pathways, Protein Class) from PANTHER FTP

<species>_GO_terms.gmt

Gene Ontology (BP, MF, CC) annotations from GOA Proteomes and GO Relationships

Hint

Keep these files to ensure faster runs and consistent annotations across analyses, but its recommended to update them once in a while (delete and run pipeline to generate again).

Module 1 → /prepared_gene_lists

The outputs from Module 1 are stored in a directory named /prepared_gene_lists located in the assigned working directory (/data).

Outputs are:

Evaluated input expression matrix (with the suffix ‘_evaluated’ delivered in the working directory), that besides initial columns, it also has:

  • Calculated Averages — Stored under group columns named as declared in the group_order variable

  • Calculated Conditions — Stored under columns named condN (each correspoding to the set conditions)

  • Evaluated Genes — Binary evaluation (0 or 1) of genes according to expression thresholds defined by express_min and/or express_max, stored under column names eval_condN

Gene Lists - These files contain lists of the genes that are within set thresholds of the computed conditions (one file is generated per evaluated condition)

Filenames logic follows:

  • If only express_min is set → overexp_condN_genes_list (up-regulated genes)

  • If only express_max is set → underexp_condN_genes_list (down-regulated genes)

  • If both are set → in_range_condN_genes_list (genes within the specified expression range)

When using the selected variable to extract pre-evaluated genes, with value 1 in declared column, the filename is selected_genes_list.

Note

For more variables details, see the Module 1 Description section.

Module 2 → /mapped_gene_lists

The outputs from Module 2 (gene mapping) are stored in a directory named /mapped_gene_lists located in the assigned working directory (/data).

For each gene list file, from gene expression matrix parsing or user provided located inside /prepared_gene_lists in the working directoy, a corresponding gene mapping file is generated and named after the original input file with the suffix _map appended.

Each line represents one gene and includes:

  1. Entrez Gene ID

  2. Associated UniProtKB IDs

  3. HGNC Gene Symbol

  4. Full Name

  5. Species

Note

For more variables details, see the Module 2 Details section.

Modules 3 & 4 → /gprofiler & /panther

The outputs of Module 3 (gProfiler) and Module 4 (PANTHER) are stored in the /gprofiler and /panther directories, respectively, located in the assigned working directory (/data).

For each mapped gene list inside the /mapped_gene_lists the pipeline creates a dedicated subdirectory under the corresponding tool directory:

  • /data/gprofiler/<gene_list>/...

  • /data/panther/<gene_list>/...

Within each, the following files and subdirectories are generated:

Outputs:

Enrichment Results Files (TSV) (gprofiler results fields; panther results fields)

  • enrichment_fields.tsv → full enrichment fields (TermIDs, description, p-values, fold enrichment, etc.)

  • enriched_terms_annotations.tsv → consolidated summary of enriched terms annotations, counts, gene memberships and intersections (gene symbols)

Any empty (no annotations) enriched GO Term or Reactome Pathway in the PANTHER results means the category is OBSOLETE

Per-source subdirectories contain the same outputs restricted to that source, plus per-term annotation directories with (both empty if OBSOLETE):

  • genes_in_intersection → input genes that intersect with the genes in the enriched term

  • genes_in_term → full enriched term annotations genes (gene symbols)

Directory Structure for g:Profiler and PANTHER outputs (Modules 3 & 4):

/data/gprofiler/ and /data/panther
└── <input_gene_list_name>/
    ├── enrichment_fields.tsv
    ├── enriched_terms_annotations.tsv
    └── <source>/
        └── annotations/
            ├── <termID_nsame1>/
            │   ├── genes_in_intersection
            │   └── genes_in_term
            ├── <termID_name2>/*
            ├── ...
            └── <termID_nameN>/*

Fields Description of gProfiler Enrichment Analysis Outputs

Enrichment Field

Description

TermID

Term ID in its native namespace. For non-GO terms, the ID is prefixed with the datasource abbreviation

Name

Term name

Description

Term description if available. If not available, repeats the term name

Source

The abbreviation of the datasource for the term

pValue_FDR

Hypergeometric p-value after FDR multiple testing correction

Precision

The proportion of genes in the input list that are annotated to the function

Recall

The proportion of functionally annotated genes that the query recovers

QuerySize

The number of genes included in the query (may differ from the original input list size)

Coverage

Fraction of input genes present in an enriched term relative to the total genes annotated to that term (IntersectionSize/TermSize)

IntersectionSize

The number of genes in the query (list) that are annotated to the corresponding term

TermSize

The total number of genes that are annotated to the term

Source_Order

Numeric order for the term within its datasource. Essential for generating reproducible Manhattan plots

Effective_Domain_Size

The total number of genes “in the universe” used as a parameter for the hypergeometric statistical test

Parents

List of native IDs hierarchically above the term. Points to an artificial root node for non-hierarchical datasources

GroupID

Identifier for a group of connected terms (e.g., Gene Ontology subgraphs)

Significant

Indicator for statistically significant results

Genes_in_intersection

The names of the genes in the query that are annotated to the corresponding term.

Genes_in_term

The names of the genes that are annotated to the term.

*for more information consult https://biit.cs.ut.ee/gprofiler/page/apis

Fields Description of PANTHER Enrichment Analysis Outputs

Enrichment Field

Description

TermID

Term ID in its native namespace. For non-GO terms, the ID is prefixed with the datasource abbreviation.

Name

The Term name.

Source

The abbreviation of the datasource for the term.

pValue

The raw p-value determined by Fisher’s exact test. This represents the probability that the observed gene count in the category occurred by chance, given the reference list.

pValue_FDR

Hypergeometric p-value after FDR multiple testing correction.

Fold_Enrichment

The ratio of observed genes in the query to the expected count. A value > 1 indicates overrepresentation, while < 1 indicates underrepresentation.

Direction

Indicates the direction of enrichment: a plus sign (+) indicates overrepresentation (more genes observed than expected), and a minus sign (-) indicates underrepresentation.

QuerySize

The number of genes included in the query (may differ from the original input list size)

Coverage

Fraction of input genes present in an enriched term relative to the total genes annotated to that term (IntersectionSize/TermSize)

IntersectionSize

The number of genes in the query (list) that are annotated to the corresponding term

TermSize

The total number of genes that are annotated to the term

Genes_in_intersection

The names of the genes in the query that are annotated to the corresponding term.

Genes_in_term

The names of the genes that are annotated to the term.

Note

Additionally, PANTHER Module separates enriched and depleted terms in the output, designated by + and - respectively in the ‘Direction’ column:

  • enriched_terms_annotations_pos.tsv → enriched terms annotations (+)

  • enriched_terms_annotations_neg.tsv → depleted terms annotations (-)

Modules 5 & 6: GSEA → /gsea

The outputs from Module 5 (Prepare GSEA inputs) and Module 6 (GSEA Plus) are stored in the /gsea directory within in the assigned working directory (/data).

Module 5 generates all required input files — expression matrices, phenotype class files, combined gene set (GMT) files, preranked lists (RNK), and parameter files — while Module 6 executes the Gene Set Enrichment Analysis and produces results.

Directory Structure (after performing both Classic and Preranked runs)

  • Input files — Used to perform enrichment analysis by Module 6, including: expression matrices, phenotype labels, GMT files, and parameter files.

  • /gsea/preranked_lists/ — Stores the prepared preranked lists for GSEA Preranked.

  • /gsea/results/ — Stores all GSEA output results (Classic and Preranked), inside subdirectories.

Note

Each GSEA run produces its own result subdirectory within /results/:

  • GSEA Classic: named as <phenotype_classes>.<gmt_file>.GseaClassic.

  • GSEA Preranked: named as <preranked_list><gmt_file>..GseaPreranked.

  • The gene set file (GMT) used for the run is always included as a prefix.

Outputs (per run):

Enrichment Results Files (TSV) (gsea results fields)

  • enrichment_fields.tsv → full enrichment fields (TermIDs, description, p-values, fold enrichment, 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)

Directory Structure of GSEA outputs:

/data
└── gsea/
    └── results/
        ├── <run_name>.GseaPreranked/*      → Same as GseaClassic
        └── <run_name>.GseaClassic/
            ├── enrichment_fields.tsv               → Enrichment results fields provided by GSEA
            ├── enrichmed_terms_annotations.tsv     → Enrichmed terms annotations mapping summary
            ├── source/annotations/*                → Raw enriched terms annotations sources
            └── raw_GSEA_output.zip                 → Raw GSEA output report files

Note

The raw_GSEA_output.zip file contains the complete raw output generated by the GSEA run. To view the results, unzip the file and open index.html in your web browser.

Fields Description of GSEA Enrichment Analysis Outputs

Enrichment Field

Description

Name

The Term/Gene Set name.

Source

The abbreviation of the datasource for the term.

ListCount

Number of genes in the gene set after filtering out those not in the expression dataset.

ES

Enrichment score for the gene set; degree of overrepresentation at the top or bottom of the ranked gene list.

NES

Normalized enrichment score; adjusted across gene sets.

NOM_p-val

Nominal p-Value for ES significance (not adjusted).

FDR_q-val

False discovery rate; probability that NES is a false positive.

FWER_p-val

Familywise-error rate; conservative false positive estimate.

RANK-AT-MAX

Rank position where the maximum ES occurs.

Leading_edge

Stats for the leading edge subset:

  • Tags: % of hits before/after ES peak.

  • List: % of genes in the ranked list at ES peak.

  • Signal: Combined measure of Tags and List (0-100%).

Phenotype

Indicates the side of the enrichment contrast:

  • GSEA Classic: Corresponds to the phenotype labels defined in the CLS file.

  • GSEA Preranked: “+” indicates enrichment at the top of the ranked list; “-” indicates enrichment at the bottom.

Term_Size

The number of genes that are annotated to the term.

Genes_in_list

The name of the genes in the query that are annotated to the corresponding term.

Genes_in_term

The name of the genes that are annotated to the term.

*for more details consult GSEA Detailed Enrichment Results

Module 7 → filter and /common_results

The outputs from Module 7 (Filter EA results) are given in two different ways and stored in two different locations, depending on the function used.

When using the filtering parameters (max_annot, min_coverage or/and max_occur), to filter EA results files (enrichment_fields.tsv and enriched_terms_annotations.tsv):

  • Filtered outputs are stored in the same place as the inputs with the prefix: filtered_

    e.g. …/gprofiler/run1/filtered_enrichment_fields.tsv

    alongside the input …/gprofiler/run1/enrichment_fields.tsv

When using the enrichment intersection functionality (intersection):

  • Inside a directory named common_results in the root of the set working directory (/data), saved under a subdirectory with the name of the compared runs

    e.g. selected_genes_list_&&_log2FC_A_SCI_A_Sham.GseaPreranked

/data
└── common_results/
    └── selected_genes_list_&&_log2FC_A_SCI_A_Sham.GseaPreranked/
        ├── report                            → Summary report of similar found terms across compared tools
        ├── common_gprof_panther_gsea.txt     → Common enriched terms and genes across g:Profiler, PANTHER and GSEA
        ├── common_gprof_panther.txt          → Common between g:Profiler and PANTHER
        ├── common_gprof_gsea.txt             → Common between g:Profiler and GSEA
        └── common_panther_gsea.txt           → Common between PANTHER and GSEA