diff --git a/topics/single-cell/tutorials/scrna-case_cell-cycle/data-library.yaml b/topics/single-cell/tutorials/scrna-case_cell-cycle/data-library.yaml
index 8affe9f0cc16ce..6a3ccf2c01aeff 100644
--- a/topics/single-cell/tutorials/scrna-case_cell-cycle/data-library.yaml
+++ b/topics/single-cell/tutorials/scrna-case_cell-cycle/data-library.yaml
@@ -15,15 +15,15 @@ items:
- name: 'DOI: 10.5281/zenodo.7311628'
description: latest
items:
- - url: https://zenodo.org/api/files/24d90230-31bf-4cc9-b1d3-b760de965c72/g2mPhase.tabular
+ - url: https://zenodo.org/record/7311628//files/g2mPhase.tabular
src: url
ext: tabular
info: https://doi.org/10.5281/zenodo.7311628
- - url: https://zenodo.org/api/files/24d90230-31bf-4cc9-b1d3-b760de965c72/Processed_AnnData.h5ad
+ - url: https://zenodo.org/record/7311628/files/Processed_AnnData.h5ad
src: url
ext: h5ad
info: https://doi.org/10.5281/zenodo.7311628
- - url: https://zenodo.org/api/files/24d90230-31bf-4cc9-b1d3-b760de965c72/sPhase.tabular
+ - url: https://zenodo.org/record/7311628//files/sPhase.tabular
src: url
ext: tabular
info: https://doi.org/10.5281/zenodo.7311628
diff --git a/topics/single-cell/tutorials/scrna-case_cell-cycle/tutorial.md b/topics/single-cell/tutorials/scrna-case_cell-cycle/tutorial.md
index c68f95e011ea75..49785b56f6b19f 100644
--- a/topics/single-cell/tutorials/scrna-case_cell-cycle/tutorial.md
+++ b/topics/single-cell/tutorials/scrna-case_cell-cycle/tutorial.md
@@ -3,6 +3,10 @@ layout: tutorial_hands_on
title: Removing the effects of the cell cycle
zenodo_link: https://zenodo.org/record/7311628/
+answer_histories:
+ - label: "UseGalaxy.eu"
+ history: https://singlecell.usegalaxy.eu/u/videmp/h/cell-cycle-regression-workflow
+ date: 2024-12-13
subtopic: tricks
priority: 2
questions:
@@ -33,12 +37,10 @@ contributions:
- nomadscientist
testing:
- hrukkudyr
-
+ - pavanvidem
---
-
-
Single-cell RNA sequencing can be sensitive to both biological and technical variation, which is why preparing your data carefully is an important part of the analysis. You want the results to reflect the interesting differences in expression between cells that relate to their type or state. Other sources of variation can conceal or confound this, making it harder for you to see what is going on.
One common biological confounder is the cell cycle ({% cite Luecken2019 %}). Cells express different genes during different parts of the cell cycle, depending on whether they are in their growing phase (G1), duplicating their DNA (the S or Synthesis phase), or dividing in two (G2/M or Mitosis phase). If these cell cycle genes are having a big impact on your data, then you could end up with separate clusters that actually represent cells of the same type that are just at different stages of the cycle.
@@ -243,13 +245,13 @@ Next, we'll need a list of all the genes in our dataset, so that we can mark the
> 3. {% tool [Add column](toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0) %} with the following parameters:
> - {% icon param-file %} *"to Dataset"*: `table` (output of **Table Compute** {% icon tool %})
> - *"Iterate?"*: `YES`
->
+>
>
> > Keeping the genes in order
> >
> > Adding these numbers will enable us to keep the genes in their original order. This is essential for adding the cell cycle gene annotation back into the AnnData dataset.
> {: .comment}
->
+>
>
> 4. Rename the output `Dataset_Genes`
{: .hands_on}
@@ -328,9 +330,9 @@ We now have a table with all the gene names in the same order as the main datase
> ```
> CC_genes
> ```
->
+>
> {% snippet faqs/galaxy/datasets_create_new_file.md format="tabular" %}
->
+>
>
> 3. {% tool [Concatenate datasets](cat1) %} with the following parameters:
> - {% icon param-file %} *"Concatenate Dataset"*: `Pasted Entry` dataset
@@ -360,7 +362,7 @@ We will need to add the annotation to both the annotated dataset `CellCycle_Anno
> - {% icon param-file %} *"Annotated data matrix"*: `CellCycle_Regressed` (output of **Scanpy RegressOut** {% icon tool %})
> - *"Function to manipulate the object"*: `Add new annotation(s) for observations or variables`
> - {% icon param-file %} *"Table with new annotations"*: `out_file1` (output of **Concatenate datasets** {% icon tool %})
->
+>
>
> 4. Rename the output `CellCycle_Regressed_CC`
>
@@ -378,7 +380,7 @@ To demonstrate the power of cell cycle regression, we're going to reduce our exp
> - *"Type of filtering?"*: `By key (column) values`
> - *"Key to filter"*: `CC_genes`
> - *"Type of value to filter"*: `Boolean`
->
+>
>
> 2. Rename the output `CellCycle_Annotated_CC_Only`
>
@@ -389,7 +391,7 @@ To demonstrate the power of cell cycle regression, we're going to reduce our exp
> - *"Type of filtering?"*: `By key (column) values`
> - *"Key to filter"*: `CC_genes`
> - *"Type of value to filter"*: `Boolean`
->
+>
>
> 4. Rename the output `CellCycle_Regressed_CC_Only`
>
@@ -407,11 +409,11 @@ You will learn more about plotting your data in the [Filter, Plot and Explore]({
> - {% icon param-file %} *"Annotated data matrix"*: `CellCycle_Annotated_CC_Only` (output of **Manipulate AnnData** {% icon tool %})
> - *"Method used"*: `Computes PCA (principal component analysis) coordinates, loadings and variance decomposition, using 'tl.pca'`
> - *"Type of PCA?"*: `Full PCA`
->
+>
> > Plot all the genes
> >
-> > Make sure that you de-select the option for the {% tool Cluster, infer trajectories and embed %} tool to use highly variable genes only - some of the cell cycle genes are also HVGs, but we want our plots to include the cell cycle genes that aren't HVGs too.
-> {: .comment}
+> > Make sure that you de-select the option for the {% tool Cluster, infer trajectories and embed %} tool to use highly variable genes only - some of the cell cycle genes are also HVGs, but we want our plots to include the cell cycle genes that aren't HVGs too.
+> {: .comment}
>
> 2. {% tool [Plot](toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1) %} with the following parameters:
> - {% icon param-file %} *"Annotated data matrix"*: `anndata_out` (output of **Cluster, infer trajectories and embed** {% icon tool %})
diff --git a/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/Cell-Cycle-Regression-Workflow-tests.yml b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/Cell-Cycle-Regression-Workflow-tests.yml
new file mode 100644
index 00000000000000..91d5298cbf40f6
--- /dev/null
+++ b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/Cell-Cycle-Regression-Workflow-tests.yml
@@ -0,0 +1,31 @@
+- doc: Test outline for Cell-Cycle-Regression-Workflow
+ job:
+ AnnData (After QC, normalisation, scaling):
+ class: File
+ location: https://zenodo.org/record/7311628/files/Processed_AnnData.h5ad
+ filetype: h5ad
+ S Phase Genes:
+ class: File
+ location: https://zenodo.org/record/7311628//files/sPhase.tabular
+ filetype: tabular
+ G2M Phase Genes:
+ class: File
+ location: https://zenodo.org/record/7311628//files/g2mPhase.tabular
+ filetype: tabular
+ Pasted Entry:
+ class: File
+ location: test-data/annotation_header.tabular
+ filetype: tabular
+ outputs:
+ anndata_out (Step 20):
+ asserts:
+ has_h5_keys:
+ keys: "obs/G2M_score"
+ keys: "obs/S_score"
+ keys: "var/CC_genes"
+ keys: "uns/pca"
+ out_png (Step 22):
+ asserts:
+ has_size:
+ value: 133331
+ delta: 2700
diff --git a/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/Cell-Cycle-Regression-Workflow.ga b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/Cell-Cycle-Regression-Workflow.ga
new file mode 100644
index 00000000000000..bf4d3b2f935f4b
--- /dev/null
+++ b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/Cell-Cycle-Regression-Workflow.ga
@@ -0,0 +1,1020 @@
+{
+ "a_galaxy_workflow": "true",
+ "annotation": "",
+ "comments": [],
+ "creator": [
+ {
+ "class": "Person",
+ "identifier": "0000-0001-6979-6930",
+ "name": "Marisa Loach"
+ }
+ ],
+ "format-version": "0.1",
+ "license": "CC-BY-4.0",
+ "name": "Cell Cycle Regression Workflow",
+ "report": {
+ "markdown": "\n# Workflow Execution Report\n\n## Workflow Inputs\n```galaxy\ninvocation_inputs()\n```\n\n## Workflow Outputs\n```galaxy\ninvocation_outputs()\n```\n\n## Workflow\n```galaxy\nworkflow_display()\n```\n"
+ },
+ "steps": {
+ "0": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 0,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "AnnData (After QC, normalisation, scaling)"
+ }
+ ],
+ "label": "AnnData (After QC, normalisation, scaling)",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "left": 646.9375,
+ "top": 474.125
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false, \"tag\": \"\"}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "abf51bba-7bf3-442f-8d25-bb8008efdab1",
+ "when": null,
+ "workflow_outputs": []
+ },
+ "1": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 1,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "S Phase Genes"
+ }
+ ],
+ "label": "S Phase Genes",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "left": 0,
+ "top": 1029.3646240234375
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false, \"tag\": \"\"}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "20c44e44-d3da-47b3-a761-5b9714629e8e",
+ "when": null,
+ "workflow_outputs": []
+ },
+ "2": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 2,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "G2M Phase Genes"
+ }
+ ],
+ "label": "G2M Phase Genes",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "left": 17.21875,
+ "top": 1184.7708740234375
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false, \"tag\": \"\"}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "5ed158d1-a7eb-4750-892c-f123c80bfe89",
+ "when": null,
+ "workflow_outputs": []
+ },
+ "3": {
+ "annotation": "",
+ "content_id": null,
+ "errors": null,
+ "id": 3,
+ "input_connections": {},
+ "inputs": [
+ {
+ "description": "",
+ "name": "Pasted Entry"
+ }
+ ],
+ "label": "Pasted Entry",
+ "name": "Input dataset",
+ "outputs": [],
+ "position": {
+ "left": 1955.0625,
+ "top": 0
+ },
+ "tool_id": null,
+ "tool_state": "{\"optional\": false, \"tag\": \"\"}",
+ "tool_version": null,
+ "type": "data_input",
+ "uuid": "bd171b20-fde0-4346-8d3e-274a3592485d",
+ "when": null,
+ "workflow_outputs": []
+ },
+ "4": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.7.5+galaxy1",
+ "errors": null,
+ "id": 4,
+ "input_connections": {
+ "input": {
+ "id": 0,
+ "output_name": "output"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Inspect AnnData",
+ "outputs": [
+ {
+ "name": "var",
+ "type": "tabular"
+ }
+ ],
+ "position": {
+ "left": 459.125,
+ "top": 133.625
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.7.5+galaxy1",
+ "tool_shed_repository": {
+ "changeset_revision": "ee98d611afc6",
+ "name": "anndata_inspect",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"inspect\": {\"info\": \"var\", \"__current_case__\": 4}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "0.7.5+galaxy1",
+ "type": "tool",
+ "uuid": "96b7447e-c65c-4955-b3c5-a381f707fb3d",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "var",
+ "uuid": "1ffba0d7-dc80-4e44-bd74-77cf007f1446"
+ }
+ ]
+ },
+ "5": {
+ "annotation": "",
+ "content_id": "cat1",
+ "errors": null,
+ "id": 5,
+ "input_connections": {
+ "input1": {
+ "id": 1,
+ "output_name": "output"
+ },
+ "queries_0|input2": {
+ "id": 2,
+ "output_name": "output"
+ }
+ },
+ "inputs": [],
+ "label": "All Cell Cycle Genes (Concatenate S and G2M Genes)",
+ "name": "Concatenate datasets",
+ "outputs": [
+ {
+ "name": "out_file1",
+ "type": "input"
+ }
+ ],
+ "position": {
+ "left": 445.59375,
+ "top": 1010.6666870117188
+ },
+ "post_job_actions": {},
+ "tool_id": "cat1",
+ "tool_state": "{\"input1\": {\"__class__\": \"ConnectedValue\"}, \"queries\": [{\"__index__\": 0, \"input2\": {\"__class__\": \"ConnectedValue\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.0.0",
+ "type": "tool",
+ "uuid": "7d0769c1-4b8d-4d29-bcc7-aed030503ccc",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "out_file1",
+ "uuid": "dd200c78-68fe-4a66-85e7-76710e20e4ae"
+ }
+ ]
+ },
+ "6": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.7.1+galaxy0",
+ "errors": null,
+ "id": 6,
+ "input_connections": {
+ "adata": {
+ "id": 0,
+ "output_name": "output"
+ },
+ "method|g2m_genes|file": {
+ "id": 2,
+ "output_name": "output"
+ },
+ "method|s_genes|file": {
+ "id": 1,
+ "output_name": "output"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Inspect and manipulate",
+ "outputs": [
+ {
+ "name": "anndata_out",
+ "type": "h5ad"
+ }
+ ],
+ "position": {
+ "left": 1839.84375,
+ "top": 567.9375
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.7.1+galaxy0",
+ "tool_shed_repository": {
+ "changeset_revision": "c5d3684f7c4c",
+ "name": "scanpy_inspect",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": false}, \"method\": {\"method\": \"tl.score_genes_cell_cycle\", \"__current_case__\": 3, \"s_genes\": {\"format\": \"file\", \"__current_case__\": 1, \"file\": {\"__class__\": \"ConnectedValue\"}}, \"g2m_genes\": {\"format\": \"file\", \"__current_case__\": 1, \"file\": {\"__class__\": \"ConnectedValue\"}}, \"n_bins\": \"25\", \"random_state\": \"0\", \"use_raw\": false}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.7.1+galaxy0",
+ "type": "tool",
+ "uuid": "11e0487f-e5a9-44c1-b3e5-2fe50ee207d4",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "anndata_out",
+ "uuid": "0852740e-92ea-496a-bfeb-86184b8f8570"
+ }
+ ]
+ },
+ "7": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",
+ "errors": null,
+ "id": 7,
+ "input_connections": {
+ "singtabop|input": {
+ "id": 4,
+ "output_name": "var"
+ }
+ },
+ "inputs": [
+ {
+ "description": "runtime parameter for tool Table Compute",
+ "name": "singtabop"
+ }
+ ],
+ "label": null,
+ "name": "Table Compute",
+ "outputs": [
+ {
+ "name": "table",
+ "type": "tabular"
+ }
+ ],
+ "position": {
+ "left": 781.4375,
+ "top": 125.09375
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",
+ "tool_shed_repository": {
+ "changeset_revision": "3bf5661c0280",
+ "name": "table_compute",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"out_opts\": [\"ignore_nas\"], \"precision\": \"6\", \"singtabop\": {\"use_type\": \"single\", \"__current_case__\": 0, \"input\": {\"__class__\": \"ConnectedValue\"}, \"col_row_names\": null, \"adv\": {\"header\": null, \"nrows\": null, \"skipfooter\": null, \"skip_blank_lines\": true}, \"user\": {\"mode\": \"select\", \"__current_case__\": 1, \"select_cols_wanted\": \"1\", \"select_rows_wanted\": \"2:15396\", \"select_keepdupe\": [\"select_cols_keepdupe\", \"select_rows_keepdupe\"]}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.2.4+galaxy0",
+ "type": "tool",
+ "uuid": "e02f60d9-596f-4e18-9770-633ac1fc9a5a",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "table",
+ "uuid": "ddb059b1-92b2-4989-8313-dbd144a11269"
+ }
+ ]
+ },
+ "8": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0",
+ "errors": null,
+ "id": 8,
+ "input_connections": {
+ "input": {
+ "id": 5,
+ "output_name": "out_file1"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Add column",
+ "outputs": [
+ {
+ "name": "out_file1",
+ "type": "input"
+ }
+ ],
+ "position": {
+ "left": 730.125,
+ "top": 940.9375
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0",
+ "tool_shed_repository": {
+ "changeset_revision": "745871c0b055",
+ "name": "add_value",
+ "owner": "devteam",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"exp\": \"TRUE\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"iterate\": \"no\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.0.0",
+ "type": "tool",
+ "uuid": "8270c2b8-343c-4a96-918e-7615844a9e08",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "out_file1",
+ "uuid": "11c1edc1-5969-4b69-939f-8b3ef484a28d"
+ }
+ ]
+ },
+ "9": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_regress_variable/scanpy_regress_variable/1.8.1+galaxy0",
+ "errors": null,
+ "id": 9,
+ "input_connections": {
+ "input_obj_file": {
+ "id": 6,
+ "output_name": "anndata_out"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Scanpy RegressOut",
+ "outputs": [
+ {
+ "name": "output_h5ad",
+ "type": "h5ad"
+ }
+ ],
+ "position": {
+ "left": 2373.3958740234375,
+ "top": 934.0416870117188
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_regress_variable/scanpy_regress_variable/1.8.1+galaxy0",
+ "tool_shed_repository": {
+ "changeset_revision": "36daab33aecf",
+ "name": "scanpy_regress_variable",
+ "owner": "ebi-gxa",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"input_format\": \"anndata\", \"input_obj_file\": {\"__class__\": \"ConnectedValue\"}, \"output_format\": \"anndata_h5ad\", \"save_layer\": \"\", \"save_raw\": false, \"variable_keys\": \"phase\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.8.1+galaxy0",
+ "type": "tool",
+ "uuid": "5624944c-4504-4d72-8692-363ae5419e34",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": "Scanpy RegressOut on input dataset(s): Regressed out AnnData",
+ "output_name": "output_h5ad",
+ "uuid": "026b02d3-97ee-4847-9347-40773ab76356"
+ }
+ ]
+ },
+ "10": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0",
+ "errors": null,
+ "id": 10,
+ "input_connections": {
+ "input": {
+ "id": 7,
+ "output_name": "table"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Add column",
+ "outputs": [
+ {
+ "name": "out_file1",
+ "type": "input"
+ }
+ ],
+ "position": {
+ "left": 1190.8125,
+ "top": 142.65625
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0",
+ "tool_shed_repository": {
+ "changeset_revision": "745871c0b055",
+ "name": "add_value",
+ "owner": "devteam",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"exp\": \"1\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"iterate\": \"yes\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.0.0",
+ "type": "tool",
+ "uuid": "3920392c-5481-42be-aa3c-e0ae807d145d",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "out_file1",
+ "uuid": "27b6bae1-3786-4cbb-a943-e792f4320bc4"
+ }
+ ]
+ },
+ "11": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",
+ "errors": null,
+ "id": 11,
+ "input_connections": {
+ "infile1": {
+ "id": 10,
+ "output_name": "out_file1"
+ },
+ "infile2": {
+ "id": 8,
+ "output_name": "out_file1"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Join",
+ "outputs": [
+ {
+ "name": "output",
+ "type": "input"
+ }
+ ],
+ "position": {
+ "left": 1471.15625,
+ "top": 154.25
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2",
+ "tool_shed_repository": {
+ "changeset_revision": "ddf54b12c295",
+ "name": "text_processing",
+ "owner": "bgruening",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"column1\": \"1\", \"column2\": \"1\", \"empty_string_filler\": \"FALSE\", \"header\": false, \"ignore_case\": false, \"infile1\": {\"__class__\": \"ConnectedValue\"}, \"infile2\": {\"__class__\": \"ConnectedValue\"}, \"jointype\": \"-a 1 -a 2\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.1.2",
+ "type": "tool",
+ "uuid": "ea5dbe23-1636-4f14-ad7d-7d9c0926115c",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "output",
+ "uuid": "48e95afc-ac2c-4ab8-80a6-224bf9486af8"
+ }
+ ]
+ },
+ "12": {
+ "annotation": "",
+ "content_id": "sort1",
+ "errors": null,
+ "id": 12,
+ "input_connections": {
+ "input": {
+ "id": 11,
+ "output_name": "output"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Sort",
+ "outputs": [
+ {
+ "name": "out_file1",
+ "type": "input"
+ }
+ ],
+ "position": {
+ "left": 1733.7083740234375,
+ "top": 146.0625
+ },
+ "post_job_actions": {},
+ "tool_id": "sort1",
+ "tool_state": "{\"__input_ext\": \"tabular\", \"__workflow_invocation_uuid__\": \"4cdf4fce5b9d11edba32001e67d2ec02\", \"chromInfo\": \"/opt/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"column\": \"2\", \"column_set\": [], \"header_lines\": \"0\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"order\": \"ASC\", \"style\": \"num\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.2.0",
+ "type": "tool",
+ "uuid": "0e870357-b257-4e99-9d7e-06775c763579",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "out_file1",
+ "uuid": "735a9c42-3440-4370-9ef4-755c081ef2cc"
+ }
+ ]
+ },
+ "13": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",
+ "errors": null,
+ "id": 13,
+ "input_connections": {
+ "singtabop|input": {
+ "id": 12,
+ "output_name": "out_file1"
+ }
+ },
+ "inputs": [
+ {
+ "description": "runtime parameter for tool Table Compute",
+ "name": "singtabop"
+ }
+ ],
+ "label": null,
+ "name": "Table Compute",
+ "outputs": [
+ {
+ "name": "table",
+ "type": "tabular"
+ }
+ ],
+ "position": {
+ "left": 1953.6875,
+ "top": 146.0625
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0",
+ "tool_shed_repository": {
+ "changeset_revision": "3bf5661c0280",
+ "name": "table_compute",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"out_opts\": [\"ignore_nas\"], \"precision\": \"6\", \"singtabop\": {\"use_type\": \"single\", \"__current_case__\": 0, \"input\": {\"__class__\": \"ConnectedValue\"}, \"col_row_names\": null, \"adv\": {\"header\": null, \"nrows\": null, \"skipfooter\": null, \"skip_blank_lines\": true}, \"user\": {\"mode\": \"select\", \"__current_case__\": 1, \"select_cols_wanted\": \"3\", \"select_rows_wanted\": \"1:15395\", \"select_keepdupe\": [\"select_cols_keepdupe\", \"select_rows_keepdupe\"]}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.2.4+galaxy0",
+ "type": "tool",
+ "uuid": "45f07fc8-3ff4-4e21-a1a6-7a764986930f",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "table",
+ "uuid": "58fbdecd-859a-42a6-a166-980a2625e01f"
+ }
+ ]
+ },
+ "14": {
+ "annotation": "",
+ "content_id": "cat1",
+ "errors": null,
+ "id": 14,
+ "input_connections": {
+ "input1": {
+ "id": 3,
+ "output_name": "output"
+ },
+ "queries_0|input2": {
+ "id": 13,
+ "output_name": "table"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Concatenate datasets",
+ "outputs": [
+ {
+ "name": "out_file1",
+ "type": "input"
+ }
+ ],
+ "position": {
+ "left": 2173.65625,
+ "top": 146.0625
+ },
+ "post_job_actions": {},
+ "tool_id": "cat1",
+ "tool_state": "{\"__input_ext\": \"tabular\", \"__workflow_invocation_uuid__\": \"4cdf4fce5b9d11edba32001e67d2ec02\", \"chromInfo\": \"/opt/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"input1\": {\"__class__\": \"ConnectedValue\"}, \"queries\": [{\"__index__\": 0, \"input2\": {\"__class__\": \"ConnectedValue\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.0.0",
+ "type": "tool",
+ "uuid": "92d869ca-9989-4699-8069-1632a4c3d159",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "out_file1",
+ "uuid": "b946b4c9-ad29-4f7e-b2bc-2023265bdc10"
+ }
+ ]
+ },
+ "15": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1",
+ "errors": null,
+ "id": 15,
+ "input_connections": {
+ "input": {
+ "id": 6,
+ "output_name": "anndata_out"
+ },
+ "manipulate|new_annot": {
+ "id": 14,
+ "output_name": "out_file1"
+ }
+ },
+ "inputs": [
+ {
+ "description": "runtime parameter for tool Manipulate AnnData",
+ "name": "manipulate"
+ }
+ ],
+ "label": null,
+ "name": "Manipulate AnnData",
+ "outputs": [
+ {
+ "name": "anndata",
+ "type": "h5ad"
+ }
+ ],
+ "position": {
+ "left": 2372.65625,
+ "top": 473.8645935058594
+ },
+ "post_job_actions": {
+ "HideDatasetActionanndata": {
+ "action_arguments": {},
+ "action_type": "HideDatasetAction",
+ "output_name": "anndata"
+ }
+ },
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1",
+ "tool_shed_repository": {
+ "changeset_revision": "3d748954434b",
+ "name": "anndata_manipulate",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"manipulate\": {\"function\": \"add_annotation\", \"__current_case__\": 6, \"var_obs\": \"var\", \"new_annot\": {\"__class__\": \"ConnectedValue\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "0.7.5+galaxy1",
+ "type": "tool",
+ "uuid": "f5e03b1d-346e-467e-822f-8f262c9e05db",
+ "when": null,
+ "workflow_outputs": []
+ },
+ "16": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1",
+ "errors": null,
+ "id": 16,
+ "input_connections": {
+ "input": {
+ "id": 9,
+ "output_name": "output_h5ad"
+ },
+ "manipulate|new_annot": {
+ "id": 14,
+ "output_name": "out_file1"
+ }
+ },
+ "inputs": [
+ {
+ "description": "runtime parameter for tool Manipulate AnnData",
+ "name": "manipulate"
+ }
+ ],
+ "label": null,
+ "name": "Manipulate AnnData",
+ "outputs": [
+ {
+ "name": "anndata",
+ "type": "h5ad"
+ }
+ ],
+ "position": {
+ "left": 2813.729248046875,
+ "top": 194.28125
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1",
+ "tool_shed_repository": {
+ "changeset_revision": "3d748954434b",
+ "name": "anndata_manipulate",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"manipulate\": {\"function\": \"add_annotation\", \"__current_case__\": 6, \"var_obs\": \"var\", \"new_annot\": {\"__class__\": \"ConnectedValue\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "0.7.5+galaxy1",
+ "type": "tool",
+ "uuid": "b441e4be-4438-4e6e-8ba7-b4cfd3be4eb0",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "anndata",
+ "uuid": "b7370b49-ef2f-4427-8ea0-70f8159efd3c"
+ }
+ ]
+ },
+ "17": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1",
+ "errors": null,
+ "id": 17,
+ "input_connections": {
+ "input": {
+ "id": 15,
+ "output_name": "anndata"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Manipulate AnnData",
+ "outputs": [
+ {
+ "name": "anndata",
+ "type": "h5ad"
+ }
+ ],
+ "position": {
+ "left": 2794.041748046875,
+ "top": 1071.2396240234375
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1",
+ "tool_shed_repository": {
+ "changeset_revision": "3d748954434b",
+ "name": "anndata_manipulate",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"manipulate\": {\"function\": \"filter\", \"__current_case__\": 7, \"var_obs\": \"var\", \"filter\": {\"filter\": \"key\", \"__current_case__\": 0, \"key\": \"CC_genes\", \"filter_key\": {\"type\": \"boolean\", \"__current_case__\": 2, \"value\": true}}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "0.7.5+galaxy1",
+ "type": "tool",
+ "uuid": "82e3a365-be59-4ca8-a82d-596c7b4056ba",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "anndata",
+ "uuid": "3c56a2bd-26d8-4566-b9f9-0f0896651f8c"
+ }
+ ]
+ },
+ "18": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1",
+ "errors": null,
+ "id": 18,
+ "input_connections": {
+ "input": {
+ "id": 16,
+ "output_name": "anndata"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Manipulate AnnData",
+ "outputs": [
+ {
+ "name": "anndata",
+ "type": "h5ad"
+ }
+ ],
+ "position": {
+ "left": 2826,
+ "top": 690.625
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1",
+ "tool_shed_repository": {
+ "changeset_revision": "3d748954434b",
+ "name": "anndata_manipulate",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"manipulate\": {\"function\": \"filter\", \"__current_case__\": 7, \"var_obs\": \"var\", \"filter\": {\"filter\": \"key\", \"__current_case__\": 0, \"key\": \"CC_genes\", \"filter_key\": {\"type\": \"boolean\", \"__current_case__\": 2, \"value\": true}}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "0.7.5+galaxy1",
+ "type": "tool",
+ "uuid": "77b6cf83-c02a-49c4-9ae4-c02fa88510d5",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "anndata",
+ "uuid": "8968536f-6774-4b4f-b1cf-0535133911f7"
+ }
+ ]
+ },
+ "19": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.7.1+galaxy0",
+ "errors": null,
+ "id": 19,
+ "input_connections": {
+ "adata": {
+ "id": 17,
+ "output_name": "anndata"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Cluster, infer trajectories and embed",
+ "outputs": [
+ {
+ "name": "anndata_out",
+ "type": "h5ad"
+ }
+ ],
+ "position": {
+ "left": 3119.666748046875,
+ "top": 1062.2396240234375
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.7.1+galaxy0",
+ "tool_shed_repository": {
+ "changeset_revision": "aaa5da8e73a9",
+ "name": "scanpy_cluster_reduce_dimension",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": false}, \"method\": {\"method\": \"tl.pca\", \"__current_case__\": 3, \"n_comps\": \"50\", \"dtype\": \"float32\", \"pca\": {\"chunked\": \"False\", \"__current_case__\": 1, \"zero_center\": true, \"svd_solver\": \"auto\", \"random_state\": \"0\"}, \"use_highly_variable\": false}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.7.1+galaxy0",
+ "type": "tool",
+ "uuid": "0dc6efda-15c2-4c62-a381-887c3d29c017",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "anndata_out",
+ "uuid": "b194bcae-6ae7-494d-ba15-68a6b14e59f3"
+ }
+ ]
+ },
+ "20": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.7.1+galaxy0",
+ "errors": null,
+ "id": 20,
+ "input_connections": {
+ "adata": {
+ "id": 18,
+ "output_name": "anndata"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Cluster, infer trajectories and embed",
+ "outputs": [
+ {
+ "name": "anndata_out",
+ "type": "h5ad"
+ }
+ ],
+ "position": {
+ "left": 3115.635498046875,
+ "top": 699
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.7.1+galaxy0",
+ "tool_shed_repository": {
+ "changeset_revision": "aaa5da8e73a9",
+ "name": "scanpy_cluster_reduce_dimension",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": false}, \"method\": {\"method\": \"tl.pca\", \"__current_case__\": 3, \"n_comps\": \"50\", \"dtype\": \"float32\", \"pca\": {\"chunked\": \"False\", \"__current_case__\": 1, \"zero_center\": true, \"svd_solver\": \"auto\", \"random_state\": \"0\"}, \"use_highly_variable\": false}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.7.1+galaxy0",
+ "type": "tool",
+ "uuid": "c776b1f6-4eac-40fa-9f19-1fb8fb2b530e",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": "Cluster, infer trajectories and embed (tl.louvain) on input dataset(s): Annotated data matrix",
+ "output_name": "anndata_out",
+ "uuid": "09d97ef7-ed92-4d90-a597-2032581c2d4a"
+ }
+ ]
+ },
+ "21": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1",
+ "errors": null,
+ "id": 21,
+ "input_connections": {
+ "adata": {
+ "id": 19,
+ "output_name": "anndata_out"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Plot",
+ "outputs": [
+ {
+ "name": "out_png",
+ "type": "png"
+ }
+ ],
+ "position": {
+ "left": 3397.70849609375,
+ "top": 1056.2708740234375
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1",
+ "tool_shed_repository": {
+ "changeset_revision": "aa0c474463c2",
+ "name": "scanpy_plot",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": false}, \"format\": \"png\", \"method\": {\"method\": \"pl.pca_overview\", \"__current_case__\": 12, \"color\": \"phase\", \"use_raw\": false, \"sort_order\": true, \"groups\": \"\", \"plot\": {\"components\": [], \"projection\": \"2d\", \"legend_loc\": \"right margin\", \"legend_fontsize\": null, \"legend_fontweight\": \"normal\", \"size\": null, \"color_map\": \"None\", \"palette\": \"rainbow\", \"frameon\": true, \"ncols\": \"4\", \"wspace\": \"0.1\", \"hspace\": \"0.25\", \"title\": \"\"}, \"matplotlib_pyplot_scatter\": {\"alpha\": null, \"vmin\": null, \"vmax\": null, \"linewidths\": \"0.0\", \"edgecolors\": \"face\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.7.1+galaxy1",
+ "type": "tool",
+ "uuid": "500c400f-02e5-40ab-8e33-684ecef4aeff",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "out_png",
+ "uuid": "908ff564-db8c-41e3-90e8-fee85df325d0"
+ }
+ ]
+ },
+ "22": {
+ "annotation": "",
+ "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1",
+ "errors": null,
+ "id": 22,
+ "input_connections": {
+ "adata": {
+ "id": 20,
+ "output_name": "anndata_out"
+ }
+ },
+ "inputs": [],
+ "label": null,
+ "name": "Plot",
+ "outputs": [
+ {
+ "name": "out_png",
+ "type": "png"
+ }
+ ],
+ "position": {
+ "left": 3411.70849609375,
+ "top": 726.2291870117188
+ },
+ "post_job_actions": {},
+ "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1",
+ "tool_shed_repository": {
+ "changeset_revision": "aa0c474463c2",
+ "name": "scanpy_plot",
+ "owner": "iuc",
+ "tool_shed": "toolshed.g2.bx.psu.edu"
+ },
+ "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": false}, \"format\": \"png\", \"method\": {\"method\": \"pl.pca_overview\", \"__current_case__\": 12, \"color\": \"phase\", \"use_raw\": false, \"sort_order\": true, \"groups\": \"\", \"plot\": {\"components\": [], \"projection\": \"2d\", \"legend_loc\": \"right margin\", \"legend_fontsize\": null, \"legend_fontweight\": \"normal\", \"size\": null, \"color_map\": \"None\", \"palette\": \"rainbow\", \"frameon\": true, \"ncols\": \"4\", \"wspace\": \"0.1\", \"hspace\": \"0.25\", \"title\": \"\"}, \"matplotlib_pyplot_scatter\": {\"alpha\": null, \"vmin\": null, \"vmax\": null, \"linewidths\": \"0.0\", \"edgecolors\": \"face\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+ "tool_version": "1.7.1+galaxy1",
+ "type": "tool",
+ "uuid": "beb0ba6d-3a0f-4bec-a045-3cdf62053d6d",
+ "when": null,
+ "workflow_outputs": [
+ {
+ "label": null,
+ "output_name": "out_png",
+ "uuid": "9737f727-e959-4773-b964-38b225b7c7ee"
+ }
+ ]
+ }
+ },
+ "tags": [
+ "single-cell",
+ "10x",
+ "transcriptomics"
+ ],
+ "uuid": "65165fef-13ad-446b-8142-e3a46da161b0",
+ "version": 1
+}
\ No newline at end of file
diff --git a/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/index.md b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/index.md
index e092e0ae66ddd4..1485a747daf628 100644
--- a/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/index.md
+++ b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/index.md
@@ -1,3 +1,5 @@
---
layout: workflow-list
+redirect_from:
+- /topics/transcriptomics/tutorials/scrna-case_cell-cycle/workflows/index
---
diff --git a/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/main_workflow.ga b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/main_workflow.ga
deleted file mode 100644
index 8946af432d61d0..00000000000000
--- a/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/main_workflow.ga
+++ /dev/null
@@ -1 +0,0 @@
-{"a_galaxy_workflow": "true", "annotation": "", "format-version": "0.1", "name": "Cell Cycle Regression Workflow", "steps": {"0": {"annotation": "", "content_id": null, "errors": null, "id": 0, "input_connections": {}, "inputs": [{"description": "", "name": "AnnData (After QC, normalisation, scaling)"}], "label": "AnnData (After QC, normalisation, scaling)", "name": "Input dataset", "outputs": [], "position": {"left": 646.9375, "top": 474.125}, "tool_id": null, "tool_state": "{\"optional\": false, \"tag\": \"\"}", "tool_version": null, "type": "data_input", "uuid": "abf51bba-7bf3-442f-8d25-bb8008efdab1", "workflow_outputs": []}, "1": {"annotation": "", "content_id": null, "errors": null, "id": 1, "input_connections": {}, "inputs": [{"description": "", "name": "S Phase Genes"}], "label": "S Phase Genes", "name": "Input dataset", "outputs": [], "position": {"left": 0, "top": 1029.3646240234375}, "tool_id": null, "tool_state": "{\"optional\": false, \"tag\": \"\"}", "tool_version": null, "type": "data_input", "uuid": "20c44e44-d3da-47b3-a761-5b9714629e8e", "workflow_outputs": []}, "2": {"annotation": "", "content_id": null, "errors": null, "id": 2, "input_connections": {}, "inputs": [{"description": "", "name": "G2M Phase Genes"}], "label": "G2M Phase Genes", "name": "Input dataset", "outputs": [], "position": {"left": 17.21875, "top": 1184.7708740234375}, "tool_id": null, "tool_state": "{\"optional\": false, \"tag\": \"\"}", "tool_version": null, "type": "data_input", "uuid": "5ed158d1-a7eb-4750-892c-f123c80bfe89", "workflow_outputs": []}, "3": {"annotation": "", "content_id": null, "errors": null, "id": 3, "input_connections": {}, "inputs": [{"description": "", "name": "Pasted Entry"}], "label": "Pasted Entry", "name": "Input dataset", "outputs": [], "position": {"left": 1955.0625, "top": 0.0}, "tool_id": null, "tool_state": "{\"optional\": false, \"tag\": \"\"}", "tool_version": null, "type": "data_input", "uuid": "bd171b20-fde0-4346-8d3e-274a3592485d", "workflow_outputs": []}, "4": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.7.5+galaxy1", "errors": null, "id": 4, "input_connections": {"input": {"id": 0, "output_name": "output"}}, "inputs": [], "label": null, "name": "Inspect AnnData", "outputs": [{"name": "var", "type": "tabular"}], "position": {"left": 459.125, "top": 133.625}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_inspect/anndata_inspect/0.7.5+galaxy1", "tool_shed_repository": {"changeset_revision": "ee98d611afc6", "name": "anndata_inspect", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"inspect\": {\"info\": \"var\", \"__current_case__\": 4}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "0.7.5+galaxy1", "type": "tool", "uuid": "96b7447e-c65c-4955-b3c5-a381f707fb3d", "workflow_outputs": [{"label": null, "output_name": "var", "uuid": "1ffba0d7-dc80-4e44-bd74-77cf007f1446"}]}, "5": {"annotation": "", "content_id": "cat1", "errors": null, "id": 5, "input_connections": {"input1": {"id": 1, "output_name": "output"}, "queries_0|input2": {"id": 2, "output_name": "output"}}, "inputs": [], "label": "All Cell Cycle Genes (Concatenate S and G2M Genes)", "name": "Concatenate datasets", "outputs": [{"name": "out_file1", "type": "input"}], "position": {"left": 445.59375, "top": 1010.6666870117188}, "post_job_actions": {}, "tool_id": "cat1", "tool_state": "{\"input1\": {\"__class__\": \"ConnectedValue\"}, \"queries\": [{\"__index__\": 0, \"input2\": {\"__class__\": \"ConnectedValue\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.0.0", "type": "tool", "uuid": "7d0769c1-4b8d-4d29-bcc7-aed030503ccc", "workflow_outputs": [{"label": null, "output_name": "out_file1", "uuid": "dd200c78-68fe-4a66-85e7-76710e20e4ae"}]}, "6": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.7.1+galaxy0", "errors": null, "id": 6, "input_connections": {"adata": {"id": 0, "output_name": "output"}, "method|g2m_genes|file": {"id": 2, "output_name": "output"}, "method|s_genes|file": {"id": 1, "output_name": "output"}}, "inputs": [], "label": null, "name": "Inspect and manipulate", "outputs": [{"name": "anndata_out", "type": "h5ad"}], "position": {"left": 1839.84375, "top": 567.9375}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_inspect/scanpy_inspect/1.7.1+galaxy0", "tool_shed_repository": {"changeset_revision": "c5d3684f7c4c", "name": "scanpy_inspect", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": \"false\"}, \"method\": {\"method\": \"tl.score_genes_cell_cycle\", \"__current_case__\": 3, \"s_genes\": {\"format\": \"file\", \"__current_case__\": 1, \"file\": {\"__class__\": \"ConnectedValue\"}}, \"g2m_genes\": {\"format\": \"file\", \"__current_case__\": 1, \"file\": {\"__class__\": \"ConnectedValue\"}}, \"n_bins\": \"25\", \"random_state\": \"0\", \"use_raw\": \"false\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.7.1+galaxy0", "type": "tool", "uuid": "11e0487f-e5a9-44c1-b3e5-2fe50ee207d4", "workflow_outputs": [{"label": null, "output_name": "anndata_out", "uuid": "0852740e-92ea-496a-bfeb-86184b8f8570"}]}, "7": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0", "errors": null, "id": 7, "input_connections": {"singtabop|input": {"id": 4, "output_name": "var"}}, "inputs": [], "label": null, "name": "Table Compute", "outputs": [{"name": "table", "type": "tabular"}], "position": {"left": 781.4375, "top": 125.09375}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0", "tool_shed_repository": {"changeset_revision": "93a3ce78ce55", "name": "table_compute", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"out_opts\": [\"ignore_nas\"], \"precision\": \"6\", \"singtabop\": {\"use_type\": \"single\", \"__current_case__\": 0, \"input\": {\"__class__\": \"ConnectedValue\"}, \"col_row_names\": null, \"adv\": {\"header\": null, \"nrows\": null, \"skipfooter\": null, \"skip_blank_lines\": \"true\"}, \"user\": {\"mode\": \"select\", \"__current_case__\": 1, \"select_cols_wanted\": \"1\", \"select_rows_wanted\": \"2:15396\", \"select_keepdupe\": [\"select_cols_keepdupe\", \"select_rows_keepdupe\"]}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.2.4+galaxy0", "type": "tool", "uuid": "e02f60d9-596f-4e18-9770-633ac1fc9a5a", "workflow_outputs": [{"label": null, "output_name": "table", "uuid": "ddb059b1-92b2-4989-8313-dbd144a11269"}]}, "8": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0", "errors": null, "id": 8, "input_connections": {"input": {"id": 5, "output_name": "out_file1"}}, "inputs": [], "label": null, "name": "Add column", "outputs": [{"name": "out_file1", "type": "input"}], "position": {"left": 730.125, "top": 940.9375}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0", "tool_shed_repository": {"changeset_revision": "745871c0b055", "name": "add_value", "owner": "devteam", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"exp\": \"TRUE\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"iterate\": \"no\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.0.0", "type": "tool", "uuid": "8270c2b8-343c-4a96-918e-7615844a9e08", "workflow_outputs": [{"label": null, "output_name": "out_file1", "uuid": "11c1edc1-5969-4b69-939f-8b3ef484a28d"}]}, "9": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_regress_variable/scanpy_regress_variable/1.8.1+galaxy0", "errors": null, "id": 9, "input_connections": {"input_obj_file": {"id": 6, "output_name": "anndata_out"}}, "inputs": [], "label": null, "name": "Scanpy RegressOut", "outputs": [{"name": "output_h5ad", "type": "h5ad"}], "position": {"left": 2373.3958740234375, "top": 934.0416870117188}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_regress_variable/scanpy_regress_variable/1.8.1+galaxy0", "tool_shed_repository": {"changeset_revision": "36daab33aecf", "name": "scanpy_regress_variable", "owner": "ebi-gxa", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"input_format\": \"anndata\", \"input_obj_file\": {\"__class__\": \"ConnectedValue\"}, \"output_format\": \"anndata_h5ad\", \"save_layer\": \"\", \"save_raw\": \"false\", \"variable_keys\": \"phase\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.8.1+galaxy0", "type": "tool", "uuid": "5624944c-4504-4d72-8692-363ae5419e34", "workflow_outputs": [{"label": "Scanpy RegressOut on input dataset(s): Regressed out AnnData", "output_name": "output_h5ad", "uuid": "026b02d3-97ee-4847-9347-40773ab76356"}]}, "10": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0", "errors": null, "id": 10, "input_connections": {"input": {"id": 7, "output_name": "table"}}, "inputs": [], "label": null, "name": "Add column", "outputs": [{"name": "out_file1", "type": "input"}], "position": {"left": 1190.8125, "top": 142.65625}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/add_value/addValue/1.0.0", "tool_shed_repository": {"changeset_revision": "745871c0b055", "name": "add_value", "owner": "devteam", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"exp\": \"1\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"iterate\": \"yes\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.0.0", "type": "tool", "uuid": "3920392c-5481-42be-aa3c-e0ae807d145d", "workflow_outputs": [{"label": null, "output_name": "out_file1", "uuid": "27b6bae1-3786-4cbb-a943-e792f4320bc4"}]}, "11": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2", "errors": null, "id": 11, "input_connections": {"infile1": {"id": 10, "output_name": "out_file1"}, "infile2": {"id": 8, "output_name": "out_file1"}}, "inputs": [], "label": null, "name": "Join", "outputs": [{"name": "output", "type": "input"}], "position": {"left": 1471.15625, "top": 154.25}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_easyjoin_tool/1.1.2", "tool_shed_repository": {"changeset_revision": "ddf54b12c295", "name": "text_processing", "owner": "bgruening", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"column1\": \"1\", \"column2\": \"1\", \"empty_string_filler\": \"FALSE\", \"header\": \"false\", \"ignore_case\": \"false\", \"infile1\": {\"__class__\": \"ConnectedValue\"}, \"infile2\": {\"__class__\": \"ConnectedValue\"}, \"jointype\": \"-a 1 -a 2\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.1.2", "type": "tool", "uuid": "ea5dbe23-1636-4f14-ad7d-7d9c0926115c", "workflow_outputs": [{"label": null, "output_name": "output", "uuid": "48e95afc-ac2c-4ab8-80a6-224bf9486af8"}]}, "12": {"annotation": "", "content_id": "sort1", "errors": null, "id": 12, "input_connections": {"input": {"id": 11, "output_name": "output"}}, "inputs": [], "label": null, "name": "Sort", "outputs": [{"name": "out_file1", "type": "input"}], "position": {"left": 1733.7083740234375, "top": 146.0625}, "post_job_actions": {}, "tool_id": "sort1", "tool_state": "{\"__input_ext\": \"tabular\", \"__workflow_invocation_uuid__\": \"4cdf4fce5b9d11edba32001e67d2ec02\", \"chromInfo\": \"/opt/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"column\": \"2\", \"column_set\": [], \"header_lines\": \"0\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"order\": \"ASC\", \"style\": \"num\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.2.0", "type": "tool", "uuid": "0e870357-b257-4e99-9d7e-06775c763579", "workflow_outputs": [{"label": null, "output_name": "out_file1", "uuid": "735a9c42-3440-4370-9ef4-755c081ef2cc"}]}, "13": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0", "errors": null, "id": 13, "input_connections": {"singtabop|input": {"id": 12, "output_name": "out_file1"}}, "inputs": [], "label": null, "name": "Table Compute", "outputs": [{"name": "table", "type": "tabular"}], "position": {"left": 1953.6875, "top": 146.0625}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/table_compute/table_compute/1.2.4+galaxy0", "tool_shed_repository": {"changeset_revision": "93a3ce78ce55", "name": "table_compute", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"out_opts\": [\"ignore_nas\"], \"precision\": \"6\", \"singtabop\": {\"use_type\": \"single\", \"__current_case__\": 0, \"input\": {\"__class__\": \"ConnectedValue\"}, \"col_row_names\": null, \"adv\": {\"header\": null, \"nrows\": null, \"skipfooter\": null, \"skip_blank_lines\": \"true\"}, \"user\": {\"mode\": \"select\", \"__current_case__\": 1, \"select_cols_wanted\": \"3\", \"select_rows_wanted\": \"1:15395\", \"select_keepdupe\": [\"select_cols_keepdupe\", \"select_rows_keepdupe\"]}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.2.4+galaxy0", "type": "tool", "uuid": "45f07fc8-3ff4-4e21-a1a6-7a764986930f", "workflow_outputs": [{"label": null, "output_name": "table", "uuid": "58fbdecd-859a-42a6-a166-980a2625e01f"}]}, "14": {"annotation": "", "content_id": "cat1", "errors": null, "id": 14, "input_connections": {"input1": {"id": 3, "output_name": "output"}, "queries_0|input2": {"id": 13, "output_name": "table"}}, "inputs": [], "label": null, "name": "Concatenate datasets", "outputs": [{"name": "out_file1", "type": "input"}], "position": {"left": 2173.65625, "top": 146.0625}, "post_job_actions": {}, "tool_id": "cat1", "tool_state": "{\"__input_ext\": \"tabular\", \"__workflow_invocation_uuid__\": \"4cdf4fce5b9d11edba32001e67d2ec02\", \"chromInfo\": \"/opt/galaxy/tool-data/shared/ucsc/chrom/?.len\", \"input1\": {\"__class__\": \"ConnectedValue\"}, \"queries\": [{\"__index__\": 0, \"input2\": {\"__class__\": \"ConnectedValue\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.0.0", "type": "tool", "uuid": "92d869ca-9989-4699-8069-1632a4c3d159", "workflow_outputs": [{"label": null, "output_name": "out_file1", "uuid": "b946b4c9-ad29-4f7e-b2bc-2023265bdc10"}]}, "15": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1", "errors": null, "id": 15, "input_connections": {"input": {"id": 6, "output_name": "anndata_out"}, "manipulate|new_annot": {"id": 14, "output_name": "out_file1"}}, "inputs": [], "label": null, "name": "Manipulate AnnData", "outputs": [{"name": "anndata", "type": "h5ad"}], "position": {"left": 2372.65625, "top": 473.8645935058594}, "post_job_actions": {"HideDatasetActionanndata": {"action_arguments": {}, "action_type": "HideDatasetAction", "output_name": "anndata"}}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1", "tool_shed_repository": {"changeset_revision": "3d748954434b", "name": "anndata_manipulate", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"manipulate\": {\"function\": \"add_annotation\", \"__current_case__\": 6, \"var_obs\": \"var\", \"new_annot\": {\"__class__\": \"ConnectedValue\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "0.7.5+galaxy1", "type": "tool", "uuid": "f5e03b1d-346e-467e-822f-8f262c9e05db", "workflow_outputs": []}, "16": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1", "errors": null, "id": 16, "input_connections": {"input": {"id": 9, "output_name": "output_h5ad"}, "manipulate|new_annot": {"id": 14, "output_name": "out_file1"}}, "inputs": [], "label": null, "name": "Manipulate AnnData", "outputs": [{"name": "anndata", "type": "h5ad"}], "position": {"left": 2813.729248046875, "top": 194.28125}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1", "tool_shed_repository": {"changeset_revision": "3d748954434b", "name": "anndata_manipulate", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"manipulate\": {\"function\": \"add_annotation\", \"__current_case__\": 6, \"var_obs\": \"var\", \"new_annot\": {\"__class__\": \"ConnectedValue\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "0.7.5+galaxy1", "type": "tool", "uuid": "b441e4be-4438-4e6e-8ba7-b4cfd3be4eb0", "workflow_outputs": [{"label": null, "output_name": "anndata", "uuid": "b7370b49-ef2f-4427-8ea0-70f8159efd3c"}]}, "17": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1", "errors": null, "id": 17, "input_connections": {"input": {"id": 15, "output_name": "anndata"}}, "inputs": [], "label": null, "name": "Manipulate AnnData", "outputs": [{"name": "anndata", "type": "h5ad"}], "position": {"left": 2794.041748046875, "top": 1071.2396240234375}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1", "tool_shed_repository": {"changeset_revision": "3d748954434b", "name": "anndata_manipulate", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"manipulate\": {\"function\": \"filter\", \"__current_case__\": 7, \"var_obs\": \"var\", \"filter\": {\"filter\": \"key\", \"__current_case__\": 0, \"key\": \"CC_genes\", \"filter_key\": {\"type\": \"boolean\", \"__current_case__\": 2, \"value\": \"true\"}}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "0.7.5+galaxy1", "type": "tool", "uuid": "82e3a365-be59-4ca8-a82d-596c7b4056ba", "workflow_outputs": [{"label": null, "output_name": "anndata", "uuid": "3c56a2bd-26d8-4566-b9f9-0f0896651f8c"}]}, "18": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1", "errors": null, "id": 18, "input_connections": {"input": {"id": 16, "output_name": "anndata"}}, "inputs": [], "label": null, "name": "Manipulate AnnData", "outputs": [{"name": "anndata", "type": "h5ad"}], "position": {"left": 2826, "top": 690.625}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/anndata_manipulate/anndata_manipulate/0.7.5+galaxy1", "tool_shed_repository": {"changeset_revision": "3d748954434b", "name": "anndata_manipulate", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"manipulate\": {\"function\": \"filter\", \"__current_case__\": 7, \"var_obs\": \"var\", \"filter\": {\"filter\": \"key\", \"__current_case__\": 0, \"key\": \"CC_genes\", \"filter_key\": {\"type\": \"boolean\", \"__current_case__\": 2, \"value\": \"true\"}}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "0.7.5+galaxy1", "type": "tool", "uuid": "77b6cf83-c02a-49c4-9ae4-c02fa88510d5", "workflow_outputs": [{"label": null, "output_name": "anndata", "uuid": "8968536f-6774-4b4f-b1cf-0535133911f7"}]}, "19": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.7.1+galaxy0", "errors": null, "id": 19, "input_connections": {"adata": {"id": 17, "output_name": "anndata"}}, "inputs": [], "label": null, "name": "Cluster, infer trajectories and embed", "outputs": [{"name": "anndata_out", "type": "h5ad"}], "position": {"left": 3119.666748046875, "top": 1062.2396240234375}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.7.1+galaxy0", "tool_shed_repository": {"changeset_revision": "aaa5da8e73a9", "name": "scanpy_cluster_reduce_dimension", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": \"false\"}, \"method\": {\"method\": \"tl.pca\", \"__current_case__\": 3, \"n_comps\": \"50\", \"dtype\": \"float32\", \"pca\": {\"chunked\": \"False\", \"__current_case__\": 1, \"zero_center\": \"true\", \"svd_solver\": \"auto\", \"random_state\": \"0\"}, \"use_highly_variable\": \"false\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.7.1+galaxy0", "type": "tool", "uuid": "0dc6efda-15c2-4c62-a381-887c3d29c017", "workflow_outputs": [{"label": null, "output_name": "anndata_out", "uuid": "b194bcae-6ae7-494d-ba15-68a6b14e59f3"}]}, "20": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.7.1+galaxy0", "errors": null, "id": 20, "input_connections": {"adata": {"id": 18, "output_name": "anndata"}}, "inputs": [], "label": null, "name": "Cluster, infer trajectories and embed", "outputs": [{"name": "anndata_out", "type": "h5ad"}], "position": {"left": 3115.635498046875, "top": 699.0}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_cluster_reduce_dimension/scanpy_cluster_reduce_dimension/1.7.1+galaxy0", "tool_shed_repository": {"changeset_revision": "aaa5da8e73a9", "name": "scanpy_cluster_reduce_dimension", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": \"false\"}, \"method\": {\"method\": \"tl.pca\", \"__current_case__\": 3, \"n_comps\": \"50\", \"dtype\": \"float32\", \"pca\": {\"chunked\": \"False\", \"__current_case__\": 1, \"zero_center\": \"true\", \"svd_solver\": \"auto\", \"random_state\": \"0\"}, \"use_highly_variable\": \"false\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.7.1+galaxy0", "type": "tool", "uuid": "c776b1f6-4eac-40fa-9f19-1fb8fb2b530e", "workflow_outputs": [{"label": "Cluster, infer trajectories and embed (tl.louvain) on input dataset(s): Annotated data matrix", "output_name": "anndata_out", "uuid": "09d97ef7-ed92-4d90-a597-2032581c2d4a"}]}, "21": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1", "errors": null, "id": 21, "input_connections": {"adata": {"id": 19, "output_name": "anndata_out"}}, "inputs": [], "label": null, "name": "Plot", "outputs": [{"name": "out_png", "type": "png"}], "position": {"left": 3397.70849609375, "top": 1056.2708740234375}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1", "tool_shed_repository": {"changeset_revision": "aa0c474463c2", "name": "scanpy_plot", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": \"false\"}, \"format\": \"png\", \"method\": {\"method\": \"pl.pca_overview\", \"__current_case__\": 12, \"color\": \"phase\", \"use_raw\": \"false\", \"sort_order\": \"true\", \"groups\": \"\", \"plot\": {\"components\": [], \"projection\": \"2d\", \"legend_loc\": \"right margin\", \"legend_fontsize\": null, \"legend_fontweight\": \"normal\", \"size\": null, \"color_map\": \"None\", \"palette\": \"rainbow\", \"frameon\": \"true\", \"ncols\": \"4\", \"wspace\": \"0.1\", \"hspace\": \"0.25\", \"title\": \"\"}, \"matplotlib_pyplot_scatter\": {\"alpha\": null, \"vmin\": null, \"vmax\": null, \"linewidths\": \"0.0\", \"edgecolors\": \"face\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.7.1+galaxy1", "type": "tool", "uuid": "500c400f-02e5-40ab-8e33-684ecef4aeff", "workflow_outputs": [{"label": null, "output_name": "out_png", "uuid": "908ff564-db8c-41e3-90e8-fee85df325d0"}]}, "22": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1", "errors": null, "id": 22, "input_connections": {"adata": {"id": 20, "output_name": "anndata_out"}}, "inputs": [], "label": null, "name": "Plot", "outputs": [{"name": "out_png", "type": "png"}], "position": {"left": 3411.70849609375, "top": 726.2291870117188}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/scanpy_plot/scanpy_plot/1.7.1+galaxy1", "tool_shed_repository": {"changeset_revision": "aa0c474463c2", "name": "scanpy_plot", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"adata\": {\"__class__\": \"ConnectedValue\"}, \"advanced_common\": {\"show_log\": \"false\"}, \"format\": \"png\", \"method\": {\"method\": \"pl.pca_overview\", \"__current_case__\": 12, \"color\": \"phase\", \"use_raw\": \"false\", \"sort_order\": \"true\", \"groups\": \"\", \"plot\": {\"components\": [], \"projection\": \"2d\", \"legend_loc\": \"right margin\", \"legend_fontsize\": null, \"legend_fontweight\": \"normal\", \"size\": null, \"color_map\": \"None\", \"palette\": \"rainbow\", \"frameon\": \"true\", \"ncols\": \"4\", \"wspace\": \"0.1\", \"hspace\": \"0.25\", \"title\": \"\"}, \"matplotlib_pyplot_scatter\": {\"alpha\": null, \"vmin\": null, \"vmax\": null, \"linewidths\": \"0.0\", \"edgecolors\": \"face\"}}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "1.7.1+galaxy1", "type": "tool", "uuid": "beb0ba6d-3a0f-4bec-a045-3cdf62053d6d", "workflow_outputs": [{"label": null, "output_name": "out_png", "uuid": "9737f727-e959-4773-b964-38b225b7c7ee"}]}}, "tags": ["single-cell", "10x", "transcriptomics"], "uuid": "29469b2b-101d-4670-a547-cd540fafd004", "version": 6}
diff --git a/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/test-data/annotation_header.tabular b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/test-data/annotation_header.tabular
new file mode 100644
index 00000000000000..bd735617c26107
--- /dev/null
+++ b/topics/single-cell/tutorials/scrna-case_cell-cycle/workflows/test-data/annotation_header.tabular
@@ -0,0 +1 @@
+CC_genes