Pseudobulk with decoupler and edgeR tutorial workflow

single-cell-pseudobulk-analysis/pseudo-bulk-edger

Author(s)
Diana Chiang Jurado, Pavankumar Videm
version Version
2
last_modification Last updated
May 7, 2025
license License
CC-BY-4.0
galaxy-tags Tags
single-cell
pseudobulk

Features
Tutorial
hands_on Pseudobulk Analysis with Decoupler and EdgeR

Workflow Testing
Tests: ✅
Results: Not yet automated
FAIRness purl PURL
https://gxy.io/GTN:W00313
RO-Crate logo with flask Download Workflow RO-Crate Workflowhub cloud with gears logo View on (Dev) WorkflowHub
Launch in Tutorial Mode question
galaxy-download Download
flowchart TD
  0["ℹ️ Input Dataset\nncm_pdcs_subset.h5ad"];
  style 0 stroke:#2c3143,stroke-width:4px;
  1["Inspect AnnData Object"];
  0 -->|output| 1;
  e76ac983-3089-4a4f-be16-49de8d491ba4["Output\nGeneral AnnData Information"];
  1 --> e76ac983-3089-4a4f-be16-49de8d491ba4;
  style e76ac983-3089-4a4f-be16-49de8d491ba4 stroke:#2c3143,stroke-width:4px;
  2["Filter Cell-Type"];
  0 -->|output| 2;
  41908539-a944-457b-b02f-cf3464971b8e["Output\nanndata_out"];
  2 --> 41908539-a944-457b-b02f-cf3464971b8e;
  style 41908539-a944-457b-b02f-cf3464971b8e stroke:#2c3143,stroke-width:4px;
  3["Pseudobulk with decoupler"];
  0 -->|output| 3;
  90c68071-01bf-471a-958a-9f391556debd["Output\ngenes_metadata"];
  3 --> 90c68071-01bf-471a-958a-9f391556debd;
  style 90c68071-01bf-471a-958a-9f391556debd stroke:#2c3143,stroke-width:4px;
  0de9d115-6e5a-446b-abc1-15c11dcaefb1["Output\nsamples_metadata"];
  3 --> 0de9d115-6e5a-446b-abc1-15c11dcaefb1;
  style 0de9d115-6e5a-446b-abc1-15c11dcaefb1 stroke:#2c3143,stroke-width:4px;
  7ff680d1-cd92-43fe-a9cf-9eb53a76996a["Output\ncount_matrix"];
  3 --> 7ff680d1-cd92-43fe-a9cf-9eb53a76996a;
  style 7ff680d1-cd92-43fe-a9cf-9eb53a76996a stroke:#2c3143,stroke-width:4px;
  c23b46c6-de2f-4c4d-886d-2f83ad61017a["Output\nplot_output"];
  3 --> c23b46c6-de2f-4c4d-886d-2f83ad61017a;
  style c23b46c6-de2f-4c4d-886d-2f83ad61017a stroke:#2c3143,stroke-width:4px;
  6f8d0a60-352e-49bd-82e2-68f4c64d529f["Output\nfilter_by_expr_plot"];
  3 --> 6f8d0a60-352e-49bd-82e2-68f4c64d529f;
  style 6f8d0a60-352e-49bd-82e2-68f4c64d529f stroke:#2c3143,stroke-width:4px;
  4["Replace Text"];
  3 -->|samples_metadata| 4;
  5["Replace Text"];
  3 -->|count_matrix| 5;
  6["Remove columns"];
  3 -->|genes_metadata| 6;
  7["Replace Text"];
  4 -->|outfile| 7;
  06fde552-a874-4272-81e7-b9ca26987826["Output\nSamples Metadata"];
  7 --> 06fde552-a874-4272-81e7-b9ca26987826;
  style 06fde552-a874-4272-81e7-b9ca26987826 stroke:#2c3143,stroke-width:4px;
  8["Generating Contrast File"];
  7 -->|outfile| 8;
  abbea492-6106-4370-a968-e5e1a3142033["Output\nContrast File"];
  8 --> abbea492-6106-4370-a968-e5e1a3142033;
  style abbea492-6106-4370-a968-e5e1a3142033 stroke:#2c3143,stroke-width:4px;
  9["edgeR"];
  6 -->|output_tabular| 9;
  8 -->|outfile| 9;
  5 -->|outfile| 9;
  7 -->|outfile| 9;
  14e63c6b-511c-468d-954e-cb115be9ac95["Output\noutTables"];
  9 --> 14e63c6b-511c-468d-954e-cb115be9ac95;
  style 14e63c6b-511c-468d-954e-cb115be9ac95 stroke:#2c3143,stroke-width:4px;
  10["Extract dataset"];
  9 -->|outTables| 10;
  2f1d41da-719c-4226-9de0-856c6a086091["Output\noutput"];
  10 --> 2f1d41da-719c-4226-9de0-856c6a086091;
  style 2f1d41da-719c-4226-9de0-856c6a086091 stroke:#2c3143,stroke-width:4px;
  11["Remove columns"];
  10 -->|output| 11;
  352ef726-9dff-4fb8-81af-006dd9c7126d["Output\nDEG Table"];
  11 --> 352ef726-9dff-4fb8-81af-006dd9c7126d;
  style 352ef726-9dff-4fb8-81af-006dd9c7126d stroke:#2c3143,stroke-width:4px;
  12["Volcano Plot"];
  11 -->|output_tabular| 12;
  5e9faae5-8b4f-4a6c-8098-69937c9e5b80["Output\nVolcano Plot DEG"];
  12 --> 5e9faae5-8b4f-4a6c-8098-69937c9e5b80;
  style 5e9faae5-8b4f-4a6c-8098-69937c9e5b80 stroke:#2c3143,stroke-width:4px;

Inputs

Input Label
Input dataset ncm_pdcs_subset.h5ad

Outputs

From Output Label
toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.10.9+galaxy1 Inspect AnnData Inspect AnnData Object
toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 Scanpy filter Filter Cell-Type
toolshed.g2.bx.psu.edu/repos/ebi-gxa/decoupler_pseudobulk/decoupler_pseudobulk/1.4.0+galaxy8 Decoupler pseudo-bulk Pseudobulk with decoupler
toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_column/9.3+galaxy1 Replace Text
toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1 Text reformatting Generating Contrast File
toolshed.g2.bx.psu.edu/repos/iuc/edger/edger/3.36.0+galaxy5 edgeR
__EXTRACT_DATASET__ Extract dataset
toolshed.g2.bx.psu.edu/repos/iuc/column_remove_by_header/column_remove_by_header/1.0 Remove columns
toolshed.g2.bx.psu.edu/repos/iuc/volcanoplot/volcanoplot/0.0.6 Volcano Plot

Tools

Tool Links
__EXTRACT_DATASET__
toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.3+galaxy1 View in ToolShed
toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_column/9.3+galaxy1 View in ToolShed
toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.3+galaxy1 View in ToolShed
toolshed.g2.bx.psu.edu/repos/ebi-gxa/decoupler_pseudobulk/decoupler_pseudobulk/1.4.0+galaxy8 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.10.9+galaxy1 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/column_remove_by_header/column_remove_by_header/1.0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/edger/edger/3.36.0+galaxy5 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/volcanoplot/volcanoplot/0.0.6 View in ToolShed

To use these workflows in Galaxy you can either click the links to download the workflows, or you can right-click and copy the link to the workflow which can be used in the Galaxy form to import workflows.

Importing into Galaxy

Below are the instructions for importing these workflows directly into your Galaxy server of choice to start using them!
Hands On: Importing a workflow
  1. Click on galaxy-workflows-activity Workflows in the Galaxy activity bar (on the left side of the screen, or in the top menu bar of older Galaxy instances). You will see a list of all your workflows
  2. Click on galaxy-upload Import at the top-right of the screen
  3. Provide your workflow
    • Option 1: Paste the URL of the workflow into the box labelled “Archived Workflow URL”
    • Option 2: Upload the workflow file in the box labelled “Archived Workflow File”
  4. Click the Import workflow button

Below is a short video demonstrating how to import a workflow from GitHub using this procedure:

Video: Importing a workflow from URL

Version History

Version Commit Time Comments
6 2568b8bc7 2025-05-06 12:52:18 Update pseudo-bulk_edgeR.ga
5 1013fd838 2025-05-06 12:49:22 Pseudobtutorial final gta fixes (#6)
4 a4799836a 2025-05-06 12:39:32 Update pseudo-bulk_edgeR.ga file
3 cc7888368 2024-12-11 14:41:36 Update pseudo-bulk_edgeR.ga
2 95f00fe4e 2024-12-11 14:33:57 Update pseudo-bulk_edgeR.ga
1 45bf38997 2024-12-06 18:55:00 Add pseudobulk-analysis tutorial and associated files

For Admins

Installing the workflow tools

wget https://training.galaxyproject.org/training-material/topics/single-cell/tutorials/pseudobulk-analysis/workflows/pseudo-bulk_edgeR.ga -O workflow.ga
workflow-to-tools -w workflow.ga -o tools.yaml
shed-tools install -g GALAXY -a API_KEY -t tools.yaml
workflow-install -g GALAXY -a API_KEY -w workflow.ga --publish-workflows