diff --git a/topics/single-cell/faqs/single_cell_omics.md b/topics/single-cell/faqs/single_cell_omics.md new file mode 100644 index 00000000000000..9f4a3a5f9222d4 --- /dev/null +++ b/topics/single-cell/faqs/single_cell_omics.md @@ -0,0 +1,15 @@ +--- +title: Use our single cell Galaxy instance +area: Resources +box_type: tip +layout: faq +contributors: [nomadscientist] +--- + +Did you know we have a unique Galaxy instance with all our single cell tools highlighted to make it easier to use? We recommend this instance for all your single cell analysis needs, particularly for newer users. + +This **subdomain** is uses the main European Galaxy infrastructure and power, it's just organised better for users of particular analyses...like single cell! + +Try it out! All your histories/workflows/logins from the general [European Galaxy instance](https://usegalaxy.eu) will be there! + + - [Single cell omics Galaxy instance](https://singlecell.usegalaxy.eu) diff --git a/topics/single-cell/faqs/user_community_join.md b/topics/single-cell/faqs/user_community_join.md new file mode 100644 index 00000000000000..b89df8ecd37ac1 --- /dev/null +++ b/topics/single-cell/faqs/user_community_join.md @@ -0,0 +1,13 @@ +--- +title: How can I talk with other users? +area: Community +box_type: tip +layout: faq +contributors: [nomadscientist] +--- + +To discuss with like-minded scientists, join our Matrix/Element chatroom to discuss with fellow users of Galaxy single cell analysis tools! + +[![Matrix](/training-material/topics/single-cell/images/matrix-badge.svg)](https://matrix.to/#/#Galaxy-Training-Network_galaxy-single-cell:gitter.im) + +We also post new tutorials / workflows there from time to time, as well as any other news. diff --git a/topics/single-cell/images/matrix-badge.jpeg b/topics/single-cell/images/matrix-badge.jpeg new file mode 100644 index 00000000000000..d34c4e440fd394 Binary files /dev/null and b/topics/single-cell/images/matrix-badge.jpeg differ diff --git a/topics/single-cell/images/matrix-badge.png b/topics/single-cell/images/matrix-badge.png new file mode 100644 index 00000000000000..d34c4e440fd394 Binary files /dev/null and b/topics/single-cell/images/matrix-badge.png differ diff --git a/topics/single-cell/images/matrix-badge.svg b/topics/single-cell/images/matrix-badge.svg new file mode 100644 index 00000000000000..9e09a58053e9ab --- /dev/null +++ b/topics/single-cell/images/matrix-badge.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + matrix + matrix + join chat + join chat + + diff --git a/topics/single-cell/index.md b/topics/single-cell/index.md index 764a87b1fcfb41..6e3a7fb7ad44a2 100644 --- a/topics/single-cell/index.md +++ b/topics/single-cell/index.md @@ -7,5 +7,6 @@ topic_name: single-cell If you want to help us behind the scenes, from testing workflows and tutorials to building tools, join our Galaxy Single Cell Community of Practice! - - [Matrix Chat Forum](https://matrix.to/#/#usegalaxy-eu_single-cell-workflows:gitter.im) + - [Community of Practice](https://galaxyproject.org/projects/singlecell/) + - [Matrix Chat Forum](https://matrix.to/#/#usegalaxy-eu_single-cell-workflows:gitter.im) - [Mailing List](https://lists.galaxyproject.org/lists/single-cell-cop.lists.galaxyproject.org/) diff --git a/topics/single-cell/metadata.yaml b/topics/single-cell/metadata.yaml index 9c86d34223e36f..6329d73201669b 100644 --- a/topics/single-cell/metadata.yaml +++ b/topics/single-cell/metadata.yaml @@ -4,8 +4,8 @@ type: use title: Single Cell summary: | Training material and practicals for all kinds of single cell analysis (particularly scRNA-seq!). When you generate your lovely gene lists for your cells, consider checking out our Transcriptomics tutorials for further network analysis! - - What else do you want to see? You can submit tool and/or tutorial request on our [Single Cell Community Tool Request Spreadsheet](https://docs.google.com/spreadsheets/d/15hqgqA-RMDhXR-ylKhRF-Dab9Ij2arYSKiEVoPl2df4/edit?usp=sharing). + + What else do you want to see? You can submit tool and/or tutorial request on our [Single Cell Community Tool Request Spreadsheet](https://docs.google.com/spreadsheets/d/15hqgqA-RMDhXR-ylKhRF-Dab9Ij2arYSKiEVoPl2df4/edit?usp=sharing). {: .alert.alert-success} #docker_image: "quay.io/galaxy/transcriptomics-training" diff --git a/topics/single-cell/tutorials/bulk-music-2-preparescref/tutorial.md b/topics/single-cell/tutorials/bulk-music-2-preparescref/tutorial.md index 04f8d704507b86..72ea8d79eaa9d7 100644 --- a/topics/single-cell/tutorials/bulk-music-2-preparescref/tutorial.md +++ b/topics/single-cell/tutorials/bulk-music-2-preparescref/tutorial.md @@ -38,10 +38,8 @@ follow_up_training: tags: - single-cell - - human - - deconvolution - - bulk - transcriptomics + - data management --- @@ -424,3 +422,5 @@ You have successfully performed, essentially, three workflows. You can find the With these workflows, you've created three Expression Set objects, capable of running in the MuSiC Compare tutorial. Now you just need the bulk RNA-seq Expression Set objects! This tutorial is part of the [https://singlecell.usegalaxy.eu](https://singlecell.usegalaxy.eu) portal ({% cite tekman2020single %}). + +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/bulk-music-3-preparebulk/tutorial.md b/topics/single-cell/tutorials/bulk-music-3-preparebulk/tutorial.md index c258d29479c0b2..6f7de7e3febb85 100644 --- a/topics/single-cell/tutorials/bulk-music-3-preparebulk/tutorial.md +++ b/topics/single-cell/tutorials/bulk-music-3-preparebulk/tutorial.md @@ -3,7 +3,7 @@ layout: tutorial_hands_on subtopic: datamanipulation priority: 2 -title: Bulk matrix to ESet object | Creating the bulk RNA-seq dataset for deconvolution +title: Bulk matrix to ESet | Creating the bulk RNA-seq dataset for deconvolution zenodo_link: 'https://zenodo.org/record/7319173' questions: - Where can I find good quality RNA-seq datasets? @@ -26,10 +26,8 @@ contributions: tags: - single-cell - - human - - deconvolution - - bulk - transcriptomics + - data management requirements: - @@ -304,3 +302,5 @@ You can find the [workflow for generating the ESet object](https://usegalaxy.eu/ ![7 boxes in the workflow editor and a subworkflow box for converting Ensembl to GeneSymbol](../../images/bulk-music/workflow-bulk.png "Workflow: Generating the bulk ESet Objects") This tutorial is part of the [https://singlecell.usegalaxy.eu](https://singlecell.usegalaxy.eu) portal ({% cite tekman2020single %}). + +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/bulk-music-4-compare/tutorial.md b/topics/single-cell/tutorials/bulk-music-4-compare/tutorial.md index 17e2f6d3423d4f..7fb15a2165adf1 100644 --- a/topics/single-cell/tutorials/bulk-music-4-compare/tutorial.md +++ b/topics/single-cell/tutorials/bulk-music-4-compare/tutorial.md @@ -6,10 +6,6 @@ title: Comparing inferred cell compositions using MuSiC deconvolution zenodo_link: https://zenodo.org/record/7319925 tags: - single-cell - - mouse - - human - - deconvolution - - bulk - transcriptomics questions: - How do the cell type distributions vary in bulk RNA samples across my variable of interest? @@ -63,7 +59,7 @@ In the standard MuSiC tutorial, we used human pancreas data. We will now use the ![Three colours of arrows connect bulk healthy & diseased data sets to a combined single cell (altogether); bulk healthy and single cell healthy & bulk diseased with single cell diseased (like4like); and bulk diseased and healthy with the single cell healthy reference (healthyscref).](../../images/bulk-music/comparison.png "Plan of analysis") -If you have followed the previous tutorials, you will have built your [single cell ESet object]({% link topics/single-cell/tutorials/bulk-music-2-preparescref/tutorial.md %}) and your [bulk ESet object]({% link topics/single-cell/tutorials/bulk-music-3-preparebulk/tutorial.md %}), then you can copy these into a new history now. Otherwise, follow the steps below to import the datasets you'll need. +If you have followed the previous tutorials, you will have built your [single cell ESet object]({% link topics/single-cell/tutorials/bulk-music-2-preparescref/tutorial.md %}) and your [bulk ESet object]({% link topics/single-cell/tutorials/bulk-music-3-preparebulk/tutorial.md %}), then you can copy these into a new history now. Otherwise, follow the steps below to import the datasets you'll need. {% snippet faqs/galaxy/histories_copy_dataset.md %} @@ -281,3 +277,5 @@ Congrats! You've made it to the end of this suite of deconvolution tutorials! Yo ![Workflow editor showing 5 inputs and 3 runs of the MuSiC Compare tool](../../images/bulk-music/compare_workflow.png "MuSiC Compare Tutorial Workflow") This tutorial is part of the [https://singlecell.usegalaxy.eu](https://singlecell.usegalaxy.eu) portal ({% cite tekman2020single %}). + +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/bulk-music/tutorial.md b/topics/single-cell/tutorials/bulk-music/tutorial.md index 7917696f4c2b71..221bca8daa952d 100644 --- a/topics/single-cell/tutorials/bulk-music/tutorial.md +++ b/topics/single-cell/tutorials/bulk-music/tutorial.md @@ -8,10 +8,6 @@ priority: 1 zenodo_link: https://zenodo.org/record/5719228 tags: - single-cell - - mouse - - human - - deconvolution - - bulk - transcriptomics questions: - How do we infer cell type proportions from bulk RNA-seq data? @@ -285,7 +281,7 @@ For now we need to construct our Expression set objects that will be consumed by Here we shall build two ExpressionSet objects corresponding to the bulk and single-cell datatypes. -### **Construct Expression Set Object** +### Construct Expression Set Object > Build the Expression Set inputs > @@ -304,7 +300,7 @@ Here we shall build two ExpressionSet objects corresponding to the bulk and sing > {: .hands_on} -#### **Inspect Expression Set Object** +#### Inspect Expression Set Object We will now inspect these objects we just created to see what information we can extract out of them, and how these multiple datasets are summarized within the object. @@ -511,7 +507,7 @@ Both the MuSiC and the NNLS calculations of this data is best represented in the You will need to again create ExpressionSet objects, as before. -### **Construct Expression Set Object** +### Construct Expression Set Object > Build the Expression Set inputs > @@ -666,3 +662,5 @@ Note how two ExpressionSet objects are constructed: one from bulk RNA-seq tabula ![workflow_dendro.png](../../images/bulk-music/workflow_dendro.png "Workflow for generating a dendrogram and clustering cells upon it") This tutorial is part of the [https://singlecell.usegalaxy.eu](https://singlecell.usegalaxy.eu) portal ({% cite tekman2020single %}). + +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/scanpy_parameter_iterator/tutorial.md b/topics/single-cell/tutorials/scanpy_parameter_iterator/tutorial.md index da15c35e5ef717..f3d3d5089d790d 100644 --- a/topics/single-cell/tutorials/scanpy_parameter_iterator/tutorial.md +++ b/topics/single-cell/tutorials/scanpy_parameter_iterator/tutorial.md @@ -35,7 +35,6 @@ key_points: tags: - single-cell -- tips&tricks contributions: authorship: @@ -51,11 +50,11 @@ contributions: # Introduction -The magic of bioinformatic analysis is that we use maths, statistics and complicated algorithms to deal with huge amounts of data to help us investigate biology. However, analysis is not always straightforward – each tool has various parameters to select. Eventually, we can end up with very different outcomes depending on the values we choose. With analysing scRNA-seq data, it’s almost like you need to know about 75% of your data, then make sure your analysis shows that, for you to then be able to identify the 25% new information. +The magic of bioinformatic analysis is that we use maths, statistics and complicated algorithms to deal with huge amounts of data to help us investigate biology. However, analysis is not always straightforward – each tool has various parameters to select. Eventually, we can end up with very different outcomes depending on the values we choose. With analysing scRNA-seq data, it’s almost like you need to know about 75% of your data, then make sure your analysis shows that, for you to then be able to identify the 25% new information. Given the vast array of values that we can specify in the tool parameters, how can we know if the values we choose are the most optimal ones - or at least good enough? Well, we can try different values in our workflow and then compare the outputs to see which is consistent with our understanding of the underlying biology. But can we do this efficiently, at scale, to test multiple values? -And here the Parameter Iterator comes in – it allows us to test different variables quickly and easily. This tutorial will show you how to use Parameter Iterator to generate multiple outputs with different parameter values in one go. +And here the Parameter Iterator comes in – it allows us to test different variables quickly and easily. This tutorial will show you how to use Parameter Iterator to generate multiple outputs with different parameter values in one go. {% snippet faqs/galaxy/tutorial_mode.md %} @@ -72,7 +71,7 @@ And here the Parameter Iterator comes in – it allows us to test different vari # Get Data The data used in this tutorial is from a mouse dataset of fetal growth restriction ({% cite Bacon2018 %}). You can download the dataset below or import the history with the starting data. -Here are several ways of getting our toy dataset – choose whichever you like! +Here are several ways of getting our toy dataset – choose whichever you like! > Option 1: Data upload - Import history > @@ -89,7 +88,7 @@ Here are several ways of getting our toy dataset – choose whichever you like! > > 1. Create a new history for this tutorial > -> 2. Import the files from [Zenodo]({{ page.zenodo_link }}) +> 2. Import the files from [Zenodo]({{ page.zenodo_link }}) > > ``` > {{ page.zenodo_link }}/files/Scanpy_RunPCA_AnnData_object.h5ad @@ -134,7 +133,7 @@ There are two formats of the input values: # Number of neighbours to derive kNN graph (for **Scanpy ComputeGraph** {% icon tool %}) -We will now use **Scanpy ComputeGraph** {% icon tool %} to derive the k-nearest neighbour (kNN) graph from our PCA values. We can use the Parameter Iterator to check how the different k values of nearest neighbours will affect the final outcome. It is important that **k neighbours is an integer**. +We will now use **Scanpy ComputeGraph** {% icon tool %} to derive the k-nearest neighbour (kNN) graph from our PCA values. We can use the Parameter Iterator to check how the different k values of nearest neighbours will affect the final outcome. It is important that **k neighbours is an integer**. > Float vs integer > Using ‘Step increase values to be iterated’ as the format of the input values automatically generates float values instead of integers. Float, or floating point numbers, are values with a 'floating' decimal point. To avoid float values, you must use ‘List of all parameter values to be iterated’ as your chosen values. @@ -148,16 +147,16 @@ The kNN graph will be needed for plotting a UMAP. According to the [UMAP develop > - *"Parameter type"*: `n-neighbours` > - *"Choose the format of the input values"*: `List of all parameter values to be iterated` > - *"User input values"*: `5,10,15,20,25,30,35,40` -> +> > 2. **Rename** {% icon galaxy-pencil %} the resulting list of datasets: `Parameter iterated - n-neighbours` (you have to first click on the collection so that you see the datasets, and then rename it) -> -> 3. **Tag** {% icon galaxy-tags %} each dataset with its corresponding value: +> +> 3. **Tag** {% icon galaxy-tags %} each dataset with its corresponding value: > - navigate to *Show hidden* ({% icon galaxy-show-hidden %} icon) > - add tags accordingly - *n-neighbours_10*: `#n-neighbours_10` etc. -> - If you want to refresh your memory on how to add tags to datasets, have a look here: +> - If you want to refresh your memory on how to add tags to datasets, have a look here: > > {% snippet faqs/galaxy/datasets_add_tag.md %} -> +> {: .hands_on} @@ -180,16 +179,16 @@ The output of the Parameter Iterator is the list of datasets. We will be working > {: .hands_on} -You should now see the output is also a collection. If you click on that, you will see Anndata files, differing only by the n-neighbour value. +You should now see the output is also a collection. If you click on that, you will see Anndata files, differing only by the n-neighbour value. -Now you have two options, either: +Now you have two options, either: - pick one of the generated output files and proceed to the next tool with another parameter iteration; or - continue with the current collection of datasets. We choose the second option as only then you will be able to see the effect of using different nearest neighbour values. However, the disadvantage of this option is that you have to select only one value for the subsequent parameters in the workflow in order to see the changes in the final plots. > Why only one Parameter Iteration at a time? -> Iterating the parameters within one tool will give you a list with X datasets: each dataset is the output with the given parameter value. However, if you want to use Parameter Iterator again within another tool, specifying Y parameter values, you **will not** get X x Y datasets as you might expect. Therefore you have to choose **just one** output file to be passed on to the next tool which will use Parameter Iterator again. Alternatively, you can use Parameter Iterator once and run the rest of the tools on dataset collection with just one parameter value. +> Iterating the parameters within one tool will give you a list with X datasets: each dataset is the output with the given parameter value. However, if you want to use Parameter Iterator again within another tool, specifying Y parameter values, you **will not** get X x Y datasets as you might expect. Therefore you have to choose **just one** output file to be passed on to the next tool which will use Parameter Iterator again. Alternatively, you can use Parameter Iterator once and run the rest of the tools on dataset collection with just one parameter value. {: .comment} Where are we now in our workflow? @@ -198,7 +197,7 @@ Where are we now in our workflow? > Complete the workflow > > 1. {% tool [Scanpy RunTSNE](toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_run_tsne/scanpy_run_tsne/1.8.1+galaxy9) %} with the following parameters: -> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy ComputeGraph on collection X: Graph object AnnData (n-neighbours)` +> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy ComputeGraph on collection X: Graph object AnnData (n-neighbours)` > - *"Use the indicated representation"*: `X_pca` > - *"Use programme defaults"*: {% icon history-share %} `No` > - *"The perplexity is related to the number of nearest neighbours, select a value between 5 and 50"*: `30` @@ -206,13 +205,13 @@ Where are we now in our workflow? > 1A. **Rename** {% icon galaxy-pencil %} the Anndata object collection output: `Scanpy RunTSNE on collection X: tSNE object AnnData (n-neighbours)` (you have to first click on the collection so that you see the datasets, and then rename it) > > 2. {% tool [Scanpy RunUMAP](toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_run_umap/scanpy_run_umap/1.8.1+galaxy9) %} with the following parameters: -> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy RunTSNE on collection X: tSNE object AnnData (n-neighbours)` +> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy RunTSNE on collection X: tSNE object AnnData (n-neighbours)` > - *"Use programme defaults"*: {% icon history-share %} `Yes` > > 2A. **Rename** {% icon galaxy-pencil %} the Anndata object collection output: `Scanpy RunUMAP on collection X: UMAP object AnnData (n-neighbours)` (you have to first click on the collection so that you see the datasets, and then rename it) > > 3. {% tool [Scanpy FindCluster](toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_find_cluster/scanpy_find_cluster/1.8.1+galaxy9) %} with the following parameters: -> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy RunUMAP on collection X: UMAP object AnnData` +> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy RunUMAP on collection X: UMAP object AnnData` > - *"Use programme defaults"*: {% icon history-share %} `No` > - *"Resolution, high value for more and smaller clusters"*: `0.6` > @@ -220,7 +219,7 @@ Where are we now in our workflow? > {: .hands_on} -The differences will only appear in the UMAP embedding, so we’ll plot only them. However, when you run your own analysis, you might want to check if there are changes in other embeddings as well. +The differences will only appear in the UMAP embedding, so we’ll plot only them. However, when you run your own analysis, you might want to check if there are changes in other embeddings as well. > Plot UMAP embedding > @@ -236,9 +235,9 @@ If you click on the resulting collection you will see several plots. Click on {% ![Eight graphs showing the differences between UMAP embeddings caused by different values of k nearest neighbours.](../../images/scrna-casestudy_parameter-iterator/n_neighbours.png "Comparison of UMAP embedding with different values of k nearest neighbours, perplexity set to 30 and resolution to 0.6.") -If you compare the UMAP graphs, you can see the differences that were caused by changing the value of k nearestneighbours. Relying on your biological knowledge, you can now choose which parameter value works best and use it for further analysis. +If you compare the UMAP graphs, you can see the differences that were caused by changing the value of k nearestneighbours. Relying on your biological knowledge, you can now choose which parameter value works best and use it for further analysis. -We will go forward with k value equal to 15. But hang on, we’ve been working on a collection and not a single dataset! How can we access that one dataset with the n-neighbour = 15? +We will go forward with k value equal to 15. But hang on, we’ve been working on a collection and not a single dataset! How can we access that one dataset with the n-neighbour = 15? Here is the answer: The datasets that are included in the collections can be accessed separately if you go to your history and click on *Show hidden* ({% icon galaxy-show-hidden %} icon). You can bring each individual dataset to the visible and active datasets by clicking *Unhide*. @@ -252,7 +251,7 @@ Here is the answer: The datasets that are included in the collections can be acc # Perplexity (for **Scanpy RunTSNE** {% icon tool %}) -Let’s have another look at our wee workflow. +Let’s have another look at our wee workflow. ![Image showing the step we are at: after Scanpy RunPCA and Scanpy ComputeGraph from which we will take one dataset to pass on to Scanpy RunTSNE with Parameter Iterator.](../../images/scrna-casestudy_parameter-iterator/workflow_perplexity.png "We will take one dataset from the Scanpy ComputeGraph as the input to Scanpy RunTSNE and use the Parameter Iterator with the perplexity parameter.") @@ -266,25 +265,25 @@ The next tool in our workflow is Scanpy RunTSNE, which contains the perplexity p > - *"Starting value"*: `15` > - *"Step"*: `5` > - *"Ending value"*: `45` -> +> > 2. **Rename** {% icon galaxy-pencil %} the resulting list of datasets: `Parameter iterated - perplexity` (you have to first click on the collection so that you see the datasets, and then rename it) -> -> 3. **Tag** {% icon galaxy-tags %} each dataset with its corresponding value: +> +> 3. **Tag** {% icon galaxy-tags %} each dataset with its corresponding value: > - navigate to *Show hidden* ({% icon galaxy-show-hidden %} icon) > - add tags accordingly - *perplexity_15*: `#perplexity_15` etc. -> - If you want to refresh your memory on how to add tags to datasets, have a look here: +> - If you want to refresh your memory on how to add tags to datasets, have a look here: > > {% snippet faqs/galaxy/datasets_add_tag.md %} -> +> > {: .hands_on} > RunTSNE with iterated parameter > 1. {% tool [Scanpy RunTSNE](toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_run_tsne/scanpy_run_tsne/1.8.1+galaxy9) %} with the following parameters: -> - {% icon param-file %} *"Input object in AnnData/Loom format"*: `Scanpy ComputeGraph on data X and data Y: Graph object AnnData` with the tag `#n-neighbours_15` +> - {% icon param-file %} *"Input object in AnnData/Loom format"*: `Scanpy ComputeGraph on data X and data Y: Graph object AnnData` with the tag `#n-neighbours_15` > - *"Use the indicated representation"*: `X_pca` > - *"Use programme defaults"*: {% icon history-share %} `No` -> - *"The perplexity is related to the number of nearest neighbours"*: +> - *"The perplexity is related to the number of nearest neighbours"*: > - Click on {% icon param-collection %} (*Dataset collection*) > - Choose `Parameter iterated - perplexity` > @@ -292,17 +291,17 @@ The next tool in our workflow is Scanpy RunTSNE, which contains the perplexity p > {: .hands_on} -Changing the value of perplexity will only affect the tSNE graphs, so we can complete the workflow and compare the tSNE plots to choose the best value for further analysis. +Changing the value of perplexity will only affect the tSNE graphs, so we can complete the workflow and compare the tSNE plots to choose the best value for further analysis. > Complete the workflow > 1. {% tool [Scanpy RunUMAP](toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_run_umap/scanpy_run_umap/1.8.1+galaxy9) %} with the following parameters: -> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy RunTSNE on collection X: tSNE object AnnData (perplexity)` +> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy RunTSNE on collection X: tSNE object AnnData (perplexity)` > - *"Use programme defaults"*: {% icon history-share %} `Yes` > > 1A. **Rename** {% icon galaxy-pencil %} the Anndata object collection output: `Scanpy RunUMAP on collection X: UMAP object AnnData (perplexity)` (you have to first click on the collection so that you see the datasets, and then rename it) > > 2. {% tool [Scanpy FindCluster](toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_find_cluster/scanpy_find_cluster/1.8.1+galaxy9) %} with the following parameters: -> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy RunUMAP on collection X: UMAP object AnnData (perplexity)` +> - {% icon param-collection %} *"Input object in AnnData/Loom format"* (make sure you choose *Dataset collection*): `Scanpy RunUMAP on collection X: UMAP object AnnData (perplexity)` > - *"Use programme defaults"*: {% icon history-share %} `No` > - *"Resolution, high value for more and smaller clusters"*: `0.6` > @@ -311,7 +310,7 @@ Changing the value of perplexity will only affect the tSNE graphs, so we can com {: .hands_on} > -> In *Use programme defaults* you can specify *Additional suffix to the name of the slot to save the embedding* – if it’s included, PERPLEXITY will be substituted with the value of the perplexity setting. However, in that case you will get an error when using **Scanpy PlotEmbed**: due to the value included in the entry name, the tool will not recognise the correct embedding. Therefore, we leave that box unfilled even though it would make it easier to differentiate between datasets. +> In *Use programme defaults* you can specify *Additional suffix to the name of the slot to save the embedding* – if it’s included, PERPLEXITY will be substituted with the value of the perplexity setting. However, in that case you will get an error when using **Scanpy PlotEmbed**: due to the value included in the entry name, the tool will not recognise the correct embedding. Therefore, we leave that box unfilled even though it would make it easier to differentiate between datasets. {: .warning} @@ -347,7 +346,7 @@ The input data for the **Scanpy FindCluster** {% icon tool %} is the output of * > {: .hands_on} -The last tool that we can use Parameter Iterator for is **Scanpy FindCluster** {% icon tool %}. We will iterate over the resolution values. In this case, those values can be floats, so you can use either ‘List of all parameter values to be iterated’ or ‘Step increase values to be iterated’. Keep in mind that when it comes to the resolution, a high value means more and smaller clusters. +The last tool that we can use Parameter Iterator for is **Scanpy FindCluster** {% icon tool %}. We will iterate over the resolution values. In this case, those values can be floats, so you can use either ‘List of all parameter values to be iterated’ or ‘Step increase values to be iterated’. Keep in mind that when it comes to the resolution, a high value means more and smaller clusters. > Set your values in Parameter Iterator > @@ -357,23 +356,23 @@ The last tool that we can use Parameter Iterator for is **Scanpy FindCluster** { > - *"Starting value"*: `0.2` > - *"Step"*: `0.2` > - *"Ending value"*: `1.4` -> +> > 2. **Rename** {% icon galaxy-pencil %} the resulting list of datasets: `Parameter iterated - resolution` (you have to first click on the collection so that you see the datasets, and then rename it) -> -> 3. **Tag** {% icon galaxy-tags %} each dataset with its corresponding value: +> +> 3. **Tag** {% icon galaxy-tags %} each dataset with its corresponding value: > - navigate to *Show hidden* ({% icon galaxy-show-hidden %} icon) > - add tags accordingly - *resolution_0.2*: `#resolution_0.2` etc. -> - If you want to refresh your memory on how to add tags to datasets, have a look here: +> - If you want to refresh your memory on how to add tags to datasets, have a look here: > -> {% snippet faqs/galaxy/datasets_add_tag.md %} +> {% snippet faqs/galaxy/datasets_add_tag.md %} > {: .hands_on} > FindCluster with iterated parameter > 1. {% tool [Scanpy FindCluster](toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_find_cluster/scanpy_find_cluster/1.8.1+galaxy9) %} with the following parameters: -> - {% icon param-file %} *"Input object in AnnData/Loom format"*: `Scanpy RunUMAP on data X: UMAP object AnnData` with the tags `#n-neighbours_15` and `#perplexity_30` +> - {% icon param-file %} *"Input object in AnnData/Loom format"*: `Scanpy RunUMAP on data X: UMAP object AnnData` with the tags `#n-neighbours_15` and `#perplexity_30` > - *"Use programme defaults"*: {% icon history-share %} `No` -> - *"File with resolution, use with parameter iterator. Overrides the resolution setting"*: +> - *"File with resolution, use with parameter iterator. Overrides the resolution setting"*: > - Click on {% icon param-collection %} (*Dataset collection*) > - Choose `Parameter iterated - resolution` > @@ -381,7 +380,7 @@ The last tool that we can use Parameter Iterator for is **Scanpy FindCluster** { > {: .hands_on} -You can see the effect of resolution parameter on all embeddings: UMAP, tSNE and PCA so you can plot them all and compare the granularity of the clusters. It is also useful to see how the equal increments affect the clustering and what is the rate of change of the granularity. +You can see the effect of resolution parameter on all embeddings: UMAP, tSNE and PCA so you can plot them all and compare the granularity of the clusters. It is also useful to see how the equal increments affect the clustering and what is the rate of change of the granularity. > Plot the embeddings > @@ -414,18 +413,20 @@ That’s the last tool in our workflow which uses Parameter Iterator! Let’s ha ![Graphs showing the differences between UMAP embeddings caused by different values of resolution.](../../images/scrna-casestudy_parameter-iterator/resolution_umap.png "Comparison of UMAP embedding with different values of resolution, with n-neighbours set to 15 and perplexity to 30.") > -> Still not sure which value works best? For more explanation and in-depth analysis, please read through [this tutorial]({% link topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md %}). Hopefully it will give you more insight into interpretation of the resulting plots. +> Still not sure which value works best? For more explanation and in-depth analysis, please read through [this tutorial]({% link topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md %}). Hopefully it will give you more insight into interpretation of the resulting plots. {: .comment} # Additional steps -- It may happen that some of the values you choose will give an error, but some will work fine. In that case, you can use {% icon tool %} **Filter failed datasets** tool to remove datasets with errors from a collection. +- It may happen that some of the values you choose will give an error, but some will work fine. In that case, you can use {% icon tool %} **Filter failed datasets** tool to remove datasets with errors from a collection. -- If you still haven’t found an answer that would help you with the parameter iteration in your own analysis, check out [another workflow](https://usegalaxy.eu/published/workflow?id=8f677efac7100097) which has some extra steps, not directly related to our analysis. But it might contain steps that would be helpful for you. +- If you still haven’t found an answer that would help you with the parameter iteration in your own analysis, check out [another workflow](https://usegalaxy.eu/published/workflow?id=8f677efac7100097) which has some extra steps, not directly related to our analysis. But it might contain steps that would be helpful for you. # Conclusion -You might want to compare your results with this [control history](https://usegalaxy.eu/u/j.jakiela/h/scanpy-parameter-iterator-updated), or check out the [workflow](https://usegalaxy.eu/u/j.jakiela/w/scanpy-parameter-iterator-workflow) for this tutorial. You can also continue to analyse this data by returning to the [Filter, Plot and Explore]({% link topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md %}) tutorial. +You might want to compare your results with this [control history](https://usegalaxy.eu/u/j.jakiela/h/scanpy-parameter-iterator-updated), or check out the [workflow](https://usegalaxy.eu/u/j.jakiela/w/scanpy-parameter-iterator-workflow) for this tutorial. You can also continue to analyse this data by returning to the [Filter, Plot and Explore]({% link topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md %}) tutorial. + +{% icon congratulations %} You have finished the tutorial! You have learned how to use the Parameter Iterator with the nearest neighbours, perplexity and resolution parameters. You also compared multiple outputs resulting from the analysis using different values at three different steps (Scanpy ComputeGraph, Scanpy RunTSNE and Scanpy FindCluster). Hopefully this tool will help you more quickly assess parameter values, ultimately helping you choose values that both confirm prior knowledge as well as offer new insights on biological data. -{% icon congratulations %} You have finished the tutorial! You have learned how to use the Parameter Iterator with the nearest neighbours, perplexity and resolution parameters. You also compared multiple outputs resulting from the analysis using different values at three different steps (Scanpy ComputeGraph, Scanpy RunTSNE and Scanpy FindCluster). Hopefully this tool will help you more quickly assess parameter values, ultimately helping you choose values that both confirm prior knowledge as well as offer new insights on biological data. +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/scatac-preprocessing-tenx/tutorial.md b/topics/single-cell/tutorials/scatac-preprocessing-tenx/tutorial.md index 06c902d3756912..538df1a53f82e4 100644 --- a/topics/single-cell/tutorials/scatac-preprocessing-tenx/tutorial.md +++ b/topics/single-cell/tutorials/scatac-preprocessing-tenx/tutorial.md @@ -10,6 +10,7 @@ zenodo_link: "https://zenodo.org/record/7855968" tags: - single-cell - 10x + - epigenetics questions: - What is 10X? - What are single-cell ATAC fragments and MTX files? diff --git a/topics/single-cell/tutorials/scrna-case-cell-annotation/slides.html b/topics/single-cell/tutorials/scrna-case-cell-annotation/slides.html index 5de79754b1e39f..b0c0d037900acf 100644 --- a/topics/single-cell/tutorials/scrna-case-cell-annotation/slides.html +++ b/topics/single-cell/tutorials/scrna-case-cell-annotation/slides.html @@ -15,7 +15,10 @@ - "Recognise the common issues and be able to resolve them" subtopic: scintroduction -priority: 5 +priority: 4 + +tags: + - single-cell key_points: - "Automated cell annotation is a useful tool for automatically assigning cell type labels to cell data." @@ -136,9 +139,9 @@ In order to manually annotate cell data you would first need to reduce the number of dimensions in your data so that you can produce cluster maps, this is done using a reduction method (PCA, tSNE, UMAP, etc) -Now that your data has been separated into distinct clusters you now need to manually annotate each individual cluster. This is typically done using known marker genes and their associated cell types. +Now that your data has been separated into distinct clusters you now need to manually annotate each individual cluster. This is typically done using known marker genes and their associated cell types. -The figure shows a graph for each marker gene we are interested in, it can be seen that each marker gene is only present in certain areas of our data, ideally these areas will be individual clusters. +The figure shows a graph for each marker gene we are interested in, it can be seen that each marker gene is only present in certain areas of our data, ideally these areas will be individual clusters. --- @@ -243,7 +246,7 @@ .pull-left[ -- Trains a statistical classifier on reference data to predict cell types +- Trains a statistical classifier on reference data to predict cell types - Requires clean reference data for good quality models diff --git a/topics/single-cell/tutorials/scrna-case-jupyter_basic-pipeline/tutorial.md b/topics/single-cell/tutorials/scrna-case-jupyter_basic-pipeline/tutorial.md index 4923d7a713adae..220c240daf6923 100644 --- a/topics/single-cell/tutorials/scrna-case-jupyter_basic-pipeline/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case-jupyter_basic-pipeline/tutorial.md @@ -1,7 +1,7 @@ --- layout: tutorial_hands_on -title: Filter, Plot and Explore Single-cell RNA-seq Data (Python) +title: Filter, plot and explore single-cell RNA-seq data (Scanpy, Python) subtopic: single-cell-CS-code priority: 2 zenodo_link: 'https://zenodo.org/record/7053673' @@ -32,7 +32,6 @@ tags: - single-cell - 10x - paper-replication -- transcriptomics contributions: authorship: diff --git a/topics/single-cell/tutorials/scrna-case_FilterPlotandExploreRStudio/tutorial.md b/topics/single-cell/tutorials/scrna-case_FilterPlotandExploreRStudio/tutorial.md index dbdeb1fcd19bd0..916acf3cf05faa 100644 --- a/topics/single-cell/tutorials/scrna-case_FilterPlotandExploreRStudio/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case_FilterPlotandExploreRStudio/tutorial.md @@ -1,7 +1,7 @@ --- layout: tutorial_hands_on -title: 'Filter, Plot, and Explore with Seurat in RStudio' +title: 'Filter, plot, and explore single cell RNA-seq data (Seurat, R)' subtopic: single-cell-CS-code priority: 2 zenodo_link: 'https://zenodo.org/record/7053673' @@ -36,8 +36,8 @@ requirements: tags: - single-cell -- seurat -- rstudio +- 10x +- paper-replication contributions: authorship: diff --git a/topics/single-cell/tutorials/scrna-case_JUPYTER-trajectories/tutorial.md b/topics/single-cell/tutorials/scrna-case_JUPYTER-trajectories/tutorial.md index 8b6137293bd36d..61f96b1e00863f 100644 --- a/topics/single-cell/tutorials/scrna-case_JUPYTER-trajectories/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case_JUPYTER-trajectories/tutorial.md @@ -1,7 +1,7 @@ --- layout: tutorial_hands_on -title: Inferring Trajectories using Scanpy (Python) +title: Inferring single cell trajectories (Scanpy, Python) subtopic: single-cell-CS-code priority: 3 zenodo_link: 'https://zenodo.org/record/7075718' @@ -34,9 +34,6 @@ tags: - single-cell - 10x - paper-replication -- interactive-tools -- transcriptomics -- jupyter-notebook contributions: authorship: diff --git a/topics/single-cell/tutorials/scrna-case_alevin-combine-datasets/tutorial.md b/topics/single-cell/tutorials/scrna-case_alevin-combine-datasets/tutorial.md index 11fa7d2b7f1ec8..7deadde21717f5 100644 --- a/topics/single-cell/tutorials/scrna-case_alevin-combine-datasets/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case_alevin-combine-datasets/tutorial.md @@ -1,7 +1,7 @@ --- layout: tutorial_hands_on -title: "Combining datasets after pre-processing" +title: "Combining single cell datasets after pre-processing" subtopic: single-cell-CS priority: 2 @@ -27,8 +27,7 @@ tags: - single-cell - 10x - paper-replication - - español - - transcriptomics + contributions: authorship: @@ -49,8 +48,6 @@ requirements: - scrna-umis - scrna-case_alevin -translations: - - es gitter: Galaxy-Training-Network/galaxy-single-cell @@ -87,7 +84,7 @@ You can access the data for this tutorial in multiple ways: {% snippet faqs/galaxy/histories_copy_dataset.md %} -2. **Importing from a history** +2. **Importing from a history** - You can import [this history for usegalaxy.eu](https://usegalaxy.eu/u/wendi.bacon.training/h/cs2combining-datasets-after-pre-processing---input-1) - You can import [this history for usegalaxy.org](https://usegalaxy.org/u/hrukkudyr_us/h/cs2combining-datasets-after-pre-processing---input) @@ -127,10 +124,7 @@ Inspect the {% icon galaxy-eye %} `Experimental Design` text file. This shows yo {% snippet faqs/galaxy/tutorial_mode.md %} -> -> - The Galaxy tool search panel sometimes doesn't find the tools we need from the thousands available. -> - You'll have a much easier time selecting tools from the panel (if you aren't using tutorial mode!) if you are on the [https://humancellatlas.usegalaxy.eu](https://humancellatlas.usegalaxy.eu) -{: .comment} +{% snippet topics/single-cell/faqs/single_cell_omics.md %} ## Concatenating objects @@ -356,5 +350,4 @@ It's important to note that this matrix is processed somewhat through the SCXA p You've reached the end of this session! You may be interested in seeing an [example history](https://usegalaxy.eu/u/wendi.bacon.training/h/cs2combining-datasets-answerkey) and [workflow](https://usegalaxy.eu/u/wendi.bacon.training/w/cs2combining-datasets-after-pre-processing-1). Note that the workflow will require changing of the `column` containing the batch metadata depending on how you are running it. The final object containing the total the reads can be found in [this Galaxy History on UseGalaxy EU](https://usegalaxy.eu/u/wendi.bacon.training/h/cs2combining-datasets-after-pre-processing--total-processed-to-single-object). - To discuss with like-minded scientists, join our Gitter channel for all things Galaxy-single cell! - [![Gitter](https://badges.gitter.im/Galaxy-Training-Network/galaxy-single-cell.svg)](https://gitter.im/Galaxy-Training-Network/galaxy-single-cell?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/scrna-case_alevin/tutorial.md b/topics/single-cell/tutorials/scrna-case_alevin/tutorial.md index 4d6d437723ef76..72f076dcc3bef2 100644 --- a/topics/single-cell/tutorials/scrna-case_alevin/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case_alevin/tutorial.md @@ -28,8 +28,6 @@ tags: - single-cell - 10x - paper-replication - - español - - transcriptomics contributions: authorship: @@ -49,9 +47,6 @@ requirements: - scrna-intro - scrna-umis -translations: - - es - gitter: Galaxy-Training-Network/galaxy-single-cell follow_up_training: @@ -153,10 +148,7 @@ Additionally, to map your reads, you will need a transcriptome to align against {% snippet faqs/galaxy/tutorial_mode.md %} -> -> - The Galaxy tool search panel sometimes doesn't find the tools we need from the thousands available. -> - You'll have a much easier time selecting tools from the panel (if you aren't using tutorial mode!) if you are on the [https://humancellatlas.usegalaxy.eu](https://humancellatlas.usegalaxy.eu) -{: .comment} +{% snippet topics/single-cell/faqs/single_cell_omics.md %} ## Generate a transcript to gene map @@ -225,7 +217,7 @@ We can now run Alevin. In some public instances, Alevin won't show up if you sea > Running Alevin > -> 1. {% tool [Alevin](toolshed.g2.bx.psu.edu/repos/bgruening/alevin/alevin/1.9.0+galaxy2) %} +> 1. {% tool [Alevin](toolshed.g2.bx.psu.edu/repos/bgruening/alevin/alevin/1.9.0+galaxy2) %} > > > > > @@ -264,7 +256,7 @@ We can now run Alevin. In some public instances, Alevin won't show up if you sea > Alevin file names > -> You will notice that the names of the output files of Alevin are written in a certain convention, mentioning which tool was used and on which files, for example: *"Alevin on data X, data Y, and others: whitelist"*. Remember that you can always rename the files if you wish! For simplicity, when we refer to those files in the tutorial, we skip the information about tool and only use the second part of the name - in this case it would be simply *"whitelist"*. +> You will notice that the names of the output files of Alevin are written in a certain convention, mentioning which tool was used and on which files, for example: *"Alevin on data X, data Y, and others: whitelist"*. Remember that you can always rename the files if you wish! For simplicity, when we refer to those files in the tutorial, we skip the information about tool and only use the second part of the name - in this case it would be simply *"whitelist"*. {: .comment} This tool will take a while to run. Alevin produces many file outputs, not all of which we'll use. You can refer to the [Alevin documentation](https://salmon.readthedocs.io/en/latest/alevin.html) if you're curious what they all are, but we're most interested in is: @@ -533,7 +525,7 @@ This sample was originally one of seven. So to run the other [12 downsampled FAS # Mitochondrial flagging -We have assumed you will be combining multiple files - but if that's not the case, you'll need to perform this step to turn your column of `true` and `false` labelling the mitochondrial genes into some metrics telling you the % of mitochondrial genes in each cell. You can follow that step here: [Mitochondrial calculations](https://training.galaxyproject.org/training-material/topics/single-cell/tutorials/scrna-case_alevin-combine-datasets/tutorial.html#mitochondrial-reads). +We have assumed you will be combining multiple files - but if that's not the case, you'll need to perform this step to turn your column of `true` and `false` labelling the mitochondrial genes into some metrics telling you the % of mitochondrial genes in each cell. You can follow that step here in the **Mithochondrial reads** section in the following tutorial: [Combining datasets with Alevin tutorial]({% link topics/single-cell/tutorials/scrna-case_alevin-combine-datasets/tutorial.md %}). # Conclusion @@ -547,5 +539,4 @@ We have: * Deployed barcode rank plots as a way of quickly assessing the signal present in droplet datasets. * Applied the necessary conversion to pass these data to downstream processes. - To discuss with like-minded scientists, join our Gitter channel for all things Galaxy-single cell! - [![Gitter](https://badges.gitter.im/Galaxy-Training-Network/galaxy-single-cell.svg)](https://gitter.im/Galaxy-Training-Network/galaxy-single-cell?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md b/topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md index 5daf011261a055..6d9fe8e3c0a124 100644 --- a/topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md @@ -1,7 +1,7 @@ --- layout: tutorial_hands_on -title: Filter, Plot and Explore Single-cell RNA-seq Data +title: Filter, plot and explore single-cell RNA-seq data (Scanpy) subtopic: single-cell-CS priority: 3 zenodo_link: 'https://zenodo.org/record/7053673' @@ -35,8 +35,7 @@ tags: - single-cell - 10x - paper-replication -- español -- transcriptomics + contributions: authorship: @@ -46,8 +45,7 @@ contributions: - wee-snufkin testing: - wee-snufkin -translations: - - es + follow_up_training: - @@ -115,10 +113,7 @@ You can access the data for this tutorial in multiple ways: {% snippet faqs/galaxy/tutorial_mode.md %} -> -> - The Galaxy tool search panel sometimes doesn't find the tools we need from the thousands available. -> - You'll have a much easier time selecting tools from the panel (if you aren't using tutorial mode!) if you are on the [https://humancellatlas.usegalaxy.eu](https://humancellatlas.usegalaxy.eu) -{: .comment} +{% snippet topics/single-cell/faqs/single_cell_omics.md %} # Filtering @@ -566,7 +561,7 @@ Next up, we're going to scale our data so that all genes have the same variance {% icon congratulations %} Congratulations! You have processed your object! > -> At this point, we might want to remove or regress out the effects of unwanted variation on our data. A common example of this is the cell cycle, which can affect which genes are expressed and how much material is present in our cells. If you’re interested in learning how to do this, then you can move over to the [Removing the Effects of the Cell Cycle]({% link topics/single-cell/tutorials/scrna-case_cell-cycle/tutorial.md %}) tutorial now – then return here to complete your analysis. +> At this point, we might want to remove or regress out the effects of unwanted variation on our data. A common example of this is the cell cycle, which can affect which genes are expressed and how much material is present in our cells. If you’re interested in learning how to do this, then you can move over to the [Removing the Effects of the Cell Cycle]({% link topics/single-cell/tutorials/scrna-case_cell-cycle/tutorial.md %}) tutorial now – then return here to complete your analysis. {: .comment} # Preparing coordinates @@ -968,9 +963,9 @@ Be warned - this visualisation tool is a powerful option for exploring your data > For those that did not take the 'control' options, please > 1. **Rename** your history (by clicking on the history title) as `DECISION-Filtering and Plotting Single-cell RNA-seq Data` > 2. Add a history annotation {% icon history-annotate %} that includes which parameters you changed/steps you changed from the *control* -> +> > {% snippet faqs/galaxy/histories_sharing.md %} -> +> > 3. Feel free to explore any other similar histories {: .details} @@ -978,5 +973,4 @@ Be warned - this visualisation tool is a powerful option for exploring your data In this tutorial, you moved from technical processing to biological exploration. By analysing real data - both the exciting and the messy! - you have, hopefully, experienced what it's like to analyse and question a dataset, potentially without clear cut-offs or clear answers. If you were working in a group, you each analysed the data in different ways, and most likely found similar insights. One of the biggest problems in analysing scRNA-seq is the lack of a clearly defined pathway or parameters. You have to make the best call you can as you move through your analysis, and ultimately, when in doubt, try it multiple ways and see what happens! -To discuss with like-minded scientists, join our Gitter channel for all things Galaxy-single cell! -[![Gitter](https://badges.gitter.im/Galaxy-Training-Network/galaxy-single-cell.svg)](https://gitter.im/Galaxy-Training-Network/galaxy-single-cell?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +{% snippet topics/single-cell/faqs/user_community_join.md %} 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 70eccb170fd8eb..ec34332a6b6f02 100644 --- a/topics/single-cell/tutorials/scrna-case_cell-cycle/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case_cell-cycle/tutorial.md @@ -26,7 +26,6 @@ key_points: tags: - single-cell - 10x -- transcriptomics contributions: authorship: @@ -133,10 +132,7 @@ In addition to the scRNA-seq dataset, we will also need lists of the genes that {% snippet faqs/galaxy/tutorial_mode.md %} -> -> - The Galaxy tool search panel sometimes doesn't find the tools we need from the thousands available. -> - You'll have a much easier time selecting tools from the panel (if you aren't using tutorial mode!) if you are on the [https://humancellatlas.usegalaxy.eu](https://humancellatlas.usegalaxy.eu) -{: .comment} +{% snippet topics/single-cell/faqs/single_cell_omics.md %} # Cell Cycle Scoring @@ -373,7 +369,7 @@ We will need to add the annotation to both the annotated dataset `CellCycle_Anno ## Filter the cell cycle genes -To demonstrate the power of cell cycle regression, we're going to reduce our expression matrices to contain only the 97 cell cycle genes. This will force our dimension reduction and plotting to be based entirely on cell cycle genes. You wouldn't do this during analysis, but for proof of principle, let's go for it! +To demonstrate the power of cell cycle regression, we're going to reduce our expression matrices to contain only the 97 cell cycle genes. This will force our dimension reduction and plotting to be based entirely on cell cycle genes. You wouldn't do this during analysis, but for proof of principle, let's go for it! > Filter the AnnData datasets > @@ -482,9 +478,9 @@ Comparing the before and after plots, we can clearly see that the effects of the > 1. What impact do you think the cell cycle regression will have when you analyse the whole dataset? What would happen if we plotted all of the genes from the main dataset? > > > -> > +> > > > 1. The regression reduces the impact of the cell cycle on the data - this is why the cells are less separated by phase afterwards. When we analyse the whole `CellCycle_Regressed` dataset, with all of the genes, this could allow other differences in gene expression to become more apparent. -> > +> > > > We wouldn't expect to see such clear distinctions in PCA plots created using all of the genes (not just the cell cycle ones), even before the regression. Although the cell cycle genes can have a significant effect, these won't be as obvious when other genes are also being taken into account. However, we will still see a difference after we regress out the effects of the cell cycle - the cells in different phases will become more mixed up together. How much of a difference the regression makes will depend on how strong the effects of the cell cycle are in a particular dataset - you can see the effects on this dataset below. You can also replicate these plots after completing the rest of the [Filter, Plot and Explore]({% link topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md %}) tutorial by colouring your PCA plots by phase. > > > > ![PCA plot showing some separation between cells in the G1, S and G2M Phases before regression](../../images/scrna-case_cell-cycle/CellCycle_PCA3.png "PCA Plot using all genes before regression") @@ -502,3 +498,5 @@ In this tutorial, you have annotated and scored the cell cycle genes and regress You might want to check your results against this [example history](https://humancellatlas.usegalaxy.eu/u/marisa_jl/h/removing-the-effects-of-the-cell-cycle---answer-key). You can now continue to analyse this data by returning to the Preparing coordinates step in the [Filter, Plot and Explore]({% link topics/single-cell/tutorials/scrna-case_basic-pipeline/tutorial.md %}) tutorial. If you use the `CellCycle_Regressed` dataset (which you may now want to rename as `Use_me_Scaled` since that is the name used in the main tutorial), you should notice some differences in your results compared to those shown there because the effects of the cell cycle have been regressed out. + +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/scrna-case_monocle3-rstudio/tutorial.md b/topics/single-cell/tutorials/scrna-case_monocle3-rstudio/tutorial.md index 89c27960bf7de1..e4ad6ecafc73b3 100644 --- a/topics/single-cell/tutorials/scrna-case_monocle3-rstudio/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case_monocle3-rstudio/tutorial.md @@ -1,7 +1,7 @@ --- layout: tutorial_hands_on -title: 'Inferring Trajectories using Monocle3 (R)' +title: 'Inferring single cell trajectories (Monocle3, R)' subtopic: single-cell-CS-code priority: 4 zenodo_link: 'https://zenodo.org/record/7455590' @@ -39,7 +39,7 @@ requirements: tags: - single-cell -- trajectory-analysis +- 10x - paper-replication contributions: diff --git a/topics/single-cell/tutorials/scrna-case_monocle3-trajectories/tutorial.md b/topics/single-cell/tutorials/scrna-case_monocle3-trajectories/tutorial.md index 83151934d68ba3..44367f9422bbb5 100644 --- a/topics/single-cell/tutorials/scrna-case_monocle3-trajectories/tutorial.md +++ b/topics/single-cell/tutorials/scrna-case_monocle3-trajectories/tutorial.md @@ -1,7 +1,7 @@ --- layout: tutorial_hands_on -title: 'Inferring trajectories using Monocle3' +title: 'Inferring single cell trajectories (Monocle3)' subtopic: single-cell-CS priority: 5 zenodo_link: 'https://zenodo.org/record/7078524' @@ -39,7 +39,6 @@ tags: - single-cell - 10x - paper-replication -- transcriptomics contributions: authorship: @@ -723,3 +722,5 @@ Last but not least, you can now identify genes that define the inferred trajecto ![A scheme connecting all the tools used in this tutorial.](../../images/scrna-casestudy-monocle/workflow.jpg "Full workflow for this tutorial.") If you're following the Case Study tutorials from the beginning, you have already experienced what it’s like to analyse and question a dataset, potentially without clear cut-offs or clear answers. You now know that trajectory analysis is even more sensitive to parameter values, so it's often trying to find the best set of values that would give the most reasonable results and go in accordance with biology. Moreover, not all trajectory analysis methods are designed to infer all kinds of biological processes - due to the fact that they use different algorithms, some would work better for analysing your sample. Since Monocle is quite widely used for trajectory analysis, it might be a good practice to compare its results with other methods. The more evidence you have to confirm your findings, the more confident you can be about their reliability! + +{% snippet topics/single-cell/faqs/user_community_join.md %} diff --git a/topics/single-cell/tutorials/scrna-intro/slides.html b/topics/single-cell/tutorials/scrna-intro/slides.html index d3af1bd3904f86..71488b02911182 100644 --- a/topics/single-cell/tutorials/scrna-intro/slides.html +++ b/topics/single-cell/tutorials/scrna-intro/slides.html @@ -12,9 +12,7 @@ - /topics/transcriptomics/tutorials/scrna-intro/slides tags: - single-cell - - español -translations: - - es + questions: - How are samples compared? - How are cells captured? diff --git a/topics/single-cell/tutorials/scrna-trajectories/slides.html b/topics/single-cell/tutorials/scrna-trajectories/slides.html index 4b1acdd3c0caaa..266ff4ef1c6ae2 100644 --- a/topics/single-cell/tutorials/scrna-trajectories/slides.html +++ b/topics/single-cell/tutorials/scrna-trajectories/slides.html @@ -17,8 +17,11 @@ redirect_from: - /topics/transcriptomics/tutorials/scrna-case_monocle3-trajectories/slides +tags: + - single-cell + subtopic: scintroduction -priority: 4 +priority: 5 key_points: - "Trajectory analysis in pseudotime is a powerful way to get insight into the differentiation and development of cells."