{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# DESeq2: Basic Differential Expression (DE) analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Objective: Carry out a basic set of DE analyses using DESeq2 and visualize the results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load packages" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Registered S3 methods overwritten by 'ggplot2':\n", " method from \n", " [.quosures rlang\n", " c.quosures rlang\n", " print.quosures rlang\n", "── \u001b[1mAttaching packages\u001b[22m ─────────────────────────────────────── tidyverse 1.2.1 ──\n", "\u001b[32m✔\u001b[39m \u001b[34mggplot2\u001b[39m 3.1.1 \u001b[32m✔\u001b[39m \u001b[34mpurrr \u001b[39m 0.3.2\n", "\u001b[32m✔\u001b[39m \u001b[34mtibble \u001b[39m 2.1.2 \u001b[32m✔\u001b[39m \u001b[34mdplyr \u001b[39m 0.8.1\n", "\u001b[32m✔\u001b[39m \u001b[34mtidyr \u001b[39m 0.8.3 \u001b[32m✔\u001b[39m \u001b[34mstringr\u001b[39m 1.4.0\n", "\u001b[32m✔\u001b[39m \u001b[34mreadr \u001b[39m 1.3.1 \u001b[32m✔\u001b[39m \u001b[34mforcats\u001b[39m 0.4.0\n", "── \u001b[1mConflicts\u001b[22m ────────────────────────────────────────── tidyverse_conflicts() ──\n", "\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mfilter()\u001b[39m masks \u001b[34mstats\u001b[39m::filter()\n", "\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mlag()\u001b[39m masks \u001b[34mstats\u001b[39m::lag()\n", "Loading required package: S4Vectors\n", "Loading required package: stats4\n", "Loading required package: BiocGenerics\n", "Loading required package: parallel\n", "\n", "Attaching package: ‘BiocGenerics’\n", "\n", "The following objects are masked from ‘package:parallel’:\n", "\n", " clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,\n", " clusterExport, clusterMap, parApply, parCapply, parLapply,\n", " parLapplyLB, parRapply, parSapply, parSapplyLB\n", "\n", "The following objects are masked from ‘package:dplyr’:\n", "\n", " combine, intersect, setdiff, union\n", "\n", "The following objects are masked from ‘package:stats’:\n", "\n", " IQR, mad, sd, var, xtabs\n", "\n", "The following objects are masked from ‘package:base’:\n", "\n", " anyDuplicated, append, as.data.frame, basename, cbind, colnames,\n", " dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,\n", " grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,\n", " order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,\n", " rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,\n", " union, unique, unsplit, which, which.max, which.min\n", "\n", "\n", "Attaching package: ‘S4Vectors’\n", "\n", "The following objects are masked from ‘package:dplyr’:\n", "\n", " first, rename\n", "\n", "The following object is masked from ‘package:tidyr’:\n", "\n", " expand\n", "\n", "The following object is masked from ‘package:base’:\n", "\n", " expand.grid\n", "\n", "Loading required package: IRanges\n", "\n", "Attaching package: ‘IRanges’\n", "\n", "The following objects are masked from ‘package:dplyr’:\n", "\n", " collapse, desc, slice\n", "\n", "The following object is masked from ‘package:purrr’:\n", "\n", " reduce\n", "\n", "Loading required package: GenomicRanges\n", "Loading required package: GenomeInfoDb\n", "Loading required package: SummarizedExperiment\n", "Loading required package: Biobase\n", "Welcome to Bioconductor\n", "\n", " Vignettes contain introductory material; view with\n", " 'browseVignettes()'. To cite Bioconductor, see\n", " 'citation(\"Biobase\")', and for packages 'citation(\"pkgname\")'.\n", "\n", "Loading required package: DelayedArray\n", "Loading required package: matrixStats\n", "\n", "Attaching package: ‘matrixStats’\n", "\n", "The following objects are masked from ‘package:Biobase’:\n", "\n", " anyMissing, rowMedians\n", "\n", "The following object is masked from ‘package:dplyr’:\n", "\n", " count\n", "\n", "Loading required package: BiocParallel\n", "\n", "Attaching package: ‘DelayedArray’\n", "\n", "The following objects are masked from ‘package:matrixStats’:\n", "\n", " colMaxs, colMins, colRanges, rowMaxs, rowMins, rowRanges\n", "\n", "The following object is masked from ‘package:purrr’:\n", "\n", " simplify\n", "\n", "The following objects are masked from ‘package:base’:\n", "\n", " aperm, apply, rowsum\n", "\n", "\n", "---------------------\n", "Welcome to dendextend version 1.12.0\n", "Type citation('dendextend') for how to cite the package.\n", "\n", "Type browseVignettes(package = 'dendextend') for the package vignette.\n", "The github page is: https://github.com/talgalili/dendextend/\n", "\n", "Suggestions and bug-reports can be submitted at: https://github.com/talgalili/dendextend/issues\n", "Or contact: \n", "\n", "\tTo suppress this message use: suppressPackageStartupMessages(library(dendextend))\n", "---------------------\n", "\n", "\n", "Attaching package: ‘dendextend’\n", "\n", "The following object is masked from ‘package:stats’:\n", "\n", " cutree\n", "\n" ] } ], "source": [ "library(tidyverse)\n", "library(DESeq2)\n", "library(dendextend)\n", "library(RColorBrewer)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load the 2019 pilot dds object from image file" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "'/home/jovyan/work/scratch/analysis_output/img/pilotdds2019.RData'" ], "text/latex": [ "'/home/jovyan/work/scratch/analysis\\_output/img/pilotdds2019.RData'" ], "text/markdown": [ "'/home/jovyan/work/scratch/analysis_output/img/pilotdds2019.RData'" ], "text/plain": [ "[1] \"/home/jovyan/work/scratch/analysis_output/img/pilotdds2019.RData\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "/home/jovyan/work/scratch/analysis_output/img/pilotdds2019.RData: '6632de5c8a2eed06d8c40c958e6f5d03'" ], "text/latex": [ "\\textbf{/home/jovyan/work/scratch/analysis\\textbackslash{}\\_output/img/pilotdds2019.RData:} '6632de5c8a2eed06d8c40c958e6f5d03'" ], "text/markdown": [ "**/home/jovyan/work/scratch/analysis_output/img/pilotdds2019.RData:** '6632de5c8a2eed06d8c40c958e6f5d03'" ], "text/plain": [ "/home/jovyan/work/scratch/analysis_output/img/pilotdds2019.RData \n", " \"6632de5c8a2eed06d8c40c958e6f5d03\" " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "'dds2019'" ], "text/latex": [ "'dds2019'" ], "text/markdown": [ "'dds2019'" ], "text/plain": [ "[1] \"dds2019\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "curdir <- \"/home/jovyan/work/scratch/analysis_output\"\n", "imgdir <- file.path(curdir, \"img\")\n", "\n", "imgfile <- file.path(imgdir, \"pilotdds2019.RData\")\n", "\n", "imgfile\n", "\n", "attach(imgfile)\n", "\n", "tools::md5sum(imgfile)\n", "\n", "### List the objects that have been attached\n", "ls(2)\n", "\n", "dds2019 <- dds2019\n", "\n", "detach(pos = 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Check dimensions of the two objects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Inspect object & Slots of an S4 class" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's has a look at the object we have created." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "class: DESeqDataSet \n", "dim: 8499 24 \n", "metadata(1): version\n", "assays(1): counts\n", "rownames(8499): CNAG_00001 CNAG_00002 ... large_MTrRNA small_MTrRNA\n", "rowData names(0):\n", "colnames(24): 1_2019_P_M1 2_2019_P_M1 ... 23_2019_P_M1 24_2019_P_M1\n", "colData names(22): Label sample_year ... RIN_normal_threshold\n", " RIN_lowered_threshold" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dds2019" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "see the class of dds object" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "'DESeqDataSet'" ], "text/latex": [ "'DESeqDataSet'" ], "text/markdown": [ "'DESeqDataSet'" ], "text/plain": [ "[1] \"DESeqDataSet\"\n", "attr(,\"package\")\n", "[1] \"DESeq2\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "class(dds2019)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "DESeqDataSet is a S4 object. Recall that a S4 object was taught when introducing bioconductor. Note that S4 objects allow users to wrap up multiple elements into a single variables where each element is called a slot." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 'design'
  2. \n", "\t
  3. 'dispersionFunction'
  4. \n", "\t
  5. 'rowRanges'
  6. \n", "\t
  7. 'colData'
  8. \n", "\t
  9. 'assays'
  10. \n", "\t
  11. 'NAMES'
  12. \n", "\t
  13. 'elementMetadata'
  14. \n", "\t
  15. 'metadata'
  16. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 'design'\n", "\\item 'dispersionFunction'\n", "\\item 'rowRanges'\n", "\\item 'colData'\n", "\\item 'assays'\n", "\\item 'NAMES'\n", "\\item 'elementMetadata'\n", "\\item 'metadata'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 'design'\n", "2. 'dispersionFunction'\n", "3. 'rowRanges'\n", "4. 'colData'\n", "5. 'assays'\n", "6. 'NAMES'\n", "7. 'elementMetadata'\n", "8. 'metadata'\n", "\n", "\n" ], "text/plain": [ "[1] \"design\" \"dispersionFunction\" \"rowRanges\" \n", "[4] \"colData\" \"assays\" \"NAMES\" \n", "[7] \"elementMetadata\" \"metadata\" " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "slotNames(dds2019)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The metadata (columnData) is stored in the slot `colData`" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 3 × 22
Labelsample_yeargroupenrich_repRNA_sample_numgenotypeconditionlibprep_personenrichment_methodenrichment_shorti5_primeri7_primerlibrary_numbio_replicateNanodrop_260_280Nanodrop_260_230Nanodrop_concentration_ng_ulBioanalyzer_concentration_ng_ulRIN_normal_thresholdRIN_lowered_threshold
<chr><dbl><chr><dbl><dbl><fct><fct><chr><chr><chr><chr><chr><dbl><dbl><dbl><dbl><dbl><dbl><chr><dbl>
1_2019_P_M11_2019_P_M12019P11WTpH4CmRNAMi501i701112.141.52293197N/A9.8
2_2019_P_M12_2019_P_M12019P12WTpH4CmRNAMi502i701222.121.79290225N/A9.9
3_2019_P_M13_2019_P_M12019P13WTpH4CmRNAMi503i701332.112.49302241N/A9.9
\n" ], "text/latex": [ "A data.frame: 3 × 22\n", "\\begin{tabular}{r|llllllllllllllllllllll}\n", " & Label & sample\\_year & group & enrich\\_rep & RNA\\_sample\\_num & genotype & condition & libprep\\_person & enrichment\\_method & enrichment\\_short & i7\\_index & i5\\_index & i5\\_primer & i7\\_primer & library\\_num & bio\\_replicate & Nanodrop\\_260\\_280 & Nanodrop\\_260\\_230 & Nanodrop\\_concentration\\_ng\\_ul & Bioanalyzer\\_concentration\\_ng\\_ul & RIN\\_normal\\_threshold & RIN\\_lowered\\_threshold\\\\\n", " & & & & & & & & & & & & & & & & & & & & & & \\\\\n", "\\hline\n", "\t1\\_2019\\_P\\_M1 & 1\\_2019\\_P\\_M1 & 2019 & P & 1 & 1 & WT & pH4 & C & mRNA & M & ATTACTCG & AGGCTATA & i501 & i701 & 1 & 1 & 2.14 & 1.52 & 293 & 197 & N/A & 9.8\\\\\n", "\t2\\_2019\\_P\\_M1 & 2\\_2019\\_P\\_M1 & 2019 & P & 1 & 2 & WT & pH4 & C & mRNA & M & ATTACTCG & GCCTCTAT & i502 & i701 & 2 & 2 & 2.12 & 1.79 & 290 & 225 & N/A & 9.9\\\\\n", "\t3\\_2019\\_P\\_M1 & 3\\_2019\\_P\\_M1 & 2019 & P & 1 & 3 & WT & pH4 & C & mRNA & M & ATTACTCG & AGGATAGG & i503 & i701 & 3 & 3 & 2.11 & 2.49 & 302 & 241 & N/A & 9.9\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 3 × 22\n", "\n", "| | Label <chr> | sample_year <dbl> | group <chr> | enrich_rep <dbl> | RNA_sample_num <dbl> | genotype <fct> | condition <fct> | libprep_person <chr> | enrichment_method <chr> | enrichment_short <chr> | ⋯ ⋯ | i5_primer <chr> | i7_primer <chr> | library_num <dbl> | bio_replicate <dbl> | Nanodrop_260_280 <dbl> | Nanodrop_260_230 <dbl> | Nanodrop_concentration_ng_ul <dbl> | Bioanalyzer_concentration_ng_ul <dbl> | RIN_normal_threshold <chr> | RIN_lowered_threshold <dbl> |\n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| 1_2019_P_M1 | 1_2019_P_M1 | 2019 | P | 1 | 1 | WT | pH4 | C | mRNA | M | ⋯ | i501 | i701 | 1 | 1 | 2.14 | 1.52 | 293 | 197 | N/A | 9.8 |\n", "| 2_2019_P_M1 | 2_2019_P_M1 | 2019 | P | 1 | 2 | WT | pH4 | C | mRNA | M | ⋯ | i502 | i701 | 2 | 2 | 2.12 | 1.79 | 290 | 225 | N/A | 9.9 |\n", "| 3_2019_P_M1 | 3_2019_P_M1 | 2019 | P | 1 | 3 | WT | pH4 | C | mRNA | M | ⋯ | i503 | i701 | 3 | 3 | 2.11 | 2.49 | 302 | 241 | N/A | 9.9 |\n", "\n" ], "text/plain": [ " Label sample_year group enrich_rep RNA_sample_num genotype\n", "1_2019_P_M1 1_2019_P_M1 2019 P 1 1 WT \n", "2_2019_P_M1 2_2019_P_M1 2019 P 1 2 WT \n", "3_2019_P_M1 3_2019_P_M1 2019 P 1 3 WT \n", " condition libprep_person enrichment_method enrichment_short ⋯\n", "1_2019_P_M1 pH4 C mRNA M ⋯\n", "2_2019_P_M1 pH4 C mRNA M ⋯\n", "3_2019_P_M1 pH4 C mRNA M ⋯\n", " i5_primer i7_primer library_num bio_replicate Nanodrop_260_280\n", "1_2019_P_M1 i501 i701 1 1 2.14 \n", "2_2019_P_M1 i502 i701 2 2 2.12 \n", "3_2019_P_M1 i503 i701 3 3 2.11 \n", " Nanodrop_260_230 Nanodrop_concentration_ng_ul\n", "1_2019_P_M1 1.52 293 \n", "2_2019_P_M1 1.79 290 \n", "3_2019_P_M1 2.49 302 \n", " Bioanalyzer_concentration_ng_ul RIN_normal_threshold\n", "1_2019_P_M1 197 N/A \n", "2_2019_P_M1 225 N/A \n", "3_2019_P_M1 241 N/A \n", " RIN_lowered_threshold\n", "1_2019_P_M1 9.8 \n", "2_2019_P_M1 9.9 \n", "3_2019_P_M1 9.9 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dds2019@colData %>% as.data.frame %>% head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The design formula is stored in the slot `design`. The design holds the R formula which expresses how the counts depend on the variables in colData." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "~condition + genotype" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dds2019@design" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first thing you may want to do is **have a look at the raw counts** you have imported. The `DESeq2::counts` function extracts a matrix of counts (with the genes along the rows and samples along the columns). Let us first verify the dimension of this matrix." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 8499
  2. \n", "\t
  3. 24
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 8499\n", "\\item 24\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 8499\n", "2. 24\n", "\n", "\n" ], "text/plain": [ "[1] 8499 24" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dim(counts(dds2019))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
A matrix: 3 × 24 of type int
1_2019_P_M12_2019_P_M13_2019_P_M14_2019_P_M15_2019_P_M16_2019_P_M17_2019_P_M18_2019_P_M19_2019_P_M110_2019_P_M115_2019_P_M116_2019_P_M117_2019_P_M118_2019_P_M119_2019_P_M120_2019_P_M121_2019_P_M122_2019_P_M123_2019_P_M124_2019_P_M1
CNAG_00001 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNAG_00002158204149176161148172169124119216224234338191201192166202235
CNAG_00003201156161171162103172170175131197195211201118133109113154169
\n" ], "text/latex": [ "A matrix: 3 × 24 of type int\n", "\\begin{tabular}{r|llllllllllllllllllllllll}\n", " & 1\\_2019\\_P\\_M1 & 2\\_2019\\_P\\_M1 & 3\\_2019\\_P\\_M1 & 4\\_2019\\_P\\_M1 & 5\\_2019\\_P\\_M1 & 6\\_2019\\_P\\_M1 & 7\\_2019\\_P\\_M1 & 8\\_2019\\_P\\_M1 & 9\\_2019\\_P\\_M1 & 10\\_2019\\_P\\_M1 & 11\\_2019\\_P\\_M1 & 12\\_2019\\_P\\_M1 & 13\\_2019\\_P\\_M1 & 14\\_2019\\_P\\_M1 & 15\\_2019\\_P\\_M1 & 16\\_2019\\_P\\_M1 & 17\\_2019\\_P\\_M1 & 18\\_2019\\_P\\_M1 & 19\\_2019\\_P\\_M1 & 20\\_2019\\_P\\_M1 & 21\\_2019\\_P\\_M1 & 22\\_2019\\_P\\_M1 & 23\\_2019\\_P\\_M1 & 24\\_2019\\_P\\_M1\\\\\n", "\\hline\n", "\tCNAG\\_00001 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\\n", "\tCNAG\\_00002 & 158 & 204 & 149 & 176 & 161 & 148 & 172 & 169 & 124 & 119 & 90 & 81 & 188 & 177 & 216 & 224 & 234 & 338 & 191 & 201 & 192 & 166 & 202 & 235\\\\\n", "\tCNAG\\_00003 & 201 & 156 & 161 & 171 & 162 & 103 & 172 & 170 & 175 & 131 & 121 & 151 & 215 & 154 & 197 & 195 & 211 & 201 & 118 & 133 & 109 & 113 & 154 & 169\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A matrix: 3 × 24 of type int\n", "\n", "| | 1_2019_P_M1 | 2_2019_P_M1 | 3_2019_P_M1 | 4_2019_P_M1 | 5_2019_P_M1 | 6_2019_P_M1 | 7_2019_P_M1 | 8_2019_P_M1 | 9_2019_P_M1 | 10_2019_P_M1 | ⋯ | 15_2019_P_M1 | 16_2019_P_M1 | 17_2019_P_M1 | 18_2019_P_M1 | 19_2019_P_M1 | 20_2019_P_M1 | 21_2019_P_M1 | 22_2019_P_M1 | 23_2019_P_M1 | 24_2019_P_M1 |\n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| CNAG_00001 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n", "| CNAG_00002 | 158 | 204 | 149 | 176 | 161 | 148 | 172 | 169 | 124 | 119 | ⋯ | 216 | 224 | 234 | 338 | 191 | 201 | 192 | 166 | 202 | 235 |\n", "| CNAG_00003 | 201 | 156 | 161 | 171 | 162 | 103 | 172 | 170 | 175 | 131 | ⋯ | 197 | 195 | 211 | 201 | 118 | 133 | 109 | 113 | 154 | 169 |\n", "\n" ], "text/plain": [ " 1_2019_P_M1 2_2019_P_M1 3_2019_P_M1 4_2019_P_M1 5_2019_P_M1\n", "CNAG_00001 0 0 0 0 0 \n", "CNAG_00002 158 204 149 176 161 \n", "CNAG_00003 201 156 161 171 162 \n", " 6_2019_P_M1 7_2019_P_M1 8_2019_P_M1 9_2019_P_M1 10_2019_P_M1 ⋯\n", "CNAG_00001 0 0 0 0 0 ⋯\n", "CNAG_00002 148 172 169 124 119 ⋯\n", "CNAG_00003 103 172 170 175 131 ⋯\n", " 15_2019_P_M1 16_2019_P_M1 17_2019_P_M1 18_2019_P_M1 19_2019_P_M1\n", "CNAG_00001 0 0 0 0 0 \n", "CNAG_00002 216 224 234 338 191 \n", "CNAG_00003 197 195 211 201 118 \n", " 20_2019_P_M1 21_2019_P_M1 22_2019_P_M1 23_2019_P_M1 24_2019_P_M1\n", "CNAG_00001 0 0 0 0 0 \n", "CNAG_00002 201 192 166 202 235 \n", "CNAG_00003 133 109 113 154 169 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "head(counts(dds2019),3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This slot returns gene specific information (it will be populated later)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
function () \n",
       "NULL
" ], "text/latex": [ "\\begin{minted}{r}\n", "function () \n", "NULL\n", "\\end{minted}" ], "text/markdown": [ "```r\n", "function () \n", "NULL\n", "```" ], "text/plain": [ "function () \n", "NULL\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dds2019@dispersionFunction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Estimate Size Factors and Dispersion Parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You recall that DESeq requires that we have estimates for sample specific size factors and gene specific dispersion factors. More specifically, recall that DESeq models the count $K_{ij}$ (gene $i$, sample $j$) as negative binomial with mean $\\mu_{ij}$ and dispersion parameter $\\alpha_i$. Here $\\mu_{ij}=s_j q_{ij}$ where $\\log_2(q_{ij}) = \\beta_{0i} + \\beta_{1i} z_j$. Here $s_j$ is the sample $j$ specific size factor.\n", "\n", "**Summarize of notation**\n", "- $K_{ij}$ denotes the observed **number of reads** mapped to gene $i$ for sample $j$\n", "- $K_{ij}$ follows a **negative binomial distribution** with\n", " - **Mean** $\\mu_{ij}$\n", " - **Dispersion parameter** $\\alpha_i$\n", "- Modelling\n", " - $K_{ij} \\sim NB(\\mu_{ij}, \\alpha_i)$\n", " - $\\mu_{ij} = s_{j}q_{ij}$\n", " - $s_j$ is sample $j$ specific normalization constant\n", " - $\\log_2(q_{ij}) = \\beta_{0i} + \\beta_{1i} z_j$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 01 Size Factors\n", " We begin by estimating the size factors $s_1,\\ldots,s_n$:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "dds2019 <- estimateSizeFactors(dds2019)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, compare the dds object to that of before applying the estimateSizeFactors() function. What has changed? What remains unchanged?" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "class: DESeqDataSet \n", "dim: 8499 24 \n", "metadata(1): version\n", "assays(1): counts\n", "rownames(8499): CNAG_00001 CNAG_00002 ... large_MTrRNA small_MTrRNA\n", "rowData names(0):\n", "colnames(24): 1_2019_P_M1 2_2019_P_M1 ... 23_2019_P_M1 24_2019_P_M1\n", "colData names(23): Label sample_year ... RIN_lowered_threshold\n", " sizeFactor" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dds2019" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that there is a **sizeFactor** added to **colData**. Let's look at it more carefully\n", "\n", "```\n", "> dds # (before estimateSizeFactors)\n", "class: DESeqDataSet \n", "class: DESeqDataSet \n", "dim: 8499 24 \n", "metadata(1): version\n", "assays(1): counts\n", "rownames(8499): CNAG_00001 CNAG_00002 ... large_MTrRNA small_MTrRNA\n", "rowData names(0):\n", "colnames(24): 1_2019_P_M1 2_2019_P_M1 ... 23_2019_P_M1 24_2019_P_M1\n", "colData names(22): Label sample_year ... RIN_normal_threshold\n", " RIN_lowered_threshold\n", "\n", "> dds # (after estimateSizeFactors)\n", "class: DESeqDataSet \n", "dim: 8499 24 \n", "metadata(1): version\n", "assays(1): counts\n", "rownames(8499): CNAG_00001 CNAG_00002 ... large_MTrRNA small_MTrRNA\n", "rowData names(0):\n", "colnames(24): 1_2019_P_M1 2_2019_P_M1 ... 23_2019_P_M1 24_2019_P_M1\n", "colData names(23): Label sample_year ... RIN_lowered_threshold\n", " sizeFactor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also get the size factors directly" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\t
1_2019_P_M1
\n", "\t\t
1.5916393221245
\n", "\t
2_2019_P_M1
\n", "\t\t
1.65871103315141
\n", "\t
3_2019_P_M1
\n", "\t\t
1.51289455728943
\n", "\t
4_2019_P_M1
\n", "\t\t
1.41966861598247
\n", "\t
5_2019_P_M1
\n", "\t\t
1.43738473025559
\n", "\t
6_2019_P_M1
\n", "\t\t
1.23710002282889
\n", "\t
7_2019_P_M1
\n", "\t\t
1.40148291158442
\n", "\t
8_2019_P_M1
\n", "\t\t
1.44217254922035
\n", "\t
9_2019_P_M1
\n", "\t\t
1.17444094436861
\n", "\t
10_2019_P_M1
\n", "\t\t
1.07636468283386
\n", "\t
11_2019_P_M1
\n", "\t\t
1.04216270302148
\n", "\t
12_2019_P_M1
\n", "\t\t
0.971238282275506
\n", "\t
13_2019_P_M1
\n", "\t\t
0.770986843971703
\n", "\t
14_2019_P_M1
\n", "\t\t
0.752382049912615
\n", "\t
15_2019_P_M1
\n", "\t\t
0.717679610028228
\n", "\t
16_2019_P_M1
\n", "\t\t
0.897840290244175
\n", "\t
17_2019_P_M1
\n", "\t\t
0.89364164432414
\n", "\t
18_2019_P_M1
\n", "\t\t
0.931618100592125
\n", "\t
19_2019_P_M1
\n", "\t\t
0.749435710766038
\n", "\t
20_2019_P_M1
\n", "\t\t
0.775571527912074
\n", "\t
21_2019_P_M1
\n", "\t\t
0.583832529967166
\n", "\t
22_2019_P_M1
\n", "\t\t
0.634399759403834
\n", "\t
23_2019_P_M1
\n", "\t\t
0.755186085659437
\n", "\t
24_2019_P_M1
\n", "\t\t
0.808836405192349
\n", "
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[1\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.5916393221245\n", "\\item[2\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.65871103315141\n", "\\item[3\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.51289455728943\n", "\\item[4\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.41966861598247\n", "\\item[5\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.43738473025559\n", "\\item[6\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.23710002282889\n", "\\item[7\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.40148291158442\n", "\\item[8\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.44217254922035\n", "\\item[9\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.17444094436861\n", "\\item[10\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.07636468283386\n", "\\item[11\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.04216270302148\n", "\\item[12\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.971238282275506\n", "\\item[13\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.770986843971703\n", "\\item[14\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.752382049912615\n", "\\item[15\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.717679610028228\n", "\\item[16\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.897840290244175\n", "\\item[17\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.89364164432414\n", "\\item[18\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.931618100592125\n", "\\item[19\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.749435710766038\n", "\\item[20\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.775571527912074\n", "\\item[21\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.583832529967166\n", "\\item[22\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.634399759403834\n", "\\item[23\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.755186085659437\n", "\\item[24\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.808836405192349\n", "\\end{description*}\n" ], "text/markdown": [ "1_2019_P_M1\n", ": 1.59163932212452_2019_P_M1\n", ": 1.658711033151413_2019_P_M1\n", ": 1.512894557289434_2019_P_M1\n", ": 1.419668615982475_2019_P_M1\n", ": 1.437384730255596_2019_P_M1\n", ": 1.237100022828897_2019_P_M1\n", ": 1.401482911584428_2019_P_M1\n", ": 1.442172549220359_2019_P_M1\n", ": 1.1744409443686110_2019_P_M1\n", ": 1.0763646828338611_2019_P_M1\n", ": 1.0421627030214812_2019_P_M1\n", ": 0.97123828227550613_2019_P_M1\n", ": 0.77098684397170314_2019_P_M1\n", ": 0.75238204991261515_2019_P_M1\n", ": 0.71767961002822816_2019_P_M1\n", ": 0.89784029024417517_2019_P_M1\n", ": 0.8936416443241418_2019_P_M1\n", ": 0.93161810059212519_2019_P_M1\n", ": 0.74943571076603820_2019_P_M1\n", ": 0.77557152791207421_2019_P_M1\n", ": 0.58383252996716622_2019_P_M1\n", ": 0.63439975940383423_2019_P_M1\n", ": 0.75518608565943724_2019_P_M1\n", ": 0.808836405192349\n", "\n" ], "text/plain": [ " 1_2019_P_M1 2_2019_P_M1 3_2019_P_M1 4_2019_P_M1 5_2019_P_M1 6_2019_P_M1 \n", " 1.5916393 1.6587110 1.5128946 1.4196686 1.4373847 1.2371000 \n", " 7_2019_P_M1 8_2019_P_M1 9_2019_P_M1 10_2019_P_M1 11_2019_P_M1 12_2019_P_M1 \n", " 1.4014829 1.4421725 1.1744409 1.0763647 1.0421627 0.9712383 \n", "13_2019_P_M1 14_2019_P_M1 15_2019_P_M1 16_2019_P_M1 17_2019_P_M1 18_2019_P_M1 \n", " 0.7709868 0.7523820 0.7176796 0.8978403 0.8936416 0.9316181 \n", "19_2019_P_M1 20_2019_P_M1 21_2019_P_M1 22_2019_P_M1 23_2019_P_M1 24_2019_P_M1 \n", " 0.7494357 0.7755715 0.5838325 0.6343998 0.7551861 0.8088364 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sizeFactors(dds2019)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " It is preferable to limit the number of decimal places. Next show the size factors rounded to 3 decimal places" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\t
1_2019_P_M1
\n", "\t\t
1.592
\n", "\t
2_2019_P_M1
\n", "\t\t
1.659
\n", "\t
3_2019_P_M1
\n", "\t\t
1.513
\n", "\t
4_2019_P_M1
\n", "\t\t
1.42
\n", "\t
5_2019_P_M1
\n", "\t\t
1.437
\n", "\t
6_2019_P_M1
\n", "\t\t
1.237
\n", "\t
7_2019_P_M1
\n", "\t\t
1.401
\n", "\t
8_2019_P_M1
\n", "\t\t
1.442
\n", "\t
9_2019_P_M1
\n", "\t\t
1.174
\n", "\t
10_2019_P_M1
\n", "\t\t
1.076
\n", "\t
11_2019_P_M1
\n", "\t\t
1.042
\n", "\t
12_2019_P_M1
\n", "\t\t
0.971
\n", "\t
13_2019_P_M1
\n", "\t\t
0.771
\n", "\t
14_2019_P_M1
\n", "\t\t
0.752
\n", "\t
15_2019_P_M1
\n", "\t\t
0.718
\n", "\t
16_2019_P_M1
\n", "\t\t
0.898
\n", "\t
17_2019_P_M1
\n", "\t\t
0.894
\n", "\t
18_2019_P_M1
\n", "\t\t
0.932
\n", "\t
19_2019_P_M1
\n", "\t\t
0.749
\n", "\t
20_2019_P_M1
\n", "\t\t
0.776
\n", "\t
21_2019_P_M1
\n", "\t\t
0.584
\n", "\t
22_2019_P_M1
\n", "\t\t
0.634
\n", "\t
23_2019_P_M1
\n", "\t\t
0.755
\n", "\t
24_2019_P_M1
\n", "\t\t
0.809
\n", "
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[1\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.592\n", "\\item[2\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.659\n", "\\item[3\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.513\n", "\\item[4\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.42\n", "\\item[5\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.437\n", "\\item[6\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.237\n", "\\item[7\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.401\n", "\\item[8\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.442\n", "\\item[9\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.174\n", "\\item[10\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.076\n", "\\item[11\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.042\n", "\\item[12\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.971\n", "\\item[13\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.771\n", "\\item[14\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.752\n", "\\item[15\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.718\n", "\\item[16\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.898\n", "\\item[17\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.894\n", "\\item[18\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.932\n", "\\item[19\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.749\n", "\\item[20\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.776\n", "\\item[21\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.584\n", "\\item[22\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.634\n", "\\item[23\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.755\n", "\\item[24\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.809\n", "\\end{description*}\n" ], "text/markdown": [ "1_2019_P_M1\n", ": 1.5922_2019_P_M1\n", ": 1.6593_2019_P_M1\n", ": 1.5134_2019_P_M1\n", ": 1.425_2019_P_M1\n", ": 1.4376_2019_P_M1\n", ": 1.2377_2019_P_M1\n", ": 1.4018_2019_P_M1\n", ": 1.4429_2019_P_M1\n", ": 1.17410_2019_P_M1\n", ": 1.07611_2019_P_M1\n", ": 1.04212_2019_P_M1\n", ": 0.97113_2019_P_M1\n", ": 0.77114_2019_P_M1\n", ": 0.75215_2019_P_M1\n", ": 0.71816_2019_P_M1\n", ": 0.89817_2019_P_M1\n", ": 0.89418_2019_P_M1\n", ": 0.93219_2019_P_M1\n", ": 0.74920_2019_P_M1\n", ": 0.77621_2019_P_M1\n", ": 0.58422_2019_P_M1\n", ": 0.63423_2019_P_M1\n", ": 0.75524_2019_P_M1\n", ": 0.809\n", "\n" ], "text/plain": [ " 1_2019_P_M1 2_2019_P_M1 3_2019_P_M1 4_2019_P_M1 5_2019_P_M1 6_2019_P_M1 \n", " 1.592 1.659 1.513 1.420 1.437 1.237 \n", " 7_2019_P_M1 8_2019_P_M1 9_2019_P_M1 10_2019_P_M1 11_2019_P_M1 12_2019_P_M1 \n", " 1.401 1.442 1.174 1.076 1.042 0.971 \n", "13_2019_P_M1 14_2019_P_M1 15_2019_P_M1 16_2019_P_M1 17_2019_P_M1 18_2019_P_M1 \n", " 0.771 0.752 0.718 0.898 0.894 0.932 \n", "19_2019_P_M1 20_2019_P_M1 21_2019_P_M1 22_2019_P_M1 23_2019_P_M1 24_2019_P_M1 \n", " 0.749 0.776 0.584 0.634 0.755 0.809 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "round(sizeFactors(dds2019),3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Summarize size factors" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " Min. 1st Qu. Median Mean 3rd Qu. Max. \n", " 0.5838 0.7670 0.9514 1.0515 1.4060 1.6587 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "summary(sizeFactors(dds2019))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do you see a trend?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 24 × 3
rownamesizefaclibnum
<chr><dbl><int>
1_2019_P_M1 1.5916393 1
2_2019_P_M1 1.6587110 2
3_2019_P_M1 1.5128946 3
4_2019_P_M1 1.4196686 4
5_2019_P_M1 1.4373847 5
6_2019_P_M1 1.2371000 6
7_2019_P_M1 1.4014829 7
8_2019_P_M1 1.4421725 8
9_2019_P_M1 1.1744409 9
10_2019_P_M11.076364710
11_2019_P_M11.042162711
12_2019_P_M10.971238312
13_2019_P_M10.770986813
14_2019_P_M10.752382014
15_2019_P_M10.717679615
16_2019_P_M10.897840316
17_2019_P_M10.893641617
18_2019_P_M10.931618118
19_2019_P_M10.749435719
20_2019_P_M10.775571520
21_2019_P_M10.583832521
22_2019_P_M10.634399822
23_2019_P_M10.755186123
24_2019_P_M10.808836424
\n" ], "text/latex": [ "A data.frame: 24 × 3\n", "\\begin{tabular}{r|lll}\n", " rowname & sizefac & libnum\\\\\n", " & & \\\\\n", "\\hline\n", "\t 1\\_2019\\_P\\_M1 & 1.5916393 & 1\\\\\n", "\t 2\\_2019\\_P\\_M1 & 1.6587110 & 2\\\\\n", "\t 3\\_2019\\_P\\_M1 & 1.5128946 & 3\\\\\n", "\t 4\\_2019\\_P\\_M1 & 1.4196686 & 4\\\\\n", "\t 5\\_2019\\_P\\_M1 & 1.4373847 & 5\\\\\n", "\t 6\\_2019\\_P\\_M1 & 1.2371000 & 6\\\\\n", "\t 7\\_2019\\_P\\_M1 & 1.4014829 & 7\\\\\n", "\t 8\\_2019\\_P\\_M1 & 1.4421725 & 8\\\\\n", "\t 9\\_2019\\_P\\_M1 & 1.1744409 & 9\\\\\n", "\t 10\\_2019\\_P\\_M1 & 1.0763647 & 10\\\\\n", "\t 11\\_2019\\_P\\_M1 & 1.0421627 & 11\\\\\n", "\t 12\\_2019\\_P\\_M1 & 0.9712383 & 12\\\\\n", "\t 13\\_2019\\_P\\_M1 & 0.7709868 & 13\\\\\n", "\t 14\\_2019\\_P\\_M1 & 0.7523820 & 14\\\\\n", "\t 15\\_2019\\_P\\_M1 & 0.7176796 & 15\\\\\n", "\t 16\\_2019\\_P\\_M1 & 0.8978403 & 16\\\\\n", "\t 17\\_2019\\_P\\_M1 & 0.8936416 & 17\\\\\n", "\t 18\\_2019\\_P\\_M1 & 0.9316181 & 18\\\\\n", "\t 19\\_2019\\_P\\_M1 & 0.7494357 & 19\\\\\n", "\t 20\\_2019\\_P\\_M1 & 0.7755715 & 20\\\\\n", "\t 21\\_2019\\_P\\_M1 & 0.5838325 & 21\\\\\n", "\t 22\\_2019\\_P\\_M1 & 0.6343998 & 22\\\\\n", "\t 23\\_2019\\_P\\_M1 & 0.7551861 & 23\\\\\n", "\t 24\\_2019\\_P\\_M1 & 0.8088364 & 24\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 24 × 3\n", "\n", "| rowname <chr> | sizefac <dbl> | libnum <int> |\n", "|---|---|---|\n", "| 1_2019_P_M1 | 1.5916393 | 1 |\n", "| 2_2019_P_M1 | 1.6587110 | 2 |\n", "| 3_2019_P_M1 | 1.5128946 | 3 |\n", "| 4_2019_P_M1 | 1.4196686 | 4 |\n", "| 5_2019_P_M1 | 1.4373847 | 5 |\n", "| 6_2019_P_M1 | 1.2371000 | 6 |\n", "| 7_2019_P_M1 | 1.4014829 | 7 |\n", "| 8_2019_P_M1 | 1.4421725 | 8 |\n", "| 9_2019_P_M1 | 1.1744409 | 9 |\n", "| 10_2019_P_M1 | 1.0763647 | 10 |\n", "| 11_2019_P_M1 | 1.0421627 | 11 |\n", "| 12_2019_P_M1 | 0.9712383 | 12 |\n", "| 13_2019_P_M1 | 0.7709868 | 13 |\n", "| 14_2019_P_M1 | 0.7523820 | 14 |\n", "| 15_2019_P_M1 | 0.7176796 | 15 |\n", "| 16_2019_P_M1 | 0.8978403 | 16 |\n", "| 17_2019_P_M1 | 0.8936416 | 17 |\n", "| 18_2019_P_M1 | 0.9316181 | 18 |\n", "| 19_2019_P_M1 | 0.7494357 | 19 |\n", "| 20_2019_P_M1 | 0.7755715 | 20 |\n", "| 21_2019_P_M1 | 0.5838325 | 21 |\n", "| 22_2019_P_M1 | 0.6343998 | 22 |\n", "| 23_2019_P_M1 | 0.7551861 | 23 |\n", "| 24_2019_P_M1 | 0.8088364 | 24 |\n", "\n" ], "text/plain": [ " rowname sizefac libnum\n", "1 1_2019_P_M1 1.5916393 1 \n", "2 2_2019_P_M1 1.6587110 2 \n", "3 3_2019_P_M1 1.5128946 3 \n", "4 4_2019_P_M1 1.4196686 4 \n", "5 5_2019_P_M1 1.4373847 5 \n", "6 6_2019_P_M1 1.2371000 6 \n", "7 7_2019_P_M1 1.4014829 7 \n", "8 8_2019_P_M1 1.4421725 8 \n", "9 9_2019_P_M1 1.1744409 9 \n", "10 10_2019_P_M1 1.0763647 10 \n", "11 11_2019_P_M1 1.0421627 11 \n", "12 12_2019_P_M1 0.9712383 12 \n", "13 13_2019_P_M1 0.7709868 13 \n", "14 14_2019_P_M1 0.7523820 14 \n", "15 15_2019_P_M1 0.7176796 15 \n", "16 16_2019_P_M1 0.8978403 16 \n", "17 17_2019_P_M1 0.8936416 17 \n", "18 18_2019_P_M1 0.9316181 18 \n", "19 19_2019_P_M1 0.7494357 19 \n", "20 20_2019_P_M1 0.7755715 20 \n", "21 21_2019_P_M1 0.5838325 21 \n", "22 22_2019_P_M1 0.6343998 22 \n", "23 23_2019_P_M1 0.7551861 23 \n", "24 24_2019_P_M1 0.8088364 24 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sizeFactors(dds2019) %>%\n", " as.data.frame %>%\n", " rownames_to_column %>%\n", " mutate(libnum = as.integer(str_remove(rowname, \"_2019_P_M1\"))) -> mydf\n", "\n", "colnames(mydf)[2] <- \"sizefac\"\n", "\n", "mydf" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC91BMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N1dXV2dnZ4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OE\nhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWW\nlpaXl5eYmJiampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKip\nqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7\nu7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzN\nzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f\n39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx\n8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///9ZKEk+AAAACXBI\nWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3de5hcdZ3n8RMEAoi6OCsQQEFxGCGASIbLIhJY\nh9Vx7BYWYg+tNGYXJU4gSAw4ZhxULooMgQVDvDHeUAkQTZCbXGKEYCBxYqJAICTk0iSdkk7S\n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\nSUVORK5CYII=", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ggplot(mydf, aes(x = libnum, y = sizefac)) + geom_point()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that the size factors have been estimated, we can get \"normalized\" counts (DESeq2 normalizes against size factor)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A matrix: 5 × 2 of type int
1_2019_P_M124_2019_P_M1
CNAG_00001 0 0
CNAG_00002158235
CNAG_00003201169
CNAG_00004904523
CNAG_00005 22 40
\n" ], "text/latex": [ "A matrix: 5 × 2 of type int\n", "\\begin{tabular}{r|ll}\n", " & 1\\_2019\\_P\\_M1 & 24\\_2019\\_P\\_M1\\\\\n", "\\hline\n", "\tCNAG\\_00001 & 0 & 0\\\\\n", "\tCNAG\\_00002 & 158 & 235\\\\\n", "\tCNAG\\_00003 & 201 & 169\\\\\n", "\tCNAG\\_00004 & 904 & 523\\\\\n", "\tCNAG\\_00005 & 22 & 40\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A matrix: 5 × 2 of type int\n", "\n", "| | 1_2019_P_M1 | 24_2019_P_M1 |\n", "|---|---|---|\n", "| CNAG_00001 | 0 | 0 |\n", "| CNAG_00002 | 158 | 235 |\n", "| CNAG_00003 | 201 | 169 |\n", "| CNAG_00004 | 904 | 523 |\n", "| CNAG_00005 | 22 | 40 |\n", "\n" ], "text/plain": [ " 1_2019_P_M1 24_2019_P_M1\n", "CNAG_00001 0 0 \n", "CNAG_00002 158 235 \n", "CNAG_00003 201 169 \n", "CNAG_00004 904 523 \n", "CNAG_00005 22 40 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A matrix: 5 × 2 of type dbl
1_2019_P_M124_2019_P_M1
CNAG_00001 0.00000 0.00000
CNAG_00002 99.26872290.54083
CNAG_00003126.28489208.94213
CNAG_00004567.96787646.60789
CNAG_00005 13.82223 49.45376
\n" ], "text/latex": [ "A matrix: 5 × 2 of type dbl\n", "\\begin{tabular}{r|ll}\n", " & 1\\_2019\\_P\\_M1 & 24\\_2019\\_P\\_M1\\\\\n", "\\hline\n", "\tCNAG\\_00001 & 0.00000 & 0.00000\\\\\n", "\tCNAG\\_00002 & 99.26872 & 290.54083\\\\\n", "\tCNAG\\_00003 & 126.28489 & 208.94213\\\\\n", "\tCNAG\\_00004 & 567.96787 & 646.60789\\\\\n", "\tCNAG\\_00005 & 13.82223 & 49.45376\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A matrix: 5 × 2 of type dbl\n", "\n", "| | 1_2019_P_M1 | 24_2019_P_M1 |\n", "|---|---|---|\n", "| CNAG_00001 | 0.00000 | 0.00000 |\n", "| CNAG_00002 | 99.26872 | 290.54083 |\n", "| CNAG_00003 | 126.28489 | 208.94213 |\n", "| CNAG_00004 | 567.96787 | 646.60789 |\n", "| CNAG_00005 | 13.82223 | 49.45376 |\n", "\n" ], "text/plain": [ " 1_2019_P_M1 24_2019_P_M1\n", "CNAG_00001 0.00000 0.00000 \n", "CNAG_00002 99.26872 290.54083 \n", "CNAG_00003 126.28489 208.94213 \n", "CNAG_00004 567.96787 646.60789 \n", "CNAG_00005 13.82223 49.45376 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\t
1_2019_P_M1
\n", "\t\t
1.5916393221245
\n", "\t
24_2019_P_M1
\n", "\t\t
0.808836405192349
\n", "
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[1\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1.5916393221245\n", "\\item[24\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 0.808836405192349\n", "\\end{description*}\n" ], "text/markdown": [ "1_2019_P_M1\n", ": 1.591639322124524_2019_P_M1\n", ": 0.808836405192349\n", "\n" ], "text/plain": [ " 1_2019_P_M1 24_2019_P_M1 \n", " 1.5916393 0.8088364 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# original counts for libraries 1 and 24\n", "counts(dds2019)[1:5,c(1,24)]\n", "\n", "# normalized count\n", "counts(dds2019, normalize = TRUE)[1:5, c(1,24)]\n", "\n", "# Size factor\n", "\n", "sizeFactors(dds2019)[c(1,24)]" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\t
CNAG_00001
\n", "\t\t
0
\n", "\t
CNAG_00002
\n", "\t\t
99.2687211252757
\n", "\t
CNAG_00003
\n", "\t\t
126.284892064433
\n", "\t
CNAG_00004
\n", "\t\t
567.9678727674
\n", "\t
CNAG_00005
\n", "\t\t
13.822226992127
\n", "
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[CNAG\\textbackslash{}\\_00001] 0\n", "\\item[CNAG\\textbackslash{}\\_00002] 99.2687211252757\n", "\\item[CNAG\\textbackslash{}\\_00003] 126.284892064433\n", "\\item[CNAG\\textbackslash{}\\_00004] 567.9678727674\n", "\\item[CNAG\\textbackslash{}\\_00005] 13.822226992127\n", "\\end{description*}\n" ], "text/markdown": [ "CNAG_00001\n", ": 0CNAG_00002\n", ": 99.2687211252757CNAG_00003\n", ": 126.284892064433CNAG_00004\n", ": 567.9678727674CNAG_00005\n", ": 13.822226992127\n", "\n" ], "text/plain": [ "CNAG_00001 CNAG_00002 CNAG_00003 CNAG_00004 CNAG_00005 \n", " 0.00000 99.26872 126.28489 567.96787 13.82223 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# normalized manually using size factors for library 1\n", "counts(dds2019)[1:5, 1] / sizeFactors(dds2019)[1]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\t
CNAG_00001
\n", "\t\t
0
\n", "\t
CNAG_00002
\n", "\t\t
290.54082938331
\n", "\t
CNAG_00003
\n", "\t\t
208.942128365019
\n", "\t
CNAG_00004
\n", "\t\t
646.607888372217
\n", "\t
CNAG_00005
\n", "\t\t
49.4537581929038
\n", "
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[CNAG\\textbackslash{}\\_00001] 0\n", "\\item[CNAG\\textbackslash{}\\_00002] 290.54082938331\n", "\\item[CNAG\\textbackslash{}\\_00003] 208.942128365019\n", "\\item[CNAG\\textbackslash{}\\_00004] 646.607888372217\n", "\\item[CNAG\\textbackslash{}\\_00005] 49.4537581929038\n", "\\end{description*}\n" ], "text/markdown": [ "CNAG_00001\n", ": 0CNAG_00002\n", ": 290.54082938331CNAG_00003\n", ": 208.942128365019CNAG_00004\n", ": 646.607888372217CNAG_00005\n", ": 49.4537581929038\n", "\n" ], "text/plain": [ "CNAG_00001 CNAG_00002 CNAG_00003 CNAG_00004 CNAG_00005 \n", " 0.00000 290.54083 208.94213 646.60789 49.45376 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# normalized manually using size factors for library 24\n", "counts(dds2019)[1:5, 24] / sizeFactors(dds2019)[24]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How do you get the raw counts for gene \"GeneID: CNAG_05845\"?" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\t
1_2019_P_M1
\n", "\t\t
1753.53797886484
\n", "\t
2_2019_P_M1
\n", "\t\t
1483.68217900155
\n", "\t
3_2019_P_M1
\n", "\t\t
1395.99946990619
\n", "\t
4_2019_P_M1
\n", "\t\t
1526.41255544016
\n", "\t
5_2019_P_M1
\n", "\t\t
1540.99313383281
\n", "\t
6_2019_P_M1
\n", "\t\t
1662.7596492127
\n", "\t
7_2019_P_M1
\n", "\t\t
1483.42871883441
\n", "\t
8_2019_P_M1
\n", "\t\t
1396.50418466832
\n", "\t
9_2019_P_M1
\n", "\t\t
1611.83072599508
\n", "\t
10_2019_P_M1
\n", "\t\t
1532.00864567435
\n", "\t
11_2019_P_M1
\n", "\t\t
1625.46596139805
\n", "\t
12_2019_P_M1
\n", "\t\t
1693.71412764532
\n", "\t
13_2019_P_M1
\n", "\t\t
1629.08097566201
\n", "\t
14_2019_P_M1
\n", "\t\t
1600.25083019968
\n", "\t
15_2019_P_M1
\n", "\t\t
1574.51874654145
\n", "\t
16_2019_P_M1
\n", "\t\t
1551.50087953968
\n", "\t
17_2019_P_M1
\n", "\t\t
1732.23798357198
\n", "\t
18_2019_P_M1
\n", "\t\t
1523.15632242235
\n", "\t
19_2019_P_M1
\n", "\t\t
1822.70471019287
\n", "\t
20_2019_P_M1
\n", "\t\t
1799.96293025118
\n", "\t
21_2019_P_M1
\n", "\t\t
1872.1121963887
\n", "\t
22_2019_P_M1
\n", "\t\t
1692.93885137862
\n", "\t
23_2019_P_M1
\n", "\t\t
1832.66088488836
\n", "\t
24_2019_P_M1
\n", "\t\t
1791.46239053794
\n", "
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[1\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1753.53797886484\n", "\\item[2\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1483.68217900155\n", "\\item[3\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1395.99946990619\n", "\\item[4\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1526.41255544016\n", "\\item[5\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1540.99313383281\n", "\\item[6\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1662.7596492127\n", "\\item[7\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1483.42871883441\n", "\\item[8\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1396.50418466832\n", "\\item[9\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1611.83072599508\n", "\\item[10\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1532.00864567435\n", "\\item[11\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1625.46596139805\n", "\\item[12\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1693.71412764532\n", "\\item[13\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1629.08097566201\n", "\\item[14\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1600.25083019968\n", "\\item[15\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1574.51874654145\n", "\\item[16\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1551.50087953968\n", "\\item[17\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1732.23798357198\n", "\\item[18\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1523.15632242235\n", "\\item[19\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1822.70471019287\n", "\\item[20\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1799.96293025118\n", "\\item[21\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1872.1121963887\n", "\\item[22\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1692.93885137862\n", "\\item[23\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1832.66088488836\n", "\\item[24\\textbackslash{}\\_2019\\textbackslash{}\\_P\\textbackslash{}\\_M1] 1791.46239053794\n", "\\end{description*}\n" ], "text/markdown": [ "1_2019_P_M1\n", ": 1753.537978864842_2019_P_M1\n", ": 1483.682179001553_2019_P_M1\n", ": 1395.999469906194_2019_P_M1\n", ": 1526.412555440165_2019_P_M1\n", ": 1540.993133832816_2019_P_M1\n", ": 1662.75964921277_2019_P_M1\n", ": 1483.428718834418_2019_P_M1\n", ": 1396.504184668329_2019_P_M1\n", ": 1611.8307259950810_2019_P_M1\n", ": 1532.0086456743511_2019_P_M1\n", ": 1625.4659613980512_2019_P_M1\n", ": 1693.7141276453213_2019_P_M1\n", ": 1629.0809756620114_2019_P_M1\n", ": 1600.2508301996815_2019_P_M1\n", ": 1574.5187465414516_2019_P_M1\n", ": 1551.5008795396817_2019_P_M1\n", ": 1732.2379835719818_2019_P_M1\n", ": 1523.1563224223519_2019_P_M1\n", ": 1822.7047101928720_2019_P_M1\n", ": 1799.9629302511821_2019_P_M1\n", ": 1872.112196388722_2019_P_M1\n", ": 1692.9388513786223_2019_P_M1\n", ": 1832.6608848883624_2019_P_M1\n", ": 1791.46239053794\n", "\n" ], "text/plain": [ " 1_2019_P_M1 2_2019_P_M1 3_2019_P_M1 4_2019_P_M1 5_2019_P_M1 6_2019_P_M1 \n", " 1753.538 1483.682 1395.999 1526.413 1540.993 1662.760 \n", " 7_2019_P_M1 8_2019_P_M1 9_2019_P_M1 10_2019_P_M1 11_2019_P_M1 12_2019_P_M1 \n", " 1483.429 1396.504 1611.831 1532.009 1625.466 1693.714 \n", "13_2019_P_M1 14_2019_P_M1 15_2019_P_M1 16_2019_P_M1 17_2019_P_M1 18_2019_P_M1 \n", " 1629.081 1600.251 1574.519 1551.501 1732.238 1523.156 \n", "19_2019_P_M1 20_2019_P_M1 21_2019_P_M1 22_2019_P_M1 23_2019_P_M1 24_2019_P_M1 \n", " 1822.705 1799.963 1872.112 1692.939 1832.661 1791.462 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "counts(dds2019, normalize = TRUE)[\"CNAG_05845\",]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 02 Dispersion Parameters\n", "Next, we get the dispersion factors $\\alpha_1,\\ldots,\\alpha_{m}$" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "gene-wise dispersion estimates\n", "mean-dispersion relationship\n", "final dispersion estimates\n" ] } ], "source": [ "dds2019 <- estimateDispersions(dds2019)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now inspect the dds object again and note that the rowRanges slot has extra information (\"metadata column names(0):\" before versus \"column names(9): baseMean baseVar ... dispOutlier dispMAP\")\n", "- before: \n", " - `metadata column names(0):`\n", "- after: \n", " - `column names(9): baseMean baseVar ...`" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "class: DESeqDataSet \n", "dim: 8499 24 \n", "metadata(1): version\n", "assays(2): counts mu\n", "rownames(8499): CNAG_00001 CNAG_00002 ... large_MTrRNA small_MTrRNA\n", "rowData names(10): baseMean baseVar ... dispOutlier dispMAP\n", "colnames(24): 1_2019_P_M1 2_2019_P_M1 ... 23_2019_P_M1 24_2019_P_M1\n", "colData names(23): Label sample_year ... RIN_lowered_threshold\n", " sizeFactor" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dds2019" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Can you notice the difference?\n", "```\n", "> dds (before dispersion)\n", "class: DESeqDataSet \n", "dim: 8499 24 \n", "metadata(1): version\n", "assays(1): counts\n", "rownames(8499): CNAG_00001 CNAG_00002 ... large_MTrRNA small_MTrRNA\n", "rowData names(0):\n", "colnames(24): 1_2019_P_M1 2_2019_P_M1 ... 23_2019_P_M1 24_2019_P_M1\n", "colData names(23): Label sample_year ... RIN_lowered_threshold\n", " sizeFactor\n", " \n", "> dds (after dispersion)\n", "class: DESeqDataSet \n", "dim: 8499 24 \n", "metadata(1): version\n", "assays(2): counts mu\n", "rownames(8499): CNAG_00001 CNAG_00002 ... large_MTrRNA small_MTrRNA\n", "rowData names(10): baseMean baseVar ... dispOutlier dispMAP\n", "colnames(24): 1_2019_P_M1 2_2019_P_M1 ... 23_2019_P_M1 24_2019_P_M1\n", "colData names(23): Label sample_year ... RIN_lowered_threshold\n", " sizeFactor\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the dispersionfunction slot is now populated" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
structure(function (q) \n",
       "coefs[1] + coefs[2]/q, coefficients = c(asymptDisp = 0.0141803487671824, \n",
       "extraPois = 0.87630661036897), fitType = \"parametric\", varLogDispEsts = 0.902466256228483, dispPriorVar = 0.802549300169356)
" ], "text/latex": [ "\\begin{minted}{r}\n", "structure(function (q) \n", "coefs{[}1{]} + coefs{[}2{]}/q, coefficients = c(asymptDisp = 0.0141803487671824, \n", "extraPois = 0.87630661036897), fitType = \"parametric\", varLogDispEsts = 0.902466256228483, dispPriorVar = 0.802549300169356)\n", "\\end{minted}" ], "text/markdown": [ "```r\n", "structure(function (q) \n", "coefs[1] + coefs[2]/q, coefficients = c(asymptDisp = 0.0141803487671824, \n", "extraPois = 0.87630661036897), fitType = \"parametric\", varLogDispEsts = 0.902466256228483, dispPriorVar = 0.802549300169356)\n", "```" ], "text/plain": [ "function (q) \n", "coefs[1] + coefs[2]/q\n", "\n", "\n", "attr(,\"coefficients\")\n", "asymptDisp extraPois \n", "0.01418035 0.87630661 \n", "attr(,\"fitType\")\n", "[1] \"parametric\"\n", "attr(,\"varLogDispEsts\")\n", "[1] 0.9024663\n", "attr(,\"dispPriorVar\")\n", "[1] 0.8025493" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dds2019@dispersionFunction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can extract the gene specific dispersion factors using dispersions(). Note that there will be one number per gene. We look at the first four genes (rounded to 4 decimal places)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "alphas <- dispersions(dds2019)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Verify that the number of dispersion factors equals the number of genes" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "8499" ], "text/latex": [ "8499" ], "text/markdown": [ "8499" ], "text/plain": [ "[1] 8499" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# number of disperion factors\n", "length(alphas)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. <NA>
  2. \n", "\t
  3. 0.0132
  4. \n", "\t
  5. 0.0231
  6. \n", "\t
  7. 0.0044
  8. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item \n", "\\item 0.0132\n", "\\item 0.0231\n", "\\item 0.0044\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. <NA>\n", "2. 0.0132\n", "3. 0.0231\n", "4. 0.0044\n", "\n", "\n" ], "text/plain": [ "[1] NA 0.0132 0.0231 0.0044" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "round(alphas[1:4], 4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Extract the metadata using mcols() for the first four genes\n", "\n", "| Terms | Description |\n", "|-------------|-----------------------------------------------|\n", "| baseMean | mean of normalized counts for all samples |\n", "| baseVar | variance of normalized counts for all samples |\n", "| allZero | all counts for a gene are zero |\n", "| dispGeneEst | gene-wise estimates of dispersion |\n", "| dispFit | fitted values of dispersion |\n", "| dispersion | final estimate of dispersion |\n", "| dispIter | number of iterations |\n", "| dispOut | dispersion flagged as outlier |\n", "| dispMAP | maximum a posteriori estimate |\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 4 × 10
baseMeanbaseVarallZerodispGeneEstdispGeneIterdispFitdispersiondispIterdispOutlierdispMAP
<dbl><dbl><lgl><dbl><dbl><dbl><dbl><dbl><lgl><dbl>
CNAG_00001 0.0000 0.000 TRUE NANA NA NANA NA NA
CNAG_00002192.45648133.183FALSE0.012090962 90.018733620.013202310 9FALSE0.013202310
CNAG_00003164.99083089.489FALSE0.023820456100.019491590.023065791 7FALSE0.023065791
CNAG_00004571.05471819.185FALSE0.003107148 50.015714890.00443058612FALSE0.004430586
\n" ], "text/latex": [ "A data.frame: 4 × 10\n", "\\begin{tabular}{r|llllllllll}\n", " & baseMean & baseVar & allZero & dispGeneEst & dispGeneIter & dispFit & dispersion & dispIter & dispOutlier & dispMAP\\\\\n", " & & & & & & & & & & \\\\\n", "\\hline\n", "\tCNAG\\_00001 & 0.0000 & 0.000 & TRUE & NA & NA & NA & NA & NA & NA & NA\\\\\n", "\tCNAG\\_00002 & 192.4564 & 8133.183 & FALSE & 0.012090962 & 9 & 0.01873362 & 0.013202310 & 9 & FALSE & 0.013202310\\\\\n", "\tCNAG\\_00003 & 164.9908 & 3089.489 & FALSE & 0.023820456 & 10 & 0.01949159 & 0.023065791 & 7 & FALSE & 0.023065791\\\\\n", "\tCNAG\\_00004 & 571.0547 & 1819.185 & FALSE & 0.003107148 & 5 & 0.01571489 & 0.004430586 & 12 & FALSE & 0.004430586\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 4 × 10\n", "\n", "| | baseMean <dbl> | baseVar <dbl> | allZero <lgl> | dispGeneEst <dbl> | dispGeneIter <dbl> | dispFit <dbl> | dispersion <dbl> | dispIter <dbl> | dispOutlier <lgl> | dispMAP <dbl> |\n", "|---|---|---|---|---|---|---|---|---|---|---|\n", "| CNAG_00001 | 0.0000 | 0.000 | TRUE | NA | NA | NA | NA | NA | NA | NA |\n", "| CNAG_00002 | 192.4564 | 8133.183 | FALSE | 0.012090962 | 9 | 0.01873362 | 0.013202310 | 9 | FALSE | 0.013202310 |\n", "| CNAG_00003 | 164.9908 | 3089.489 | FALSE | 0.023820456 | 10 | 0.01949159 | 0.023065791 | 7 | FALSE | 0.023065791 |\n", "| CNAG_00004 | 571.0547 | 1819.185 | FALSE | 0.003107148 | 5 | 0.01571489 | 0.004430586 | 12 | FALSE | 0.004430586 |\n", "\n" ], "text/plain": [ " baseMean baseVar allZero dispGeneEst dispGeneIter dispFit \n", "CNAG_00001 0.0000 0.000 TRUE NA NA NA\n", "CNAG_00002 192.4564 8133.183 FALSE 0.012090962 9 0.01873362\n", "CNAG_00003 164.9908 3089.489 FALSE 0.023820456 10 0.01949159\n", "CNAG_00004 571.0547 1819.185 FALSE 0.003107148 5 0.01571489\n", " dispersion dispIter dispOutlier dispMAP \n", "CNAG_00001 NA NA NA NA\n", "CNAG_00002 0.013202310 9 FALSE 0.013202310\n", "CNAG_00003 0.023065791 7 FALSE 0.023065791\n", "CNAG_00004 0.004430586 12 FALSE 0.004430586" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mcols(dds2019)[1:4,] %>% as.data.frame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Summarize the dispersion factors using a box plot (may want to log transform)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC61BMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+BgYGCgoKDg4OE\nhISGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaX\nl5eYmJiZmZmampqbm5ucnJyenp6fn5+goKChoaGjo6OkpKSlpaWmpqanp6eoqKipqamqqqqr\nq6usrKytra2urq6wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+\nvr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q\n0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi\n4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDy8vLz8/P09PT1\n9fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///9yi5zIAAAACXBIWXMAABJ0AAASdAHe\nZh94AAAepUlEQVR4nO3deZhU5ZWA8XNvVS/V3TTQgOIg4kKUaMBJmhgcccmMjls0GHfRTDtG\nokbBZSTbjKMZNZNkNE7ALca4EYcYTNTEJSFxQTRCFARFMQlLYwQRFAW76T+nqlu5jHGaEs93\n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", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "boxplot(log(dispersions(dds2019)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Differential Expression Analysis\n", "We can now conduct a differential expression analysis using the DESeq() function. Keep in mind that to get to this step, we first estimated the size factors and then the dispersion parameters." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "using pre-existing size factors\n", "estimating dispersions\n", "found already estimated dispersions, replacing these\n", "gene-wise dispersion estimates\n", "mean-dispersion relationship\n", "final dispersion estimates\n", "fitting model and testing\n" ] } ], "source": [ "### Carry out DE analysis\n", "ddsDE <- DESeq(dds2019)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "class: DESeqDataSet \n", "dim: 8499 24 \n", "metadata(1): version\n", "assays(4): counts mu H cooks\n", "rownames(8499): CNAG_00001 CNAG_00002 ... large_MTrRNA small_MTrRNA\n", "rowData names(26): baseMean baseVar ... deviance maxCooks\n", "colnames(24): 1_2019_P_M1 2_2019_P_M1 ... 23_2019_P_M1 24_2019_P_M1\n", "colData names(23): Label sample_year ... RIN_lowered_threshold\n", " sizeFactor" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Look at object\n", "ddsDE" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "log2 fold change (MLE): genotype WT vs sre1d \n", "Wald test p-value: genotype WT vs sre1d \n", "DataFrame with 8499 rows and 6 columns\n", " baseMean log2FoldChange lfcSE\n", " \n", "CNAG_00001 0 NA NA\n", "CNAG_00002 192.456384076694 0.0459290105698189 0.0812849125012254\n", "CNAG_00003 164.990819436254 0.0432979308487266 0.101045100070341\n", "CNAG_00004 571.054651467718 0.0347715410374543 0.0464312203030827\n", "CNAG_00005 28.7106195205257 -0.377056805602812 0.192347436642309\n", "... ... ... ...\n", "ENSRNA049551942 0 NA NA\n", "ENSRNA049551964 0 NA NA\n", "ENSRNA049551993 0 NA NA\n", "large_MTrRNA 5333.97356461621 -0.396337460272526 0.13434088145007\n", "small_MTrRNA 1705.75472334291 -0.436802837852531 0.295538981353034\n", " stat pvalue padj\n", " \n", "CNAG_00001 NA NA NA\n", "CNAG_00002 0.565037337883909 0.572048368119426 0.675469542016723\n", "CNAG_00003 0.428501043777338 0.668286373790347 0.756450803050288\n", "CNAG_00004 0.748882773497678 0.453927864041203 0.566263547566551\n", "CNAG_00005 -1.96029025488907 0.0499618744055703 0.094333851813714\n", "... ... ... ...\n", "ENSRNA049551942 NA NA NA\n", "ENSRNA049551964 NA NA NA\n", "ENSRNA049551993 NA NA NA\n", "large_MTrRNA -2.95023715785154 0.00317530091247218 0.00896807960414441\n", "small_MTrRNA -1.4779872213566 0.139411198621898 0.221714577729148" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Look at some of the results\n", "results(ddsDE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that currently, the model we have is an additive model, which does not include the interaction term of `Media` and `Strain`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Look at some of the results (tidy version)\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 8499 × 7
rowbaseMeanlog2FoldChangelfcSEstatpvaluepadj
<chr><dbl><dbl><dbl><dbl><dbl><dbl>
CNAG_00001 0.00000 NA NA NA NA NA
CNAG_00002 192.45638 0.04592901060.08128491 0.5650373385.720484e-016.754695e-01
CNAG_00003 164.99082 0.04329793080.10104510 0.4285010446.682864e-017.564508e-01
CNAG_00004 571.05465 0.03477154100.04643122 0.7488827734.539279e-015.662635e-01
CNAG_00005 28.71062-0.37705680560.19234744 -1.9602902554.996187e-029.433385e-02
CNAG_000063147.39964-0.13136969270.04955489 -2.6509934578.025540e-031.995982e-02
CNAG_000071484.87545-0.25112143440.08051906 -3.1187824551.816000e-035.492473e-03
CNAG_00008 938.01932-0.00957755680.04760749 -0.2011775048.405598e-018.873725e-01
CNAG_00009 305.19881-0.18664588700.09952871 -1.8752969226.075189e-021.116044e-01
CNAG_00010 989.04227 0.29910115060.06322330 4.7308687972.235610e-061.474309e-05
CNAG_000111001.75238-0.01506299410.08611946 -0.1749081338.611518e-019.032619e-01
CNAG_00012 773.99385 0.19474879020.05765064 3.3780853377.299243e-042.477973e-03
CNAG_00013 485.75319-0.00028230690.07949652 -0.0035511859.971666e-019.974113e-01
CNAG_00014 180.53988 0.04893072500.06795183 0.7200795534.714760e-015.825377e-01
CNAG_00015 318.87538-0.52256276610.04948141-10.5607897344.528359e-266.591188e-24
CNAG_00016 901.25567-0.17439720990.04458282 -3.9117585499.162649e-053.953666e-04
CNAG_00017 184.65031 0.25011413670.08576066 2.9164204443.540730e-039.829867e-03
CNAG_00018 876.12980 0.05336718550.03737492 1.4278876781.533242e-012.399204e-01
CNAG_000191208.90542-0.03761997930.05412226 -0.6950924854.869973e-015.980888e-01
CNAG_00020 968.39030 0.16334678170.06202149 2.6337124988.445697e-032.079157e-02
CNAG_00021 539.92676 0.34559598600.05392145 6.4092492931.462379e-102.337226e-09
CNAG_00022 746.84601-0.03380024950.06149652 -0.5496286335.825741e-016.837382e-01
CNAG_00023 278.87826-1.46009376560.26611238 -5.4867562794.093813e-083.977196e-07
CNAG_000247703.04647-0.10749591950.04323925 -2.4860728151.291615e-023.001984e-02
CNAG_000252021.99612-0.09663889950.09609375 -1.0056730593.145729e-014.265652e-01
CNAG_000262237.77134-0.22179505750.06090899 -3.6414173392.711412e-041.034194e-03
CNAG_00027 425.60765 0.12268413780.06051990 2.0271700384.264503e-028.258484e-02
CNAG_00028 381.48552-0.10529428930.05837561 -1.8037376927.127244e-021.274834e-01
CNAG_00029 52.66523-0.06987920340.10076540 -0.6934841354.880058e-015.990298e-01
CNAG_00030 76.57328-0.32881123370.12296567 -2.6740084517.495056e-031.881006e-02
ENSRNA049550980 0.000 NA NA NA NA NA
ENSRNA049551037 0.000 NA NA NA NA NA
ENSRNA049551063 0.000 NA NA NA NA NA
ENSRNA049551074 0.000 NA NA NA NA NA
ENSRNA049551126 0.000 NA NA NA NA NA
ENSRNA049551197 0.000 NA NA NA NA NA
ENSRNA049551244 0.000 NA NA NA NA NA
ENSRNA049551269 0.000 NA NA NA NA NA
ENSRNA049551298 0.000 NA NA NA NA NA
ENSRNA049551337 0.000 NA NA NA NA NA
ENSRNA049551365 0.000 NA NA NA NA NA
ENSRNA049551391 0.000 NA NA NA NA NA
ENSRNA049551484 0.000 NA NA NA NA NA
ENSRNA049551550 0.000 NA NA NA NA NA
ENSRNA049551574 0.000 NA NA NA NA NA
ENSRNA049551598 0.000 NA NA NA NA NA
ENSRNA049551636 0.000 NA NA NA NA NA
ENSRNA049551673 0.000 NA NA NA NA NA
ENSRNA049551717 0.000 NA NA NA NA NA
ENSRNA049551745 0.000 NA NA NA NA NA
ENSRNA049551774 0.000 NA NA NA NA NA
ENSRNA049551798 0.000 NA NA NA NA NA
ENSRNA049551814 0.000 NA NA NA NA NA
ENSRNA049551862 0.000 NA NA NA NA NA
ENSRNA049551899 0.000 NA NA NA NA NA
ENSRNA049551942 0.000 NA NA NA NA NA
ENSRNA049551964 0.000 NA NA NA NA NA
ENSRNA049551993 0.000 NA NA NA NA NA
large_MTrRNA 5333.974-0.39633750.1343409-2.9502370.0031753010.00896808
small_MTrRNA 1705.755-0.43680280.2955390-1.4779870.1394111990.22171458
\n" ], "text/latex": [ "A data.frame: 8499 × 7\n", "\\begin{tabular}{r|lllllll}\n", " row & baseMean & log2FoldChange & lfcSE & stat & pvalue & padj\\\\\n", " & & & & & & \\\\\n", "\\hline\n", "\t CNAG\\_00001 & 0.00000 & NA & NA & NA & NA & NA\\\\\n", "\t CNAG\\_00002 & 192.45638 & 0.0459290106 & 0.08128491 & 0.565037338 & 5.720484e-01 & 6.754695e-01\\\\\n", "\t CNAG\\_00003 & 164.99082 & 0.0432979308 & 0.10104510 & 0.428501044 & 6.682864e-01 & 7.564508e-01\\\\\n", "\t CNAG\\_00004 & 571.05465 & 0.0347715410 & 0.04643122 & 0.748882773 & 4.539279e-01 & 5.662635e-01\\\\\n", "\t CNAG\\_00005 & 28.71062 & -0.3770568056 & 0.19234744 & -1.960290255 & 4.996187e-02 & 9.433385e-02\\\\\n", "\t CNAG\\_00006 & 3147.39964 & -0.1313696927 & 0.04955489 & -2.650993457 & 8.025540e-03 & 1.995982e-02\\\\\n", "\t CNAG\\_00007 & 1484.87545 & -0.2511214344 & 0.08051906 & -3.118782455 & 1.816000e-03 & 5.492473e-03\\\\\n", "\t CNAG\\_00008 & 938.01932 & -0.0095775568 & 0.04760749 & -0.201177504 & 8.405598e-01 & 8.873725e-01\\\\\n", "\t CNAG\\_00009 & 305.19881 & -0.1866458870 & 0.09952871 & -1.875296922 & 6.075189e-02 & 1.116044e-01\\\\\n", "\t CNAG\\_00010 & 989.04227 & 0.2991011506 & 0.06322330 & 4.730868797 & 2.235610e-06 & 1.474309e-05\\\\\n", "\t CNAG\\_00011 & 1001.75238 & -0.0150629941 & 0.08611946 & -0.174908133 & 8.611518e-01 & 9.032619e-01\\\\\n", "\t CNAG\\_00012 & 773.99385 & 0.1947487902 & 0.05765064 & 3.378085337 & 7.299243e-04 & 2.477973e-03\\\\\n", "\t CNAG\\_00013 & 485.75319 & -0.0002823069 & 0.07949652 & -0.003551185 & 9.971666e-01 & 9.974113e-01\\\\\n", "\t CNAG\\_00014 & 180.53988 & 0.0489307250 & 0.06795183 & 0.720079553 & 4.714760e-01 & 5.825377e-01\\\\\n", "\t CNAG\\_00015 & 318.87538 & -0.5225627661 & 0.04948141 & -10.560789734 & 4.528359e-26 & 6.591188e-24\\\\\n", "\t CNAG\\_00016 & 901.25567 & -0.1743972099 & 0.04458282 & -3.911758549 & 9.162649e-05 & 3.953666e-04\\\\\n", "\t CNAG\\_00017 & 184.65031 & 0.2501141367 & 0.08576066 & 2.916420444 & 3.540730e-03 & 9.829867e-03\\\\\n", "\t CNAG\\_00018 & 876.12980 & 0.0533671855 & 0.03737492 & 1.427887678 & 1.533242e-01 & 2.399204e-01\\\\\n", "\t CNAG\\_00019 & 1208.90542 & -0.0376199793 & 0.05412226 & -0.695092485 & 4.869973e-01 & 5.980888e-01\\\\\n", "\t CNAG\\_00020 & 968.39030 & 0.1633467817 & 0.06202149 & 2.633712498 & 8.445697e-03 & 2.079157e-02\\\\\n", "\t CNAG\\_00021 & 539.92676 & 0.3455959860 & 0.05392145 & 6.409249293 & 1.462379e-10 & 2.337226e-09\\\\\n", "\t CNAG\\_00022 & 746.84601 & -0.0338002495 & 0.06149652 & -0.549628633 & 5.825741e-01 & 6.837382e-01\\\\\n", "\t CNAG\\_00023 & 278.87826 & -1.4600937656 & 0.26611238 & -5.486756279 & 4.093813e-08 & 3.977196e-07\\\\\n", "\t CNAG\\_00024 & 7703.04647 & -0.1074959195 & 0.04323925 & -2.486072815 & 1.291615e-02 & 3.001984e-02\\\\\n", "\t CNAG\\_00025 & 2021.99612 & -0.0966388995 & 0.09609375 & -1.005673059 & 3.145729e-01 & 4.265652e-01\\\\\n", "\t CNAG\\_00026 & 2237.77134 & -0.2217950575 & 0.06090899 & -3.641417339 & 2.711412e-04 & 1.034194e-03\\\\\n", "\t CNAG\\_00027 & 425.60765 & 0.1226841378 & 0.06051990 & 2.027170038 & 4.264503e-02 & 8.258484e-02\\\\\n", "\t CNAG\\_00028 & 381.48552 & -0.1052942893 & 0.05837561 & -1.803737692 & 7.127244e-02 & 1.274834e-01\\\\\n", "\t CNAG\\_00029 & 52.66523 & -0.0698792034 & 0.10076540 & -0.693484135 & 4.880058e-01 & 5.990298e-01\\\\\n", "\t CNAG\\_00030 & 76.57328 & -0.3288112337 & 0.12296567 & -2.674008451 & 7.495056e-03 & 1.881006e-02\\\\\n", "\t ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮\\\\\n", "\t ENSRNA049550980 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551037 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551063 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551074 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551126 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551197 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551244 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551269 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551298 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551337 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551365 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551391 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551484 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551550 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551574 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551598 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551636 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551673 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551717 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551745 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551774 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551798 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551814 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551862 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551899 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551942 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551964 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551993 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t large\\_MTrRNA & 5333.974 & -0.3963375 & 0.1343409 & -2.950237 & 0.003175301 & 0.00896808\\\\\n", "\t small\\_MTrRNA & 1705.755 & -0.4368028 & 0.2955390 & -1.477987 & 0.139411199 & 0.22171458\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 8499 × 7\n", "\n", "| row <chr> | baseMean <dbl> | log2FoldChange <dbl> | lfcSE <dbl> | stat <dbl> | pvalue <dbl> | padj <dbl> |\n", "|---|---|---|---|---|---|---|\n", "| CNAG_00001 | 0.00000 | NA | NA | NA | NA | NA |\n", "| CNAG_00002 | 192.45638 | 0.0459290106 | 0.08128491 | 0.565037338 | 5.720484e-01 | 6.754695e-01 |\n", "| CNAG_00003 | 164.99082 | 0.0432979308 | 0.10104510 | 0.428501044 | 6.682864e-01 | 7.564508e-01 |\n", "| CNAG_00004 | 571.05465 | 0.0347715410 | 0.04643122 | 0.748882773 | 4.539279e-01 | 5.662635e-01 |\n", "| CNAG_00005 | 28.71062 | -0.3770568056 | 0.19234744 | -1.960290255 | 4.996187e-02 | 9.433385e-02 |\n", "| CNAG_00006 | 3147.39964 | -0.1313696927 | 0.04955489 | -2.650993457 | 8.025540e-03 | 1.995982e-02 |\n", "| CNAG_00007 | 1484.87545 | -0.2511214344 | 0.08051906 | -3.118782455 | 1.816000e-03 | 5.492473e-03 |\n", "| CNAG_00008 | 938.01932 | -0.0095775568 | 0.04760749 | -0.201177504 | 8.405598e-01 | 8.873725e-01 |\n", "| CNAG_00009 | 305.19881 | -0.1866458870 | 0.09952871 | -1.875296922 | 6.075189e-02 | 1.116044e-01 |\n", "| CNAG_00010 | 989.04227 | 0.2991011506 | 0.06322330 | 4.730868797 | 2.235610e-06 | 1.474309e-05 |\n", "| CNAG_00011 | 1001.75238 | -0.0150629941 | 0.08611946 | -0.174908133 | 8.611518e-01 | 9.032619e-01 |\n", "| CNAG_00012 | 773.99385 | 0.1947487902 | 0.05765064 | 3.378085337 | 7.299243e-04 | 2.477973e-03 |\n", "| CNAG_00013 | 485.75319 | -0.0002823069 | 0.07949652 | -0.003551185 | 9.971666e-01 | 9.974113e-01 |\n", "| CNAG_00014 | 180.53988 | 0.0489307250 | 0.06795183 | 0.720079553 | 4.714760e-01 | 5.825377e-01 |\n", "| CNAG_00015 | 318.87538 | -0.5225627661 | 0.04948141 | -10.560789734 | 4.528359e-26 | 6.591188e-24 |\n", "| CNAG_00016 | 901.25567 | -0.1743972099 | 0.04458282 | -3.911758549 | 9.162649e-05 | 3.953666e-04 |\n", "| CNAG_00017 | 184.65031 | 0.2501141367 | 0.08576066 | 2.916420444 | 3.540730e-03 | 9.829867e-03 |\n", "| CNAG_00018 | 876.12980 | 0.0533671855 | 0.03737492 | 1.427887678 | 1.533242e-01 | 2.399204e-01 |\n", "| CNAG_00019 | 1208.90542 | -0.0376199793 | 0.05412226 | -0.695092485 | 4.869973e-01 | 5.980888e-01 |\n", "| CNAG_00020 | 968.39030 | 0.1633467817 | 0.06202149 | 2.633712498 | 8.445697e-03 | 2.079157e-02 |\n", "| CNAG_00021 | 539.92676 | 0.3455959860 | 0.05392145 | 6.409249293 | 1.462379e-10 | 2.337226e-09 |\n", "| CNAG_00022 | 746.84601 | -0.0338002495 | 0.06149652 | -0.549628633 | 5.825741e-01 | 6.837382e-01 |\n", "| CNAG_00023 | 278.87826 | -1.4600937656 | 0.26611238 | -5.486756279 | 4.093813e-08 | 3.977196e-07 |\n", "| CNAG_00024 | 7703.04647 | -0.1074959195 | 0.04323925 | -2.486072815 | 1.291615e-02 | 3.001984e-02 |\n", "| CNAG_00025 | 2021.99612 | -0.0966388995 | 0.09609375 | -1.005673059 | 3.145729e-01 | 4.265652e-01 |\n", "| CNAG_00026 | 2237.77134 | -0.2217950575 | 0.06090899 | -3.641417339 | 2.711412e-04 | 1.034194e-03 |\n", "| CNAG_00027 | 425.60765 | 0.1226841378 | 0.06051990 | 2.027170038 | 4.264503e-02 | 8.258484e-02 |\n", "| CNAG_00028 | 381.48552 | -0.1052942893 | 0.05837561 | -1.803737692 | 7.127244e-02 | 1.274834e-01 |\n", "| CNAG_00029 | 52.66523 | -0.0698792034 | 0.10076540 | -0.693484135 | 4.880058e-01 | 5.990298e-01 |\n", "| CNAG_00030 | 76.57328 | -0.3288112337 | 0.12296567 | -2.674008451 | 7.495056e-03 | 1.881006e-02 |\n", "| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |\n", "| ENSRNA049550980 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551037 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551063 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551074 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551126 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551197 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551244 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551269 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551298 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551337 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551365 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551391 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551484 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551550 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551574 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551598 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551636 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551673 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551717 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551745 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551774 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551798 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551814 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551862 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551899 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551942 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551964 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551993 | 0.000 | NA | NA | NA | NA | NA |\n", "| large_MTrRNA | 5333.974 | -0.3963375 | 0.1343409 | -2.950237 | 0.003175301 | 0.00896808 |\n", "| small_MTrRNA | 1705.755 | -0.4368028 | 0.2955390 | -1.477987 | 0.139411199 | 0.22171458 |\n", "\n" ], "text/plain": [ " row baseMean log2FoldChange lfcSE stat \n", "1 CNAG_00001 0.00000 NA NA NA\n", "2 CNAG_00002 192.45638 0.0459290106 0.08128491 0.565037338\n", "3 CNAG_00003 164.99082 0.0432979308 0.10104510 0.428501044\n", "4 CNAG_00004 571.05465 0.0347715410 0.04643122 0.748882773\n", "5 CNAG_00005 28.71062 -0.3770568056 0.19234744 -1.960290255\n", "6 CNAG_00006 3147.39964 -0.1313696927 0.04955489 -2.650993457\n", "7 CNAG_00007 1484.87545 -0.2511214344 0.08051906 -3.118782455\n", "8 CNAG_00008 938.01932 -0.0095775568 0.04760749 -0.201177504\n", "9 CNAG_00009 305.19881 -0.1866458870 0.09952871 -1.875296922\n", "10 CNAG_00010 989.04227 0.2991011506 0.06322330 4.730868797\n", "11 CNAG_00011 1001.75238 -0.0150629941 0.08611946 -0.174908133\n", "12 CNAG_00012 773.99385 0.1947487902 0.05765064 3.378085337\n", "13 CNAG_00013 485.75319 -0.0002823069 0.07949652 -0.003551185\n", "14 CNAG_00014 180.53988 0.0489307250 0.06795183 0.720079553\n", "15 CNAG_00015 318.87538 -0.5225627661 0.04948141 -10.560789734\n", "16 CNAG_00016 901.25567 -0.1743972099 0.04458282 -3.911758549\n", "17 CNAG_00017 184.65031 0.2501141367 0.08576066 2.916420444\n", "18 CNAG_00018 876.12980 0.0533671855 0.03737492 1.427887678\n", "19 CNAG_00019 1208.90542 -0.0376199793 0.05412226 -0.695092485\n", "20 CNAG_00020 968.39030 0.1633467817 0.06202149 2.633712498\n", "21 CNAG_00021 539.92676 0.3455959860 0.05392145 6.409249293\n", "22 CNAG_00022 746.84601 -0.0338002495 0.06149652 -0.549628633\n", "23 CNAG_00023 278.87826 -1.4600937656 0.26611238 -5.486756279\n", "24 CNAG_00024 7703.04647 -0.1074959195 0.04323925 -2.486072815\n", "25 CNAG_00025 2021.99612 -0.0966388995 0.09609375 -1.005673059\n", "26 CNAG_00026 2237.77134 -0.2217950575 0.06090899 -3.641417339\n", "27 CNAG_00027 425.60765 0.1226841378 0.06051990 2.027170038\n", "28 CNAG_00028 381.48552 -0.1052942893 0.05837561 -1.803737692\n", "29 CNAG_00029 52.66523 -0.0698792034 0.10076540 -0.693484135\n", "30 CNAG_00030 76.57328 -0.3288112337 0.12296567 -2.674008451\n", "⋮ ⋮ ⋮ ⋮ ⋮ ⋮ \n", "8470 ENSRNA049550980 0.000 NA NA NA \n", "8471 ENSRNA049551037 0.000 NA NA NA \n", "8472 ENSRNA049551063 0.000 NA NA NA \n", "8473 ENSRNA049551074 0.000 NA NA NA \n", "8474 ENSRNA049551126 0.000 NA NA NA \n", "8475 ENSRNA049551197 0.000 NA NA NA \n", "8476 ENSRNA049551244 0.000 NA NA NA \n", "8477 ENSRNA049551269 0.000 NA NA NA \n", "8478 ENSRNA049551298 0.000 NA NA NA \n", "8479 ENSRNA049551337 0.000 NA NA NA \n", "8480 ENSRNA049551365 0.000 NA NA NA \n", "8481 ENSRNA049551391 0.000 NA NA NA \n", "8482 ENSRNA049551484 0.000 NA NA NA \n", "8483 ENSRNA049551550 0.000 NA NA NA \n", "8484 ENSRNA049551574 0.000 NA NA NA \n", "8485 ENSRNA049551598 0.000 NA NA NA \n", "8486 ENSRNA049551636 0.000 NA NA NA \n", "8487 ENSRNA049551673 0.000 NA NA NA \n", "8488 ENSRNA049551717 0.000 NA NA NA \n", "8489 ENSRNA049551745 0.000 NA NA NA \n", "8490 ENSRNA049551774 0.000 NA NA NA \n", "8491 ENSRNA049551798 0.000 NA NA NA \n", "8492 ENSRNA049551814 0.000 NA NA NA \n", "8493 ENSRNA049551862 0.000 NA NA NA \n", "8494 ENSRNA049551899 0.000 NA NA NA \n", "8495 ENSRNA049551942 0.000 NA NA NA \n", "8496 ENSRNA049551964 0.000 NA NA NA \n", "8497 ENSRNA049551993 0.000 NA NA NA \n", "8498 large_MTrRNA 5333.974 -0.3963375 0.1343409 -2.950237 \n", "8499 small_MTrRNA 1705.755 -0.4368028 0.2955390 -1.477987 \n", " pvalue padj \n", "1 NA NA\n", "2 5.720484e-01 6.754695e-01\n", "3 6.682864e-01 7.564508e-01\n", "4 4.539279e-01 5.662635e-01\n", "5 4.996187e-02 9.433385e-02\n", "6 8.025540e-03 1.995982e-02\n", "7 1.816000e-03 5.492473e-03\n", "8 8.405598e-01 8.873725e-01\n", "9 6.075189e-02 1.116044e-01\n", "10 2.235610e-06 1.474309e-05\n", "11 8.611518e-01 9.032619e-01\n", "12 7.299243e-04 2.477973e-03\n", "13 9.971666e-01 9.974113e-01\n", "14 4.714760e-01 5.825377e-01\n", "15 4.528359e-26 6.591188e-24\n", "16 9.162649e-05 3.953666e-04\n", "17 3.540730e-03 9.829867e-03\n", "18 1.533242e-01 2.399204e-01\n", "19 4.869973e-01 5.980888e-01\n", "20 8.445697e-03 2.079157e-02\n", "21 1.462379e-10 2.337226e-09\n", "22 5.825741e-01 6.837382e-01\n", "23 4.093813e-08 3.977196e-07\n", "24 1.291615e-02 3.001984e-02\n", "25 3.145729e-01 4.265652e-01\n", "26 2.711412e-04 1.034194e-03\n", "27 4.264503e-02 8.258484e-02\n", "28 7.127244e-02 1.274834e-01\n", "29 4.880058e-01 5.990298e-01\n", "30 7.495056e-03 1.881006e-02\n", "⋮ ⋮ ⋮ \n", "8470 NA NA \n", "8471 NA NA \n", "8472 NA NA \n", "8473 NA NA \n", "8474 NA NA \n", "8475 NA NA \n", "8476 NA NA \n", "8477 NA NA \n", "8478 NA NA \n", "8479 NA NA \n", "8480 NA NA \n", "8481 NA NA \n", "8482 NA NA \n", "8483 NA NA \n", "8484 NA NA \n", "8485 NA NA \n", "8486 NA NA \n", "8487 NA NA \n", "8488 NA NA \n", "8489 NA NA \n", "8490 NA NA \n", "8491 NA NA \n", "8492 NA NA \n", "8493 NA NA \n", "8494 NA NA \n", "8495 NA NA \n", "8496 NA NA \n", "8497 NA NA \n", "8498 0.003175301 0.00896808 \n", "8499 0.139411199 0.22171458 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results(ddsDE, tidy = TRUE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can get the results for the differential expression analysis using results(). Here, we can compare two group of samples specified by the contrast. (If not, the default contrast would be the last term in your additive model `design(dds)`)." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "log2 fold change (MLE): condition pH4 vs pH8 \n", "Wald test p-value: condition pH4 vs pH8 \n", "DataFrame with 8499 rows and 6 columns\n", " baseMean log2FoldChange lfcSE\n", " \n", "CNAG_00001 0 NA NA\n", "CNAG_00002 192.456384076694 -1.34351851614176 0.0813854454817818\n", "CNAG_00003 164.990819436254 -0.831905577724638 0.101018400723969\n", "CNAG_00004 571.054651467718 -0.0871138906737344 0.0465166816365353\n", "CNAG_00005 28.7106195205257 -1.29275886849841 0.192729463777133\n", "... ... ... ...\n", "ENSRNA049551942 0 NA NA\n", "ENSRNA049551964 0 NA NA\n", "ENSRNA049551993 0 NA NA\n", "large_MTrRNA 5333.97356461621 -0.948564278537808 0.134340883270906\n", "small_MTrRNA 1705.75472334291 -0.691472418621256 0.295538979277226\n", " stat pvalue padj\n", " \n", "CNAG_00001 NA NA NA\n", "CNAG_00002 -16.5080931631996 3.20862403991611e-61 2.87085560366149e-60\n", "CNAG_00003 -8.23518855735805 1.79275046151211e-16 4.79576928512805e-16\n", "CNAG_00004 -1.87274516601186 0.0611035831980367 0.074895534834165\n", "CNAG_00005 -6.70763485334717 1.97804137561036e-11 4.32020773113613e-11\n", "... ... ... ...\n", "ENSRNA049551942 NA NA NA\n", "ENSRNA049551964 NA NA NA\n", "ENSRNA049551993 NA NA NA\n", "large_MTrRNA -7.06087570248421 1.65456549165796e-12 3.75246614426935e-12\n", "small_MTrRNA -2.33969955608675 0.0192992582107572 0.0250291573072207" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# DE with respect to condition\n", "myres_condition4v8 <- results(ddsDE, contrast = c(\"condition\", \"pH4\", \"pH8\"))\n", "myres_condition4v8" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "log2 fold change (MLE): condition pH8 vs pH4 \n", "Wald test p-value: condition pH8 vs pH4 \n", "DataFrame with 8499 rows and 6 columns\n", " baseMean log2FoldChange lfcSE\n", " \n", "CNAG_00001 0 NA NA\n", "CNAG_00002 192.456384076694 1.34351851614176 0.0813854454817818\n", "CNAG_00003 164.990819436254 0.831905577724638 0.101018400723969\n", "CNAG_00004 571.054651467718 0.0871138906737344 0.0465166816365353\n", "CNAG_00005 28.7106195205257 1.29275886849841 0.192729463777133\n", "... ... ... ...\n", "ENSRNA049551942 0 NA NA\n", "ENSRNA049551964 0 NA NA\n", "ENSRNA049551993 0 NA NA\n", "large_MTrRNA 5333.97356461621 0.948564278537808 0.134340883270906\n", "small_MTrRNA 1705.75472334291 0.691472418621256 0.295538979277226\n", " stat pvalue padj\n", " \n", "CNAG_00001 NA NA NA\n", "CNAG_00002 16.5080931631996 3.20862403991611e-61 2.87085560366149e-60\n", "CNAG_00003 8.23518855735805 1.79275046151211e-16 4.79576928512805e-16\n", "CNAG_00004 1.87274516601186 0.0611035831980367 0.074895534834165\n", "CNAG_00005 6.70763485334717 1.97804137561036e-11 4.32020773113613e-11\n", "... ... ... ...\n", "ENSRNA049551942 NA NA NA\n", "ENSRNA049551964 NA NA NA\n", "ENSRNA049551993 NA NA NA\n", "large_MTrRNA 7.06087570248421 1.65456549165796e-12 3.75246614426935e-12\n", "small_MTrRNA 2.33969955608675 0.0192992582107572 0.0250291573072207" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# DE with respect to condition (flip order)\n", "myres_condition8v4 <- results(ddsDE, contrast = c(\"condition\", \"pH8\", \"pH4\"))\n", "myres_condition8v4" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "log2 fold change (MLE): genotype sre1d vs WT \n", "Wald test p-value: genotype sre1d vs WT \n", "DataFrame with 8499 rows and 6 columns\n", " baseMean log2FoldChange lfcSE\n", " \n", "CNAG_00001 0 NA NA\n", "CNAG_00002 192.456384076694 -0.0459290105698189 0.0812849125012254\n", "CNAG_00003 164.990819436254 -0.0432979308487266 0.101045100070341\n", "CNAG_00004 571.054651467718 -0.0347715410374543 0.0464312203030827\n", "CNAG_00005 28.7106195205257 0.377056805602812 0.192347436642309\n", "... ... ... ...\n", "ENSRNA049551942 0 NA NA\n", "ENSRNA049551964 0 NA NA\n", "ENSRNA049551993 0 NA NA\n", "large_MTrRNA 5333.97356461621 0.396337460272526 0.13434088145007\n", "small_MTrRNA 1705.75472334291 0.436802837852531 0.295538981353034\n", " stat pvalue padj\n", " \n", "CNAG_00001 NA NA NA\n", "CNAG_00002 -0.565037337883909 0.572048368119426 0.675469542016723\n", "CNAG_00003 -0.428501043777338 0.668286373790347 0.756450803050288\n", "CNAG_00004 -0.748882773497678 0.453927864041203 0.566263547566551\n", "CNAG_00005 1.96029025488907 0.0499618744055703 0.094333851813714\n", "... ... ... ...\n", "ENSRNA049551942 NA NA NA\n", "ENSRNA049551964 NA NA NA\n", "ENSRNA049551993 NA NA NA\n", "large_MTrRNA 2.95023715785154 0.00317530091247218 0.00896807960414441\n", "small_MTrRNA 1.4779872213566 0.139411198621898 0.221714577729148" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### DE with respect to genotype\n", "myres_strainvWT <- results(ddsDE, contrast = c(\"genotype\", \"sre1d\", \"WT\"))\n", "myres_strainvWT" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at the results for the first four genes" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 8499 × 7
rowbaseMeanlog2FoldChangelfcSEstatpvaluepadj
<chr><dbl><dbl><dbl><dbl><dbl><dbl>
CNAG_00001 0.00000 NA NA NA NA NA
CNAG_00002 192.45638 1.3435185160.08138545 16.5080932 3.208624e-61 2.870856e-60
CNAG_00003 164.99082 0.8319055780.10101840 8.2351886 1.792750e-16 4.795769e-16
CNAG_00004 571.05465 0.0871138910.04651668 1.8727452 6.110358e-02 7.489553e-02
CNAG_00005 28.71062 1.2927588680.19272946 6.7076349 1.978041e-11 4.320208e-11
CNAG_000063147.39964-0.1393277750.04956000 -2.8112951 4.934250e-03 6.756102e-03
CNAG_000071484.87545-0.7479203280.08053624 -9.2867544 1.590647e-20 4.927921e-20
CNAG_00008 938.01932-0.0791101960.04765929 -1.6599115 9.693226e-02 1.159517e-01
CNAG_00009 305.19881-0.5588380660.09968395 -5.6060989 2.069377e-08 3.933651e-08
CNAG_00010 989.04227 0.5378936680.06321490 8.5089694 1.754861e-17 4.868574e-17
CNAG_000111001.75238-2.1488943670.08634115-24.88841429.932146e-1372.998405e-135
CNAG_00012 773.99385 0.1614128170.05766095 2.7993437 5.120661e-03 6.994889e-03
CNAG_00013 485.75319-0.7229664970.07965037 -9.0767500 1.118652e-19 3.374959e-19
CNAG_00014 180.53988-0.2958865600.06870554 -4.3065895 1.657908e-05 2.684468e-05
CNAG_00015 318.87538-0.3285995880.05019105 -6.5469752 5.871409e-11 1.252823e-10
CNAG_00016 901.25567 0.3127175960.04460378 7.0110118 2.366008e-12 5.340717e-12
CNAG_00017 184.65031 0.3166832430.08573971 3.6935425 2.211516e-04 3.341873e-04
CNAG_00018 876.12980 0.1552110010.03742605 4.1471376 3.366577e-05 5.348074e-05
CNAG_000191208.90542 0.7471236790.05412045 13.8048310 2.383308e-43 1.414883e-42
CNAG_00020 968.39030-0.4701641250.06206999 -7.5747418 3.598425e-14 8.737196e-14
CNAG_00021 539.92676 0.0079220360.05395599 0.1468240 8.832709e-01 8.975865e-01
CNAG_00022 746.84601 0.0202990740.06152583 0.3299277 7.414546e-01 7.689054e-01
CNAG_00023 278.87826 0.2320639630.26610452 0.8720782 3.831657e-01 4.210277e-01
CNAG_000247703.04647 0.9970433840.04323929 23.05873811.202071e-1172.760023e-116
CNAG_000252021.99612 0.8810554030.09609371 9.1687104 4.787115e-20 1.463607e-19
CNAG_000262237.77134 0.1674335120.06091140 2.7488043 5.981308e-03 8.132384e-03
CNAG_00027 425.60765-0.9296469980.06112216-15.2096555 3.051445e-52 2.273522e-51
CNAG_00028 381.48552-0.8174229400.05910049-13.8310684 1.655433e-43 9.892547e-43
CNAG_00029 52.66523-3.3160308810.16631275-19.9385244 1.885448e-88 2.729713e-87
CNAG_00030 76.57328-1.1036474980.12592110 -8.7645955 1.874484e-18 5.414216e-18
ENSRNA049550980 0.000 NA NA NA NA NA
ENSRNA049551037 0.000 NA NA NA NA NA
ENSRNA049551063 0.000 NA NA NA NA NA
ENSRNA049551074 0.000 NA NA NA NA NA
ENSRNA049551126 0.000 NA NA NA NA NA
ENSRNA049551197 0.000 NA NA NA NA NA
ENSRNA049551244 0.000 NA NA NA NA NA
ENSRNA049551269 0.000 NA NA NA NA NA
ENSRNA049551298 0.000 NA NA NA NA NA
ENSRNA049551337 0.000 NA NA NA NA NA
ENSRNA049551365 0.000 NA NA NA NA NA
ENSRNA049551391 0.000 NA NA NA NA NA
ENSRNA049551484 0.000 NA NA NA NA NA
ENSRNA049551550 0.000 NA NA NA NA NA
ENSRNA049551574 0.000 NA NA NA NA NA
ENSRNA049551598 0.000 NA NA NA NA NA
ENSRNA049551636 0.000 NA NA NA NA NA
ENSRNA049551673 0.000 NA NA NA NA NA
ENSRNA049551717 0.000 NA NA NA NA NA
ENSRNA049551745 0.000 NA NA NA NA NA
ENSRNA049551774 0.000 NA NA NA NA NA
ENSRNA049551798 0.000 NA NA NA NA NA
ENSRNA049551814 0.000 NA NA NA NA NA
ENSRNA049551862 0.000 NA NA NA NA NA
ENSRNA049551899 0.000 NA NA NA NA NA
ENSRNA049551942 0.000 NA NA NA NA NA
ENSRNA049551964 0.000 NA NA NA NA NA
ENSRNA049551993 0.000 NA NA NA NA NA
large_MTrRNA 5333.9740.94856430.13434097.0608761.654565e-123.752466e-12
small_MTrRNA 1705.7550.69147240.29553902.3397001.929926e-022.502916e-02
\n" ], "text/latex": [ "A data.frame: 8499 × 7\n", "\\begin{tabular}{r|lllllll}\n", " row & baseMean & log2FoldChange & lfcSE & stat & pvalue & padj\\\\\n", " & & & & & & \\\\\n", "\\hline\n", "\t CNAG\\_00001 & 0.00000 & NA & NA & NA & NA & NA\\\\\n", "\t CNAG\\_00002 & 192.45638 & 1.343518516 & 0.08138545 & 16.5080932 & 3.208624e-61 & 2.870856e-60\\\\\n", "\t CNAG\\_00003 & 164.99082 & 0.831905578 & 0.10101840 & 8.2351886 & 1.792750e-16 & 4.795769e-16\\\\\n", "\t CNAG\\_00004 & 571.05465 & 0.087113891 & 0.04651668 & 1.8727452 & 6.110358e-02 & 7.489553e-02\\\\\n", "\t CNAG\\_00005 & 28.71062 & 1.292758868 & 0.19272946 & 6.7076349 & 1.978041e-11 & 4.320208e-11\\\\\n", "\t CNAG\\_00006 & 3147.39964 & -0.139327775 & 0.04956000 & -2.8112951 & 4.934250e-03 & 6.756102e-03\\\\\n", "\t CNAG\\_00007 & 1484.87545 & -0.747920328 & 0.08053624 & -9.2867544 & 1.590647e-20 & 4.927921e-20\\\\\n", "\t CNAG\\_00008 & 938.01932 & -0.079110196 & 0.04765929 & -1.6599115 & 9.693226e-02 & 1.159517e-01\\\\\n", "\t CNAG\\_00009 & 305.19881 & -0.558838066 & 0.09968395 & -5.6060989 & 2.069377e-08 & 3.933651e-08\\\\\n", "\t CNAG\\_00010 & 989.04227 & 0.537893668 & 0.06321490 & 8.5089694 & 1.754861e-17 & 4.868574e-17\\\\\n", "\t CNAG\\_00011 & 1001.75238 & -2.148894367 & 0.08634115 & -24.8884142 & 9.932146e-137 & 2.998405e-135\\\\\n", "\t CNAG\\_00012 & 773.99385 & 0.161412817 & 0.05766095 & 2.7993437 & 5.120661e-03 & 6.994889e-03\\\\\n", "\t CNAG\\_00013 & 485.75319 & -0.722966497 & 0.07965037 & -9.0767500 & 1.118652e-19 & 3.374959e-19\\\\\n", "\t CNAG\\_00014 & 180.53988 & -0.295886560 & 0.06870554 & -4.3065895 & 1.657908e-05 & 2.684468e-05\\\\\n", "\t CNAG\\_00015 & 318.87538 & -0.328599588 & 0.05019105 & -6.5469752 & 5.871409e-11 & 1.252823e-10\\\\\n", "\t CNAG\\_00016 & 901.25567 & 0.312717596 & 0.04460378 & 7.0110118 & 2.366008e-12 & 5.340717e-12\\\\\n", "\t CNAG\\_00017 & 184.65031 & 0.316683243 & 0.08573971 & 3.6935425 & 2.211516e-04 & 3.341873e-04\\\\\n", "\t CNAG\\_00018 & 876.12980 & 0.155211001 & 0.03742605 & 4.1471376 & 3.366577e-05 & 5.348074e-05\\\\\n", "\t CNAG\\_00019 & 1208.90542 & 0.747123679 & 0.05412045 & 13.8048310 & 2.383308e-43 & 1.414883e-42\\\\\n", "\t CNAG\\_00020 & 968.39030 & -0.470164125 & 0.06206999 & -7.5747418 & 3.598425e-14 & 8.737196e-14\\\\\n", "\t CNAG\\_00021 & 539.92676 & 0.007922036 & 0.05395599 & 0.1468240 & 8.832709e-01 & 8.975865e-01\\\\\n", "\t CNAG\\_00022 & 746.84601 & 0.020299074 & 0.06152583 & 0.3299277 & 7.414546e-01 & 7.689054e-01\\\\\n", "\t CNAG\\_00023 & 278.87826 & 0.232063963 & 0.26610452 & 0.8720782 & 3.831657e-01 & 4.210277e-01\\\\\n", "\t CNAG\\_00024 & 7703.04647 & 0.997043384 & 0.04323929 & 23.0587381 & 1.202071e-117 & 2.760023e-116\\\\\n", "\t CNAG\\_00025 & 2021.99612 & 0.881055403 & 0.09609371 & 9.1687104 & 4.787115e-20 & 1.463607e-19\\\\\n", "\t CNAG\\_00026 & 2237.77134 & 0.167433512 & 0.06091140 & 2.7488043 & 5.981308e-03 & 8.132384e-03\\\\\n", "\t CNAG\\_00027 & 425.60765 & -0.929646998 & 0.06112216 & -15.2096555 & 3.051445e-52 & 2.273522e-51\\\\\n", "\t CNAG\\_00028 & 381.48552 & -0.817422940 & 0.05910049 & -13.8310684 & 1.655433e-43 & 9.892547e-43\\\\\n", "\t CNAG\\_00029 & 52.66523 & -3.316030881 & 0.16631275 & -19.9385244 & 1.885448e-88 & 2.729713e-87\\\\\n", "\t CNAG\\_00030 & 76.57328 & -1.103647498 & 0.12592110 & -8.7645955 & 1.874484e-18 & 5.414216e-18\\\\\n", "\t ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮\\\\\n", "\t ENSRNA049550980 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551037 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551063 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551074 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551126 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551197 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551244 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551269 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551298 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551337 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551365 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551391 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551484 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551550 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551574 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551598 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551636 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551673 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551717 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551745 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551774 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551798 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551814 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551862 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551899 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551942 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551964 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t ENSRNA049551993 & 0.000 & NA & NA & NA & NA & NA\\\\\n", "\t large\\_MTrRNA & 5333.974 & 0.9485643 & 0.1343409 & 7.060876 & 1.654565e-12 & 3.752466e-12\\\\\n", "\t small\\_MTrRNA & 1705.755 & 0.6914724 & 0.2955390 & 2.339700 & 1.929926e-02 & 2.502916e-02\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 8499 × 7\n", "\n", "| row <chr> | baseMean <dbl> | log2FoldChange <dbl> | lfcSE <dbl> | stat <dbl> | pvalue <dbl> | padj <dbl> |\n", "|---|---|---|---|---|---|---|\n", "| CNAG_00001 | 0.00000 | NA | NA | NA | NA | NA |\n", "| CNAG_00002 | 192.45638 | 1.343518516 | 0.08138545 | 16.5080932 | 3.208624e-61 | 2.870856e-60 |\n", "| CNAG_00003 | 164.99082 | 0.831905578 | 0.10101840 | 8.2351886 | 1.792750e-16 | 4.795769e-16 |\n", "| CNAG_00004 | 571.05465 | 0.087113891 | 0.04651668 | 1.8727452 | 6.110358e-02 | 7.489553e-02 |\n", "| CNAG_00005 | 28.71062 | 1.292758868 | 0.19272946 | 6.7076349 | 1.978041e-11 | 4.320208e-11 |\n", "| CNAG_00006 | 3147.39964 | -0.139327775 | 0.04956000 | -2.8112951 | 4.934250e-03 | 6.756102e-03 |\n", "| CNAG_00007 | 1484.87545 | -0.747920328 | 0.08053624 | -9.2867544 | 1.590647e-20 | 4.927921e-20 |\n", "| CNAG_00008 | 938.01932 | -0.079110196 | 0.04765929 | -1.6599115 | 9.693226e-02 | 1.159517e-01 |\n", "| CNAG_00009 | 305.19881 | -0.558838066 | 0.09968395 | -5.6060989 | 2.069377e-08 | 3.933651e-08 |\n", "| CNAG_00010 | 989.04227 | 0.537893668 | 0.06321490 | 8.5089694 | 1.754861e-17 | 4.868574e-17 |\n", "| CNAG_00011 | 1001.75238 | -2.148894367 | 0.08634115 | -24.8884142 | 9.932146e-137 | 2.998405e-135 |\n", "| CNAG_00012 | 773.99385 | 0.161412817 | 0.05766095 | 2.7993437 | 5.120661e-03 | 6.994889e-03 |\n", "| CNAG_00013 | 485.75319 | -0.722966497 | 0.07965037 | -9.0767500 | 1.118652e-19 | 3.374959e-19 |\n", "| CNAG_00014 | 180.53988 | -0.295886560 | 0.06870554 | -4.3065895 | 1.657908e-05 | 2.684468e-05 |\n", "| CNAG_00015 | 318.87538 | -0.328599588 | 0.05019105 | -6.5469752 | 5.871409e-11 | 1.252823e-10 |\n", "| CNAG_00016 | 901.25567 | 0.312717596 | 0.04460378 | 7.0110118 | 2.366008e-12 | 5.340717e-12 |\n", "| CNAG_00017 | 184.65031 | 0.316683243 | 0.08573971 | 3.6935425 | 2.211516e-04 | 3.341873e-04 |\n", "| CNAG_00018 | 876.12980 | 0.155211001 | 0.03742605 | 4.1471376 | 3.366577e-05 | 5.348074e-05 |\n", "| CNAG_00019 | 1208.90542 | 0.747123679 | 0.05412045 | 13.8048310 | 2.383308e-43 | 1.414883e-42 |\n", "| CNAG_00020 | 968.39030 | -0.470164125 | 0.06206999 | -7.5747418 | 3.598425e-14 | 8.737196e-14 |\n", "| CNAG_00021 | 539.92676 | 0.007922036 | 0.05395599 | 0.1468240 | 8.832709e-01 | 8.975865e-01 |\n", "| CNAG_00022 | 746.84601 | 0.020299074 | 0.06152583 | 0.3299277 | 7.414546e-01 | 7.689054e-01 |\n", "| CNAG_00023 | 278.87826 | 0.232063963 | 0.26610452 | 0.8720782 | 3.831657e-01 | 4.210277e-01 |\n", "| CNAG_00024 | 7703.04647 | 0.997043384 | 0.04323929 | 23.0587381 | 1.202071e-117 | 2.760023e-116 |\n", "| CNAG_00025 | 2021.99612 | 0.881055403 | 0.09609371 | 9.1687104 | 4.787115e-20 | 1.463607e-19 |\n", "| CNAG_00026 | 2237.77134 | 0.167433512 | 0.06091140 | 2.7488043 | 5.981308e-03 | 8.132384e-03 |\n", "| CNAG_00027 | 425.60765 | -0.929646998 | 0.06112216 | -15.2096555 | 3.051445e-52 | 2.273522e-51 |\n", "| CNAG_00028 | 381.48552 | -0.817422940 | 0.05910049 | -13.8310684 | 1.655433e-43 | 9.892547e-43 |\n", "| CNAG_00029 | 52.66523 | -3.316030881 | 0.16631275 | -19.9385244 | 1.885448e-88 | 2.729713e-87 |\n", "| CNAG_00030 | 76.57328 | -1.103647498 | 0.12592110 | -8.7645955 | 1.874484e-18 | 5.414216e-18 |\n", "| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |\n", "| ENSRNA049550980 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551037 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551063 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551074 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551126 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551197 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551244 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551269 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551298 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551337 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551365 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551391 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551484 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551550 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551574 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551598 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551636 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551673 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551717 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551745 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551774 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551798 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551814 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551862 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551899 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551942 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551964 | 0.000 | NA | NA | NA | NA | NA |\n", "| ENSRNA049551993 | 0.000 | NA | NA | NA | NA | NA |\n", "| large_MTrRNA | 5333.974 | 0.9485643 | 0.1343409 | 7.060876 | 1.654565e-12 | 3.752466e-12 |\n", "| small_MTrRNA | 1705.755 | 0.6914724 | 0.2955390 | 2.339700 | 1.929926e-02 | 2.502916e-02 |\n", "\n" ], "text/plain": [ " row baseMean log2FoldChange lfcSE stat \n", "1 CNAG_00001 0.00000 NA NA NA\n", "2 CNAG_00002 192.45638 1.343518516 0.08138545 16.5080932\n", "3 CNAG_00003 164.99082 0.831905578 0.10101840 8.2351886\n", "4 CNAG_00004 571.05465 0.087113891 0.04651668 1.8727452\n", "5 CNAG_00005 28.71062 1.292758868 0.19272946 6.7076349\n", "6 CNAG_00006 3147.39964 -0.139327775 0.04956000 -2.8112951\n", "7 CNAG_00007 1484.87545 -0.747920328 0.08053624 -9.2867544\n", "8 CNAG_00008 938.01932 -0.079110196 0.04765929 -1.6599115\n", "9 CNAG_00009 305.19881 -0.558838066 0.09968395 -5.6060989\n", "10 CNAG_00010 989.04227 0.537893668 0.06321490 8.5089694\n", "11 CNAG_00011 1001.75238 -2.148894367 0.08634115 -24.8884142\n", "12 CNAG_00012 773.99385 0.161412817 0.05766095 2.7993437\n", "13 CNAG_00013 485.75319 -0.722966497 0.07965037 -9.0767500\n", "14 CNAG_00014 180.53988 -0.295886560 0.06870554 -4.3065895\n", "15 CNAG_00015 318.87538 -0.328599588 0.05019105 -6.5469752\n", "16 CNAG_00016 901.25567 0.312717596 0.04460378 7.0110118\n", "17 CNAG_00017 184.65031 0.316683243 0.08573971 3.6935425\n", "18 CNAG_00018 876.12980 0.155211001 0.03742605 4.1471376\n", "19 CNAG_00019 1208.90542 0.747123679 0.05412045 13.8048310\n", "20 CNAG_00020 968.39030 -0.470164125 0.06206999 -7.5747418\n", "21 CNAG_00021 539.92676 0.007922036 0.05395599 0.1468240\n", "22 CNAG_00022 746.84601 0.020299074 0.06152583 0.3299277\n", "23 CNAG_00023 278.87826 0.232063963 0.26610452 0.8720782\n", "24 CNAG_00024 7703.04647 0.997043384 0.04323929 23.0587381\n", "25 CNAG_00025 2021.99612 0.881055403 0.09609371 9.1687104\n", "26 CNAG_00026 2237.77134 0.167433512 0.06091140 2.7488043\n", "27 CNAG_00027 425.60765 -0.929646998 0.06112216 -15.2096555\n", "28 CNAG_00028 381.48552 -0.817422940 0.05910049 -13.8310684\n", "29 CNAG_00029 52.66523 -3.316030881 0.16631275 -19.9385244\n", "30 CNAG_00030 76.57328 -1.103647498 0.12592110 -8.7645955\n", "⋮ ⋮ ⋮ ⋮ ⋮ ⋮ \n", "8470 ENSRNA049550980 0.000 NA NA NA \n", "8471 ENSRNA049551037 0.000 NA NA NA \n", "8472 ENSRNA049551063 0.000 NA NA NA \n", "8473 ENSRNA049551074 0.000 NA NA NA \n", "8474 ENSRNA049551126 0.000 NA NA NA \n", "8475 ENSRNA049551197 0.000 NA NA NA \n", "8476 ENSRNA049551244 0.000 NA NA NA \n", "8477 ENSRNA049551269 0.000 NA NA NA \n", "8478 ENSRNA049551298 0.000 NA NA NA \n", "8479 ENSRNA049551337 0.000 NA NA NA \n", "8480 ENSRNA049551365 0.000 NA NA NA \n", "8481 ENSRNA049551391 0.000 NA NA NA \n", "8482 ENSRNA049551484 0.000 NA NA NA \n", "8483 ENSRNA049551550 0.000 NA NA NA \n", "8484 ENSRNA049551574 0.000 NA NA NA \n", "8485 ENSRNA049551598 0.000 NA NA NA \n", "8486 ENSRNA049551636 0.000 NA NA NA \n", "8487 ENSRNA049551673 0.000 NA NA NA \n", "8488 ENSRNA049551717 0.000 NA NA NA \n", "8489 ENSRNA049551745 0.000 NA NA NA \n", "8490 ENSRNA049551774 0.000 NA NA NA \n", "8491 ENSRNA049551798 0.000 NA NA NA \n", "8492 ENSRNA049551814 0.000 NA NA NA \n", "8493 ENSRNA049551862 0.000 NA NA NA \n", "8494 ENSRNA049551899 0.000 NA NA NA \n", "8495 ENSRNA049551942 0.000 NA NA NA \n", "8496 ENSRNA049551964 0.000 NA NA NA \n", "8497 ENSRNA049551993 0.000 NA NA NA \n", "8498 large_MTrRNA 5333.974 0.9485643 0.1343409 7.060876 \n", "8499 small_MTrRNA 1705.755 0.6914724 0.2955390 2.339700 \n", " pvalue padj \n", "1 NA NA\n", "2 3.208624e-61 2.870856e-60\n", "3 1.792750e-16 4.795769e-16\n", "4 6.110358e-02 7.489553e-02\n", "5 1.978041e-11 4.320208e-11\n", "6 4.934250e-03 6.756102e-03\n", "7 1.590647e-20 4.927921e-20\n", "8 9.693226e-02 1.159517e-01\n", "9 2.069377e-08 3.933651e-08\n", "10 1.754861e-17 4.868574e-17\n", "11 9.932146e-137 2.998405e-135\n", "12 5.120661e-03 6.994889e-03\n", "13 1.118652e-19 3.374959e-19\n", "14 1.657908e-05 2.684468e-05\n", "15 5.871409e-11 1.252823e-10\n", "16 2.366008e-12 5.340717e-12\n", "17 2.211516e-04 3.341873e-04\n", "18 3.366577e-05 5.348074e-05\n", "19 2.383308e-43 1.414883e-42\n", "20 3.598425e-14 8.737196e-14\n", "21 8.832709e-01 8.975865e-01\n", "22 7.414546e-01 7.689054e-01\n", "23 3.831657e-01 4.210277e-01\n", "24 1.202071e-117 2.760023e-116\n", "25 4.787115e-20 1.463607e-19\n", "26 5.981308e-03 8.132384e-03\n", "27 3.051445e-52 2.273522e-51\n", "28 1.655433e-43 9.892547e-43\n", "29 1.885448e-88 2.729713e-87\n", "30 1.874484e-18 5.414216e-18\n", "⋮ ⋮ ⋮ \n", "8470 NA NA \n", "8471 NA NA \n", "8472 NA NA \n", "8473 NA NA \n", "8474 NA NA \n", "8475 NA NA \n", "8476 NA NA \n", "8477 NA NA \n", "8478 NA NA \n", "8479 NA NA \n", "8480 NA NA \n", "8481 NA NA \n", "8482 NA NA \n", "8483 NA NA \n", "8484 NA NA \n", "8485 NA NA \n", "8486 NA NA \n", "8487 NA NA \n", "8488 NA NA \n", "8489 NA NA \n", "8490 NA NA \n", "8491 NA NA \n", "8492 NA NA \n", "8493 NA NA \n", "8494 NA NA \n", "8495 NA NA \n", "8496 NA NA \n", "8497 NA NA \n", "8498 1.654565e-12 3.752466e-12 \n", "8499 1.929926e-02 2.502916e-02 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Tidy the results\n", "myres_condition8v4 <- results(ddsDE, contrast = c(\"condition\", \"pH8\", \"pH4\"), tidy = TRUE)\n", "myres_condition8v4" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 10 × 7
rowbaseMeanlog2FoldChangelfcSEstatpvaluepadj
<chr><dbl><dbl><dbl><dbl><dbl><dbl>
CNAG_00275 1072.9219-4.0481060.10667356-37.9485400
CNAG_00309 539.1312-3.3315240.08444635-39.4513700
CNAG_00409 1093.4775-5.0306550.07452918-67.4991300
CNAG_0053115371.8856 3.5636910.05663035 62.9290000
CNAG_00601 506.4752 4.6615770.09625726 48.4283200
CNAG_0089712255.8281 4.8569240.07970883 60.9333200
CNAG_0127249334.5209 1.9610090.04521777 43.3681200
CNAG_01275 2534.1015 2.2730880.04888985 46.4940600
CNAG_01344 3528.6160-1.5821220.04028591-39.2723400
CNAG_01713 9652.4535 2.0164860.05310869 37.9690400
\n" ], "text/latex": [ "A data.frame: 10 × 7\n", "\\begin{tabular}{r|lllllll}\n", " row & baseMean & log2FoldChange & lfcSE & stat & pvalue & padj\\\\\n", " & & & & & & \\\\\n", "\\hline\n", "\t CNAG\\_00275 & 1072.9219 & -4.048106 & 0.10667356 & -37.94854 & 0 & 0\\\\\n", "\t CNAG\\_00309 & 539.1312 & -3.331524 & 0.08444635 & -39.45137 & 0 & 0\\\\\n", "\t CNAG\\_00409 & 1093.4775 & -5.030655 & 0.07452918 & -67.49913 & 0 & 0\\\\\n", "\t CNAG\\_00531 & 15371.8856 & 3.563691 & 0.05663035 & 62.92900 & 0 & 0\\\\\n", "\t CNAG\\_00601 & 506.4752 & 4.661577 & 0.09625726 & 48.42832 & 0 & 0\\\\\n", "\t CNAG\\_00897 & 12255.8281 & 4.856924 & 0.07970883 & 60.93332 & 0 & 0\\\\\n", "\t CNAG\\_01272 & 49334.5209 & 1.961009 & 0.04521777 & 43.36812 & 0 & 0\\\\\n", "\t CNAG\\_01275 & 2534.1015 & 2.273088 & 0.04888985 & 46.49406 & 0 & 0\\\\\n", "\t CNAG\\_01344 & 3528.6160 & -1.582122 & 0.04028591 & -39.27234 & 0 & 0\\\\\n", "\t CNAG\\_01713 & 9652.4535 & 2.016486 & 0.05310869 & 37.96904 & 0 & 0\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 10 × 7\n", "\n", "| row <chr> | baseMean <dbl> | log2FoldChange <dbl> | lfcSE <dbl> | stat <dbl> | pvalue <dbl> | padj <dbl> |\n", "|---|---|---|---|---|---|---|\n", "| CNAG_00275 | 1072.9219 | -4.048106 | 0.10667356 | -37.94854 | 0 | 0 |\n", "| CNAG_00309 | 539.1312 | -3.331524 | 0.08444635 | -39.45137 | 0 | 0 |\n", "| CNAG_00409 | 1093.4775 | -5.030655 | 0.07452918 | -67.49913 | 0 | 0 |\n", "| CNAG_00531 | 15371.8856 | 3.563691 | 0.05663035 | 62.92900 | 0 | 0 |\n", "| CNAG_00601 | 506.4752 | 4.661577 | 0.09625726 | 48.42832 | 0 | 0 |\n", "| CNAG_00897 | 12255.8281 | 4.856924 | 0.07970883 | 60.93332 | 0 | 0 |\n", "| CNAG_01272 | 49334.5209 | 1.961009 | 0.04521777 | 43.36812 | 0 | 0 |\n", "| CNAG_01275 | 2534.1015 | 2.273088 | 0.04888985 | 46.49406 | 0 | 0 |\n", "| CNAG_01344 | 3528.6160 | -1.582122 | 0.04028591 | -39.27234 | 0 | 0 |\n", "| CNAG_01713 | 9652.4535 | 2.016486 | 0.05310869 | 37.96904 | 0 | 0 |\n", "\n" ], "text/plain": [ " row baseMean log2FoldChange lfcSE stat pvalue padj\n", "1 CNAG_00275 1072.9219 -4.048106 0.10667356 -37.94854 0 0 \n", "2 CNAG_00309 539.1312 -3.331524 0.08444635 -39.45137 0 0 \n", "3 CNAG_00409 1093.4775 -5.030655 0.07452918 -67.49913 0 0 \n", "4 CNAG_00531 15371.8856 3.563691 0.05663035 62.92900 0 0 \n", "5 CNAG_00601 506.4752 4.661577 0.09625726 48.42832 0 0 \n", "6 CNAG_00897 12255.8281 4.856924 0.07970883 60.93332 0 0 \n", "7 CNAG_01272 49334.5209 1.961009 0.04521777 43.36812 0 0 \n", "8 CNAG_01275 2534.1015 2.273088 0.04888985 46.49406 0 0 \n", "9 CNAG_01344 3528.6160 -1.582122 0.04028591 -39.27234 0 0 \n", "10 CNAG_01713 9652.4535 2.016486 0.05310869 37.96904 0 0 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Tidy the results for DE with respect to condition\n", "### Results are sorted in ascending order by adjusted p-value\n", "### Here ph4 is the reference level\n", "### log2FC > 0 suggests that higher pH (pH8) is associated with increased expression\n", "### log2FC < 0 suggests that higher pH (pH8) is associated with lower expression\n", "myres_condition8v4 <- results(ddsDE, contrast = c(\"condition\", \"pH8\", \"pH4\"), tidy = TRUE)\n", "\n", "myres_condition8v4 %>% \n", " arrange(desc(-padj)) %>% \n", " head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualize DE effect" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at the results for these two genes: \n", "\n", "* The estimated log2FC for CNAG_00275 is negative. We will verify visually that ph8, compared to pH4, is associated with lower expression\n", "\n", "* The estimated log2FC for CNAG_00531 is positive. We will verify visually that ph8, compared to pH4, is associated with higher expression\n" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\n", "
A data.frame: 2 × 7
rowbaseMeanlog2FoldChangelfcSEstatpvaluepadj
<chr><dbl><dbl><dbl><dbl><dbl><dbl>
CNAG_00275 1072.922-0.32684900.10536149-3.1021670.00192109430.005769654
CNAG_0053115371.886 0.19024240.05662427 3.3597330.00078017940.002625616
\n" ], "text/latex": [ "A data.frame: 2 × 7\n", "\\begin{tabular}{r|lllllll}\n", " row & baseMean & log2FoldChange & lfcSE & stat & pvalue & padj\\\\\n", " & & & & & & \\\\\n", "\\hline\n", "\t CNAG\\_00275 & 1072.922 & -0.3268490 & 0.10536149 & -3.102167 & 0.0019210943 & 0.005769654\\\\\n", "\t CNAG\\_00531 & 15371.886 & 0.1902424 & 0.05662427 & 3.359733 & 0.0007801794 & 0.002625616\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 2 × 7\n", "\n", "| row <chr> | baseMean <dbl> | log2FoldChange <dbl> | lfcSE <dbl> | stat <dbl> | pvalue <dbl> | padj <dbl> |\n", "|---|---|---|---|---|---|---|\n", "| CNAG_00275 | 1072.922 | -0.3268490 | 0.10536149 | -3.102167 | 0.0019210943 | 0.005769654 |\n", "| CNAG_00531 | 15371.886 | 0.1902424 | 0.05662427 | 3.359733 | 0.0007801794 | 0.002625616 |\n", "\n" ], "text/plain": [ " row baseMean log2FoldChange lfcSE stat pvalue \n", "1 CNAG_00275 1072.922 -0.3268490 0.10536149 -3.102167 0.0019210943\n", "2 CNAG_00531 15371.886 0.1902424 0.05662427 3.359733 0.0007801794\n", " padj \n", "1 0.005769654\n", "2 0.002625616" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results(ddsDE, tidy = TRUE) %>%\n", " filter(row %in% c(\"CNAG_00275\",\"CNAG_00531\"))" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dB3hUVdrA8ZNJISRACC30ooAo\ni4igUlSUroiKEQFRqoLSoiDK6n4igogoqyuuoKiIulhQV92iK7prX4oFVwWliYCAoggaSCjJ\n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", "text/plain": [ "Plot with title “CNAG_00275”" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### This dot plot verify visually that exposure to ph8, compared to pH4, is associated with lower expression\n", "plotCounts(dds2019, \"CNAG_00275\", intgroup = \"condition\")" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dCXwU5fnA8Xc3JwEC4QqBcCmg\nLSKi/JVLQG4PBIxVEMQgihaVKIjgVcUDrIraWkXFiieIqK22KhbriZVLpVVBEBA5BDyQO1zJ\n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\noi5MAAAAAElFTkSuQmCC", "text/plain": [ "Plot with title “CNAG_00531”" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### This dot plot verify visually that exposure to ph8, compared to pH4, is associated with higher expression\n", "plotCounts(dds2019, \"CNAG_00531\", intgroup = \"condition\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Volcano plot" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Warning message:\n", "“Removed 348 rows containing missing values (geom_point).”" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nOydB3wUxfv/NwRCKKGE3puIofcm\nIKD0LiBNQKQjIEW6Ih1UehARpKsgIFV6D00IhF5CCQmk3a1/f9+vfm0U7787M3u3c7dldm8v\n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\nkAAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Volcano plot for con effect\n", "ggplot(results(ddsDE, contrast = c(\"condition\", \"pH4\", \"pH8\"), tidy = TRUE), \n", " aes(x = log2FoldChange, y = -log10(padj))) + geom_point()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Warning message:\n", "“Removed 348 rows containing missing values (geom_point).”" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dB3zU9f3H8V8Qw0aGiIPhnqgV\nZDgQJ9IqcVQEsWKt4J5UVMRRbZ21oqKIq+6qaN1FQUVEwKpgESwONiSE5P7W0SISwN//fuNy\n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\n15pk16S3IWMAAAAASUVORK5CYII=", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Genotype Effect\n", "ggplot(results(ddsDE, contrast = c(\"genotype\", \"sre1d\", \"WT\"), tidy = TRUE), \n", " aes(x = log2FoldChange, y = -log10(padj))) + geom_point()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Clustering" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Regularized log transformation\n", "The regularized log transform can be obtained using the [rlog() function](https://rdrr.io/bioc/DESeq2/man/rlog.html). Note that an important argument for this function is blind (TRUE by default). The default \"blinds\" the normalization to the design. This is very important so as to not bias the analyses (e.g. class discovery) " ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "rld <- rlog(dds2019, blind = TRUE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dendrogram of samples: showing strain & media of each sample" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hierarchical clustering using rlog transformation" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAAJYCAMAAACw6qbdAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO2dCZwUxdn/a2cPll1YXFBuEBXQ\niKAbUEHQNXKsijdGJGDk8uZSEvRvTAhiAFE0SgIq8Yg38XiNJjEJrzGvmgRIFKMcImo8QaOC\n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\nAAAASUVORK5CYII=", "text/plain": [ "Plot with title “Cluster Dendrogram”" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "options(repr.plot.width = 9, repr.plot.height = 5)\n", "dists <- dist(t(assay(rld)))\n", "plot(hclust(dists)) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Store the dendrogram of samples using hierarchical clustering" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "assay(rld) %>%\n", " t() %>%\n", " dist %>%\n", " hclust(method = \"complete\") %>%\n", " as.dendrogram ->\n", " mydend" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dendrogram of samples: showing strain of each sample" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "\n", "dendplot <- function(mydend, columndata, labvar, colvar, pchvar) {\n", " cols <- factor(columndata[[colvar]][order.dendrogram(mydend)])\n", " collab <- brewer.pal(max(3,nlevels(cols)),\"Set1\")[cols]\n", " pchs <- factor(columndata[[pchvar]][order.dendrogram(mydend)])\n", " pchlab <- seq_len(nlevels(pchs))[pchs]\n", " lablab <- columndata[[labvar]][order.dendrogram(mydend)]\n", " \n", " mydend %>% \n", " set(\"labels_cex\",1) %>% \n", " set(\"labels_col\",collab) %>%\n", " set(\"leaves_pch\",pchlab) %>%\n", " set(\"labels\", lablab)\n", "}\n", "\n" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nKD4+ft26dSkpKaarZTAYYmJiTp06df78+Q0bNqSnp5uuVnZ29ujRo/39/f39/YcPH27SN6i0\ntLQvvviievXq1atXHzFihOkKSZJ0//796dOnV6tWrVq1amPHjjVprfj4+G+//dbNzc3V1VX5\ntG06Z86c+emnn+zs7DQajfJp23R2794dExMjSdLjx48XLVpk0lrr168/fvy4JEmXL1+Oiooy\naa0ff/zx1q1bkiTt3bt369atJq01b968rKwsjUazZs0aU38RMH36dDs7O2dn50WLFpn6i4Av\nvviiYsWKlStXnjlzpqm/CBg1apSPj4+Pj8+kSZMePXpk0lpljWw5MjMz586d27hxY632/8lX\nOp2uRYsWy5Yty8nJMUXdgwcPSpL09OlTUxy82H766ScnJyd3d3cXF5dq1arZ29vXrl379OnT\npqg1b948Ozs7Dw8PBwcHb29vGxubwMDAy5cvq14oPz9/ypQp1tbWVatWtba29vX1tbKyCg4O\nvnHjhuq1cnNzP//8c51O5+PjI0mSn5+fTqfr0KHD/fv3Va9lMBg+/vhjjUbj5+en1NJoNN26\ndUtJSVG9VlpaWu/evTUaja+vr7HWhx9+mJmZqXqtR48evf3221qtVvm5fH19tVrt0KFDTfFK\nvH37dps2bXQ6na+vr06n8/LysrKyGj9+fH5+vuq1rl279sorr1hbW/v4+NjZ2Xl6etra2s6c\nOVP1QrIsnzt3rl69enZ2dl5eXs7OzpUqVXJwcIiMjDRFraNHj1avXt3BwaFKlSqurq5ubm4u\nLi6rV682Ra1du3ZVqVLF2dnZw8OjYsWKLi4u7u7uMTExpqgly/LXX3/t5ubWrVu3jz76yMnJ\n6ccffzRRIVmWw8PDvby8/vWvf33yySc2NjYbN240Xa0BAwbUq1cvMDBw5MiRWq12z549pqvV\nrVu34OBgb2/vsWPH6nS6s2fPmq5WmzZtunbt6ujoOHr0aDs7u4SEBBMVys3NbdSoUb9+/SRJ\n+vzzz8uXL2+Kd3hFVlaWn5/fJ598IknSsGHDPDw8njx5YqJaT5488fDwUHLyxx9/XLNmTYPB\nYKJa9+7dK1eu3KhRozQaTZ8+fZo2bZqXl2eiWnFxcba2tmPGjHF3d+/YsWP79u1NVEiW5ZMn\nT+p0upEjR9auXTsoKOj99983Xa0///xTp9MNGzasRYsWtWrVGj58uOlqlT0WE1QeP37cuHFj\nSZJcXV07dOjw8ccfDx8+fPjw4f3793/99dcdHBwkSWrTpo0pPo0JGFTWrVtnZWW1YMGC3Nzc\n4ODgGTNmJCcn9+nTx93d/fbt2+rWWrp0qa2t7YoVK/Ly8mrXrr1kyZJ79+516tTJy8vr8ePH\n6tb66quvnJycfv31V1mW3d3d161bd+PGjdatW9epU0f1f9nRo0dXqFDhjz/+kGVZo9Hs2rXr\nypUrTZs2DQoKys3NVbdW//79q1atun//fuV7lLNnz+r1+jp16rzxxhvqFpJl+d13361Zs+ap\nU6euXLkiSdKtW7eOHDni4+PTp08fdQvl5eW1atUqICDgwoULhw8fliQpKyvrr7/+qly58tCh\nQ9Wt9fTp04CAgBYtWsTHx//++++Ojo6yLMfExLi4uEyePFndWmlpaX5+fh06dLh9+/aKFSu8\nvb3z8/PXrFljb2//3XffqVsrKSnJw8Oje/fuDx48mDdvXuPGjfPy8pYuXWptbR0VFaVurfj4\n+PLly/fr1y8lJWXixInt27fPzs6eM2eOlZXVli1b1K2l1+sdHBxGjBiRnp4eFhbWu3dvg8Ew\nadIka2trZaS7upKSklxcXCIjI3v37h0WFjZ9+vRKlSqZ4lsAWZavXbtma2v73//+t3379hMn\nTvz888+rV69uos+Ip06d0ul027dvb9y48bx58z766KPAwEDV350Uf/31l1arPX78uLe394oV\nKzp16vSvf/3LFIVkWV67dq2Njc2VK1ccHR03b97cqlWrnj17mqjW4sWLnZ2dExISJEk6cOBA\ngwYNhgwZYqJayh+ecY6Kj4/PhAkTTFRL+cNTzt5cu3atQoUK8+bNM1Gtjz76qHHjxn/++adG\no7l586ajo+OKFStMVKtTp05t27Zdt26du7v7hQsXrK2tf//9d1MUys/Pb9WqVa9evZYsWVK7\ndu1Dhw5ptdr9+/ebolZOTk6DBg3CwsJmzJgRHBwcExNjZWUVGxtrilplksUElWHDhul0usWL\nF2dnZ/99bXp6ujKccdy4caqXFi2o5Ofn+/n5KQN8ZVlWgoosy7m5uU2bNv30009VrPX06dMK\nFSp8++23ylMlqMiybDAY/P39p0yZomKtlJQUBweHlStXKk+VoCL/31dH33//vYq1bt68WfDz\nmRJUZFm+d++e6t8xx8bGajSaI0eOyLJsDCry/33iUZKSWvbu3WtlZXXx4kVZlo1BRZbl06dP\nK59CVKy1YcMGR0fHmzdvyrJsDCqyLO/atUur1V69elXFWsuWLXN3d3/06JEsy8agIsvyunXr\nbG1t1f2KdNasWT4+PhkZGbIsK0FFWb5kyZJy5cqpG5jHjBnToEED5T1NCSrK8hkzZlSpUkXd\nry1DQ0NbtWqlHFMJKsrykSNH1q9fX8VCsix36dLl3XffVR4rQUV5HBIS0rp1a3VrybIcGhpa\nv379nJwcJagoX2yPHTtW9UKyLHfp0qVly5b5+flKUFHenWbNmmWKWq1bt+7WrZssy0pQUb7Y\nXrZsmeqFcnNzAwICBgwYIMuyElSUL7Y3bNigeq3MzExfX9/w8HBZlh0dHX///Xfli21TnCxK\nTk52d3efPXu2MlX68OHDyhfbZ86cUb3WrVu3nJycfvrpJ2U41pUrV1avXm1raxsXF6d6rbi4\nOBsbm02bNp09e1aSpEePHn3//fflypW7e/eu6rVOnDih1Wr37t27a9cujUYjy/KUKVMqV65s\nipNFO3fuVE7lKUFFluVPP/3URCeLVq1apZzKU4KKLMt9+/Zt0qSJKU4WzZ8/v3z58g8ePFCC\niizLb775Zrt27VQvVFZZTFCpWrVqaGho4dv07t3b19e3qEdOTU1NLtQff/whVFBRphxcv35d\neWoMKrIsL1q0qGbNmirW2r9/v06nM74lGYOKLMvTpk179dVXVay1adMmZ2dnYxA1BhVZlkeM\nGPH222+rWOunn36qWrWqcdSQMajIsvzBBx988MEHKtb65ptvAgIClMcFg4osy2+99daIESNU\nrDVu3Djj96AFg4osy0FBQdOmTVOx1sCBA3v06KE8LhhUZFmuUaPGokWLVKzVvXv3wYMHK48L\nBpW8vLwKFSpER0erWKtNmzbjx49XHhcMKpmZmba2tjt37lSxVoMGDebMmaM8LhhUkpKSJEk6\ndeqUirU8PT2V6Vjy/xtUnnk/Kbm8vDw7OzvjKK+CQWX//v1arTY1NVWtWrIsnzp1SqvV7tix\nQ5ZlJajIsrxu3TobGxvVh6caTzvIsqwEFVmWlyxZ4uzsfOfOHXVr/fLLL8ppB/n/goosyzNm\nzDDFyaKFCxcafwQlqMiyPGrUqOrVqxtf1GqZOnVq5cqVlR9BCSqyLPfr188UJ4tGjBhRo0YN\ng8FgDCqyLHfu3NkUJ4s++OAD5YyoMajk5+e/9tprxjdJFb311ltt27aVZdkYVHJzcxs2bGh8\nk1RLfn5+y5YtldevMahkZmb6+Ph88cUX6tbKycmpX7/+J598IsuyMagoUdP4JqmWjIwMb2/v\nSZMmybJsDCq3bt1ydHQ0vkmq5dGjR8Zve41BRTlZZLqhsGWMxUymv3//fv369QvfJjAwsKhz\nXq9du+bi4uJWqDfffFOSJI1GU/zuVZWUlKTVaqtVq6Y8tbOzs7e3Vx57e3vfu3dP3Vrly5cv\nV65c6dTy9PS0trYunVre3t7Gf1M7Ozs7OztjLeVjolru3bvn7e2tPLaxsdHpdKarpfxcymM7\nOzutVmtra1s6taytrXU6XSnUsre3N/4ClRdC6dSyt7evWLFi6dSqVKmSvb29in/zsizfv3+/\n4L+XsZYyR0vFWk+ePDEYDC+qlZ+ff//+fbVqybI8YsSIbt26dejQoWCtHj16tG7desyYMWoV\nkiQpLy/vs88+GzBgwCuvvFKw1sCBA2vVqjVhwgQVa2VlZY0bN27UqFH+/v5SgTfD0aNHlytX\n7ssvv1Sx1uPHjyMiIiZPnuzp6Vmw1pQpUzIzM7/99lsVa92+fXv27NkzZ850cXEpWGvWrFnx\n8fE//fSTirUuXry4ePHiefPm2dra6nQ6a2tr5d/r22+/PXTo0K+//qpirSNHjqxZs2b+/PnK\nW65Wq1WuE/Ddd99t2LBh586dKtbasmXLjh075s+fL0mSnZ2dTqdT/luZP3/+smXLlAsWq2XV\nqlWnTp2aNWuWVOAP3t7eftasWXPmzFH3ssgLFiy4c+eOMjTG+Gbo6uoaERExdepUdT8AzJw5\nMy8vLzw8vGCtqlWrjh07dty4campqSrWmjhxYsWKFYcOHVqwVt26dcPCwj7//POnT5+qWKvM\nMndS+qe8vLz69etX+Db//ve/jV9//nPnzp078b8o43YEoVyg/d69e8rTR48eGU+MLlu2zMfH\nR8Vau3fvtrKyMg53uX//vnGe9KxZs5o0aaJirfXr17u6uhpPvN67d894xmPMmDEdOnRQsdbS\npUv9/PyMTwt+GxoaGqrudI6vvvrqlVdeeW6tLl26qDudY9SoUR07dnxurVatWqk7naNfv359\n+/Z9bq26deuqO52jc+fOxjGN+fn5xhEO+fn5lStXVnc6R3BwcEREhPI4Nzc3KSlJefz06VN7\ne/tt27apWKtOnToLFixQHmdnZz948EB5rNxA4OjRoyrWqlix4po1a5THWVlZycnJyuNr165J\nkqTiUL3c3Fxra+vt27crT9PT042nZI8dO6bRaFSc27ZmzZqCo2uePHmSnp6uPD537pyVlZWK\n/14LFiwoOLomOTnZeLZBOVOk4r9XREREwdE1Dx48MJ5qXr9+vY2NzaVLl9Sq9emnnyqnHZSn\nSUlJxjMbS5cudXJyUnHe4zOja+7evWt8k//qq68qVqyo4t/GM6NrCr5BjR492s/PT62TRfn5\n+UFBQf/+97+fW6t///7KuERVamVnZ9euXXvYsGHPrfXuu+8q4xJVqZWRkeHl5VVwgHfBWq1b\nt+7evbsqhWRZfvTokZubm/F/jfz8fOMnHOVk0cCBA9WqdePGDQcHB+P/Gjk5OcbBw8q4RBVn\nEJw/f97Kymrr1q3KU4PBoAxglguMS1SrVhlmMUHl008/1Wq1kZGRz33BZ2VlzZ49W6PRjBo1\nqvR7K2V5eXmenp7PPRn6+uuv/88BckWSmZnp5OT095OheXl5jRo1GjNmjIq17t+//9yToQaD\nwc/PT91R4HFxcRqN5u/zep88eVKxYkV1R4EfPXpUq9VeuHDhmeX37t1zcnJSdxT41q1b7ezs\nlHkjBV29etXa2nrv3r0q1oqKiipfvrzxbdfo5MmTGo1G3ZmC3333XdWqVZV5IwUpY5qNw9tU\nMXny5Lp16/79fSY6OtrOzk7dkdlDhw5t3rz53z9YLFq0yM3N7bnz8YqtT58+zx0/OW3aND8/\nP3UvntahQ4cPP/zw78tHjBjRtGlTtaooQ1AKma88ePDgunXrqvJrVD5VzJ0790Ub9OjRo0WL\nFqr8GpX5ysuXL3/RBh06dHjnnXdKXkj+vyEomzdvfu7avLy8V155JSQkRJVaynzlffv2PXft\n06dP/f39R44cqUqtzZs3W1lZ6fX6565NTU319PQ0DpkuoeXLl9vb2ycmJj53rTLv0ThkuoTm\nzp3r6upq/EbjGVevXrW1tTUOmS6hCRMmVKtWzZj8n1FwyGXJDRkypJCXasEhlyXXs2fPQl6q\n0dHRxiGXJffGG28U8lJdtGiRKUaNlj0a2cT3JFLL48eP27RpExsb6+bm1qxZMy8vLycnJ1mW\n09PTExMTjx8/npqa2rx58507dzo5OZm7WZP74YcfPvvsszVr1nTt2lVZkp2dPW7cuB9++OH0\n6dPKaAG1zJw58+uvv/7111/btWunLMnKyho2bNimTZvOnTunjBZQy+jRo1etWhUTE/Pqq68q\nS9LS0vr373/kyJHz588rowXU0r9//927d2/evLlhw4bKkkePHvXt2zcxMfHs2bPGwSqqePfd\nd69evRoTE1OzZk1lyd27d997772cnJwjR44YR0yVnCzLr7322tOnTzdu3GgcHJiQkNC1a9fK\nlSure3PrnJycJk2auLu7r127tlKlSsrCixcvdu7cuVmzZr/88ouKtTIyMurXrx8QELBy5cry\n5csrC0+ePPnuu+9269Zt4cKFKtZ6+PBhvXr13njjjaVLlzo6OioL9+3b161bt6FDh06bNk3F\nWtevX2/YsOGHH36oDFBRFm7durVXr14zZsxQ9x4d586da9as2ciRI6dOnWplZaUsjI6ODgkJ\n+emnnz744AMVax08ePD111//6quvRo0apVxNXpblZcuWDR069Lfffnv77bdVqTJ9+vTJkyf3\n7dv3Re/5Dx8+3LBhw6JFi5QrxpbEZ5999v3334eEhNjY2Dx3g9u3b2/ZsiU6Orp3794lrPXh\nhx+uXbs2JCTkmQvxG127du2vv/7auXNn+/btS1jr7bff3rt3byH/+hcuXDh06NCxY8eaNm1a\nwlqvvvrq1atXe/To8aINTp06pdfrz58/b3yfLJ68vLx69eqlp6e/8847L9rm0KFDiYmJcXFx\nHh4eJamVmZnp7+9va2urDD58rt27d6ekpFy7ds3Z2bkktZKTk2vUqOHp6fnaa6+9aJtt27bp\ndLrLly+/6A/1H7px40bt2rXr1KkTFBT0om02bdrk4eFx5syZEg6MP3fuXGBgYLNmzQICAl60\nTXR0dJMmTXbv3l2SQpIkHThw4LXXXmvTpk3t2rWfu4EsyytXrnznnXfWr19fwloxMTFdunTp\n2LGjMrz27/Ly8n7++ecBAwYsXbq0hLXKNitzN/BPubq6Hj58eOHChatXr1ZCvHGVVqtt0qRJ\nSEjIoEGDSvjitBSDBg1KSkrq0aNHvXr1GjVqlJmZeejQoby8vN9++03dlCJJ0rhx4x4+fNih\nQ4fGjRs3bNjw8ePHhw4dsrOz27p1q7opRZKkWbNmpaSktGjRIigoqG7dug8ePDh06JByEWF1\nU4okSZGRkcrlPoODg2vVqnX79u1Dhw75+vpu27ZN3ZQiSVJUVFTv3r3r1asXHBxco0aNGzdu\nHDx4MCAgICYmRsWUIkmSRqPZuHFj9+7d/f39W7Zs6ePjk5CQcPDgwVatWq1du1bFQpIkWVtb\nb9mypVu3btWrV2/ZsmW1atXi4uIOHz7cqVOnH3/8Ud1ajo6O27dv79q1q6+vb3BwsIeHx6VL\nl44ePfr+++/PmzdP3Vru7u5//PFH9+7dfXx8goODK1SocO7cuZMnTw4dOjQiIkLdWj4+Plu2\nbOnVq9evv/7aokULZ2dnvV4fGxs7fvx41e8k2KBBgw0bNnzwwQcrVqxo0aKFra3t6dOnr1y5\nMnPmTHVTiiRJLVu2jIqKGjBgwOLFi4OCgrRa7cmTJ2/evBkZGalWSpEkydPTs2fPnjk5OcpI\nub/T6XQ9e/Z0c3MreS0fH58ePXpkZGS86DbqDg4OPXv2VOVrslq1anXt2vXJkycv2sDNza1n\nz56q/GfXoEEDJyenF/0CJUny9PR87733VJmi2bRpUx8fn0Jq+fn51ahRIy8vr4SF8vLyWrZs\nmZ6eXkitunXrNmjQQJVa7dq1MxgMhdQKDAy0sbHJyckpYa2cnJy33norNze3kFrNmzd3cHBQ\n5efq0qVLfn5+IbXatGnj4uIiy3IJ/zxkWX7vvffk/xvy+lwdO3asUqVKSaoorKysevbsKUlS\nIbXefffdF8WYIrG3t/+ftd57773q1auXvFbZZjFnVArKzMxMTExMS0vTaDTOzs5+fn6qf7K0\nCHFxcTExMRcuXHBycgoICOjZs6dx1rvqzp07t3Xr1gsXLri5uQUGBvbo0UO5d40pnDhxYufO\nnRcvXvTw8GjcuHH37t2NXzar7uDBg7t3775y5UqVKlWaNWvWpUsX45fNqtu1a9e+ffvi4+O9\nvLxatGih3CrRFIXy8/O3b99+6NCh69ev+/n5tWzZskOHDia6GkReXt7vv/9+9OjRW7du1axZ\ns02bNm3atDFFIUmSsrOzN23adPLkybt379apU6ddu3bGM2+qy8rK+vXXX8+cOfPgwYN69ep1\n7NgxMDDQRLXS09PXrVt39uzZ1NTUunXrdu7cuU6dOiaq9fjx4/Xr1+v1+qysrHr16nXr1k25\nWacp3L9//9dff9Xr9fn5+fXr13/vvfeqVq1qoloAgDLJIoMKAAAAgLLNYi5PDAAAAODloVN9\n1DWAsu377ZfzZNmrgiO1qGXGWoAISu1vvqy+kKmFwlnMZHpIkpQ8aPA/QIxixwAADQRJREFU\n3FLOyanw83+oRS1T1FpzKFGn1QT7VyzJQahFrZIoqy8uallWLakU/+bL5AuZWvifCCqWJGvL\n1n+6aYlnaVOLWoCwyuqLi1qWVQuAqRFULInH6VPGx3JWZsqo0Vo3N4c+va2qV9fY2clp6TmX\nL2WsjNKWc3Zd8D21qGWiWoDZldUXF7UsqxYAUyOoWBJdpf//HGLKhImacuXcfihwnyAPycq/\npn2nTg/7vp8662uXqRHUopYpagFmV1ZfXNSyrFoATI3LE1uqu4GNXSZOcHjeXX4zoqLS5n7r\ncfoktahlilrNp2y3ttLaWv3vURN/jm9XkkLUotY/UZZeXNSyuFql9jdfVl/I1FLxzbBM4oyK\npfr/2ru3GLnq+4DjZ2a8O17v2mRvWhuDuSzZNCgOFOy1Ya2KQI0QFoGnJmnThqaXtKFJC43S\nNlSt1YeqFyoBTqBJ1NCHXEhShVaIQHgIVE2C1xWuudSlYtcbrz3Ya+/N3l17vTuXPgxyI182\nGM+Z+Z+jz0c87B6P/B3h8xvpp5k5pzJ9rDx97lsXl4+Ol89/J1QtrYtPZDOZXDaWO0hqaV2o\nlA2XVuJadTvn0zrIWizBopJUy3p7Zx97PD9wc9P73/+zxxdeeXX2a08su7qWd5vW0jrDr2xa\nd9/Wvov/e7S0Ll7Khksrca26nfNpHWQtlmBRSaqVD9w/+Xu/f+SXb1/W27vsinWZfL4yP1/c\nP1rcty+Kotp+7lZLC4KV1uHSSlYLiINFJalatt3Z9eQ3Zx7ZsbBrV3F4+O2juVzzhg0r7/v0\n8tu3amnVoQUNl9bh0kpWC4iDRSXB8gMD+YGBqFgsHT5cOTmfyeeza1Znmpq0tOrZgoZL63Bp\nJasF1Fxu+/btjX4OXJxsNrtqVbazI3vJJZlcLoqiysmTlZmZTEuLllYcrZn54g1XdazrbK3R\ns9TSqpHkD5dW4lp1O+fTOshaLM1tWVNo5rHHD62/TksrptZrB6b/963jb7x1vA7XNtfSuhiJ\nGy6txLXqds6ndZC1WJqPfgEXZm/h2N7Csa++MNTZlr+5r2ugr7v/6s4V+VheTLS0IGR1O+fT\nOshaLM3/MuDCfPszW3YOje8cGv+vn049vbvw9O5CUy57/RXtA33dA33dl3eu0NKqQwtCULdz\nPq2DrMXS3Jk+YcY/8rGf+5ji6P7S6IG1hQNaWjG1qhaL5T2jU4NDE4PD40NjM9XXkss7V1Rf\niK+/or0pV7MPl2ppnSGtw6WVrNZpdZuvlA2yVg1bqWRRSZjCZeuid/ZPdvGvv1pa79zk7MKu\n4fFd+yZ2/3Tq8PTJKIpW5Jf98Au31TykpVWV1uHSSlbrnOo2XykYZK2YWqnho18J0/Zbnzzx\nne92P/tMbs2a8z1m5uFHZh7doaUVX+tsHW3Nd1x36S3X9rx2YPqH/z32zJ7CiVPFOEJaWlVp\nHS6tZLXOqW7zlYJB1oqplRoWlYRZ9eAXTv34J1P3P9D9L9+NcrlzP2hZbf5ZtbTeiXKl8sZb\nxweHxncOTewtHFsslbOZzPvWrNzY26mlFV8rrcOllazWGeo2X6kZZK2at1LGopIwmebm9i99\n8eid244/9A+r/uTzWloNaUVRdOT4/ODQxM7h8f8cnjh+cjGKorXtLdt+8dL+3q4NV3Wsaqnl\n/dS0tM6W1uHSSlarqm7zlb5B1mJpFpXkaXpfX89PflSZP3W+B+T7N0b3fVpLK6bWw8+9MTg0\nMXJ0NoqiS1Y0bbiqY2NvZ39v19r22t+mTUtrCekbLq3Etep2zqd1kLVYmi/TAxdm81/+IIqi\n965e+dGbrrx9/epYr1iipQUhq9s5n9ZB1mJpue3btzf6OXCxKnNz5ampbFubllYdWsVyZX6x\n9ObhmX//nyNPvrT/1dHpybmFFfllHa3NNaxoab0LSR8urcS16nbOp3WQtViad1QSrDwxMfPo\njpPPPlcqFDLNzZeODEdRNPPojvzmzc39G7W0Ym1Nzy0MDk8MDo8PDk1MzJ6KoqhrZX5Tb2d/\nb1d/b2d7TV+LtbSWlrLh0kpcq27nfFoHWYvzsagkVenQoaN33V06dCjX05NZubI0Olp9/R37\npVtKBw92PfW95us+qKUVd6tqaGxm59D4ruGJV0anTy2WMpnomp6Vm3q7/uD2vtqGtLTOltbh\n0kpW67S6zVfKBlmLc6uQTJN/dH/hmr6Tzz9fqVTmvv2dwpVXV4+XJiYObb5p4rd/R0urDq0z\nLCyWXtk/9df/9vqWv3p+0188F19IS+u0tA6XVrJaZ6vbfKVjkLU4J1f9SqpTL77Y9qnfXb51\n6xnHsx0dbffeO/uPX9bSqkPrtMLUyZ1vHn15ZPKV0enqG9wtzee5fYGWVk1baR0urWS1flbd\n5itNg6zFOVlUkqo0OdXUd+63C7Pd3eWpKS2tuFvzi6WXRyZ3Do2/9Ob4wckT1YPrOlu3rl89\n0Nd9/RXttQppaS0hlcOllbhW3c75tA6yFudkUUmqXEfH4uuvt3z4rrP/aPHVV7NdXVpaMbX2\nHZmtvubuGZ1aLJajKGpalt3U2znQ1z3Q1722Y8VF/v1aWhckTcOllbhW3c75tA6yFkuzqCRV\n/rZbZ7/y1aZrr225+8P/f7RcPvG9p2af+OfWj35ESyum1q9+6cfVH3ouWX7Te7sG+ro3XNUZ\n0/vXWlo/V5qGSytxrbqd82kdZC2W5qpfSVU6dOjotrtKY2PZ7q5sa1txdLR5w43FkZHy0fHc\nmjXdzzyd6+nR0oqj9al/2jXQ131zX9c1PStr9Zy1tN61NA2XVuJadTvn0zrIWizNopJgpSNH\njv/d389//9nysWPVI9n29pZtd6763Oey3bV891xLC0KW1uHSSlYLqDmLSvJVKqWjRysnTmRb\n22J/2dXSgmCldbi0ktUCaie3ffv2Rj8H3o2p+x8oHTzYfMMNUSaTbW3Nvuc9mda4vpulpQXB\nSutwaSWrBcQh2+gnwLt08vvPLrz8spZWY1vQcGkdLq1ktYA4WFSSquWOO0699FJ5fFxLq4Et\naLi0DpdWslpAHHz0K6ny/RsrMzMzDz1Unp2rzM2Vjx0rjR0pjY2d/i+3umYXTtHSgmCldbi0\nktUC4uDL9ElVWHv50g9YWzigpRV3CxourcOllawWEAc3fEyq1o9/PLM8H+XqcfMgLS0IVlqH\nSytZLSAO3lEBAACC4x2VhCuXo+zbV0SoLCws7t2byeWaPvCBKJPR0qpfCxourcOllawWUFMW\nlcQqFqcf/PPK/Hz7Iw9HUVQcGZn4tV8v7t8fRVHzjTd2ffPrmbY2La3YW9BwaR0urWS1gBi4\nPHFSzTz2+NzXv5G7/O1vCk7/2YPFAwdaP/EbbZ/8zYU9e2a/9oSWVh1a0HBpHS6tZLWAWFRI\nprEP3Tr5mc9Wfy4ePHjw0ssmH/jj6q9Tn//TsVtv09KqQwsaLq3DpZWsFhAH76gkVfHAwfyW\nLdWf5194MYqiFffcXf216boPFgsFLa06tKDh0jpcWslqAXGwqCRWNhtl3/4i4Kn/+FFm+fLm\n/v7qr5lMJirX9GJuWloQrLQOl1ayWkAMLCpJteyytad2DkZRVBobm3/hhfyWLZl8vvpHC6+9\nluup5d12tbQgWGkdLq1ktYA4uOpXUrXcc8/xv/nb0shIcd9IZW6u9d5PVI+feOpfT3zrydO/\namnF2oKGS+twaSWrBcSiMV+N4aKV5+cnP/uHhSuvLvT9wvEdXzx9/NDmmw7f8qHSxISWVh1a\n0HBpHS6tZLWAOLgzfcJVKmfcsmph9+6m9eszTU1aWvVrQcOldbi0ktUCasqiAgAABMeX6QEA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAA\ngOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOBYVAAAgOD8H5CH6btaJ7kNAAAAAElFTkSuQmCC\n", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "options(repr.plot.width = 9, repr.plot.height = 5)\n", "dendplot(mydend, dds2019@colData, \n", " \"genotype\", # variable that show in label\n", " \"genotype\", # variable that define color\n", " \"condition\") %>% # variable that define shape of points\n", " plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dendrogram of samples: showing media of each sample" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Customize presentation" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 24 × 4
Labelgenotypeconditiongeneexp
<chr><fct><fct><dbl>
1_2019_P_M1 WT pH4126.28489
2_2019_P_M1 WT pH4 94.04893
3_2019_P_M1 WT pH4106.41852
4_2019_P_M1 WT pH4120.45064
5_2019_P_M1 WT pH4112.70469
6_2019_P_M1 WT pH4 83.25923
7_2019_P_M1 sre1dpH4122.72715
8_2019_P_M1 sre1dpH4117.87771
9_2019_P_M1 sre1dpH4149.00707
10_2019_P_M1sre1dpH4121.70596
11_2019_P_M1sre1dpH4116.10471
12_2019_P_M1sre1dpH4155.47163
13_2019_P_M1WT pH8278.86338
14_2019_P_M1WT pH8204.68325
15_2019_P_M1WT pH8274.49575
16_2019_P_M1WT pH8217.18785
17_2019_P_M1WT pH8236.11254
18_2019_P_M1WT pH8215.75364
19_2019_P_M1sre1dpH8157.45180
20_2019_P_M1sre1dpH8171.48644
21_2019_P_M1sre1dpH8186.69737
22_2019_P_M1sre1dpH8178.12113
23_2019_P_M1sre1dpH8203.92325
24_2019_P_M1sre1dpH8208.94213
\n" ], "text/latex": [ "A tibble: 24 × 4\n", "\\begin{tabular}{r|llll}\n", " Label & genotype & condition & geneexp\\\\\n", " & & & \\\\\n", "\\hline\n", "\t 1\\_2019\\_P\\_M1 & WT & pH4 & 126.28489\\\\\n", "\t 2\\_2019\\_P\\_M1 & WT & pH4 & 94.04893\\\\\n", "\t 3\\_2019\\_P\\_M1 & WT & pH4 & 106.41852\\\\\n", "\t 4\\_2019\\_P\\_M1 & WT & pH4 & 120.45064\\\\\n", "\t 5\\_2019\\_P\\_M1 & WT & pH4 & 112.70469\\\\\n", "\t 6\\_2019\\_P\\_M1 & WT & pH4 & 83.25923\\\\\n", "\t 7\\_2019\\_P\\_M1 & sre1d & pH4 & 122.72715\\\\\n", "\t 8\\_2019\\_P\\_M1 & sre1d & pH4 & 117.87771\\\\\n", "\t 9\\_2019\\_P\\_M1 & sre1d & pH4 & 149.00707\\\\\n", "\t 10\\_2019\\_P\\_M1 & sre1d & pH4 & 121.70596\\\\\n", "\t 11\\_2019\\_P\\_M1 & sre1d & pH4 & 116.10471\\\\\n", "\t 12\\_2019\\_P\\_M1 & sre1d & pH4 & 155.47163\\\\\n", "\t 13\\_2019\\_P\\_M1 & WT & pH8 & 278.86338\\\\\n", "\t 14\\_2019\\_P\\_M1 & WT & pH8 & 204.68325\\\\\n", "\t 15\\_2019\\_P\\_M1 & WT & pH8 & 274.49575\\\\\n", "\t 16\\_2019\\_P\\_M1 & WT & pH8 & 217.18785\\\\\n", "\t 17\\_2019\\_P\\_M1 & WT & pH8 & 236.11254\\\\\n", "\t 18\\_2019\\_P\\_M1 & WT & pH8 & 215.75364\\\\\n", "\t 19\\_2019\\_P\\_M1 & sre1d & pH8 & 157.45180\\\\\n", "\t 20\\_2019\\_P\\_M1 & sre1d & pH8 & 171.48644\\\\\n", "\t 21\\_2019\\_P\\_M1 & sre1d & pH8 & 186.69737\\\\\n", "\t 22\\_2019\\_P\\_M1 & sre1d & pH8 & 178.12113\\\\\n", "\t 23\\_2019\\_P\\_M1 & sre1d & pH8 & 203.92325\\\\\n", "\t 24\\_2019\\_P\\_M1 & sre1d & pH8 & 208.94213\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 24 × 4\n", "\n", "| Label <chr> | genotype <fct> | condition <fct> | geneexp <dbl> |\n", "|---|---|---|---|\n", "| 1_2019_P_M1 | WT | pH4 | 126.28489 |\n", "| 2_2019_P_M1 | WT | pH4 | 94.04893 |\n", "| 3_2019_P_M1 | WT | pH4 | 106.41852 |\n", "| 4_2019_P_M1 | WT | pH4 | 120.45064 |\n", "| 5_2019_P_M1 | WT | pH4 | 112.70469 |\n", "| 6_2019_P_M1 | WT | pH4 | 83.25923 |\n", "| 7_2019_P_M1 | sre1d | pH4 | 122.72715 |\n", "| 8_2019_P_M1 | sre1d | pH4 | 117.87771 |\n", "| 9_2019_P_M1 | sre1d | pH4 | 149.00707 |\n", "| 10_2019_P_M1 | sre1d | pH4 | 121.70596 |\n", "| 11_2019_P_M1 | sre1d | pH4 | 116.10471 |\n", "| 12_2019_P_M1 | sre1d | pH4 | 155.47163 |\n", "| 13_2019_P_M1 | WT | pH8 | 278.86338 |\n", "| 14_2019_P_M1 | WT | pH8 | 204.68325 |\n", "| 15_2019_P_M1 | WT | pH8 | 274.49575 |\n", "| 16_2019_P_M1 | WT | pH8 | 217.18785 |\n", "| 17_2019_P_M1 | WT | pH8 | 236.11254 |\n", "| 18_2019_P_M1 | WT | pH8 | 215.75364 |\n", "| 19_2019_P_M1 | sre1d | pH8 | 157.45180 |\n", "| 20_2019_P_M1 | sre1d | pH8 | 171.48644 |\n", "| 21_2019_P_M1 | sre1d | pH8 | 186.69737 |\n", "| 22_2019_P_M1 | sre1d | pH8 | 178.12113 |\n", "| 23_2019_P_M1 | sre1d | pH8 | 203.92325 |\n", "| 24_2019_P_M1 | sre1d | pH8 | 208.94213 |\n", "\n" ], "text/plain": [ " Label genotype condition geneexp \n", "1 1_2019_P_M1 WT pH4 126.28489\n", "2 2_2019_P_M1 WT pH4 94.04893\n", "3 3_2019_P_M1 WT pH4 106.41852\n", "4 4_2019_P_M1 WT pH4 120.45064\n", "5 5_2019_P_M1 WT pH4 112.70469\n", "6 6_2019_P_M1 WT pH4 83.25923\n", "7 7_2019_P_M1 sre1d pH4 122.72715\n", "8 8_2019_P_M1 sre1d pH4 117.87771\n", "9 9_2019_P_M1 sre1d pH4 149.00707\n", "10 10_2019_P_M1 sre1d pH4 121.70596\n", "11 11_2019_P_M1 sre1d pH4 116.10471\n", "12 12_2019_P_M1 sre1d pH4 155.47163\n", "13 13_2019_P_M1 WT pH8 278.86338\n", "14 14_2019_P_M1 WT pH8 204.68325\n", "15 15_2019_P_M1 WT pH8 274.49575\n", "16 16_2019_P_M1 WT pH8 217.18785\n", "17 17_2019_P_M1 WT pH8 236.11254\n", "18 18_2019_P_M1 WT pH8 215.75364\n", "19 19_2019_P_M1 sre1d pH8 157.45180\n", "20 20_2019_P_M1 sre1d pH8 171.48644\n", "21 21_2019_P_M1 sre1d pH8 186.69737\n", "22 22_2019_P_M1 sre1d pH8 178.12113\n", "23 23_2019_P_M1 sre1d pH8 203.92325\n", "24 24_2019_P_M1 sre1d pH8 208.94213" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Merge gene expression with meta data\n", "myDEplotData <- function(mydds, geneid, mergelab) {\n", " counts(mydds, normalize = TRUE) %>%\n", " as_tibble(rownames=\"gene\") %>%\n", " filter(gene == geneid) %>%\n", " gather(Label, geneexp, -gene) %>%\n", " select(-gene) -> genedat\n", "\n", " colData(mydds) %>%\n", " as.data.frame %>%\n", " as_tibble %>%\n", " full_join(genedat, by = mergelab) -> genedat\n", " \n", " return(genedat)\n", "}\n", "\n", "myDEplotData(dds2019, \"CNAG_00003\", \"Label\")[,c(\"Label\", \"genotype\", \"condition\" , \"geneexp\")]\n" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "### Basic function\n", "\n", "myDEplot <- function(mydds, geneid, mergelab) {\n", " mydat <- myDEplotData(mydds, geneid, mergelab)\n", " ggplot(mydat, aes(x = condition, y = geneexp))+ geom_point()\n", "}\n", "\n" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAAJYCAMAAACw6qbdAAAC/VBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMVFRUWFhYX\nFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgp\nKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7\nOzs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExN\nTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5f\nX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBx\ncXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKD\ng4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSV\nlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqan\np6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5\nubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrL\ny8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd\n3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v\n7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///8K7bDS\nAAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3deZRU9Znw8StGkO2Ny7jkTZx3Rt83\nGEQdibbRiWQmiclkpjoQJa2dDI6ZqCgqA6Q1i4nRjJq4BAVfRKMybqghSiJGlkE2AWVpJLgQ\nFGRfGpRgQ9P0xu/Mvbeqle6nKqnqvs/5XR6/nz/ur7qaOuc5p/p8qXvr1q3AAUCJAt8DADj4\nEA4AJSMcAEpGOACUjHAAKBnhAFAywgGgZIQDQMk6F47anWirtqXO9whIxu6WPb5HSJ1dCYVj\n1w609b6r8z0CklHrdvseIXV2Eg4lhMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2E\nwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREO\nLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIh\nEQ4thMOMbW/W+B4hdQiHFsJhxDvf7hJ0uXi17zFShnBoIRxGDAwi/+x7jJQhHFoIhw0LgqxZ\nvgdJF8KhhXDY8FguHL/yPUi6EA4thMOGF3LhmOx7kHQhHFoIhw1bT467cdJm34OkC+HQQjiM\neOn/hN04YY7vMVKGcGghHFZsnnjXxE2+h0gbwqGFcJjBmaMS4dBCOMwgHBLh0EI4zHjnlXd8\nj5A6hEML4TDirejU0cwq32OkTFLhqN2Jtna7vb5HQBL+KX479ovv+Z4jXXYlFI6GJrTV7Fp8\nj4AELM+dAPaK70HSpTGhcLCr0h67KjZwynleHOPQQjhsmJYLx3O+B0kXwqGFcNiw7dS4G5/Z\n4nuQdCEcWgiHEYuiD6t8eqHvMVKGcGghHFZsfe6B53i90Q7h0EI4zODMUYlwaCEcZhAOiXBo\nIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6J\ncGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQ\nDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEc\nZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBo\nIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6J\ncGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQ\nDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEc\nZhAOiXBoIRxmEA6p6HDsvKOy8tYdzg3NhK51rm50RcXd9YSjIMJhBuGQig7HqKq160Z+37kh\nk2tqat5z7s4R6zeNvIdwFEQ4zCAcUrHh2FW12rlFmXo3eGH8c235CudeG7iHcBRCOMwgHFJJ\nxziWlte1ZJbnbjY611heTTgKIRxmEA6ppHDc9BO3O3P7pRU/3eqmVUZ3VE4nHIUQDjMIh1RK\nOJ6o3Op2Dhu/cU3V0KYpl0T3DJkSbl76h9DS/WjH+R4ASeGpFJqLDsf+hypX525uyKzIvuK4\neEa4ebk89Goz2mpxLb5HQDJ4KqWmosMxfsiG1ptNmXnV5Q3O1ecOeDh2VSR2VcxgV0Uqeldl\nauWmaNn2XPgaZXXmrbqBYTOWDNpLOAohHGYQDqnYcNR9a1JNqGHHBeO2vj3yuv3u3mvWvjNs\n/Ae/JxztEQ4zCIdUbDiqM7Fqt6Jq8JDRu5zbN7aiYlwD4SiIcJhBOCQ+q6KFcJhBOCTCoYVw\nmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKh\nhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgk\nwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhB\nOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmFHbRDjaIxxaCIcRW278ZPDJGzb7HiNl\nCIcWwmHElUHku77HSBnCoYVw2LAsyHrF9yDpQji0EA4bHs+F4yHfg6QL4dBCOGyYnAvH074H\nSRfCoYVw2LDx+Lgbf7XO9yDpQji0EA4jJvcKu9Fzku8xUoZwaCEcVrx+0+U3veZ7iLQhHFoI\nhxmcOSoRDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiER\nDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzC\nIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTD\n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\nDjMIh8SZo1oIhxmEQ+LMUSUrqiqunet7CCSCcEh86bSOF3qGr9i63uN7DCSBcEj5w7H35gH9\n+sYIR4ds++v4CmDd/+B7ECSAcEj5wzEs+ETZuTHC0SHzctccHet7ECSAcEj5w3Hcf+wvthiE\nI5/puXDc7nsQJIBwSAXOHJ1TYjcIR1vrumfDMdP3IEgA4ZDyh2PArwhH5/wi7sa3fY+BJBAO\nKX84Xj+91JcchKOdX53Ru89Pt/ieAkkgHFL+cHy1X3DUZ3hXpVM4AcwMwiHlD8c55w3IIRwd\nRTjMIBwSJ4BpIRxmEA4pqWuO1u1BW/WuwfcISMY+nkqhLn84Sr7maN1utLXXNfgeAcmod/t8\nj5A6H76s4JqjyWJXxQx2VSSuOaqFcJhBOCSuOaqFcJhBOCSuOarl/XrCYQThkLjmqI6a2z4Z\nHHX1Ot9jIAmEQ+Kaozp+FH9WJeN7DCSBcEhcc1TFmq7ZT8c+73sQJIBwSFxzVMW03PU4fuF7\nECSAcEiccq5ifi4c43wPggQQDil/OM4oyzn7y1VrCEfptp8cd+PjK30PggQQDil/OM7vE/Q8\nuW+v4NP9T+jScynhKN3cv4quVTzB9xhIAuGQ8odj+f99qtG5pl+ftsa9fcpXCEcHrLnj6p+9\n6nsIJIJwSAXO45iQXR/+mnO/+V+EoyM4c9QMwiHlD8fh87Prgl7OzelOODqCcJhBOKQCX48w\nNLuOPMq5oacQjo4gHGYQDil/OL4ffP7G+8b/7EvBFe4XwVjC0RGEwwzCIeUPR/OPj47eTex1\n1V737C+L6QbhEAiHGYRDKnQCWMvqBfNXNhbVDMKRF+Ewg3BInDmqhXCYQTgkwqGFcJhBOCTC\noYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4\nJMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCY\nQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhZPL5/++8/7/d\n9xRIAuGQCIeO8dH30gRX+x4DSSAcEuFQsenjcTiCeb4HQQIIh0Q4VPx3thvBnb4HQQIIh0Q4\nVMzKheNu34MgAYRDIhwqthwbd6PrEt+DIAGEQyIcOq6Mw1HmewwkgXBIhEPFhl7ZXZU5vgdB\nAgiHRDhUzMgd47jD9yBIAOGQCIeKOblw3ON7ECSAcEiEQ8XW/x13o9sy34MgAYRDIhw6JneL\nwnGb7zGQBMIhEQ4lS6762nde8D0EEkE4JMKhhU/HmkE4JMKhhXCYQTgkwqGFcJhBOCTCoYVw\nmEE4pOLDsWn44GgZmgld61zd6IqKu+sJR0GEwwzCIRUdjjlDbo3DMWRyTU3Ne87dOWL9ppH3\nEI6CCIcZhEMqOhyPbZ4Zh2PwwvjH2vIVzr02cA/hKIRwmEE4pBKOccThaMksj39YWt7oXGN5\nNeEohHCYQTikUsOxO3P7pRU/3eqmVUZ3VU4PN+8tCm3ZhTZWDC+/YpbvIZCIvW6v7xFSp7bE\ncOwcNn7jmqqhTVMuie4aMiXczOofWvSXHv0RM7d7dMr5fb7HAHS0fHCruHDENmRWZF9xXDwj\n3KwZE1q9FwfY/an4Q27d/+h7ECSgwTX6HiF9OhKOpsy86vIG5+pzBzwcxzjaaf1Y/RjfgyAB\nHOOQSj3Gse25ZudWZ96qGxg2Y8mgD7pDONrgQj6WEA6p6HDU1Dx7YU1N3Y4Lxm19e+R1+929\n16x9Z9j4D35NONrY0DMbjtm+B0ECCIdUdDgysUluRdXgIaN3ObdvbEXFuAbCUcDouBvf8T0G\nkkA4JD6rouTRc445/edbfU+BJBAOiXBo4QQwMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiH\nRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4z\nCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQ\nDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4\ntBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiH\nRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4z\nCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQ\nDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4rZg75wr/O8D1E2hAO\nLYTDiPuDyFjfY6QM4dBCOGxY0zsOR49VvgdJF8KhhXDY8Osg6zHfg6QL4dBCOGx4MheOCb4H\nSRfCoYVw2LCya9yNw1b4HiRdkgpH7U60tdvt9T0CknBLHI4bfY+RMrsSCse+RrTV5Jp9j4BE\nPPOlv/3ir30PkTYNCYWDXZX22FUxgxPAJI5xKHmh/JQvP+R7CCSCcEiEQ8fD8Y7xCN9jIAmE\nQyIcKjYfmX0Pb4HvQZAAwiERDhUzc2/+3+V7ECSAcEiEQ8WLuXDc4XsQJIBwSIRDRTWvOAzZ\nuWGn7xFSh3CoeCEXjtt8D4JOW395t6Dbd9f5HiNlCIeKV3PheMT3IOi0i+JncpDvMVKGcOj4\navzXduIG33Ogs17J/R8w1/cg6UI4dKwaEP6t9Znnewx02mO5cDzoe5B0IRxa5j81c6vvGdB5\nz+fC8YzvQdKFcGjhsyo2bDkx7sZfb/I9SLoQDiV/GDX4mtm+h0ACZn0i7MZxXK24LcKh4/c9\nwr+2rnf7HgMJWP/gTQ/wbmw7hEPFthPi17fdl/seBAngzFGJcKiYmzuiNsb3IEgA4ZAIh4rp\nfFbFEMIhEQ4V63tkw/Gi70GQAMIhEQ4dn427cfQW33MgAYRDIhwqXj8k+4rjSd+DIAGEQyIc\nKvh0rCWEQyIcKpbx9V+GEA6JcOj4x+x5yut9z4EEEA6JcOh446ywG3/DmyomEA6JcCjZPuPh\nKZt9D4FEEA6JcGjh07FWvHT5v1zOlVXaIRxaCIcRE6Kvq+/6gO8xUoZwaCEcNqw9Ij7O3fst\n34OkC+HQQjhsmJR7Z/1x34OkC+HQQjhsmMgpOfkQDi2Ew4Y3Dou78TEurdIG4dBCOIy4IQ7H\n9b7HSBnCoYVwGLH9/rLjzhq33fcYKUM4tBAOMzgBTCIcWgiHGYRDIhxaCIcZhEMiHFoIhxmE\nQyIcWgiHGYRDIhxaCIcZhEMiHFoIhxmEQyIcWgiHGYRDIhxaCIcRNb/s26vvHdt8j5EyhEML\n4TDie/Ep58N9j5EyhEML4bBhxaHZT8dW+x4kXQiHFsJhwxO5j9U/7HuQdCEcWgiHDc/kwjHR\n9yDpQji0EA4b1h8dd+PINb4HSRfCoYVwGPFkt7Ab3R71PUbKEA4thMOKpaMuGrnY9xBpQzi0\nEA4zOAFMIhxaCIcZhEMiHFoIhxmEQyIcWgiHGYRDIhxaCIcZhEMiHFoIhxmEQyo+HJuGD46W\nutEVFXfXf7gSjgIIhxmEQyo6HHOG3BqH484R6zeNvOfDlXAUQDjMIBxS0eF4bPPMKBy15Suc\ne23gntaVcBRCOMwgHFIJxzjicCwtb3Susby6dSUchRAOMwiHVGo4plVGNyunt66EoxDCYQbh\nkEoNx5RLoptDprSu4ealfwgt3Y92nO8BkBSeSqG5Q684Lp7Ruoabl8tDrzajrRbX4nsEJIOn\nUmoqMRzV5Q3O1WeWt66tv2RXpT12VcxgV0UqdVelbmDYiiWD9rauhKMQwmEG4ZCKDkdNzbMX\n1tTUuXuvWfvOsPHug5VwFEA4zCAcUtHhyMQmuX1jKyrGhbsprSvhKIBwmEE4JD6rooVwmEE4\nJMKhhXCYQTgkwqGFcJhBOCTCoYVwmEE4JMKhhXCYQTgkwqGFcJhBOCTCoYVwGFHzy369T7lz\nm+8xUoZwaCEcRlTFXwE53PcYKUM4tBAOG1Z8LPul09W+B0kXwqGFcNjwRO7b6h/2PUi6EA4t\nhMOGZ3LhmOh7kHQhHFoIhw3rj467ceQa34OkC+HQQjiMmNgt7EbXR3yPkTKEQwvhsGLJyG+O\nWOR7iLQhHFoIhxmcACYRDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIh\nEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMM\nwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2E\nw4jt9591/JnjtvseI2UIhxbCYcQN8dcjXOd7jJQhHFoIhw1vHBaH42Ov+h4kXQiHFsJhw8Tc\nN7lN8D1IuhAOLYTDhkm5cDzue5B0IRxaCIcNa4+Iu9H7bd+DpAvh0EI4jJjQNfoKyAd8j5Ey\nhEML4bBi/hX/fMU830OkDeHQQjjM4AQwiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxm\nEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGgh\nHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOKalwNDajrRbX4nsEJIOnUmpK\nKBzvv4u2al2d7xGQjN1uj+8RUudPCYWDXZX22FUxg10ViWMcWgiHGYRDSiocaG/1LS/5HgHJ\n+MMt1b5HSDHCkaz5/R/wPQKSMaX/JN8jpBjhSBbhMINw/DmEI1mEwwzC8ecQjmQRDjMIx59D\nOACUjHAAKBnhAFAywgGgZIRDw6bhg1tvVmcafE6CEo28LdouyiyIljv/47ZM1u1+p0ofwqFg\nzpBbCcdB6smK5nB73+Cx4Xb/t57YuWXLosz8LVv+9Jce91FDOBQ8tnkm4ThIrcmsCLeX3Xdp\nuF2VeTu+54+eZ0ojwtE5i0d+c/CoaufKZ131E/furd/89q07oruz4Xhr+IVVzxOOg8u/TXBu\nS/nWr693buKQ/Y5w5Ec4OqV24LR99dMG7XIXXDvjHXf9HXvq7hwR3R+Ho+XS0fUbhhGOg8u9\nVzv3/Ag3arJzo8ZEdxCOfAhHp2zKzA+3Tc4Nvj/6C3vPuR2ZtS4XjjczG517hnAcXBZndrib\nH3GP/9jVlr8S3UE48iEcnfObC64YM68xDMc05+ZnD8BHf21xOOZFzVhIOA4uDRdMbR68wr3x\njX1zvlEf3UE48iEcnVS38IFLr9rtBs92bkFmb3Rdxmi/OA7Hi1Ez5hOOg8xNP399cJNrrlg2\n+sb4Z8KRD+HolIboUOjei2bH4VibWdV6fxyO5ZkNzj1FOA4yU//1qZvD5T8f/fffxz8TjnwI\nR6fMr6ze17B44FtxONz11+1o+O3wZldT8+yFNTV1+y6+6/0/Xkk4DjLvZi6bEi6/vzyzPf6Z\ncORDODrn+asvHDxinsuGY8ctgwdft9K57LGOSe6Nay4YNTuz1/eMKM3wzKZwuzVzdfZHwpEP\n4QBQMsIBoGSEA0DJCAeAkhEOACUjHABKRjgAlIxwACgZ4UAHvdLT9wTwh3Cgg+4iHB9hhAPt\nNP/g+O4DVpx/Rnhz5nk9e3wu+uDGOV99fUCPT1wbfcx88tk9uvd/wrkvBkHwlXOPb4ke8rdl\n7vTz5555+LGjmg58FOwiHGjnx8EVLz10Up8y51449OszX7zwkN85d96ppz8wZ3jwM+eeCjLT\nXrwoeNBtGNhj5cYHg486s44AAAJhSURBVBnhI5YF97qzTuz7yIxLg+sPfBTsIhxoq+Xoc8Pt\nxCAMxymnNIcvQPqe5tyAYI5z+48f4NyJn4leY/zdCc5dEu6q1Pa8JPzpR4e968qif+HOPqL5\ngEfBLsKBtlYHN4bbxh5lbkvwg+iOquA9N+Co6FZZP7c++F506wfBujgcbkjvvc71+Xr4uyOi\n+38UrDrgUbCLcKCtBcF90XJymVsc5LzmBnwmuu/cvm5hMDq6NSZ4ORuO2cFT7vXgmTAcfaP7\nxwYLDngU7CIcaGt+MD5a+pa5JcGwl2N73IA4C2E4Xg5+Ht26J3glG479f/Mv7qYjG1rDMSZY\neMCjYBfhQFsro0OgrqlXmdsWXNN65wfh2Ji977pgYzYc7qddd506NFzL4p2ZG4I1BzwKdhEO\ntNXY6/xwOyk6ONrv+H3hzYuHHhAO1+eE5vB1Rr9PO/dvh0f3rTvkxmBhuJYF0bet/v0xLQc8\nCnYRDrQzNPjewgmnfToMx/NdPv+7ud8N/uvAcDx7SOa/pw885NnoAOn4meGd/9j1pOh3ZZ/q\n89SCq4ObD3wU7CIcaKfusiN7fvXt/meHN2ec17PXmU+7A8PhflfWvce50fW/153a/Qvh8lhw\nU/S7ss++2L/bsd9vOfBRsItwIK8TvlzkPxzfZX20lPVXHAapQzjQzuRfhJu3u1QV96/3njQo\nXgnHRwvhQDu/DK6c88wpPdcU8283Tf1S95XxLcLx0UI40N6Yvt17n7+kqH86oWufGdlbhOOj\nhXAAKBnhAFAywgGgZIQDQMkIB4CSEQ4AJSMcAEpGOACU7H8AXrFe2zjduxMAAAAASUVORK5C\nYII=", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAAJYCAMAAACw6qbdAAAC9FBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMVFRUWFhYX\nFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgp\nKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7\nOzs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExN\nTU1OTk5QUFBRUVFTU1NUVFRVVVVXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFi\nYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0\ndHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWG\nhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eY\nmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamq\nqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8\nvLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3O\nzs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g\n4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy\n8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///+WfD/qAAAACXBIWXMA\nABJ0AAASdAHeZh94AAAgAElEQVR4nO3deZRU5ZnH8atJEJCoMeIWdTJZ3JcRosYkkpjNMVON\nxg6tAzGahIhLwGDcEqOJG+Ag4ihq3EYhUSM4MFHAhRYFUWhEcJd9bxcCTTdNd9O8/8ytpcGu\npypWle9z3svj93OOdQtoz/mdU32+p271rerIAUCZotADAOx4CAeAshEOAGUjHADKRjgAlI1w\nACgb4QBQNsIBoGwfLxwN69BZQ3tT6AnwY2N7Y+gJibPeUzjWv4fONrim0BPgR4PbGHpC4qwj\nHEoIhxmEQyIcWgiHGYRDIhxaCIcZhEMiHFoIhxmEQyIcWgiHGYRDIhxaCIcZhEMiHFoIhxmE\nQyIcWgiHGYRDIhxaCIcZhEMiHFoIhxmEQyIcWgiHGYRDIhxaCIcZhEMiHFoIhxmEQyIcWgiH\nGYRDIhxaCIcZhEMiHFoIhxmEQyIcWgiHGYRDIhxaCIcZhEMiHFoIhxlrX68PPSFxCIcWwmHE\n4rN2jnbutzD0jIQhHFoIhxF9o7QfhZ6RMIRDC+GwYUaU9UzoIclCOLQQDhseyIXjrtBDkoVw\naCEcNjyeC8eE0EOShXBoIRw2rDk0040vrwo9JFkIhxbCYcRz/xJ348Da0DMShnBoIRxWrBp3\n07iVoUckDeHQQjjM4MpRiXBoIRxmEA6JcGghHGYsnrU49ITEIRxaCIcRb6cvHU29FXpGwvgK\nR8M6dLbRbQo9AT78e+bHsd/9IPSOZFnvKRwtbehsi2sPPQEezMtdADYr9JBkafUUDk5V8nGq\nYgOXnBfEaxxaCIcNk3PhmBh6SLIQDi2Ew4a1R2W6cdjq0EOShXBoIRxGvJh+s8rBM0PPSBjC\noYVwWLFm4p0Teb6Rh3BoIRxmcOWoRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdE\nOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMI\nh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAO\nMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0\nEA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdE\nOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMI\nh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAO\nMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh1RyONYNr6m57j3n\nBqZiFzrXNLK6+uZmwlEU4TCDcEglh+PioUuWDrnUuf4T6uvrP3BuxOBlK4eMIhxFEQ4zCIdU\najjWD13o3IupZnfGzMyfG6rmO7egbyPhKIZwmEE4pLJe45hT1dSempe72+pca1Ud4SiGcJhB\nOKSywnH1793G1LCzq/+wxk2uSf9FzRTCUQzhMINwSOWEY2zNGrdu0JgVi4YObJs0IP03/SfF\nN899JzZnK/K40APgCw+lsKXkcGy9u2Zh7u7y1PzsM45+U+ObF6piL29BZ+2uPfQE+MFDKbWV\nHI4x/Zd33G1LTa+ranGuOfeCh+NUReJUxQxOVaSST1WeqFmZPqydGD9HWZh6u6lv3IzZp20i\nHMUQDjMIh1RqOJrOfKQ+1vLe6beteWfIJVvdrRcsWTxozLZ/Jxz5CIcZhEMqNRx1qYw6N3/o\nGf1Hrndu8+jq6ttaCEdRhMMMwiHxXhUthMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiER\nDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzC\nIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTD\nDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4t\nhMMMwiERDi2Ew4yGNsKRj3BoIRxGrL7qC9EXrlwVekbCEA4thMOIX0Vp54aekTCEQwvhsGFu\nlDUr9JBkIRxaCIcND+bCcXfoIclCOLQQDhsm5MLxUOghyUI4tBAOG1bsm+nGXktDD0kWwqGF\ncBgxoUfcjV0fCT0jYQiHFsJhxatX/+LqBaFHJA3h0EI4zODKUYlwaCEcZhAOiXBoIRxmEA6J\ncGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQ\nDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEc\nZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOyVc4\nWtrQ2RbXHnoC/OChlFo9hWPD++iswTWFngA/NrrG0BMS5x+ewsGpSj5OVczgVEXiNQ4thMMM\nwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2E\nwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2Ew4o3rj3/\nT6+FHpE0hEML4TBi4u5RFH12fOgZCUM4tBAOG1buF6XtvTT0kGQhHFoIhw2PRVkPhR6SLIRD\nC+Gw4cFcOO4OPSRZCIcWwmHD3Fw4ZoUekiyEQwvhsGFeLhwvhR6SLIRDC+GwYSynKoUQDi2E\nw4bxuXD8NfSQZCEcWgiHDct7Zrrx+SWhhyQL4dBCOIz4W/e4G914wtEZ4dBCOKx45YoBl78c\nekTSEA4thMMM3uQmEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDi2EwwzCIREO\nLYTDDMIhEQ4thMMMwiERDi2EwwzCIREOLYTDiHdv771371vfDT0jYQiHFsJhxBWZN7kNDT0j\nYQiHFsJhw6ufyYTj03NDD0kWwqGFcNgwLvd5HPeGHpIshEML4bDhkVw4xoYekiyEQwvhsGHJ\n5zLd2O2d0EOShXBoIRxG3Ncl7kaXP4eekTCEQwvhsGLGwNTA50KPSBrCoYVwmMEFYBLh0EI4\nzCAcEuHQQjjMeH36G6EnJA7h0EI4jHjr1CiKfvh66BkJQzi0EA4jvpf5cWwf3qzSCeHQQjhs\neDZ3AdiU0EOShXBoIRw23J8Lxx2hhyQL4dBCOGwYnQvHsNBDkoVwaCEcNnQ84xgTekiyEA4t\nhMOGablwTA49JFkIhxbCYcO7fTLdOLE+9JBkIRxaCIcRr52c/mnsgtAzEoZwaCEcZsx7Yl7o\nCYlTcjjWDa+pue4955pGVlff3Lz9SDiKIBxm8F4VqeRwXDx0ydIhlzo3YvCylUNGbT8SjiII\nhxmEQyo1HOuHLnTuxVRzQ9V85xb0bew4Eo5iCIcZhEMq6zWOOVVNc6panWutqus4Eo5iCIcZ\nhEMqKxxX/95NrknfqZnScYxv3ro29nYzOmtxbaEnwI9W1xp6QvKUEY6xNWvcpAHpe/0ndRzj\nm2d6xV786OwAsKJ9272PCsfWu2sWutwzjn5TO47xTcPrsfp/oLNG1xx6AvxocptCT0icDSWH\n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\neEA4JMKhY8Iu6XBcH3oGfCAcEuFQMvu8U3/2eOgR8IJwSIRDCxeAmUE4JMKhhXCYQTgkwqGF\ncJhBOCTCoYVwmEE4pNLDsfKiM9KHganYhc41jayuvrmZcBRFOMwgHFLJ4ajtf10mHP0n1NfX\nf+DciMHLVg4ZRTiKIhxmEA6p5HA8sOqpTDjOmJn5Y0PVfOcW9G0kHMUQDjMIh1TGaxyZcLSn\n5mX+MKeq1bnWqjrCUQzhMINwSOWGY2Nq2NnVf1jjJtek/6pmSnzzwYux1evRyfyLqn75TOgR\n8GKT2xR6QuI0lBmOdYPGrFg0dGDbpAHpv+o/Kb55plfsxY/6vz9hnu2WvuT89tAzAB3t2+6V\nFo6M5an52Wcc/abGN4tuiS3chA/ZeEDmTW7d3gw9BB60uNbQE5KnknC0pabXVbU415x7wcPx\nGkeejrfV3xJ6CDzgNQ6p3Nc41k7c4tzC1NtNfeNmzD5tW3cIRyd8kI8lhEMqORz19eN/XF/f\n9N7pt615Z8glW92tFyxZPGjMtn8mHJ0s3zUbjmmhh8ADwiGVHI5UxiNu/tAz+o9c79zm0dXV\nt7UQjiJGZrrxs9Az4APhkHivipL/ObHnMTesCb0CPhAOiXBo4QIwMwiHRDi0EA4zCIdEOLQQ\nDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4\ntBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiH\nRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4z\nCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQ\nDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4\ntBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiH\nRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDi0EA4zCIdEOLQQDjMIh0Q4tBAOMwiHRDiUzDj7\n5H4TQo+AF4RDIhw6Hu4Sxa4JPQM+EA6JcKhYvXe6G1GXOaGHwAPCIREOFdOirJtDD4EHhEMi\nHCqezIVjROgh8IBwSIRDxYrds+GYHnoIPCAckq9wNKzDh92R6cag0DPgQ6NrCj0hcdZ7Csfm\nVnQy5ZQvnXRPS+gV8GGL2xJ6QuK0eAoHpyr5uADMDE5VJF7jUPJ41RHfvzv0CHhBOCTCoeOe\nzGscg0PPgA+EQyIcKlZ9LvtTlRmhh8ADwiERDhVP5a7juCn0EHhAOCTCoeLpXDiGhx4CDwiH\nRDhU1PGMwxDCIREOFY/nwnF96CHwgHBIhEPFy7lw3Bd6CDwgHBLhUPHWTtlwjAs9BB4QDolw\nqHgi94zjhtBD4AHhkAiHilm5cNwZegg8IBwS4dDRK9ONvd4JvQMeEA6JcOiYfUDcjd0fDT0D\nPhAOiXDo+Hv3OByf4ZMDTSAcEuFQsfbAzKlKt3mhh8ADwiERDhXP5l4cvSX0EHhAOCTCoWIK\n71UxhHBIhEPFsu7ZcDwdegg8IBwS4dDRO9ONz68OvQMeEA6JcKh4NXfJ+V9CD4EHhEMiHCp4\nd6wlhEMiHCrm5sJxb+gh8IBwSIRDx8mZbhy0LPQOeEA4JMKh47Xj4m58kR+qmEA4JMKh5N2p\n90xaFXoEvCAcEuFQMmfQf5zzROgR8IJwSIRDx2Nd069x3Bh6BnwgHBLhULFm/8yLo7vMDT0E\nHhAOiXCoqM39OHZU6CHwgHBIhEPFVN7kZgjhkAiHiuU9suGoDT0EHhAOiXDoGJXpxrmhZ8AH\nwiERDiVjv7nPscPXhl4BHwiHRDi0bHBNoSfAD8IhEQ4thMMMwiERDi2EwwzCIREOLYTDDMIh\nEQ4thMMMwiERDi2EwwzCIREOLYTDDMIhEQ4thMMMwiERDh3v3nl0j69exSf5mEA4JMKh44bM\nJednhp4BHwiHRDhULO2WfZPbk6GHwAPCIREOFR2/O3ZY6CHwgHBIhEPF9Fw4RoceAg8Ih0Q4\nVKw9KNON7q+EHgIPCIdEOHQ8nv4kny63hJ4BHwiHRDiULPjtTy6aHnoEvCAcEuHQwgVgZhAO\niXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDqn0cKy86Iz0oWlkdfXN\nzduPhKMIwmEG4ZBKDkdt/+sy4RgxeNnKIaO2HwlHEYTDDMIhlRyOB1Y9lQ5HQ9V85xb0bew4\nEo5iCIcZhEMq4zWOTDjmVLU611pV13EkHMUQDjMIh1RuOCbXpO/WTOk4Eo5iCIcZhEMqNxyT\nBqTv9p/UcYxvnvtObM5W5HGhB8AXHkphS0XPOPpN7TjGNy9UxV7egs7aXXvoCfCDh1JqKzMc\ndVUtzjWn5nUcO/6RU5V8nKqYwamKVO6pSlPfuBWzT9vUcSQcxRAOMwiHVHI46uvH/7i+vsnd\nesGSxYPGuG1HwlEE4TCDcEglhyOV8YjbPLq6+rb4NKXjSDiKIBxmEA6J96poIRxmEA6JcGgh\nHGYQDolwaCEcZhAOiXBoIRxmEA6JcGghHGYQDolwaCEcZhAOiXAoueuY3Q7+w+rQK+AD4ZAI\nh44bM78C8szQM+AD4ZAIh4ql3bK/dPrJ0EPgAeGQCIeKKbnfVj8s9BB4QDgkwqFiei4co0MP\ngQeEQyIcKtYelOlGt1dCD4EHhEMiHDoe3zXuRpdRoWfAB8IhEQ4lCy6pvvDZ0CPgBeGQCIcW\nLgAzg3BIhEML4TCDcEiEQwvhMINwSIRDC+Ewg3BIhEML4TCDcEiEQwvhMINwSIRDC+Ewg3BI\nhEML4TCDcEiEQwvhMINwSIRDC+Ewg3BIhEML4TCDcEiEQwvhMINwSIRDC+Ewg3BIhEML4TCD\ncEiEQwvhMINwSIRDC+Ewg3BIhEML4TCDcEiEQwvhMINwSIRDC+Ewg3BIhEPJg9/c99hha0Ov\ngA+EQyIcOkZlfj3COaFnwAfCIREOFct7ZH8h07TQQ+AB4ZAIh4qpud/kNjz0EHhAOCTCoaI2\nFw5+I5MFhEMiHCrW7J/pRte5oYfAA8IhEQ4dj3VNh+PG0DPgA+GQCIeSuvN/dM7k0CPgBeGQ\nCIcWLgAzg3BIhEML4TCDcEiEQwvhMINwSIRDC+Ewg3BIhEML4TCDcEiEQwvhMINwSIRDC+Ew\ng3BIhEML4TCDcEiEQwvhMINwSIRDC+Ewg3BIhEML4TCDcEiEQwvhMINwSIRDC+Ewg3BIhEML\n4TCDcEiEQwvhMINwSIRDC+Ewg3BIvsLRugWdtbv20BPgBw+l1OYpHBveR2cNrin0BPix0TWG\nnpA4//AUDk5V8nGqYganKhKvcWghHGYQDslXOJBv4bXPhZ4AP165ti70hAQjHH493+vO0BPg\nx6Rej4SekGCEwy/CYQbh+GcIh1+EwwzC8c8QDr8IhxmE458hHADKRjgAlI1wACgb4QBQNsLh\n08/vS9/ed07mD39LLQo6Bh/H9ody3Y01Zw1b91Ff/0lDOHz6cDhWDSAcO7DtD+WlVzesv/Ky\n0HuShnD49KFwbL1sAuHYgW17KBtS85yblWoKPShhCIcHm1JPX3z6Ba91CscTl2wkHDse+VA2\nVdU5N7OqOfSyhCEcHrSkBi3eMLzfZvfz4fNjw+NwvH/mskbCseMp8FAOu2LdustHhB6WNITD\ng5bUo84tj5/S/vz0mtjp8XfbH+93hGMHVOChXHdeKnX+B6GHJQ3h8KAlNSt98/T257fTf9FC\nOHZE8qFsPe/Wxsbbf9kSelnCEA4PWlIznducen77d9sNqYybQi9DmeRDOTv9uuim1EuhlyUM\n4fCgJTU+/fz2je3fbS3Nzc3vp95oDb0MZZIP5ezURuc2pmaHXpYwhMODltT5KzbffHZ75wvA\nOFXZAcmHcuNZ/93YNOasxtDLEoZweNCSmvib0y96xxGOHV6Bh3Lh7/r1u3Jh6GFJQzg8aEnx\n6ZRG8FCWiHB4wHebGTyUJSIcHvDdZgYPZYkIB4CyEQ4AZSMcAMpGOACUjXCgAr2Oz/637Q/4\nhCEcqEC6FbeNcW7Wri57B58whAMV6HiScdOuYXcgFMIB4bHeXfcZsDq+M+GE7t16jY3vnHjK\nq32673dhs3Ptl+/T9Wu1vbOnKt+NouiH2YoU+FIYRjiQb/xOZ0y8b78jmt1fo9Tkp38S/dm5\nk4465s7ai6I/OndN9Kvnxx3yhWw4lvft/saKTDgKfSkMIxzId2iv+ObRHpPdlw5rj+/924HO\n9Ylqndu6bx/XvtcJ8V+9FOVeHB2QPlVJ3ynwpbCMcCDPqujS7J1l0W/Sh8uipa7Pnul7xx/p\nFkWZXxTQMy8chb4UlhEO5HkpGpm9MzN755boBdfnsPS9bxzuZmT/7ui8cBT6UlhGOJDnpej6\n7J0XohvSh1HRLNcn04G4Bs9HN6fvHZEXjkJfCssIB/Ksjs7P3lkRXZA+XBKt2F6DNzOnKlv3\nyAtHoS+FZYQD+Q49oM252u5j3SEHbokjceTBbnsN2vb4enznmY4XR3/a1WXvFPhSWEY4kG/8\nTj949Jq6bJ0AAACMSURBVL4vHrQuvpN6ckrfncZ/uAYXR+dMueNfv5ILx2XRmKcydwp9KQwj\nHBAm9O7aszr9gan/e3y37t/4u/twDVou2muX3s+ecmw2HEuP6vbt7AVgBb4UhhEOAGUjHADK\nRjgAlI1wACgb4QBQNsIBoGyEA0DZCAeAshEOAGUjHADKRjgAlI1wACjb/wM7ChDXahhIpQAA\nAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Allow for grouping by any factor in dataframe\n", "\n", "myDEplot <- function(mydds, geneid, grpvar, mergelab) {\n", " mydat <- myDEplotData(mydds, geneid, mergelab)\n", " ggplot(mydat, aes_string(x=grpvar, y = \"geneexp\"))+ geom_point()\n", "}\n", "\n", "myDEplot(dds2019, \"CNAG_00003\", \"genotype\", \"Label\")\n", "myDEplot(dds2019, \"CNAG_00003\", \"condition\", \"Label\")" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAAJYCAIAAAAIVsG4AAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzde5xVdb0//rX2ZW7MwMDITQRFFLDMCymJebxFXo7FiX6alR6N1MhKO9XJ\nrG8Xy0SDtF+p2cHjhTTOyYeRl/pWpgloaMfSSBTRTO4mDpcZhmFm79l7f//YNYdgZGSYPWvt\n4fn8w8de79mz54WPYTOvWZ+1PmGhUAgAAADiJBF1AAAAgJ0pKgAAQOwoKgAAQOwoKgAAQOwo\nKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOykog7QQ1u3bu3o6Ig6BZREbW1tMplsamqKOghAz4Vh\nOHDgwI6Ojm3btkWdBUoinU7X1tZGnaI/K9eiks/nc7lc1CmgJMIwTCQSvsOBslZ8KwuCwLsZ\n/VUqVa4/SJcLS78AAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQA\nAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQAAIDYUVQA\nAIDYUVQAAIDYSUUdAADoh3KFwkvbt9fkC5VRJwHKlKICAPSyOzZtmfVa45ZcLgiCo6qrbhg1\n4m1VCguwZyz9AgB600+btl6x/rViSwmC4I/b2z64cm1jRy7aVEDZUVQAgN40e0PjTpMNHR13\nbNoSSRigfCkqAECvKQTBK5nsrvOXM5m+DwOUNUUFAOg1YRAMTnbx00VDMtn3YYCypqgAAL3p\nw4Prd5pUhuG59QMjCQOUL0UFAOhNXxjacMbA2s7DqjCcNXLYEdVVEUYCypHbEwMAvakiEd41\nZtTvt7e9lEhWFwqTk4n9037eAPaYNw4AoPcdW1N9RkNDJpNpbm6OOgtQliz9AgAAYscZFQCg\n923PF57e2lJdKDQUgkQYdRqgDCkqAEAvu6lx05wNG1vz+SAIJlRVfmf/4cfWVEcdCigzYaFQ\niDpDT2zdurWjoyPqFFASAwcOTCaTmzdvjjoIQE/8aNOWy9as33HSkEotHn/wSJfU07+k0+na\n2trun0dPletbRmVlZXW1383QPyUSiSAI6urqog4C0BPfWfHyTpONHR0/2rrt6wceEEkeKJF8\nPh91hH6uXIvK9u3bs9ls1CmgJOrr61Op1JYtW6IOArDHCkGwsq191/kLzVu9rdHPVFZWVlRU\nRJ2iP3PXLwCg14RBMDTVxa9Bh6eTfR8GKGuKCgDQmy4YMminSVUYfmhwfSRhgPKlqAAAvemz\nQxvOrh/YeViXTHxn1IjDKq2QAfZMud71q6mpyTUq9FfFa1QaGxujDgLQcy+0Z15KpmoKhaMT\nwZCkdV/0Q5WVle58U1LlejE9ABBnh1VVntDQkMlkmpubo84ClCVLvwAAgNhRVAAAgNhRVAAA\ngNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAA\ngNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAA\ngNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAA\ngNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAA\ngNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAAgNhRVAAA\ngNhRVAAAgNhRVAAAgNhJle6lN2/efNtttz3zzDNBEBx++OGXXHLJfvvtFwTBpZdeum7dus6n\njR079rvf/W4QBK2trXPnzn3yySeDIJgyZcrMmTOrqqpKFw8AAIitEhaVa665JpFIXHPNNWEY\nfu9737v++uuvvfbaIAhaW1s/+tGPHn/88X9LkPpbhltuuWXdunWzZ89OJpM33HDD3LlzL7/8\n8tLFAwAAYqtUS7+ampoSicTMmTMPOuigAw888Nxzz33uuefa2tqCINi+ffvw4cOH/d2QIUOC\nINi6devixYtnzJgxZsyYUaNGzZgx49FHH922bVuJ4gEAAHFWqqIyaNCg2bNnjxs3rniYTCbD\nMMzn8/l8vq2traamZqfnv/jii0EQTJw4sXg4YcKEfD6/YsWKEsUDAADirIRLv3b085///Kij\njqqpqWlpaQmC4KGHHvrud7/b2tp62GGHzZw5c8SIEY2NjbW1tel0uvj8dDpdW1vb2NjYN/EA\nAIBY6YuiMn/+/BUrVlx//fVBEGSz2TFjxgwcOPAb3/hGJpP5wQ9+8PWvf/3GG2/MZrOdLeVv\nyVKpTCbTefj4449/9atf7TycM2fOpEmT+iA89L0wDIMgaGhoiDoIwN6qqKjwbkZ/1dHREXWE\n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\nTCZTU1MzderU2267beXKla+88sqdd955+umnV1dXv9G8RPEAAIA4C4uLTHrd008/fdVVV+00\nvOqqqyZNmtTe3n7rrbc+/vjjQRCcdNJJF110UXG51xvNu2TpF/1YfX19KpXa8a53AGUnDMOG\nhgY709OPVVZW1tXVRZ2iPytVUSk1RYV+TFEB+gFFhX5PUSm1El6jAgAAxNMxxxxz3HHH7fp4\nN0/rY26pBgAA+7SLLrqouN90EAS/+93v3vWud7W0tOz6oT6mqAAAwD7t0ksv7Xz829/+9o0+\n1Mcs/QIAgBi5//77jz322Orq6pEjR37kIx959dVXOz903333TZkyZcCAATU1Ncccc8z8+fM7\nP/TOd77zzDPPfO65504++eQBAwaMGjXq05/+dFtbW/Gj+Xz+//yf/zNy5Mjq6urJkycvWrSo\nuNlRUef6rqlTp37uc5/btm1bGIZnnHFGsMvSrx4H6AFFBQAA4uKnP/3p9OnTx44de88991x3\n3XW//vWvTzvttOKP+z/+8Y+nT58+dOjQBQsW/OxnPzv00EPPO++82267rfiJqVRq/fr1559/\n/nnnnfd//+//Peecc773ve99+9vfLn70mmuumTVr1vTp0x9++OHPfOYzH//4x//617/u+tXv\nuOOO973vfTU1NcuXL//P//zPnT66NwF6wF2/IHbc9QvoB9z1i36vRHf9estb3lJTU/P73/++\neLhgwYILL7zw3nvvPf300w855JDKyspnn32286KRSZMmbdy4cdWqVUEQnHzyyYsWLVq4cOFJ\nJ50UBEGhUBg1atT48eMXLlyYz+dHjBgxbty4J554oviJTz311OTJk9/xjnc8+eSTQRAcc8wx\nqVSq+PgjH/nIvffe23mNyo4f6nGAnv2vcEYFAABiYf369cuXL3/3u9/dOXn/+9+/devW008/\nffXq1S+//PI///M/73hp+xlnnLF69epiTwiCYMiQIcWSEARBGIZjxozZtGlTEAQrV658/fXX\nTznllM5PPPbYY4cNG7ZH2fYmQM+82YvpOzo6/vKXvzQ2NoZhOHz48IMOOiiqy/8BAKBfWrdu\nXRAEw4cPf6MPjRo1asfhyJEjgyB49dVXDzzwwCAIRowYseNHU6lUPp8PgqC4ymunZlL83D3N\n1rMAPdN92chms1dcccXQoUMnTJjwzne+8/jjjx83btzIkSOvvvrqvfnCAADArrq8AL147Xt7\ne/uOw+JFHJ2Xxe94ffxunlaUy+X2KNXeBOiZ7s+ofOELX/jOd74zZcqUd73rXcOHDy8UChs2\nbPjNb37z1a9+ta2t7ZprrunFNAAAsM864IADgr+fu3gzH+ryLMeu9ttvvyAIXnvttc5JoVBY\nu3bthAkT9jLbmwzQM92fUfnRj3500UUXLVmy5Oqrr/7Upz512WWXXX311b/97W8/8YlP3H77\n7aXIBAAA+6CRI0cedthh999/f0dHR3GyaNGiAQMGzJ8//4ADDpg4ceL999/feSakUCj84he/\nmDBhQrFC7Ma4cePq6+t3vKh94cKFW7Zs6fLJYRh2ebJlbwL0TPdFpamp6dxzz911/uEPf/iN\n/ngAAEAPXHPNNWvXrj3rrLMWLFgwb968GTNmDB069MwzzwyCYNasWWvWrCneYvihhx56//vf\nv2zZsmuvvbbb10ylUhdddNETTzxx8cUXP/TQQ3Pnzr344osPPfTQLp88cuTItra2//iP/3jk\nkUd2+lCPA/RM90XlrW996467zHRas2bN2972thJEAgCAfdT06dMXLFiwadOm884774orrpg8\nefJvfvObwYMHFz903333bdiwYdq0adOnT3/99dd/9rOfTZ8+/c287KxZsz796U8/8MAD06ZN\nu/XWW++4445x48Z1udvHzJkzjzjiiM985jPf/OY3d83W4wA90P0+KosWLfrkJz/5/e9//8QT\nT+wcLlmy5KKLLrr55ptPPfXUEiXbPfuo0I/ZRwXoB+yjQr9Xon1U6NR9UTn99NNffvnll19+\nub6+vnihzKuvvrpp06bRo0cXr63vfGbnxjR9QFGhH1NUgH5AUaHfU1RKrfu7fm3YsKGhoaF4\nr4CiN1rQBgAA0Cu6LyrPPPNMH+QAAADo1P3F9D/84Q+7XB7W3Nx8xRVXlCASAACwr+u+qFx4\n4YXHHXfcE0880TnJ5/O33nrroYceOmfOnFJmAwAA9lHdF5W7775769atxx9//Hnnnbd27dqF\nCxdOmjTpYx/72Dve8Y6nn366DyICAAD7mu6Lynnnnbds2bIf//jHzz777Lhx40455ZRRo0Y9\n9dRTDzzwwNFHH90HEQEAgH1N90UlCIJEIlFdXV1VVZXL5cIwrK6urq6uLnUyAABgn9V9UVmw\nYMHRRx89bdq0Aw44YMWKFb/61a9efPHFI4444kMf+tALL7zQBxEBgLKTKxT+vL3tdZueAT3V\n/YaPYRgeddRR3/nOd04++eTiJJfL3XbbbV/5ylc2btzY0dFR8oxdseEj/ZgNH4Fyd+emLde8\n1rgllwuC4OjqqhtGjTi8qjLqUNDLbPhYat2fUfnP//zPP/zhD50tJQiCZDL5sY997KWXXvr3\nf//3EkYDAMrQT5u2fn79a8WWEgTBM9vbzl25trEjF20qoOx0f0al06ZNm9avXz927NgBAwaU\nNNOb4YwK/ZgzKkBZm/LSK39uz+w0vGLYfp8f1hBJHiiREp1RyeV6udUnk8nefcE+0/3O9EEQ\n3H///V/72teWLl0aBMETTzxx3HHHXXrppVOmTLngggtKHA8AKCeFIHgl08VvEl/O7FxdgF0V\nCoXW1tbefc3yXZ/W/dKvBx98cPr06blc7vOf/3znsKmp6cILL7znnntKmQ0AKDNhEAxOdvHT\nRUPZ/k4XiEr3RWXWrFkf+MAHli5dOnv27M7h/PnzL7744uuvv76U2QCA8vPhwfU7TSrD8AP1\nAyMJA5Sv7ovK0qVLP/7xjycSOz/z/PPPX758eWlSAQDl6gvDGk6vq+08rArDa0YOO7K6KsJI\nQDnq/hqVMAzz+fyu8y1btrz5C/EBgH1ERRjefeCop1rbXkokq4PC5GQ4Kp2OOhRQfro/ozJp\n0qSbbrppp67S3t5+/fXXH3PMMSULBgCUsckDqi8/YOSFw/bTUoCe6f6Myle+8pUzzzzzqKOO\neu973xsEwd133z1//vx77713w4YNDz30UOkTAgAA+5w3tY/Kz3/+8y984QvPPfdc5+SII474\n1re+dcYZZ5Qy2+7YR4V+zD4qQD8QhmFDQ0Mmk2lubo46C5REKfZRKRQKLS0tvfua/fn2xEEQ\nnHXWWcuWLVu/fv3//M//PPXUU6+99trSpUsjbCkAAEBJHXLIIVdeeeWOkyuvvPKggw7a6Wnf\n+ta3wjD84x//2OsB3tSGj0WVlZXV1dUx2ZkeAAD2Ra2tieXPhk1bCoOHFN5yRKGyMsIsL730\n0ve+970SvfibOqNy//33H3XUUQ0NDW9729ueffbZIAguvfTSH/7whyXKBAAA7Cpc9Ur6lhtS\nv3ggsWRx6uf3pW/5TuKv66MKUygULrnkks9+9rMlen070wMAQBkIs5n0ffeE27cHQRAWRy1b\nkwv+O+hqK5E3aevWrWEY/vCHP3zHO95RXV195JFHPv7442/yc+fOndvR0fHRj360x19997pf\n+lXcmX7+/PmJRGLOnDnF4fz58wcMGHD99dd/4AMfKFEyAACgU7hqZbB157tThJs2huvXFg4Y\n07PXTKfTQRDMnj37Rz/60ahRoy6//PJp06atXbu2pqYmCILVq1cvXLiw88mrV6/ufLxu3bov\nf/nLCxcuDMOwZ1+6W90XlaVLl1577bVd7kxfvGExAABQamF72xvN93IX9gsuuODII48MguDL\nX/7yf/3Xfy1ZsmTq1KlBENx333077kfS2to6bNiw4uNPfOITl1xyyVvf+tYtW7bs3Rd/Q90v\n/bIzPQAARC6/39AupmFYGDp8L195woQJxQdjx44NgmD9+r9d93L55Zc37uDyyy8vzn/84x8/\n//zzX/nKV/by6+6enekBAKAMFIaPzB1+5E7D3DHHFQYO2stX7vxRv3georq6evfPv/fee//8\n5z/X1NSEYTh48OAgCI4++ujzzz9/L2PsxM70AABQHvJnTQ9q6xJP/0+YyRSqqvKT35k7/sS9\nf9mXX365+GDVqlVBEBxwwAG7f/5dd911xx13FB83NTUdcMABS5YsmTRp0t4n2VH3ReW00057\n4IEHvvCFL8yaNSsIgptvvjkIgiOOOOL2228/9dRTezcNAADwRgrpdG7qmbl3nRFsbw1qem1v\nw3nz5r3nPe8ZM2bM7NmzR48ePXny5N0/v6qqqvNxR0dHEATV1dWVvb2jy5va8PGss84666yz\nXn311bVr14ZhOGbMmM7LaAAAdrI9X5i3efMLGzYOCMNTKium1tkqGnpVGPZiSwmC4JJLLpkx\nY8bSpUsnTJiwYMGCZDLZiy/eY2GZXhDf1NSUzWajTgElUV9fn0qlGhsbow4C0BMbc7nT/rxq\n9Q7/TF84pP7b++/txb4QN5WVlXV1db37moVCoaWlpXdfc/ch29raqqurf/GLX5xxxhm9+3X3\nXvdnVLZv3/7tb3/7kUce2bRp0663/1q2bFlpggEAZelL6zes/sdfJs7btOXddQNOr6uNKhJQ\njrovKp///Odvvvnm/ffff/To0anUm1oqBgDss361tYvfB/+quUVRAfZI98XjJz/5yb/927/d\ncMMNpdt1EgDoHwpBkOlqVXl7Wa40h/6vqqoqtleCdL+PSlNT0/ve9z4tBQDoVhgER1ZX7To/\nuqaLIcBudF9UJk+e/NJLL/VBFACgH5g1cljlP/5+821VlRcM3tsN6YB9TfdF5dUecqwAACAA\n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\nNXcqgBgpVNe0TT2zqr4+lUo177CPEADAvsY+NQAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAA\nQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAA\nQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAA\nQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAA\nQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAA\nQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOwoKgAAQOykog4A7CCfTy/9\nQ3792mxHR+Ww4Zm3H1eoqIg6EwBABBQViI18vuaeu5NrVhaCoBAEFS8uTz37x9Z/vaRQXR11\nMgCAvmbpF8RFxR//kFyzcsdJomlL5eKHI4oDABAlRQXiIrny5V2HqZV/6fskAACRU1QgNgr5\nNzsEAOjvFBWIi/yoMbsOO7oaAgD0e+V6MX0ikUgmk1GngN6Ue8c78y8sS7y+oXNSqK7uOPV0\n3+pAOQrDsPhfb2L0V8VvckonLBQKUWfoifb29kTC6SD6nbbthUW/CV5+MejIBqMPCk89LRhU\nH3UmgB5Kp9OFQqGjoyPqIFAS+Xy+srIy6hT9WbkWlaampmw2G3UKKIn6+vpUKtXY2Bh1EICe\nC8OwoaEhk8k0NzdHnQVKorKysq6uLuoU/Vm5Lv2CfinMZtP/syS/bnWmo6Nq+Mj2404oDKiN\nOhQAQAQUFYiLMJernn9HcsNfi2c50+vWpF54bttHZuoqAMA+yGUeEBfpPzyZ3PDXHSdh67bK\nhb+OKg8AQIQUFYiL5JpVuw5TXQ0BAPo9RQXiIuzq/hChu+UAAPskRQXiIsx1BLvchK+w6wgA\nYB+gqEBcFNKVQRc7R9lMCgDYFykqEBeFrjaNKlRV9X0SAIDIKSoQF4Wwq5MnXQ4BAPo7RQXi\nIpFp33UYtrX1fRIAgMgpKhAX+couVnkVamr6PgkAQOQUFYiLjrcesesw+5a39X0SAIDIKSoQ\nFx0HH9p+3AnFx8V7EmfHH5Y59vgIIwEAREVRgdgoFJKNrxcfFq+gT2zaGOZs+AgA7IsUFYiL\n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", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Add color\n", "\n", "myDEplot <- function(mydds, geneid, grpvar, mergelab) {\n", " mydat <- myDEplotData(mydds, geneid, mergelab)\n", " ggplot(mydat, aes_string(x=grpvar, y = \"geneexp\", col = grpvar))+ geom_point()\n", "}\n", "myDEplot(dds2019, \"CNAG_00003\", \"condition\", \"Label\")" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDgAAAJYCAIAAAAIVsG4AAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzde5zVdZ0/8O/3XOZ6uA53BERAMFMBzcBt80aiqRRm2S9vEWt4rd1af7a5\nlrWKhpLbmpmoaWmWrvrLWyKbKYS31VIURcgLcpWR28Awc2bOzDm/P447SzA6yFzOd2aezz96\nzPc9h++86kHDeZ3v5/v5hrlcLgAAAIiSWKEDAAAA7EpRAQAAIkdRAQAAIkdRAQAAIkdRAQAA\nIkdRAQAAIkdRAQAAIkdRAQAAIidR6AB7afv27Q0NDYVOAW0sDMOePXs2NDTs2LGj0FkA9kZR\nUVFpaWltbW19fX2hs0Db69OnT6EjdCOdtahks9nGxsZCp4A2FoZhLBYLw9Bfb6CTyuVysVgs\nl8v5PQa0kqVfAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA\n5CgqAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA5CgqAABA\n5CgqAABA5CQKHQAA6Dp2ZLOra2orGrM+CgVaSVEBANrA1sbGy9597+4tVbkgiAXBGX17/2BQ\n/1RMYQH2kqICALSBb67d8Ptt2/NfZ4PgV5u3Vjdmbxo2uLCpgM7L5xwAQGu9kq5railN7q/a\n9te6+oLkAboARQUAaK23PqCQvKmoAHtLUQEAWqtvPN7svF+i+TlAixQVAKC1PlleOqq4aJfh\nAcVFE0pLCpIH6AIUFQCgtYrC8JZhQ4Yl/3eTnpFFyVuGD42HYQFTAZ2aXb8AgDbw8ZLip/ff\nb1G6/t0gHBLmPl1cVKSlAK2gqAAAbaMkDKf16ZVKpaqrq9PpdKHjAJ2bpV8AAEDkKCoAQJup\nzDQ8t237poaGQgcBOj1LvwCANrCpsfGf1214uGp7EARhEEzv1fNHQwb0/oBtiwFa1FmLSiwW\ni/vdR5cT/s+Np/56A51LLgjOf2fNH7fvaDq8v2pbXRDcse8+hQ0GdF6dtagUFxeXlpYWOgW0\ni0Qi0aNHj0KnAPgI/ly9o6mlNHmkatvqeOJjZf69BvZGZy0qtbW1mUym0CmgjYVhWFFR0dDQ\nUFVVVegsAB/B0qrtzc5f3rhpSM9UB4eB9tOvX79CR+hG3EwPALRW/0TzC1YHJjvrR6JAwSkq\nAEBrfaKs9IDiol2G40tLDikpKUgeoAtQVACA1kqG4S3Dh+6/U1f5WEnxzcOGxDybHthbLsgC\nAG1g/+KiJ0fv+0Km4d0wNiSXOywZj4dqCrD3FBUAoG0kw/Donj1SqVR1dXU6nS50HKBzs/QL\nAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUF\nAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUF\nAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUF\nAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUF\nAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACIHEUF\nAACIHEUFAACIHEUFAACIHEUFAACIHEUFAACInET7nXrLli233nrriy++GATBxz/+8XPOOadf\nv35BEJx33nlr165tetnIkSN/8pOfBEFQU1Mzb968Z599NgiCyZMnz5o1q6SkpP3iAQAAkdWO\nReXKK6+MxWJXXnllGIb/8R//MXfu3KuuuioIgpqamq997WtHHHHE+wkS72e48cYb165dO2fO\nnHg8/uMf/3jevHnf+MY32i8eAAAQWe219KuqqioWi82aNWvfffcdMWLEaaed9uqrr6bT6SAI\namtrBw4cOOB/9O3bNwiC7du3L1q0aMaMGcOHDx86dOiMGTOeeOKJHTt2tFM8AAAgytqrqPTq\n1WvOnDmjRo3KH8bj8TAMs9lsNptNp9NlZWW7vH7FihVBEIwbNy5/OHbs2Gw2u3z58naKBwAA\nRFk7Lv3a2SOPPDJ+/PiysrLq6uogCBYsWPCTn/ykpqbmgAMOmDVr1qBBgzZu3JhKpZLJZP71\nyWQylUpt3LixY+IBAACR0hFF5a677lq+fPncuXODIMhkMsOHD+/Zs+cPf/jD+vr6n//85z/4\nwQ+uv/76TCbT1FLeT5ZI1NfXNx0uXrz4e9/7XtPhNddcM3HixA4IDx0vmUxWVFQUOgXA3isv\nLy8vLy90CqBza9+iksvlbrvttscff/yHP/zhoEGDgiDo06fPT3/606YXXHTRRRdccMGyZcuS\n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\nKVOm3HrrrStXrnz77bdvv/32qVOnlpaWftC8neIBAABRFub3BW5zf/nLXy6//PJdhpdffvnE\niRPr6upuvvnmxYsXB0Fw5JFHzpw5M7/c64PmzbL0iy4pDMOKiopMJlNVVVXoLAB7o6SkJJVK\nVVdXpz2Znq6oX79+hY7QjbRXUWlvigpdkqICdHaKCl2botKR2vEeFQAAgL2jqAAAQLfz3HPP\nRfwB04oKAAB0O0899VShI7RAUQEAgIJpbGz87ne/O2TIkLKysqOOOuqVV16ZOnXqoYce2vSC\nxx9//Mgjj0ylUuXl5UccccTDDz/c9K2/+7u/O+GEE1599dWjjjqqvLx86NCh3/zmN3e+Q+x3\nv/vd5MmTy8vLy8rKDjvssLvuuis/nzJlyre//e0dO3aEYXj88cd/6lOfGjJkSDab3TnYqFGj\nJk2aFATBhAkTpk6dumjRosMPP7y0tHTQoEH//M//vPOzkj4kYWsoKgAAUDA/+MEPrrrqqmnT\npi1YsOCss8465ZRTVq1alUwm89999NFHp06d2qdPnwceeOChhx4aOnTotGnTHnzwwfx3E4nE\nunXrzjjjjNNPP/33v//9F7/4xf/4j/+49tpr89+9++67p0+f3r9///vvv//hhx8eM2bM6aef\nfuuttwZBcNttt33+858vKytbtmzZLbfcMmPGjPXr1z/++ONNqV588cW33nrrzDPPDIKgqKjo\nzTffPP/88y+88MIHH3zws5/97Ny5c//1X/91TxK2hl2/IELs+gV0dnb9omtr812/stnsgAED\nxo0bl39ERxAEv/nNb77yla988pOffPbZZ4MgOOigg4IgeOmll+LxeBAEjY2NhxxySCKReOml\nl4IgOOqooxYuXPjkk08eeeSRQRDkcrmhQ4fuv//+Tz75ZBAEo0ePLi4ufuWVV2Kx9y9OTJw4\ncdOmTe+8804QBF/96lfvvffe6urqIAi2b98+ePDgU0899fbbb8+/8l//9V/nzJmzfv36ioqK\nSZMmPffcc00/JQiCyZMnv/766xs3bozH4x+esDVcUQEAgMJ4++23N23aNGXKlKbJqaeeWlZW\nlv96/fr1S5cuPfnkk/MdIAiCeDz+2c9+dsmSJZs3b85P+vbt29QfwjAcPnx4/lurVq168803\nP/vZzza1lCAIjj/++FWrVuWLys569OjxhS984f7776+trc1P7rvvvs9+9rMVFRX5w969ezf9\nlCAIjj322K1bt7755pt7knCv7WlRaWhoWLFixdNPP/3MM8+89dZbu6xgAwAAPqoNGzYEQTBo\n0KCmSTKZHDFiRP7rNWvWBEFw1VVXhTu55pprgiBYt25d/jU7/9kgCBKJRP6N+tq1a4MgGDp0\n6M7fHTx4cBAE69ev3z3JjBkztm/fnl+y9eqrr77++utnnXVW03d3OU/+h27cuHFPEu61RIuv\nyGQyl1566c0337x169am4YABAy688MJLL71054oGAADsufxdGGEY7jxseoOdn19wwQVnnHHG\nLn9w5MiRO79md/l5XV1diz8u78gjjxw5cuSdd9552mmn3XfffX369DnppJNajL0nCfday0Xl\nkksuue666yZPnnzssccOHDgwl8tVVlb+8Y9//N73vpdOp6+88spWJgAAgO4pv7bqvffea5o0\nNDS88847Bx54YBAEw4YNC4IgFovld9/6SPbZZ5/gf66rNGn2MkteGIZnn3327Nmzq6qq7rvv\nvtNOO62oqKjpu7tchKmsrAyCYODAgeXl5XudsEUtXw/59a9/PXPmzKeffvrf/u3fLrzwwosu\nuujf/u3fnnrqqfPPP/8Xv/hFmwcCAIBuYtSoUalU6k9/+lPT5He/+13+BvcgCAYOHHjQQQfd\ne++9O18Y+cpXvnLeeee1eOZ99tln3LhxDzzwQGNjY36Sy+UeffTRsWPH5jtMGIZN38r76le/\nmslkrrvuupdffnnndV9BEGzevPnpp59uOnzyyScHDBiw7777tiZhi1ouKlVVVaeddtru8698\n5Ss7LwYDAAA+kmQyecYZZyxYsODiiy9+5plnbr/99iuuuGLs2LFNL7jqqqs2bNjwmc985sEH\nH1y0aNE555zzm9/8Zg8vX8yePXv16tXTp0//wx/+sGDBglNOOWXp0qVXXXVV/ruDBw9Op9M3\n3XRT067EI0aMOProo6+66qrRo0dPnjx551MNGzZs5syZd99999NPP33RRRctXrz4wgsvzC9R\na03CD9dyUTnwwAObveFm9erV+c3IAACAvTN37txzzjnn1ltv/cxnPnP33Xffe++9qVSq6TaS\nE088cf78+WEYfuUrXznxxBOXLFly9913n3322Xty5unTp//ud7+rrKycNm3a9OnT33vvvYcf\nfnj69On5786aNevggw/+p3/6pyuuuKLpj8yYMaO+vj7/+JSdDRw48IYbbrjmmmuOOeaY//zP\n//zOd75z6aWXtj7hh2v5OSoLFy684IILfvazn336059uGj799NMzZ8684YYbjjnmmNaH2Aue\no0KX5DkqQGfnOSp0bW3+HJVmjRgxYuzYsQsWLOiAn7WLm2666fzzz3/77beHDx/eNJw0aVJD\nQ8MLL7zQwWFavpl+9uzZ6XT6yCOP7N27d/7Om/Xr12/evHnYsGGXXHLJzj2n49MDAECn9rvf\n/W7FihX/9//+3/zhG2+8sWbNmmbvvGhvtbW111577ec+97mdW0oBtVxUKisrKyoqdq6PY8aM\nac9IAADQXbz99tuXXHLJypUrTzvttE2bNn3/+98vLS0999xzOzLD2rVrX3nllblz565du/ah\nhx7qyB/9IVouKi+++GIH5AAAgG7on/7pnxKJxE033XT77bcnEonJkyffdttt++23X0dm+K//\n+q9Zs2btt99+DzzwwLhx4zryR3+Ilu9R+dWvfnXmmWfu/lyYbdu2XXHFFXPmzGm3bB/GPSp0\nSe5RATo796jQtXXMPSrktbzr19lnnz1p0qRnnnmmaZLNZm+++eYxY8Zcc8017ZkNAADoplou\nKnfeeef27duPOOKI008/fc2aNU8++eTEiRO//vWvf/KTn/zLX/7SAREBAIDupuWicvrppy9d\nuvTuu+9+5ZVXRo0adfTRRw8dOvT5559/8MEHJ0yY0AERAQCA7qblohIEQSwWKy0tLSkpaWxs\nDMOwtLS0tLS0vZMBAADdVstF5f77758wYcK0adP22Wef5cuXP/bYYytWrDj44IP/z//5P6+/\n/noHRAQAOoswk8lVbghseAO0Wsu7foVhOH78+Ouuu+6oo47KTxobG2+99dbLLrts06ZNDQ0N\n7Z6xOXb9okuy6xfQeYXpdPETjyVffTnI5YJYLHPQhLqjPpMrKip0LmhLdv3qSC1fUbnlllv+\n/Oc/N7WUIAji8fjXv/71v/71r//8z//cjtEAgM6jZP6DyaVLgvwHoNlscsmfixc8UuhQQCfW\n8hWVJps3b163bt3IkSPLy8vbNdOecEWFLskVFaCTile+W/bLebvPd8y8INu3ouPzQDtpjysq\n2Wx2z9+Q74lYLLb7IxA7o5afTB8EwQMPPPD9739/yZIlQRA888wzkyZNOu+88yZPnnzWWWe1\nczwAoBOIbdnc/HzzRkUFPlx9fX3bfv5eUlKSTCbb8ISF0vLSr4ceemj69OmNjY0XX3xx07Cq\nqurss8++55572jMbANA5ZD9gO9BsWeFXYQCdVMtFZfbs2V/60peWLFkyZ86cpuFdd931D//w\nD3Pnzm3PbABA55AdOjzbZ9crJ439BmQHDSlIHqALaLmoLFmy5Nxzz43Fdn3lGWecsWzZsvZJ\nBQB0Jrl4PD3t1Fyv3k2TbO++6ZO/EOz2/gFgD7V8j0oYhtlsdvf51q1b2/a+HwCg82ocMHDH\n184vXb2yOF1bV1peO2xELh4vdCigE2v5c46JEyf+9Kc/3aWr1NXVzZ0797DDDmu3YABAJ5NL\nJLIHfDz+90dnx31MSwFaqeUrKpdddtkJJ5wwfvz4k08+OQiCO++886677rr33nsrKysXLFjQ\n/gkBAIBuZ4+eo/LII49ccsklr776atPk4IMP/tGPfnT88ce3Z7YP4zkqdEmeowJ0diUlJalU\nqrq6Op1OFzoLtL32eI5KOp22PXGz9ugWtxNPPHHp0qXr1q377//+7+eff37Dhg1LliwpYEsB\nAAAKZfny5RMnTkylUh/0gvnz54dh2MoPLD7CXhzFxcWlpaUHHHDAgAEDWvMjAQCAPZXLxf76\nenzh4/GnF4Xvrit0muCuu+466qijRo4c2d4/aI+KygMPPDB+/PiKioqDDjrolVdeCYLgvPPO\n+9WvftXO2QAAoHtryCR//YvE3XfE//TH+B8fS95yQ3zhHwqb6LXXXlu0aFH+9vV25cn0AAAQ\nUfGFj4cr3/qbyZ+eiL31RmvO+fDDDx9++OE9e/ZMpVKTJk2aP3/++2eOx++4444DDzxw6tSp\nQRCsXbv2lFNO6dmz54ABA0455ZQ1a9bkX3bFFVeMGTNm99M+//zzEydOLC8vP+KII954o1UJ\n8zyZHgAAIir+2iu7D2OvLtnrE27atOmUU04555xz3n333XfffXfmzJmf+9znKisrgyAoLi6e\nO3fut771rfzb/i9/+cslJSWrVq164403SktLp0+f/iGnbWxsPOWUUw4++ODKyspbbrnl5z//\n+V4nbOLJ9AAAEFG52ppmpq24SX3Tpk2ZTKZPnz5lZWWpVOqcc87Zvn17/hb0WCz26U9/eubM\nmYcccshLL720ePHia6+9tnfv3j179rz66qtfeOGFl19++YNO++yzz65Zs+Y73/lOeXn5xz72\nsbPPPnuvEzZpuah4Mj0AABRG/4G7z3IDmhnuof333//qq68+88wz999//3/4h2F7T1sAACAA\nSURBVH/47W9/u/Nb+oMOOij/xV//+tcgCIYOHRqGYRiGw4cPD4Lg7bff/qDT5heG7bvvvvnD\n0aNH73XCJp5MDwAAEdVwzHF/c5wLgp49Gz9xRGvOeckll7z77rs/+tGPUqnUxRdfPGHChC1b\ntuS/VVpamv8iv5xq27ZtmZ1Mmzbtg85ZV1cXBEFT52loaGhNwvcztPiKyy67LL/r16WXXhoE\nwZ133vmNb3xj5MiRTz/99GWXXdb6BAAAQLNyI/ZrOO3MXP8BQRAEsVh21OjM6V8Lysr2+oTp\ndHr16tW9evWaPn36v//7v7/22mvr169/5JFHdnlZ/nb51157LbGTMAw/6LRDhw4NgmDlypX5\nw9dff32vEzZpuagcd9xxDz74YDabnT17dhAEN9xww/XXX9+/f/+HH374mGOOaX0CAADgg2TH\njMvM+mbm4svqL7m84SszchX9W3O2hx9+ePz48fPnz6+pqamtrV24cOGOHTvGjh27y8sOPvjg\nT33qU9/+9rdXr15dW1t73XXXTZgwIZPJBEGwcuXKlStXbty4MZfL5b+uqqqaPHlynz59Zs+e\nvXHjxmefffauu+5qTci8xJ686MQTTzzxxBPXr1+/Zs2a/Bo1z3wEAHYR27Ip9uormZrqWHmP\n2McPyfbqXehE0HXkikva5Dynnnrqhg0bLr744rfeeisWi40bN+6OO+74xCc+sfsrf/Ob31x0\n0UUf+9jHcrnc+PHjb7jhhmQyGQTBzo96zH991VVXfec733nwwQcvuOCCYcOGHXLIIZdeeumZ\nZ56ZyWRKSvY+dthJb4ivqqrKVzroSsIwrKioyGQyVVVVhc4C8NEkVrxe8vB9YWNj/jCXSKQ/\n/6WGkW1wQy1ER79+/dr8nOl0um3f1paUlOQbRWfX8hWV2traa6+99vHHH9+8efPu238tXbq0\nfYIBAJ1GmE6XPPZQU0sJgiBsaCj5/QM7vv6NXJd4wwR0vJaLysUXX3zDDTcMGTJk2LBhicQe\nLRUDALqV+LrVYbp2l2FYsyO2fk3j8JHN/hGAD9dy8bjvvvv+8R//8cc//vGH3OYPAHRn4Qds\nRfpBc4AWtbzrV1VV1ec//3ktBQD4II0DBzczjcWanwPsgZaLyuGHH55/MiUAQLOyvXrXf/Lv\ndhnWH/HpXHmqIHmALqDlpV833HDDGWecMWbMmCOPPLIDAgEAnVHdp47O9uxV/PJfwi1bcn37\n1o3/RObjhxQ6FNCJtbw98QknnLB27dpXXnmlb9++gwYN2mUNWKF2/bI9MV2S7YmBzq6kpCSV\nSlVXV6fT6UJngbbXHtsT19fX776zbmskk8l4PN6GJyyUlq+obNu2rU+fPi6nAABAmysqKip0\nhIhquag89dRTHZADAAC6oYaGhra9opJIJGKxlm9Ej76P8FyUzZs3r1u3buTIkeXl5e0XaA8l\nk0kPdaHryS+tjMVipaWlhc4CsDfy/zonk0n7hcIeamhoaNs7GsIw7EZF5YEHHvj+97+/ZMmS\nIAieeeaZSZMmnXfeeZMnTz7rrLPaOd6HafHuGui8/PUGOju/x4BWarmoPPTQQ9OnTz/wwAMv\nvvjia665Jj+sqqo6++yzS0pKvvSlL7VzwuZlMhk309P1hGFYXl6ezWbdhAp0XsXFxZlMxu8x\nuqRUyo7bHaflXb8mT548YsSIu+66KxaLhWGYv6ISBME555zz8ssvP/fccx2Sc1d2/aJLsusX\n0NnZ9YuurT12/Uqn0237trakpCSZTLbhCQul5eVrS5YsOffcc3df6HbGGWcsW7asfVIBAADd\nWstFJQzDZjci2Lp1q+WnAMCuGix5ANpAy/eoTJw48ac//elRRx2180WVurq6uXPnHnbYYe2Z\nDQDoNMLGxqLnFidf+nPdjupkqkd24ifqD5scdImnzgEF0XJRueyyy0444YTx48effPLJQRDc\neeedd91117333ltZWblgwYL2TwgAdALFj89PLvnz+wfV24sX/TGsqak7+riChgI6sZaXfh13\n3HEPPvhgNpudPXt2EAQ33HDD9ddf379//4cffviYY45p/4QAQNTFNm/835byP4peeDas2lqQ\nPMAHOfzww0899dSdJw899FAYhvfdd9/Ow9NPP/3QQw899dRTw+Z8+ctf7oCoe/QclRNPPPHE\nE09cv379mjVrwjAcPnz4gAED2jsZANBZxN+rbH6+sbKhV+8ODgNdzLbG7A0b3vtzTU15LD6l\nZ+r0ir6xVjxP9aSTTpo7d24mk2naGWz+/Pnl5eXz58//whe+kJ9ks9kFCxacf/7555133tVX\nXx0EwbJly6ZNm/af//mf48ePD4KgR48erf1vtQc+wsPdBw8ePHjw4PaLAgB0Urmi4ubnxc3P\ngT30Xqbh06//dW39+3tU/L8tWx/auu3u0fvudVU5+eSTv//97z/11FNHHXVUfvLYY4+dffbZ\nDz30UNNrnn/++Y0bN5588smDBg3KT6qrq4Mg2GeffUaPHr23P/kja7moHHrooR+0E3MYhj16\n9Bg/fvy555673377tXU2AKBzaNxnWK48Fe6o3nmY69krO3ifQkWCruFf1qxrail586u2/XrT\nljMq+uzdCSdMmDB06NDf//73+aLyxhtvvP3229/+9rdvuummV1999cADDwyC4NFHHx00aNCh\nhx7a6vit0vI9Kv369auqqnruueeWLl26bdu26urqV1999bnnntu6dWsmk1m+fPncuXMPPvjg\nP/9515WpAEA3kUsW1Z44fefrJ7mS0tqTTsnZ9Qta54/bqncfPr5te2vOeeKJJz766KP5r+fP\nnz9hwoT99tvvsMMOmz9/ftPwxBNPDMNWrDBrCy0XlTlz5jQ2Nv72t7/dsmXLa6+9tnTp0i1b\nttxzzz0lJSX33HPPO++8s3z58pEjR1566aUdEBcAiKbGESN3zLygccoJ8SM+3fiZz+74hwsb\nhw4rdCjo9DLNPbewoXUPMzz55JOXLl26evXqIAgee+yx4447LgiC44477rHHHguCYNOmTc8/\n/3x+v9/CarmoXHjhhd/97ndPO+20pgVgiUTii1/84je/+c2LLrooCILRo0dffvnlzzzzTPsm\nBQCiLVeeyk7++8TnTs1O+lSutLTQcaArmJQqa25Y3ppzHnvssaWlpb///e8zmcyTTz7ZVFQW\nLVpUU1Pz2GOPJZPJKVOmtOZHtImWi8oLL7wwZsyY3edjx45dtGhR/ut+/fplMh5DCwAAbenq\nYUNSsb95x35IWek5/Spac87S0tJjjjnmD3/4wzPPPJPL5Y444oggCCZNmlRcXLx48eLHHnvs\n6KOPLi9vVRdqEy0Xld69e9955527z++7776ioqL817/97W9HjRrVxtEAAKB7G1VcvPhj+5/W\nt/d+xUUHl5Z8e9CAR8eOKmrN/sRBEATBySef/Kc//WnhwoVHH310/i19IpE4+uijFy5cuHDh\nwiis+wr2ZNevr371q1dfffWrr756zDHHDBo0KAzD9957b+HChX/4wx9mzZoVBMGcOXN+/vOf\nX3/99e2fFgAAupf9iotuHjm8bc950kknnXvuub/85S+/+c1vNg2PO+6466677p133jnppJPa\n9sftnZaLyhVXXJFMJn/2s5/96U9/ahqmUqnzzz//2muvDYJgzJgxP/7xjy+88MJ2jAkAALSR\n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\npeaqfr59zgAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Alow for coloring with respect to another factor\n", "myDEplot <- function(mydds, geneid, grpvar, colvar, mergelab) {\n", " mydat <- myDEplotData(mydds, geneid, mergelab)\n", " ggplot(mydat, aes_string(x=grpvar, y = \"geneexp\", col = colvar))+ geom_point()\n", "}\n", "myDEplot(dds2019, \"CNAG_00003\", \"condition\", \"genotype\", \"Label\")" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "R version 3.6.0 (2019-04-26)\n", "Platform: x86_64-pc-linux-gnu (64-bit)\n", "Running under: Debian GNU/Linux 9 (stretch)\n", "\n", "Matrix products: default\n", "BLAS: /usr/lib/openblas-base/libblas.so.3\n", "LAPACK: /usr/lib/libopenblasp-r0.2.19.so\n", "\n", "locale:\n", " [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C \n", " [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 \n", " [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 \n", " [7] LC_PAPER=en_US.UTF-8 LC_NAME=C \n", " [9] LC_ADDRESS=C LC_TELEPHONE=C \n", "[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C \n", "\n", "attached base packages:\n", "[1] parallel stats4 stats graphics grDevices utils datasets \n", "[8] methods base \n", "\n", "other attached packages:\n", " [1] RColorBrewer_1.1-2 dendextend_1.12.0 \n", " [3] DESeq2_1.24.0 SummarizedExperiment_1.14.0\n", " [5] DelayedArray_0.10.0 BiocParallel_1.18.0 \n", " [7] matrixStats_0.54.0 Biobase_2.44.0 \n", " [9] GenomicRanges_1.36.0 GenomeInfoDb_1.20.0 \n", "[11] IRanges_2.18.1 S4Vectors_0.22.0 \n", "[13] BiocGenerics_0.30.0 forcats_0.4.0 \n", "[15] stringr_1.4.0 dplyr_0.8.1 \n", "[17] purrr_0.3.2 readr_1.3.1 \n", "[19] tidyr_0.8.3 tibble_2.1.2 \n", "[21] ggplot2_3.1.1 tidyverse_1.2.1 \n", "\n", "loaded via a namespace (and not attached):\n", " [1] colorspace_1.4-1 IRdisplay_0.7.0 htmlTable_1.13.1 \n", " [4] XVector_0.24.0 base64enc_0.1-3 rstudioapi_0.10 \n", " [7] bit64_0.9-7 AnnotationDbi_1.46.0 lubridate_1.7.4 \n", "[10] xml2_1.2.0 splines_3.6.0 geneplotter_1.62.0 \n", "[13] knitr_1.23 zeallot_0.1.0 IRkernel_1.0.1 \n", "[16] Formula_1.2-3 jsonlite_1.6 broom_0.5.2 \n", "[19] annotate_1.62.0 cluster_2.0.8 compiler_3.6.0 \n", "[22] httr_1.4.0 backports_1.1.4 assertthat_0.2.1 \n", "[25] Matrix_1.2-17 lazyeval_0.2.2 cli_1.1.0 \n", "[28] acepack_1.4.1 htmltools_0.3.6 tools_3.6.0 \n", "[31] gtable_0.3.0 glue_1.3.1 GenomeInfoDbData_1.2.1\n", "[34] Rcpp_1.0.1 cellranger_1.1.0 vctrs_0.1.0 \n", "[37] nlme_3.1-139 xfun_0.7 rvest_0.3.4 \n", "[40] XML_3.98-1.19 zlibbioc_1.30.0 scales_1.0.0 \n", "[43] hms_0.4.2 memoise_1.1.0 gridExtra_2.3 \n", "[46] rpart_4.1-15 latticeExtra_0.6-28 stringi_1.4.3 \n", "[49] RSQLite_2.1.1 genefilter_1.66.0 checkmate_1.9.3 \n", "[52] repr_1.0.1 rlang_0.3.4 pkgconfig_2.0.2 \n", "[55] bitops_1.0-6 evaluate_0.14 lattice_0.20-38 \n", "[58] labeling_0.3 htmlwidgets_1.3 bit_1.1-14 \n", "[61] tidyselect_0.2.5 plyr_1.8.4 magrittr_1.5 \n", "[64] R6_2.4.0 generics_0.0.2 Hmisc_4.2-0 \n", "[67] pbdZMQ_0.3-3 DBI_1.0.0 pillar_1.4.1 \n", "[70] haven_2.1.0 foreign_0.8-71 withr_2.1.2 \n", "[73] survival_2.44-1.1 RCurl_1.95-4.12 nnet_7.3-12 \n", "[76] modelr_0.1.4 crayon_1.3.4 uuid_0.1-2 \n", "[79] viridis_0.5.1 locfit_1.5-9.1 grid_3.6.0 \n", "[82] readxl_1.3.1 data.table_1.12.2 blob_1.1.1 \n", "[85] digest_0.6.19 xtable_1.8-4 munsell_0.5.0 \n", "[88] viridisLite_0.3.0 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sessionInfo()" ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.6.0" } }, "nbformat": 4, "nbformat_minor": 2 }