Skip to main content

Single-Cell Differential Expression

Overview

This block compares gene expression between two groups of single cells (e.g., genotypes or treatments), identifies differentially expressed genes using the Wilcoxon test, and outputs a full result table. Results are visualized with a volcano plot.

Pipeline context

This block requires a count matrix and cell annotations (either clusters or cell types) to define the groups for comparison.

 Blocks                                 Result pool
┌───────────
┌─────────────────────────┤
│ │
v │
╔═══════════════════════════╗ exports │
║ scRNA-seq Preprocessing / ║────->─-─┤ Counts & Annotations
║ Leiden Clustering / ║ │ --------------------
║ Cell Type Annotation ║ │
╚═══════════════════════════╝ │
├ [sampleId][cellId][geneId] -> count
├ [sampleId][cellId] -> groupId
┌─────────────────────────┤
│ │
v │
╔═══════════════════════════╗ exports │
║ Differential Expression ║────->─-─┤ DE statistics
╚═══════════════════════════╝ │ ---------------

├ [contrast][geneId] -> log2FC, q-value
┌─────────────────────────┤
│ │
v │
╔═══════════════════════╗ │
║ Downstream Analysis ║ │
╚═══════════════════════╝ │

Core structure: axes and p-columns

The block consumes a count matrix and metadata to perform differential expression analysis, producing a p-frame with detailed statistics for each gene.

Input p-columns

1. Raw Counts

  • P-column name: pl7.app/rna-seq/countMatrix
  • Description: The raw number of reads (or UMIs) for each gene in each cell.
  • Requirement: Required.
name: pl7.app/rna-seq/countMatrix
valueType: Long
axesSpec:
- name: pl7.app/sampleId
type: String
- name: pl7.app/sc/cellId
type: String
- name: pl7.app/geneId
type: String
domain:
pl7.app/rna-seq/normalized: "false"
annotations:
pl7.app/label: "Raw Count Matrix"

2. Metadata / Covariates

  • P-column name: pl7.app/metadata
  • Description: Describes experimental variables for each sample (e.g., treatment, timepoint, donor), used to define the comparison groups.
  • Requirement: Required.
name: pl7.app/metadata
valueType: String
axesSpec:
- name: pl7.app/sampleId
type: String
domain:
pl7.app/metadata/key: "treatment"

Exported P-Columns

The block exports a single p-frame containing the full, unfiltered differential expression results.

Common Axes Specification: All exported p-columns in this p-frame share the following axes:

# --- Axes ---
axesSpec:
- name: pl7.app/rna-seq/contrastGroup
type: String
domain:
pl7.app/blockId: "..." # blockId from this block run
annotations:
pl7.app/label: "Contrast"
- name: pl7.app/rna-seq/geneId
type: String
domain:
pl7.app/species: "..." # e.g., "mus_musculus"
annotations:
pl7.app/label": "Ensembl Id"

1. Log2 Fold Change

  • P-column name: pl7.app/rna-seq/log2foldchange
  • Description: The log2 fold change of gene expression between the two groups.
  • Specification:
name: pl7.app/rna-seq/log2foldchange
valueType: Double
annotations:
pl7.app/label: "Log2FC"

2. Adjusted p-value

  • P-column name: pl7.app/rna-seq/padj
  • Description: The adjusted p-value from the Wilcoxon rank-sum test.
  • Specification:
name: pl7.app/rna-seq/padj
valueType: Double
annotations:
pl7.app/label: "Adjusted p-value"

3. -log10 Adjusted p-value

  • P-column name: pl7.app/rna-seq/minlog10padj
  • Description: The negative log10 of the adjusted p-value, used for visualization in volcano plots.
  • Specification:
name: pl7.app/rna-seq/minlog10padj
valueType: Double
annotations:
pl7.app/label: "-log10 adjusted p-value"

4. Regulation Direction

  • P-column name: pl7.app/rna-seq/regulationDirection
  • Description: Indicates whether the gene is "Up"-regulated, "Down"-regulated, or "NS" (not significant) based on the provided thresholds.
  • Specification:
name: pl7.app/rna-seq/regulationDirection
valueType: String
annotations:
pl7.app/label: "Regulation direction"

Summary of Exported P-Columns

P-Column NameDescriptionAxesRequirement
pl7.app/rna-seq/log2foldchangeLog2 fold change of gene expression.[contrastGroup][geneId]Required
pl7.app/rna-seq/padjAdjusted p-value.[contrastGroup][geneId]Required
pl7.app/rna-seq/minlog10padj-log10 of the adjusted p-value.[contrastGroup][geneId]Required
pl7.app/rna-seq/regulationDirectionRegulation direction ("Up", "Down", "NS").[contrastGroup][geneId]Required