diff --git a/.github/workflows/build_book.yml b/.github/workflows/build_book.yml index e51ff393..b74774f9 100644 --- a/.github/workflows/build_book.yml +++ b/.github/workflows/build_book.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: build-book: - runs-on: ubuntu-latest + runs-on: ubuntu-22-04 steps: - uses: actions/checkout@v4 @@ -34,7 +34,7 @@ jobs: run: make pdfhtml: - runs-on: ubuntu-latest + runs-on: ubuntu-22-04 steps: - uses: actions/checkout@v4 diff --git a/jupyter-book/cellular_structure/annotation.ipynb b/jupyter-book/cellular_structure/annotation.ipynb index 060abc1c..dff87886 100644 --- a/jupyter-book/cellular_structure/annotation.ipynb +++ b/jupyter-book/cellular_structure/annotation.ipynb @@ -342,7 +342,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We furthermore set our adata.var.highly_variable to the highly deviant genes. Scanpy uses this var column in downstream calculations, such as the PCA below" + "We furthermore set our `adata.var.highly_variable` to the highly deviant genes. Scanpy uses this var column in downstream calculations, such as the PCA below" ] }, { @@ -1243,7 +1243,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Let's try out both the Immune_All_Low and Immune_All_High models (these annotate immune cell types finer annotation level (low) and coarser (high)):" + "Let's try out both the `Immune_All_Low` and `Immune_All_High` models (these annotate immune cell types finer annotation level (low) and coarser (high)):" ] }, { @@ -1867,7 +1867,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The table has both gene names and gene ids. As gene ids are usually less subject to change over genome annotation versions, we will use those to subset our data. We will therefore set our row names for both our adata and the reference model features to gene_ids. Importantly, we have to make sure to also store the gene names for later use: these are much easier to understand than the gene ids. " + "The table has both gene names and gene IDs. As gene IDs are usually less subject to change over genome annotation versions, we will use those to subset our data. We will therefore set our row names for both our adata and the reference model features to `gene_ids`. Importantly, we have to make sure to also store the gene names for later use: these are much easier to understand than the gene IDs. " ] }, { @@ -2066,7 +2066,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Finally, this reference model used adata.obs['batch'] as our batch variable. We will therefore check that we have this set to one value for our entire sample:" + "Finally, this reference model used `adata.obs['batch']` as our batch variable. We will therefore check that we have this set to one value for our entire sample:" ] }, { diff --git a/jupyter-book/conditions/differential_gene_expression.ipynb b/jupyter-book/conditions/differential_gene_expression.ipynb index 15fe4bce..b02ef331 100644 --- a/jupyter-book/conditions/differential_gene_expression.ipynb +++ b/jupyter-book/conditions/differential_gene_expression.ipynb @@ -592,7 +592,7 @@ "id": "9de82644", "metadata": {}, "source": [ - "We need to clean up the cell type names, i.e. replace spaces with underscores and remove + symbols, to avoid Python to R conversion issues." + "We need to clean up the cell type names, i.e. replace spaces with underscores and remove plus-signs, to avoid Python to R conversion issues." ] }, { @@ -1882,7 +1882,7 @@ "As is the case whenever multiple statistical tests are performed, the obtained p-values for DGE tests over conditions must be corrected for multiple testing using, for example, a Benjamini-Hochberg correction{cite}`de:Lücken2019`,{cite}`Benjamini1995`.\n", "\n", "Similarly to edgeR analysis, we define a separate function that we use for the analysis:\n", - "- `find_de_MAST_RE` takes a SingleCellExperiment object as input and runs MAST with RE pipeline. The output of the function is a table (pandas DataFrame in Python) which contains results of the analysis, e.g. log-fold change, p-value and FDR-corrected value for each gene." + "- `find_de_MAST_RE` takes a `SingleCellExperiment` object as input and runs MAST with RE pipeline. The output of the function is a table (pandas DataFrame in Python) which contains results of the analysis, e.g. log-fold change, p-value and FDR-corrected value for each gene." ] }, { diff --git a/jupyter-book/introduction/scrna_seq.md b/jupyter-book/introduction/scrna_seq.md index 8d92b39c..02b982bc 100644 --- a/jupyter-book/introduction/scrna_seq.md +++ b/jupyter-book/introduction/scrna_seq.md @@ -122,7 +122,7 @@ RNA-Seq largely follows the DNA sequencing protocols, but includes a reverse tra Sequencing RNA allows scientists to obtain snapshots of cells, tissues or organisms at the time of sequencing in the form of expression profiles of genes. This information can be used to detect changes in disease states in response to therapeutics, under different environmental conditions, when comparing genotypes and other experimental designs. -Modern RNA sequencing allows for an unbiased sampling of transcripts in contrast to for example microarray based assays or {term}`RT-qPCR`, which require probe design to specifically target the regions of interest. +Modern RNA sequencing allows for an unbiased sampling of transcripts in contrast to, for example, microarray based assays or {term}`RT-qPCR`, which require probe design to specifically target the regions of interest. The obtained gene expression profiles further enable the detection of gene isoforms, gene fusions, single nucleotide variants, and many other interesting properties. Modern RNA sequencing is not limited by prior knowledge and allows for the capture of both known and novel features, resulting in rich data sets that can be used for exploratory data analysis.