Filter plot and explore single-cell RNA-seq data with Scanpy (imported from uploaded file)
single-cell-scrna-case_basic-pipeline/filter-plot-and-explore-single-cell-rna-seq-data-with-scanpy
Launch in Tutorial Mode
question
galaxy-download Download
galaxy-download Download
flowchart TD 0["ℹ️ Input Dataset\nBatched_AnnData"]; style 0 stroke:#2c3143,stroke-width:4px; 1["QC_AnnData"]; 0 -->|output| 1; 3ff4e1be-b955-4f57-9eb3-ed50d6e198de["Output\nQC_Object"]; 1 --> 3ff4e1be-b955-4f57-9eb3-ed50d6e198de; style 3ff4e1be-b955-4f57-9eb3-ed50d6e198de stroke:#2c3143,stroke-width:4px; 2["Inspect AnnData"]; 1 -->|anndata_out| 2; 5b8e785a-78e2-45e7-b7de-23acc0966376["Output\ngeneral"]; 2 --> 5b8e785a-78e2-45e7-b7de-23acc0966376; style 5b8e785a-78e2-45e7-b7de-23acc0966376 stroke:#2c3143,stroke-width:4px; 3["Inspect AnnData"]; 1 -->|anndata_out| 3; 2c7d27f5-07f6-46e7-87a9-f0cd5975b0e4["Output\nobs"]; 3 --> 2c7d27f5-07f6-46e7-87a9-f0cd5975b0e4; style 2c7d27f5-07f6-46e7-87a9-f0cd5975b0e4 stroke:#2c3143,stroke-width:4px; 4["Inspect AnnData"]; 1 -->|anndata_out| 4; 149ab95b-588b-4710-b2c1-6dc49f922008["Output\nvar"]; 4 --> 149ab95b-588b-4710-b2c1-6dc49f922008; style 149ab95b-588b-4710-b2c1-6dc49f922008 stroke:#2c3143,stroke-width:4px; 5["Scanpy filter"]; 1 -->|anndata_out| 5; bef9839b-580c-4ecb-81e4-b60a3e7a7b05["Output\nGenes_Part_Object"]; 5 --> bef9839b-580c-4ecb-81e4-b60a3e7a7b05; style bef9839b-580c-4ecb-81e4-b60a3e7a7b05 stroke:#2c3143,stroke-width:4px; 6["Violin_log_genotype"]; 1 -->|anndata_out| 6; fef9d513-240d-4570-ae91-a6a7aa3c1cc8["Output\nViolin_log_genotype"]; 6 --> fef9d513-240d-4570-ae91-a6a7aa3c1cc8; style fef9d513-240d-4570-ae91-a6a7aa3c1cc8 stroke:#2c3143,stroke-width:4px; 7["Violin_log_sex"]; 1 -->|anndata_out| 7; 9b3298b7-6ba7-4fa6-a589-3a0748357315["Output\nViolin_log_sex"]; 7 --> 9b3298b7-6ba7-4fa6-a589-3a0748357315; style 9b3298b7-6ba7-4fa6-a589-3a0748357315 stroke:#2c3143,stroke-width:4px; 8["Scatter_GenesxUMI"]; 1 -->|anndata_out| 8; dad9a687-c56e-457d-939f-00d4903b11fa["Output\nScatter_GenesxUMI"]; 8 --> dad9a687-c56e-457d-939f-00d4903b11fa; style dad9a687-c56e-457d-939f-00d4903b11fa stroke:#2c3143,stroke-width:4px; 9["Violin_log_batch"]; 1 -->|anndata_out| 9; 53a94463-291d-4c6c-a311-49d407741fab["Output\nViolin_log_batch"]; 9 --> 53a94463-291d-4c6c-a311-49d407741fab; style 53a94463-291d-4c6c-a311-49d407741fab stroke:#2c3143,stroke-width:4px; 10["Scatter_GenesxMito"]; 1 -->|anndata_out| 10; a2055143-1023-4c9e-8311-00979667416d["Output\nScatter_GenesxMito"]; 10 --> a2055143-1023-4c9e-8311-00979667416d; style a2055143-1023-4c9e-8311-00979667416d stroke:#2c3143,stroke-width:4px; 11["Scatter_UMIxMito"]; 1 -->|anndata_out| 11; 608b45ff-34dd-47ac-b931-24fba3220077["Output\nScatter_UMIxMito"]; 11 --> 608b45ff-34dd-47ac-b931-24fba3220077; style 608b45ff-34dd-47ac-b931-24fba3220077 stroke:#2c3143,stroke-width:4px; 12["Genes_Filtered_Object"]; 5 -->|anndata_out| 12; c01b954a-c215-4511-812b-1075a0238b2a["Output\nGenes_Filtered_Object"]; 12 --> c01b954a-c215-4511-812b-1075a0238b2a; style c01b954a-c215-4511-812b-1075a0238b2a stroke:#2c3143,stroke-width:4px; 13["Violin_log_genotype-Genes"]; 12 -->|anndata_out| 13; c0bdba4a-d82c-4b8b-a697-f2faf03f5fd0["Output\nViolin_log_genotype-Genes"]; 13 --> c0bdba4a-d82c-4b8b-a697-f2faf03f5fd0; style c0bdba4a-d82c-4b8b-a697-f2faf03f5fd0 stroke:#2c3143,stroke-width:4px; 14["Scanpy filter"]; 12 -->|anndata_out| 14; d0a022d5-fae7-4e4f-8747-bc2eebe47ec9["Output\nUMI_Part_Object"]; 14 --> d0a022d5-fae7-4e4f-8747-bc2eebe47ec9; style d0a022d5-fae7-4e4f-8747-bc2eebe47ec9 stroke:#2c3143,stroke-width:4px; 15["UMI_Filtered_Object"]; 14 -->|anndata_out| 15; b937d38a-cbb6-4e6f-ae93-5afc178808a0["Output\nUMI_Filtered_Object"]; 15 --> b937d38a-cbb6-4e6f-ae93-5afc178808a0; style b937d38a-cbb6-4e6f-ae93-5afc178808a0 stroke:#2c3143,stroke-width:4px; 16["Violin_log_genotype-UMIs"]; 15 -->|anndata_out| 16; 44d3fc0c-4a9b-4bc3-845c-2123197e50c8["Output\nViolin_log_genotype-UMIs"]; 16 --> 44d3fc0c-4a9b-4bc3-845c-2123197e50c8; style 44d3fc0c-4a9b-4bc3-845c-2123197e50c8 stroke:#2c3143,stroke-width:4px; 17["Mito_Filtered_Object"]; 15 -->|anndata_out| 17; f7b225f7-de7f-4105-845b-7819943ed49f["Output\nMito_Filtered_Object"]; 17 --> f7b225f7-de7f-4105-845b-7819943ed49f; style f7b225f7-de7f-4105-845b-7819943ed49f stroke:#2c3143,stroke-width:4px; 18["Violin_log_genotype-Mito"]; 17 -->|anndata_out| 18; 70420872-1653-48a8-a401-7cac48c5aa80["Output\nViolin_log_genotype-Mito"]; 18 --> 70420872-1653-48a8-a401-7cac48c5aa80; style 70420872-1653-48a8-a401-7cac48c5aa80 stroke:#2c3143,stroke-width:4px; 19["Cells_Filtered_Object"]; 17 -->|anndata_out| 19; 310e2395-f7b3-4387-8f62-3b6787a4d62b["Output\nCells_Filtered_Object"]; 19 --> 310e2395-f7b3-4387-8f62-3b6787a4d62b; style 310e2395-f7b3-4387-8f62-3b6787a4d62b stroke:#2c3143,stroke-width:4px; 20["Normalised_Object"]; 19 -->|anndata_out| 20; 876e2f98-4096-4645-ab28-3f40e181231f["Output\nNormalised_Object"]; 20 --> 876e2f98-4096-4645-ab28-3f40e181231f; style 876e2f98-4096-4645-ab28-3f40e181231f stroke:#2c3143,stroke-width:4px; 21["Logarithmised_Object"]; 20 -->|anndata_out| 21; e65e8fc9-e1db-4024-b5b2-18958bd7ec79["Output\nLogarithmised_Object"]; 21 --> e65e8fc9-e1db-4024-b5b2-18958bd7ec79; style e65e8fc9-e1db-4024-b5b2-18958bd7ec79 stroke:#2c3143,stroke-width:4px; 22["Frozen_Object"]; 21 -->|anndata_out| 22; 34873f95-806d-46ba-a78e-1ad7df07e4ad["Output\nFrozen_Object"]; 22 --> 34873f95-806d-46ba-a78e-1ad7df07e4ad; style 34873f95-806d-46ba-a78e-1ad7df07e4ad stroke:#2c3143,stroke-width:4px; 23["FVG_Object"]; 22 -->|anndata| 23; bbd40535-0cb6-41ee-8e7d-c5e20d424d98["Output\nFVG_Object"]; 23 --> bbd40535-0cb6-41ee-8e7d-c5e20d424d98; style bbd40535-0cb6-41ee-8e7d-c5e20d424d98 stroke:#2c3143,stroke-width:4px; 24["Scaled_Object"]; 23 -->|anndata_out| 24; a3f0a5ee-7980-4929-906e-d2ac956c4ad0["Output\nScaled_Object"]; 24 --> a3f0a5ee-7980-4929-906e-d2ac956c4ad0; style a3f0a5ee-7980-4929-906e-d2ac956c4ad0 stroke:#2c3143,stroke-width:4px; 25["PCA_Object"]; 24 -->|anndata_out| 25; d9b31fc9-1586-4073-8f85-198376be883e["Output\nPCA_Object"]; 25 --> d9b31fc9-1586-4073-8f85-198376be883e; style d9b31fc9-1586-4073-8f85-198376be883e stroke:#2c3143,stroke-width:4px; 26["PCA_Variance_Plot"]; 25 -->|anndata_out| 26; 132c826c-d8a8-43fb-b96e-7b2a7bb34115["Output\nPCA_Variance_Plot"]; 26 --> 132c826c-d8a8-43fb-b96e-7b2a7bb34115; style 132c826c-d8a8-43fb-b96e-7b2a7bb34115 stroke:#2c3143,stroke-width:4px; 27["Neighbours_Object"]; 25 -->|anndata_out| 27; 3a187b1a-54d7-41f4-8cfd-81689778228a["Output\nNeighbours_Object"]; 27 --> 3a187b1a-54d7-41f4-8cfd-81689778228a; style 3a187b1a-54d7-41f4-8cfd-81689778228a stroke:#2c3143,stroke-width:4px; 28["tSNE_Object"]; 27 -->|anndata_out| 28; afb31ad6-8cdb-4ab5-87dd-1b853b706597["Output\ntSNE_Object"]; 28 --> afb31ad6-8cdb-4ab5-87dd-1b853b706597; style afb31ad6-8cdb-4ab5-87dd-1b853b706597 stroke:#2c3143,stroke-width:4px; 29["UMAP_Object"]; 28 -->|anndata_out| 29; 93ee06ee-7695-4501-b697-595a64b0d729["Output\nUMAP_Object"]; 29 --> 93ee06ee-7695-4501-b697-595a64b0d729; style 93ee06ee-7695-4501-b697-595a64b0d729 stroke:#2c3143,stroke-width:4px; 30["Clustered_Object"]; 29 -->|anndata_out| 30; 041a20e7-a420-48ef-ba7f-d0115995058a["Output\nClustered_Object"]; 30 --> 041a20e7-a420-48ef-ba7f-d0115995058a; style 041a20e7-a420-48ef-ba7f-d0115995058a stroke:#2c3143,stroke-width:4px; 31["DEGs-Genotype"]; 30 -->|anndata_out| 31; 3a6e8af1-1599-4a8f-a9fb-468510616773["Output\nRanked_Genes-by_Genotype"]; 31 --> 3a6e8af1-1599-4a8f-a9fb-468510616773; style 3a6e8af1-1599-4a8f-a9fb-468510616773 stroke:#2c3143,stroke-width:4px; 32["DEGs-Louvain"]; 30 -->|anndata_out| 32; 991651ef-a086-4bbd-a93b-3091ca145615["Output\nRanked_Genes-Cluster"]; 32 --> 991651ef-a086-4bbd-a93b-3091ca145615; style 991651ef-a086-4bbd-a93b-3091ca145615 stroke:#2c3143,stroke-width:4px; 26a025c8-d494-47c7-961a-4197effa71d7["Output\nanndata_out"]; 32 --> 26a025c8-d494-47c7-961a-4197effa71d7; style 26a025c8-d494-47c7-961a-4197effa71d7 stroke:#2c3143,stroke-width:4px; 33["tSNE_Plot"]; 32 -->|anndata_out| 33; 961add4e-d033-4a58-ba59-fae876d1bf40["Output\ntSNE_Plot"]; 33 --> 961add4e-d033-4a58-ba59-fae876d1bf40; style 961add4e-d033-4a58-ba59-fae876d1bf40 stroke:#2c3143,stroke-width:4px; 34["PCA_Plot"]; 32 -->|anndata_out| 34; fb459c83-eeaa-4443-a5ed-00bee36ba862["Output\nPCA_Plot"]; 34 --> fb459c83-eeaa-4443-a5ed-00bee36ba862; style fb459c83-eeaa-4443-a5ed-00bee36ba862 stroke:#2c3143,stroke-width:4px; 35["UMAP_Plot"]; 32 -->|anndata_out| 35; 3236394b-01ec-4e3b-858a-8612e89bdc7e["Output\nUMAP_Plot"]; 35 --> 3236394b-01ec-4e3b-858a-8612e89bdc7e; style 3236394b-01ec-4e3b-858a-8612e89bdc7e stroke:#2c3143,stroke-width:4px; 36["Annotated_Object"]; 32 -->|anndata_out| 36; 0b5b1a3e-f019-4040-8af3-5d2232605ea0["Output\nAnnotated_Object"]; 36 --> 0b5b1a3e-f019-4040-8af3-5d2232605ea0; style 0b5b1a3e-f019-4040-8af3-5d2232605ea0 stroke:#2c3143,stroke-width:4px; 37["Annotated_Plots"]; 36 -->|anndata| 37; 7ded61ce-8fd6-41c0-bdbe-da367c108694["Output\nAnnotated_Plots"]; 37 --> 7ded61ce-8fd6-41c0-bdbe-da367c108694; style 7ded61ce-8fd6-41c0-bdbe-da367c108694 stroke:#2c3143,stroke-width:4px;
Inputs
| Input | Label |
|---|---|
| Input dataset | Batched_AnnData |
Outputs
| From | Output | Label |
|---|---|---|
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.10.2+galaxy2 | Scanpy Inspect and manipulate | QC_AnnData |
| toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.10.9+galaxy1 | Inspect AnnData | |
| toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.10.9+galaxy1 | Inspect AnnData | |
| toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.10.9+galaxy1 | Inspect AnnData | |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 | Scanpy filter | |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Violin_log_genotype |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Violin_log_sex |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Scatter_GenesxUMI |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Violin_log_batch |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Scatter_GenesxMito |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Scatter_UMIxMito |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 | Scanpy filter | Genes_Filtered_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Violin_log_genotype-Genes |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 | Scanpy filter | |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 | Scanpy filter | UMI_Filtered_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Violin_log_genotype-UMIs |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 | Scanpy filter | Mito_Filtered_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Violin_log_genotype-Mito |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 | Scanpy filter | Cells_Filtered_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_normalize/scanpy_normalize/1.10.2+galaxy0 | Scanpy normalize | Normalised_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.10.2+galaxy1 | Scanpy Inspect and manipulate | Logarithmised_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.10.9+galaxy1 | Manipulate AnnData | Frozen_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter/scanpy_filter/1.10.2+galaxy3 | Scanpy filter | FVG_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.10.2+galaxy1 | Scanpy Inspect and manipulate | Scaled_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.10.2+galaxy2 | Scanpy cluster, embed | PCA_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | PCA_Variance_Plot |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.10.2+galaxy1 | Scanpy Inspect and manipulate | Neighbours_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.10.2+galaxy2 | Scanpy cluster, embed | tSNE_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.10.2+galaxy2 | Scanpy cluster, embed | UMAP_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.10.2+galaxy2 | Scanpy cluster, embed | Clustered_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.10.2+galaxy1 | Scanpy Inspect and manipulate | DEGs-Genotype |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.10.2+galaxy1 | Scanpy Inspect and manipulate | DEGs-Louvain |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | tSNE_Plot |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | PCA_Plot |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | UMAP_Plot |
| toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.10.9+galaxy1 | Manipulate AnnData | Annotated_Object |
| toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.10.2+galaxy2 | Scanpy plot | Annotated_Plots |
Tools
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
- 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
- Click on galaxy-upload Import at the top-right of the screen
- 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”
- 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 |
|---|---|---|---|
| 1 | 8432f42fe | 2025-04-15 09:46:46 | Add workflow tests and remove the old workflow |
For Admins
Installing the workflow tools
wget https://training.galaxyproject.org/training-material/topics/single-cell/tutorials/scrna-case_basic-pipeline/workflows/Filter-plot-and-explore-single-cell-RNA-seq-data-with-Scanpy.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
Download Workflow RO-Crate