Workflow Type: Galaxy
Frozen
Frozen
Frozen
Stable
A comprehensive Galaxy workflow for the end-to-end analysis of transcriptomics data, featuring automated QC, clustering, spatial statistics, cell type annotation, and cell-cell communication.
Inputs
| ID | Name | Description | Type |
|---|---|---|---|
| Fraction of cells to subsample | Fraction of cells to subsample | Fraction of cells to subsample. Default is 1.0 (no subsampling) |
|
| Maximum cell volume | Maximum cell volume | maximum volume of the cell |
|
| Minimum cell volume | Minimum cell volume | Minimum volume of a cell. |
|
| Perform scaling? | Perform scaling? | By default, no scaling will be done. |
|
| Proportion of top genes for QC | Proportion of top genes for QC | will be used for qc_vars param |
|
| Regress out volume and total_counts? | Regress out volume and total_counts? | By default no regression will be done. |
|
| Resolution | Resolution | Provide the list of resolutions to use for Leiden clustering. One resolution per line. For example: 1.0 1.2 1.4 |
|
| Subsample the AnnData? | Subsample the AnnData? | Subsample the AnnData? |
|
| Use seurat flavor for highly variable gene selection | Use seurat flavor for highly variable gene selection | By default, it uses the Cellranger flavor with top 4000 genes |
|
| maximum number of counts for a cell to pass 2 | maximum number of counts for a cell to pass 2 | How many counts should a cell have at least? |
|
| maximum number of counts for a cell to pass 3 | maximum number of counts for a cell to pass 3 | What is the maximum number of counts a cell should have? |
|
| minimum number of cells for a gene to pass | minimum number of cells for a gene to pass | How many cells should a gene be assigned to, at least |
|
| minimum number of counts for a cell to pass | minimum number of counts for a cell to pass | How many counts should a cell have, at least? |
|
| minimum number of counts for a gene to pass | minimum number of counts for a gene to pass | How many counts should a gene have, at least |
|
| minimum number of genes for a cell to pass | minimum number of genes for a cell to pass | How many genes should a cell have, at least? |
|
| number of expected clusters | number of expected clusters | How many clusters do you expect to see in your data? A resolution that has the closest number of clusters to this value, will be selected for downstream analysis. |
|
| select celltypist model | select celltypist model | select celltypist model |
|
| spatialdata | spatialdata | input spatial data object |
|
Steps
| ID | Name | Description |
|---|---|---|
| 18 | extract anndata | extract the AnnData from SpatialData toolshed.g2.bx.psu.edu/repos/iuc/spatialdata_operation/spatialdata_operation/0.7.2+galaxy0 |
| 19 | Split file | toolshed.g2.bx.psu.edu/repos/bgruening/split_file_to_collection/split_file_to_collection/0.5.2 |
| 20 | add "leiden_res" | toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.5+galaxy3 |
| 21 | Map parameter value | toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0 |
| 22 | Map parameter value | toolshed.g2.bx.psu.edu/repos/iuc/map_param_value/map_param_value/0.2.0 |
| 23 | Calculate QC metrics | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.11.5+galaxy0 |
| 24 | Parse parameter value | param_value_from_file |
| 25 | Transpose | toolshed.g2.bx.psu.edu/repos/iuc/datamash_transpose/datamash_transpose/1.9+galaxy0 |
| 26 | scatter plot | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 27 | violin plot 1 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 28 | violin plot 2 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 29 | violin plot 3 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 30 | filter cells - min_genes | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 31 | list of resolution keys | toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1 |
| 32 | replace tab with comma | toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.5+galaxy3 |
| 33 | filter cells - min_counts | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 34 | Parse parameter value | param_value_from_file |
| 35 | filter genes - min_cells | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 36 | filter genes - min_counts | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 37 | filter cells - max_counts | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 38 | filter cells - max_genes | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 39 | Calculate QC metrics - filtered | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.11.5+galaxy0 |
| 40 | scatter plot filtered | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 41 | violin plot filtered 1 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 42 | violin plot filtered 2 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 43 | violin plot filtered 3 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 44 | filter min volume | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 45 | filter max volume | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 46 | Calculate QC metrics - filtered by volume | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.11.5+galaxy0 |
| 47 | scatter plot filtered volume | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 48 | violin plot filtered volume 1 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 49 | violin plot filtered volume 2 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 50 | violin plot filtered volume 3 | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 51 | Manipulate AnnData | toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.11.4+galaxy3 |
| 52 | Scanpy normalize | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_normalize/scanpy_normalize/1.11.5+galaxy0 |
| 53 | log1p | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.11.5+galaxy0 |
| 54 | sc.pp.highly_variable cellranger | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 55 | sc.pp.highly_variable seurat | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 56 | HVG selected | toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0 |
| 57 | scanpy regress out | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_remove_confounders/scanpy_remove_confounders/1.11.5+galaxy0 |
| 58 | Scanpy plot | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 59 | Pick parameter value | toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0 |
| 60 | scanpy scale | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.11.5+galaxy0 |
| 61 | Pick parameter value | toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0 |
| 62 | scanpy PCA | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.11.5+galaxy0 |
| 63 | scanpy pca plot | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 64 | scanpy neighbor | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.11.5+galaxy0 |
| 65 | scanpy umap | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.11.5+galaxy0 |
| 66 | scanpy umap plot | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 67 | leiden per res | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.11.5+galaxy0 |
| 68 | Get obs | toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.11.4+galaxy3 |
| 69 | scanpy rank_genes_groups | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.11.5+galaxy0 |
| 70 | get cell_id and leiden key values | get cell_id and leiden key values toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_awk_tool/9.5+galaxy3 |
| 71 | scanpy plot rank_genes | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 72 | Column join | toolshed.g2.bx.psu.edu/repos/iuc/collection_column_join/collection_column_join/0.0.3 |
| 73 | remove cell_id | remove cell_id toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.5+galaxy3 |
| 74 | remove file name from header | toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.5+galaxy3 |
| 75 | add "c_" to clusters | When adding the table back to the Anndata, it is set as an integer. This step adds "c_" before those integers so it will be fixed. toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.5+galaxy3 |
| 76 | calculate number of clusters | calculate the number of clusters per resolution toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy2 |
| 77 | Manipulate AnnData | toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.11.4+galaxy3 |
| 78 | Add column | addValue |
| 79 | transform string annotation to categories | transform string annotation to categories toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.11.4+galaxy3 |
| 80 | Compute | substract expected # cluster from real # clusters toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1+galaxy0 |
| 81 | Scanpy plot | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.11.5+galaxy0 |
| 82 | Sort | sort to get the closest resolution. In case of a tie, the highest resolution will be selected. toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_sort_header_tool/9.5+galaxy3 |
| 83 | Scanpy filter | toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.11.5+galaxy0 |
| 84 | Table Compute | Select the line with the best resolution toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy2 |
| 85 | Pick parameter value | toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0 |
| 86 | Cut | select the resolution Cut1 |
| 87 | squidpy spatial_neighbors | squidpy spatial_neighbors 2 toolshed.g2.bx.psu.edu/repos/goeckslab/squidpy/squidpy_spatial/1.5.0+galaxy0 |
| 88 | Parse parameter value | set the value to a text input param_value_from_file |
| 89 | squidpy centrality_scores | squidpy centrality_scores toolshed.g2.bx.psu.edu/repos/goeckslab/squidpy/squidpy_spatial/1.5.0+galaxy0 |
| 90 | squidpy nhood_enrichment | squidpy nhood_enrichment toolshed.g2.bx.psu.edu/repos/goeckslab/squidpy/squidpy_spatial/1.5.0+galaxy0 |
| 91 | squidpy spatial_autocorr | squidpy spatial_autocorr toolshed.g2.bx.psu.edu/repos/goeckslab/squidpy/squidpy_spatial/1.5.0+galaxy0 |
| 92 | CellTypist | toolshed.g2.bx.psu.edu/repos/iuc/celltypist/celltypist/1.7.1+galaxy0 |
| 93 | Liana methods | toolshed.g2.bx.psu.edu/repos/iuc/liana_methods/liana_methods/1.7.1+galaxy0 |
| 94 | final spatialdata object | toolshed.g2.bx.psu.edu/repos/iuc/spatialdata_operation/spatialdata_operation/0.7.2+galaxy0 |
Outputs
| ID | Name | Description | Type |
|---|---|---|---|
| ranked_gene | ranked_gene | n/a |
|
| spatialdata_output_processed | spatialdata_output_processed | n/a |
|
Version History
Version 3 (latest) Created 19th May 2026 at 10:51 by Amirhossein Naghsh Nilchi
No revision comments
Frozen
Version-3
6e657d6
Version 2 Created 19th May 2026 at 10:37 by Amirhossein Naghsh Nilchi
No revision comments
Frozen
Version-2
deee199
Version 1 (earliest) Created 18th May 2026 at 13:50 by Amirhossein Naghsh Nilchi
First version of the WF
Frozen
Version-1
b414b09
Creators and SubmitterCreators
Additional credit
Björn Grüning
Submitter
Citation
Naghsh Nilchi, A., & Videm, P. (2026). Spatial Transcriptomics Analysis in Galaxy. WorkflowHub. https://doi.org/10.48546/WORKFLOWHUB.WORKFLOW.2174.3
License
Activity
Views: 342 Downloads: 61 Runs: 21
Created: 18th May 2026 at 13:50
Last updated: 19th May 2026 at 10:56
Annotated Properties
Topic annotations
Operation annotations
Scientific disciplines
Computer Science, Medicine, Biochemistry, Genetics and Molecular Biology, Immunology and Microbiology, Neuroscience, Pharmacology, Toxicology and Pharmaceutics
Tags
Attributions
Run on Galaxy
https://orcid.org/0000-0003-1329-3044