From a56f038985f868c21d8a4d95ff744777c410f8b2 Mon Sep 17 00:00:00 2001 From: 3mmaRand <7593411+3mmaRand@users.noreply.github.com> Date: Fri, 6 Oct 2023 13:51:05 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=203mmaRand?= =?UTF-8?q?/BIO00088H-data@4af4fd392152893ede4509fc14c0b0268e95c533=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- about.html | 417 ---------- core/week-2/workshop.html | 58 +- omics/omics.html | 42 +- omics/week-3/images/fastaq_file_format.png | Bin 49333 -> 0 bytes omics/week-3/overview.html | 27 +- omics/week-3/study_after_workshop.html | 6 +- omics/week-3/study_before_workshop.html | 45 +- omics/week-3/workshop.html | 17 +- search.json | 891 +++++++++++---------- 9 files changed, 572 insertions(+), 931 deletions(-) delete mode 100644 about.html delete mode 100644 omics/week-3/images/fastaq_file_format.png diff --git a/about.html b/about.html deleted file mode 100644 index c3d4b3f..0000000 --- a/about.html +++ /dev/null @@ -1,417 +0,0 @@ - - - - - - - - - - -Data Analysis for Group Project - About - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - - - -
- -
-
-

About

-
- - - -
- - -
-
Published
-
-

6 October, 2023

-
-
- - -
- - -
- -

About this site

- - - -
- -
- - - - - \ No newline at end of file diff --git a/core/week-2/workshop.html b/core/week-2/workshop.html index 379c1c1..f972386 100644 --- a/core/week-2/workshop.html +++ b/core/week-2/workshop.html @@ -425,15 +425,15 @@

Workshop

ls -l
total 136
-drwxr-xr-x 2 runner docker  4096 Oct  6 12:36 data
-drwxr-xr-x 2 runner docker  4096 Oct  6 12:36 images
--rw-r--r-- 1 runner docker  1597 Oct  6 12:36 overview.qmd
--rw-r--r-- 1 runner docker   184 Oct  6 12:36 study_after_workshop.qmd
--rw-r--r-- 1 runner docker 69876 Oct  6 12:38 study_before_workshop.html
--rw-r--r-- 1 runner docker  4807 Oct  6 12:36 study_before_workshop.ipynb
--rw-r--r-- 1 runner docker 13029 Oct  6 12:36 study_before_workshop.qmd
--rw-r--r-- 1 runner docker  8550 Oct  6 12:36 workshop.qmd
--rw-r--r-- 1 runner docker  8564 Oct  6 12:38 workshop.rmarkdown
+drwxr-xr-x 2 runner docker 4096 Oct 6 13:48 data +drwxr-xr-x 2 runner docker 4096 Oct 6 13:48 images +-rw-r--r-- 1 runner docker 1597 Oct 6 13:48 overview.qmd +-rw-r--r-- 1 runner docker 184 Oct 6 13:48 study_after_workshop.qmd +-rw-r--r-- 1 runner docker 69876 Oct 6 13:50 study_before_workshop.html +-rw-r--r-- 1 runner docker 4807 Oct 6 13:48 study_before_workshop.ipynb +-rw-r--r-- 1 runner docker 13029 Oct 6 13:48 study_before_workshop.qmd +-rw-r--r-- 1 runner docker 8550 Oct 6 13:48 workshop.qmd +-rw-r--r-- 1 runner docker 8564 Oct 6 13:50 workshop.rmarkdown

You can use more than one option at once. The -h option stands for “human readable” and makes the file sizes easier to understand for humans:

@@ -441,15 +441,15 @@

Workshop

ls -hl
total 136K
-drwxr-xr-x 2 runner docker 4.0K Oct  6 12:36 data
-drwxr-xr-x 2 runner docker 4.0K Oct  6 12:36 images
--rw-r--r-- 1 runner docker 1.6K Oct  6 12:36 overview.qmd
--rw-r--r-- 1 runner docker  184 Oct  6 12:36 study_after_workshop.qmd
--rw-r--r-- 1 runner docker  69K Oct  6 12:38 study_before_workshop.html
--rw-r--r-- 1 runner docker 4.7K Oct  6 12:36 study_before_workshop.ipynb
--rw-r--r-- 1 runner docker  13K Oct  6 12:36 study_before_workshop.qmd
--rw-r--r-- 1 runner docker 8.4K Oct  6 12:36 workshop.qmd
--rw-r--r-- 1 runner docker 8.4K Oct  6 12:38 workshop.rmarkdown
+drwxr-xr-x 2 runner docker 4.0K Oct 6 13:48 data +drwxr-xr-x 2 runner docker 4.0K Oct 6 13:48 images +-rw-r--r-- 1 runner docker 1.6K Oct 6 13:48 overview.qmd +-rw-r--r-- 1 runner docker 184 Oct 6 13:48 study_after_workshop.qmd +-rw-r--r-- 1 runner docker 69K Oct 6 13:50 study_before_workshop.html +-rw-r--r-- 1 runner docker 4.7K Oct 6 13:48 study_before_workshop.ipynb +-rw-r--r-- 1 runner docker 13K Oct 6 13:48 study_before_workshop.qmd +-rw-r--r-- 1 runner docker 8.4K Oct 6 13:48 workshop.qmd +-rw-r--r-- 1 runner docker 8.4K Oct 6 13:50 workshop.rmarkdown

The -a option stands for “all” and shows us all the files, including hidden files.

@@ -457,17 +457,17 @@

Workshop

ls -alh
total 144K
-drwxr-xr-x 4 runner docker 4.0K Oct  6 12:38 .
-drwxr-xr-x 5 runner docker 4.0K Oct  6 12:37 ..
-drwxr-xr-x 2 runner docker 4.0K Oct  6 12:36 data
-drwxr-xr-x 2 runner docker 4.0K Oct  6 12:36 images
--rw-r--r-- 1 runner docker 1.6K Oct  6 12:36 overview.qmd
--rw-r--r-- 1 runner docker  184 Oct  6 12:36 study_after_workshop.qmd
--rw-r--r-- 1 runner docker  69K Oct  6 12:38 study_before_workshop.html
--rw-r--r-- 1 runner docker 4.7K Oct  6 12:36 study_before_workshop.ipynb
--rw-r--r-- 1 runner docker  13K Oct  6 12:36 study_before_workshop.qmd
--rw-r--r-- 1 runner docker 8.4K Oct  6 12:36 workshop.qmd
--rw-r--r-- 1 runner docker 8.4K Oct  6 12:38 workshop.rmarkdown
+drwxr-xr-x 4 runner docker 4.0K Oct 6 13:50 . +drwxr-xr-x 5 runner docker 4.0K Oct 6 13:50 .. +drwxr-xr-x 2 runner docker 4.0K Oct 6 13:48 data +drwxr-xr-x 2 runner docker 4.0K Oct 6 13:48 images +-rw-r--r-- 1 runner docker 1.6K Oct 6 13:48 overview.qmd +-rw-r--r-- 1 runner docker 184 Oct 6 13:48 study_after_workshop.qmd +-rw-r--r-- 1 runner docker 69K Oct 6 13:50 study_before_workshop.html +-rw-r--r-- 1 runner docker 4.7K Oct 6 13:48 study_before_workshop.ipynb +-rw-r--r-- 1 runner docker 13K Oct 6 13:48 study_before_workshop.qmd +-rw-r--r-- 1 runner docker 8.4K Oct 6 13:48 workshop.qmd +-rw-r--r-- 1 runner docker 8.4K Oct 6 13:50 workshop.rmarkdown

You can move about with the cd command, which stands for “change directory”. You can use it to move into a directory by specifying the path to the directory:

diff --git a/omics/omics.html b/omics/omics.html index 9709fc1..9295ed0 100644 --- a/omics/omics.html +++ b/omics/omics.html @@ -283,21 +283,47 @@

Omics Data Analysis for Group Project

Content

Omics 1: Hello data!

-

before - sequence data fundamentals - where have the data come from - processing so far - why log2 - overarching aims

-

workshop - set up a project and create the organisation - meta data - open in understanding the data numbers of variables, organisation - importing - exploring, what kind of values are they, how many missing - qc plots - removing the useless, writing to files

-

after - document what you have done - format your figures

+

This week you will meet your data. The independent study will concisely cover how these data were generated and how they have been processed before being given to you. There will also be an overview of the analysis we will carry out over three workshops. In the workshop, you will learn what steps to take to get a good understanding of ’omics data before you consider any statistical analysis. This is an often overlooked, but very valuable and informative, part of any data pipeline. It gives you the deep understanding of the data structures and values that you will need to code and trouble-shoot code, allows you to spot failed or problematic samples and informs your decisions on quality control.

Omics 2: Statisitcal Analysis

-

before - which genes matter: expression, DE - goal of DE - how does DE work - multiple testing: FDR - say what comparisons we will do

+

before

+

workshop - open project import the data - revise! - prep for DE - lists of genes - writing to files

-

after - document what you have done - repeat on another comparison

+

after

+

Omics 3: Visualising and Interpreting

-

before - recap what we have - volcano plot described - GO terms -

-

workshop - open project import the data - revise! - volcano plot - kable table? knitr::kable(df) |> kableExtra::kable_styling() - annotating with go terms

-

after - document what you have done - repeat on another comparison

+

before

+ +

workshop

+ +

after

+
diff --git a/omics/week-3/images/fastaq_file_format.png b/omics/week-3/images/fastaq_file_format.png deleted file mode 100644 index b2376d10c23b20fd407bb0720d55f29bf867b4a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49333 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 - +
-

xxxxx

+

This week you will meet your data. The independent study will concisely cover how these data were generated and how they have been processed before being given to you. There will also be an overview of the analysis we will carry out over three workshops. In the workshop, you will learn what steps to take to get a good understanding of ’omics data before you consider any statistical analysis. This is an often overlooked, but very valuable and informative, part of any data pipeline. It gives you the deep understanding of the data structures and values that you will need to code and trouble-shoot code, allows you to spot failed or problematic samples and informs your decisions on quality control.

Learning objectives

+

The successful student will be able to:

    -
  • dd
  • -
  • dd.
  • -
  • dd
  • -
  • d
  • +
  • explore ’omics data to find the number of rows and columns and know how these correspond to samples and variables
  • +
  • explore the distribution of expression measures across whole data sets, across variables and across samples by summarising and plotting
  • +
  • explain what distributions are expected and interpret the distributions they have
  • +
  • explain on what basis we might filter out variables or samples
  • +
  • import, explore and filter ’omics data reproducibly so they can understand and reuse their code in the future
@@ -282,7 +293,7 @@

Instructions

  1. Prepare

      -
    1. 📖 Read how the data were generated and how they have been processed so far.
    2. +
    3. 📖 Read how the data were generated and how they have been processed so far, insstall
  2. Workshop

      diff --git a/omics/week-3/study_after_workshop.html b/omics/week-3/study_after_workshop.html index 3a76d1b..bbad953 100644 --- a/omics/week-3/study_after_workshop.html +++ b/omics/week-3/study_after_workshop.html @@ -65,7 +65,7 @@ - +
      @@ -239,7 +239,9 @@
      - +
      diff --git a/omics/week-3/study_before_workshop.html b/omics/week-3/study_before_workshop.html index 246d05e..29caa3b 100644 --- a/omics/week-3/study_before_workshop.html +++ b/omics/week-3/study_before_workshop.html @@ -361,22 +361,12 @@

      Independent Study to prepare for workshop

Omics workshops

+

What the data are and something about what has been done to the raw data to get get.

  • 🐸 the difference between the control and the FGF treated sibling at S30
  • 🐭 the difference between HSPC and Prog cells
  • 🍂 ???????
-

See later workshops.

-
-
-

Sequence Data

-
    -
  • reads
  • -
  • quality control
  • -
  • align/pseudoalign
  • -
  • quantify
  • -
  • normalise
  • -

Aims

@@ -389,6 +379,18 @@

Aims

+
+

Sequence Data

+
    +
  • The raw data are “reads” from a sequencing machine. Reads are short sequences of DNA or RNA.

  • +
  • The reads are aligned to a reference genome or transcriptome. The reads are then counted to quantify the expression of each gene. The counts are normalised to allow comparison between samples.

  • +
  • reads

  • +
  • quality control

  • +
  • align/pseudoalign

  • +
  • quantify

  • +
  • normalise

  • +
+

What is a read

    @@ -397,8 +399,7 @@

    What is a read

  • sequences and information about each sequence’s read accuracy
- -
+

Differential expression

    @@ -411,9 +412,9 @@

    Differential expression

    Stem cells: background

    Cells were sorted using flow cytometry on the basis of cell surface markers. There are three cell types:

      -
    • long-term haematopoetic stem cells (LT-HSCs) defined as : Lineage- ckit+ Sca1+ CD34- Flk2-

    • -
    • haematopoetic stem and progenitor cells (HSPCs) defined as : Lineage- Sca1+ ckit+

    • -
    • progenitor cells (Progs) defined as : Lineage- Sca1- ckit+

    • +
    • long-term haematopoetic stem cells (LT-HSCs)

    • +
    • haematopoetic stem and progenitor cells (HSPCs)

    • +
    • progenitor cells (Progs)

    Each cell is then sequenced to quantify all the transcripts in each cell. different transcripts (genes) were identified.

@@ -423,7 +424,7 @@

Stem cells: background

  • Raw data: GEO Series GSE81682
  • Illumina HiSeq
  • short reads 150-300bp
  • -
  • A single-cell resolution map of mouse hematopoietic stem and progenitor cell differentiation (Nestorowa et al. 2016)
  • +
  • A single-cell resolution map of mouse hematopoietic stem and progenitor cell differentiation (Nestorowa et al. 2016)
  • 3,840 samples
  • Reads were aligned using G-SNAP and the mapped reads were assigned to Ensembl genes HTSeq
  • GSE81682_HTSeq_counts.txt.gz (bottom of the page). And GSE81682_HTSeq_counts.txt.zip
  • @@ -459,7 +460,7 @@

    Frog development: background

  • Raw data: GEO Series GSE81682
  • Illumina HiSeq
  • short reads 150-300bp
  • -
  • A single-cell resolution map of mouse hematopoietic stem and progenitor cell differentiation (Nestorowa et al. 2016)
  • +
  • A single-cell resolution map of mouse hematopoietic stem and progenitor cell differentiation (Nestorowa et al. 2016)
  • 3,840 samples
  • Reads were aligned using G-SNAP and the mapped reads were assigned to Ensembl genes HTSeq
  • GSE81682_HTSeq_counts.txt.gz (bottom of the page). And GSE81682_HTSeq_counts.txt.zip
  • @@ -482,7 +483,7 @@

    Frog development: Aims

    -
    +

    Deliverables

    1. Describe the data

      @@ -505,6 +506,12 @@

      Deliverables

    2. Interpret the biology by reporting on a few group of genes and the processes in which they are involved.

    3. Report on your chosen genes and explain why you think they are good candidates for follow up work

    +
    +
    +

    revise pivot longer

    +
    +
    +

    revise pivot longer

    Notice that I have used cell as the column name rather than sample and expr (expression) rather than count. I’ve also added the standard deviation.

    🎬 View the hspc_summary_samp dataframe (click on it in the environment).

    -

    All cells have quite a few zeros and the lower quartile is 0 for al cells, i.e., every cell has many genes with zero expression.

    +

    All cells have quite a few zeros and the lower quartile is 0 for all cells, i.e., every cell has many genes with zero expression.

    To get a better understanding of the distribution of expressions in cells we can create a ggplot using the pointrange geom. Pointrange puts a dot at the mean and a line between a minimum and a maximum such as +/- one s.d. Not unlike a boxplot, but when you need the boxes too be very narrow!

    🎬 Create a pointrange plot.

    @@ -2045,7 +2047,7 @@

    Workshop

    🎬 Plot the logged mean counts for each gene in order of size using geom_pointrange():

    hspc_summary_gene |> 
    -  ggplot(aes(x = reorder(ensembl_gene_id, mean), y = mean))+
    +  ggplot(aes(x = reorder(ensembl_gene_id, mean), y = mean)) +
       geom_pointrange(aes(ymin = mean - sd, 
                           ymax = mean + sd),
                       size = 0.1)
    @@ -2058,12 +2060,12 @@

    Workshop

    Filtering for QC

    🐸 Frog filtering

    Our samples look to be similarly well sequenced. There are no samples we should remove. However, some genes are not express or the expression values are so low in for a gene that they are uninformative. We will filter the s30_summary_gene dataframe to obtain a list of xenbase_gene_id we can use to filter s30.

    -

    My suggestion is to include only the genes with counts in all 6 or 5 out of 6 samples and those with total counts above 20.

    +

    My suggestion is to include only the genes with counts in at least 3 samples3 and those with total counts above 20.

    🎬 Filter the summary by gene dataframe:

    s30_summary_gene_filtered <- s30_summary_gene |> 
       filter(total > 20) |> 
    -  filter(n_zero < 2)
    + filter(n_zero < 4)

    🎬 Write the filtered summary by gene to file:

    @@ -2081,7 +2083,7 @@

    Workshop

    file = "data-processed/s30_filtered.csv")

    🐭 Mouse filtering

    -

    I would take a different approach to filtering the single cell data. For the Frog samples we are examining the control and the FGF treated samples. This means have a low number of counts overall means the gene is not really expressed (detected) in any condition, and filtering out those genes is removing things that definitely are not interesting. For the mice, we have examined only one cell type but will be making comparisons between cells types. It may be that low expression of a gene in this cell type tells us something if that gene is highly expressed in another cell type. Instead, we will make statistical comparisons between the cell types and then filter based on overall expression, the difference in expression between cell types and whether that difference is significant.

    +

    We will take a different approach to filtering the single cell data. For the Frog samples we are examining the control and the FGF treated samples. This means have a low number of counts overall means the gene is not really expressed (detected) in any condition, and filtering out those genes is removing things that definitely are not interesting. For the mice, we have examined only one cell type but will be making comparisons between cells types. It may be that low expression of a gene in this cell type tells us something if that gene is highly expressed in another cell type. Instead, we will make statistical comparisons between the cell types and then filter based on overall expression, the difference in expression between cell types and whether that difference is significant.

    The number of “replicates” is also important. When you have only three in each group it is not possible to make statistical comparisons when several replicates are zero. This is less of an issue with single cell data.

    🤗 Look after future you!

    You need only do the section for your own project data

    @@ -2089,6 +2091,8 @@

    Workshop

    🎬 Create a new Project, frogs-88H, populated with folders and your data. Make a script file called cont-fgf-s30.R. This will a be commented analysis of the control vs FGF at S30 comparison. You will build on this each workshop and be able to use it as a template to examine other comparisons. Copy in the appropriate code and comments from workshop-1.R. Edit to improve your comments where your understanding has developed since you made them. Make sure you can close down RStudio, reopen it and run your whole script again.

    🐭 Mice and future you

    🎬 Create a new Project, mice-88H, populated with folders and your data. Make a script file called hspc-prog.R. This will a be commented analysis of the hspc cells vs the prog cells. At this point you will have only code for the hspc cells. You will build on this each workshop and be able to use it as a template to examine other comparisons. Copy in the appropriate code and comments from workshop-1.R. Edit to improve your comments where your understanding has developed since you made them. Make sure you can close down RStudio, reopen it and run your whole script again.

    +

    🍂 xxxx and future you

    +

    🎬 Create a new Project, xxxx-88H, populated with folders and your data. Make a script file called xxxx.R. This will a be commented analysis of t xxxxxxxxxxxx.

    🥳 Finished

    Well Done!

    Independent study following the workshop

    @@ -2124,6 +2128,7 @@

    Workshop

    1. This a result of the Central limit theorem,one consequence of which is that adding together lots of distributions - whatever distributions they are - will tend to a normal distribution.↩︎

    2. This a result of the Central limit theorem,one consequence of which is that adding together lots of distributions - whatever distributions they are - will tend to a normal distribution.↩︎

    3. +
    4. I chose three because that would keep [0, 0, 0] [#,#,#]. This is difference we cannot test statistically, but which would matter biologically.↩︎

    @@ -239,7 +239,16 @@
    - +
    @@ -267,14 +276,16 @@

    Overview