Skip to content

Commit

Permalink
Merge pull request #14 from PF2-pasteur-fr/development
Browse files Browse the repository at this point in the history
Development
  • Loading branch information
hvaret committed Jun 13, 2016
2 parents 94bd77b + b1da000 commit 6fbc38b
Show file tree
Hide file tree
Showing 59 changed files with 70 additions and 51 deletions.
6 changes: 3 additions & 3 deletions DESCRIPTION
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
Package: SARTools
Type: Package
Title: Statistical Analysis of RNA-Seq Tools
Version: 1.3.0
Date: 2016-05-09
Version: 1.3.1
Date: 2016-06-13
Author: Marie-Agnes Dillies and Hugo Varet
Maintainer: Hugo Varet <[email protected]>
Depends: R (>= 3.3.0), DESeq2 (>= 1.12.0), edgeR (>= 3.12.0), xtable
Imports: stats, utils, graphics, grDevices, knitr, SummarizedExperiment, S4Vectors, limma, genefilter (>= 1.44.0)
VignetteBuilder: knitr
Encoding: latin1
Description: SARTools provides R tools and an environment for the statistical analysis of RNA-Seq projects: load and clean data, produce figures, perform statistical analysis/testing with DESeq2 or edgeR, export results and create final report.
Description: Provide R tools and an environment for the statistical analysis of RNA-Seq projects: load and clean data, produce figures, perform statistical analysis/testing with DESeq2 or edgeR, export results and create final report.
License: GPL-2
6 changes: 6 additions & 0 deletions NEWS
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
CHANGES IN VERSION 1.3.1
------------------------
o Increased plot resolution to 300ppi
o New instructions to install SARTools with Conda
o Update of the citation of SARTools (PLoS One 2016)

CHANGES IN VERSION 1.3.0
------------------------
o Adapted the package to the new Bioconductor release (April 2016)
Expand Down
2 changes: 1 addition & 1 deletion R/BCVPlot.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#' @author Marie-Agnes Dillies and Hugo Varet

BCVPlot <- function(dge, outfile=TRUE){
if (outfile) png(filename="figures/BCV.png", width=400, height=400)
if (outfile) png(filename="figures/BCV.png", width=1800, height=1800, res=300)
plotBCV(dge, las = 1, main = "BCV plot")
if (outfile) dev.off()
}
2 changes: 1 addition & 1 deletion R/MAPlot.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
MAPlot <- function(complete, alpha=0.05, outfile=TRUE){
nrow <- ceiling(sqrt(length(complete)))
ncol <- ceiling(length(complete)/nrow)
if (outfile) png(filename="figures/MAPlot.png", width=400*max(ncol,nrow), height=400*min(ncol,nrow))
if (outfile) png(filename="figures/MAPlot.png", width=1800*max(ncol,nrow), height=1800*min(ncol,nrow), res=300)
par(mfrow=sort(c(nrow,ncol)))
for (name in names(complete)){
complete.name <- complete[[name]]
Expand Down
2 changes: 1 addition & 1 deletion R/MDSPlot.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

MDSPlot <- function(dge, group, n=min(500,nrow(dge$counts)), gene.selection=c("pairwise", "common"),
col=c("lightblue","orange","MediumVioletRed","SpringGreen"), outfile=TRUE){
if (outfile) png(filename="figures/MDS.png", width=400, height=400)
if (outfile) png(filename="figures/MDS.png", width=1800, height=1800, res=300)
coord <- plotMDS(dge, top=n, method="logFC", gene.selection=gene.selection[1])
abs=range(coord$x); abs=abs(abs[2]-abs[1])/25;
ord=range(coord$y); ord=abs(ord[2]-ord[1])/25;
Expand Down
Empty file modified R/NAMESPACE.R
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion R/PCAPlot.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ PCAPlot <- function(counts.trans, group, n=min(500,nrow(counts.trans)),
prp <- round(prp[1:3],2)

# create figure
if (outfile) png(filename="figures/PCA.png",width=400*2,height=400)
if (outfile) png(filename="figures/PCA.png",width=1800*2,height=1800,res=300)
par(mfrow=c(1,2))
# axes 1 et 2
abs=range(pca$x[,1]); abs=abs(abs[2]-abs[1])/25;
Expand Down
2 changes: 1 addition & 1 deletion R/SARTools-package.r
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#' SARTools provides R tools and an environment for the statistical analysis of RNA-Seq projects: load and clean data, produce figures, perform statistical analysis/testing with DESeq2 or edgeR, export results and create final report
#' Provide R tools and an environment for the statistical analysis of RNA-Seq projects: load and clean data, produce figures, perform statistical analysis/testing with DESeq2 or edgeR, export results and create final report
#' @title Statistical Analysis of RNA-Seq Tools
#' @author Marie-Agnes Dillies and Hugo Varet
#' @docType package
Expand Down
Empty file modified R/SERE.r
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion R/barplotNull.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#' @author Marie-Agnes Dillies and Hugo Varet

barplotNull <- function(counts, group, col=c("lightblue","orange","MediumVioletRed","SpringGreen"), outfile=TRUE){
if (outfile) png(filename="figures/barplotNull.png",width=min(800,400+200*ncol(counts)/10),height=400)
if (outfile) png(filename="figures/barplotNull.png",width=min(3600,1800+800*ncol(counts)/10),height=1800,res=300)
percentage <- apply(counts, 2, function(x){sum(x == 0)})*100/nrow(counts)
percentage.allNull <- (nrow(counts) - nrow(removeNull(counts)))*100/nrow(counts)
barplot(percentage, las = 2,
Expand Down
11 changes: 6 additions & 5 deletions R/barplotTotal.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@
#' @author Marie-Agnes Dillies and Hugo Varet

barplotTotal <- function(counts, group, col=c("lightblue","orange","MediumVioletRed","SpringGreen"), outfile=TRUE){
if (outfile) png(filename="figures/barplotTotal.png",width=min(800,400+200*ncol(counts)/10),height=400)
barplot(colSums(counts),
main = "Total read count per sample",
ylab = "Total read count",
ylim = c(0, max(colSums(counts))*1.2),
if (outfile) png(filename="figures/barplotTotal.png",width=min(3600,1800+800*ncol(counts)/10),height=1800,res=300)
libsize <- colSums(counts)/1e6
barplot(libsize,
main = "Total read count per sample (million)",
ylab = "Total read count (million)",
ylim = c(0, max(libsize)*1.2),
col = col[as.integer(group)],
las = 2)
legend("topright", levels(group), fill=col[1:nlevels(group)], bty="n")
Expand Down
Empty file modified R/checkParameters.DESeq2.r
100644 → 100755
Empty file.
Empty file modified R/checkParameters.edgeR.r
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion R/clusterPlot.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

clusterPlot <- function(counts.trans, group, outfile=TRUE){
hc <- hclust(dist(t(counts.trans)), method="ward.D")
if (outfile) png(filename="figures/cluster.png",width=400,height=400)
if (outfile) png(filename="figures/cluster.png",width=1800,height=1800,res=300)
plot(hc, hang=-1, ylab="Height", las=2, xlab="Method: Euclidean distance - Ward criterion", main="Cluster dendrogram")
if (outfile) dev.off()
}
2 changes: 1 addition & 1 deletion R/countsBoxplots.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ countsBoxplots <- function(object, group, col = c("lightblue","orange","MediumVi
norm.counts <- removeNull(norm.counts)
}

if (outfile) png(filename="figures/countsBoxplots.png",width=2*min(500,400+200*ncol(norm.counts)/10),height=400)
if (outfile) png(filename="figures/countsBoxplots.png",width=2*min(2200,1800+800*ncol(norm.counts)/10),height=1800,res=300)
par(mfrow=c(1,2))
# raw counts
boxplot(log2(counts+1), col = col[as.integer(group)], las = 2,
Expand Down
2 changes: 1 addition & 1 deletion R/densityPlot.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#' @author Marie-Agnes Dillies and Hugo Varet

densityPlot <- function(counts, group, col=c("lightblue","orange","MediumVioletRed","SpringGreen"), outfile=TRUE){
if (outfile) png(filename="figures/densplot.png",width=400,height=400)
if (outfile) png(filename="figures/densplot.png",width=1800,height=1800,res=300)
counts <- removeNull(counts)
plot(density(log2(counts[,1]+1)), las = 1, lwd = 2,
main = "Density of counts distribution",
Expand Down
Empty file modified R/descriptionPlots.r
100644 → 100755
Empty file.
4 changes: 2 additions & 2 deletions R/diagSizeFactorsPlots.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ diagSizeFactorsPlots <- function(dds, outfile=TRUE, plots=c("diag","sf_libsize")
if ("diag" %in% plots){
nrow <- ceiling(sqrt(ncol(counts(dds))))
ncol <- ceiling(ncol(counts(dds))/nrow)
if (outfile) png(filename="figures/diagSizeFactorsHist.png", width=300*max(ncol,nrow), height=300*min(ncol,nrow))
if (outfile) png(filename="figures/diagSizeFactorsHist.png", width=1400*max(ncol,nrow), height=1400*min(ncol,nrow), res=300)
par(mfrow=sort(c(nrow,ncol)))
geomeans <- exp(rowMeans(log(counts(dds))))
samples <- colnames(counts(dds))
Expand All @@ -30,7 +30,7 @@ diagSizeFactorsPlots <- function(dds, outfile=TRUE, plots=c("diag","sf_libsize")

# total read counts vs size factors
if ("sf_libsize" %in% plots){
if (outfile) png(filename="figures/diagSizeFactorsTC.png",width=400,height=400)
if (outfile) png(filename="figures/diagSizeFactorsTC.png",width=1800,height=1800,res=300)
plot(sizeFactors(dds), colSums(counts(dds)), pch=19, las=1, xlab="Size factors",
ylab="Total number of reads",main="Diagnostic: size factors vs total number of reads")
abline(lm(colSums(counts(dds)) ~ sizeFactors(dds) + 0), lty=2, col="grey")
Expand Down
2 changes: 1 addition & 1 deletion R/dispersionsPlot.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ dispersionsPlot <- function(dds, outfile=TRUE){
disp <- log(disp)
mean.disp <- mean(disp,na.rm=TRUE)
sd.disp <- sd(disp,na.rm=TRUE)
if (outfile) png(filename="figures/dispersionsPlot.png",width=800,height=400)
if (outfile) png(filename="figures/dispersionsPlot.png",width=3600,height=1800,res=300)
par(mfrow=c(1,2))
# dispersions plot
plotDispEsts(dds, main="Dispersions", las=1, xlab="Mean of normalized counts", ylab="Dispersion")
Expand Down
Empty file modified R/exploreCounts.R
100644 → 100755
Empty file.
Empty file modified R/exportResults.DESeq2.R
100644 → 100755
Empty file.
Empty file modified R/exportResults.edgeR.R
100644 → 100755
Empty file.
Empty file modified R/loadCountData.R
100644 → 100755
Empty file.
Empty file modified R/loadTargetFile.R
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion R/majSequences.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ majSequences <- function(counts, n=3, group, col=c("lightblue","orange","MediumV
sum <- matrix(sum,nrow(counts),ncol(counts),byrow=TRUE)
p <- round(100*counts/sum,digits=3)

if (outfile) png(filename="figures/majSeq.png",width=min(800,400+200*ncol(counts)/10),height=400)
if (outfile) png(filename="figures/majSeq.png",width=min(3600,1800+800*ncol(counts)/10),height=1800,res=300)
maj <- apply(p, 2, max)
seqname <- rownames(p)[apply(p, 2, which.max)]
x <- barplot(maj, col=col[as.integer(group)], main="Proportion of reads from most expressed sequence",
Expand Down
Empty file modified R/nDiffTotal.r
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion R/pairwiseScatterPlots.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

pairwiseScatterPlots <- function(counts, group, outfile=TRUE){
ncol <- ncol(counts)
if (outfile) png(filename="figures/pairwiseScatter.png",width=150*ncol,height=150*ncol)
if (outfile) png(filename="figures/pairwiseScatter.png",width=800*ncol,height=800*ncol,res=300)
# defining panel and lower.panel functions
panel <- function(x,y,...){points(x, y, pch=".");abline(a=0,b=1,lty=2);}
lower.panel <- function(x,y,...){
Expand Down
2 changes: 1 addition & 1 deletion R/rawpHist.R
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
rawpHist <- function(complete, outfile=TRUE){
nrow <- ceiling(sqrt(length(complete)))
ncol <- ceiling(length(complete)/nrow)
if (outfile) png(filename="figures/rawpHist.png", width=400*max(ncol,nrow), height=400*min(ncol,nrow))
if (outfile) png(filename="figures/rawpHist.png", width=1800*max(ncol,nrow), height=1800*min(ncol,nrow), res=300)
par(mfrow=sort(c(nrow,ncol)))
for (name in names(complete)){
hist(complete[[name]][,"pvalue"], nclass=50, xlab="Raw p-value",
Expand Down
Empty file modified R/removeNull.R
100644 → 100755
Empty file.
Empty file modified R/run.DESeq2.r
100644 → 100755
Empty file.
Empty file modified R/run.edgeR.r
100644 → 100755
Empty file.
Empty file modified R/summarizeResults.DESeq2.r
100644 → 100755
Empty file.
Empty file modified R/summarizeResults.edgeR.r
100644 → 100755
Empty file.
Empty file modified R/tabIndepFiltering.R
100644 → 100755
Empty file.
Empty file modified R/tabSERE.R
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion R/volcanoPlot.r
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
volcanoPlot <- function(complete, alpha=0.05, outfile=TRUE){
nrow <- ceiling(sqrt(length(complete)))
ncol <- ceiling(length(complete)/nrow)
if (outfile) png(filename="figures/volcanoPlot.png", width=400*max(ncol,nrow), height=400*min(ncol,nrow))
if (outfile) png(filename="figures/volcanoPlot.png", width=1800*max(ncol,nrow), height=1800*min(ncol,nrow), res=300)
par(mfrow=sort(c(nrow,ncol)))
for (name in names(complete)){
complete.name <- complete[[name]]
Expand Down
Empty file modified R/welcome.R
100644 → 100755
Empty file.
Empty file modified R/writeReport.DESeq2.r
100644 → 100755
Empty file.
Empty file modified R/writeReport.edgeR.r
100644 → 100755
Empty file.
17 changes: 14 additions & 3 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,34 @@ SARTools is distributed with two R script templates (`template_script_DESeq2.r`
How to install SARTools?
------------------------

### Within R

In addition to the SARTools package itself, the workflow requires the installation of several packages: DESeq2, edgeR, genefilter, xtable and knitr (all available online, see the dedicated webpages). SARTools needs R version 3.3.0 or higher, DESeq2 1.12.0 or higher and edgeR 3.12.0 or higher: old versions of DESeq2 or edgeR may be incompatible with SARTools.

To install the SARTools package from GitHub, open a R session and:
- install DESeq2, edgeR and genefilter with `source("http://bioconductor.org/biocLite.R")` and `biocLite(c("DESeq2", "edgeR", "genefilter"))` (if not installed yet)
- install devtools with `install.packages("devtools")` (if not installed yet)
- Note: Ubuntu users may have to install some libraries (libxml2-dev, libcurl4-dev and libssl-dev) to be able to install DESeq2 and devtools
- Note: Ubuntu users may have to install some libraries (libxml2-dev, libcurl4-openssl-dev and libssl-dev) to be able to install DESeq2 and devtools
- for Windows users only, install [Rtools](http://cran.r-project.org/bin/windows/Rtools/) or check that it is already installed (needed to build the package)
- load the devtools R package with `library(devtools)`
- run `install_github("PF2-pasteur-fr/SARTools", build_vignettes=TRUE)`

Please read the NEWS file to see the latest improvements!
### Using Conda

[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat-square)](http://bioconda.github.io/recipes/r-sartools/README.html)

1. Install miniconda2 http://conda.pydata.org/miniconda.html
2. Install the SARTools R library and its dependencies using conda `conda install r-sartools`

Note: if you want to set a dedicated conda environment for SARTools, use `conda create -n sartools r-sartools` and follow the instructions to activate it.

How to use SARTools?
--------------------

A HTML vignette is available within the vignettes folder on GitHub and provides extensive information on the use of SARTools. The user can also open it with `vignette("SARTools")` if it has been generated during the installation of the package.

Please read the NEWS file to see the latest improvements!

About SARTools
--------------
The SARTools package has been developped at PF2 - Institut Pasteur by M.-A. Dillies and H. Varet ([email protected]). Thanks to cite H. Varet, J.-Y. Coppee and M.-A. Dillies, _SARTools: a DESeq2- and edgeR-based R pipeline for comprehensive differential analysis of RNA-seq data_, bioRxiv, 2015, doi: http://dx.doi.org/10.1101/021741 when using this tool for any analysis published.
The SARTools package has been developped at PF2 - Institut Pasteur by M.-A. Dillies and H. Varet ([email protected]). Thanks to cite H. Varet, L. Brillet-Guéguen, J.-Y. Coppee and M.-A. Dillies, _SARTools: A DESeq2- and EdgeR-Based R Pipeline for Comprehensive Differential Analysis of RNA-Seq Data_, PLoS One, 2016, doi: http://dx.doi.org/10.1371/journal.pone.0157022 when using this tool for any analysis published.
17 changes: 9 additions & 8 deletions inst/CITATION
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
citEntry(entry = "article",
title = "SARTools: a DESeq2- and edgeR-based R pipeline for comprehensive differential analysis of RNA-seq data",
title = "SARTools: A DESeq2- and EdgeR-Based R Pipeline for Comprehensive Differential Analysis of RNA-Seq Data",
author = personList( as.person("Hugo Varet"),
as.person("Loraine Brillet-Guéguen"),
as.person("Jean-Yves Coppée"),
as.person("Marie-Agnès Dillies")),
year = 2015,
journal = "bioRxiv",
doi = "10.1101/021741",
url = "http://biorxiv.org/content/early/2015/06/30/021741",
year = 2016,
journal = "PLoS One",
doi = "10.1371/journal.pone.0157022",
url = "http://dx.doi.org/10.1371/journal.pone.0157022",
textVersion =
paste("Hugo Varet, Jean-Yves Coppée and Marie-Agnès Dillies (2015):",
"SARTools: a DESeq2- and edgeR-based R pipeline for comprehensive differential analysis of RNA-seq data.",
"bioRxiv, 2015, doi: http://dx.doi.org/10.1101/021741"))
paste("Hugo Varet, Loraine Brillet-Guéguen, Jean-Yves Coppée and Marie-Agnès Dillies (2016):",
"SARTools: A DESeq2- and EdgeR-Based R Pipeline for Comprehensive Differential Analysis of RNA-Seq Data.",
"PLoS One, 2016, doi: http://dx.doi.org/10.1371/journal.pone.0157022"))

Empty file modified inst/raw/KO1.htseq.out
100644 → 100755
Empty file.
Empty file modified inst/raw/KO2.htseq.out
100644 → 100755
Empty file.
Empty file modified inst/raw/WT1.htseq.out
100644 → 100755
Empty file.
Empty file modified inst/raw/WT2.htseq.out
100644 → 100755
Empty file.
14 changes: 7 additions & 7 deletions inst/report_DESeq2.rmd
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Author: `r author`

Date: `r Sys.Date()`

The SARTools R package which generated this report has been developped at PF2 - Institut Pasteur by M.-A. Dillies and H. Varet ([email protected]). Thanks to cite H. Varet, J.-Y. Coppee and M.-A. Dillies, _SARTools: a DESeq2- and edgeR-based R pipeline for comprehensive differential analysis of RNA-seq data_, bioRxiv, 2015, doi: http://dx.doi.org/10.1101/021741 when using this tool for any analysis published.
The SARTools R package which generated this report has been developped at PF2 - Institut Pasteur by M.-A. Dillies and H. Varet ([email protected]). Thanks to cite H. Varet, L. Brillet-Guéguen, J.-Y. Coppee and M.-A. Dillies, _SARTools: A DESeq2- and EdgeR-Based R Pipeline for Comprehensive Differential Analysis of RNA-Seq Data_, PLoS One, 2016, doi: http://dx.doi.org/10.1371/journal.pone.0157022 when using this tool for any analysis published.

--------------------------------------------------------------------------------------------------------------------------

Expand Down Expand Up @@ -66,7 +66,7 @@ Figure 1 shows the total number of mapped reads for each sample. Reads that map

<figure>
<center>
<img src="figures/barplotTotal.png" alt="Barplot total counts" />
<img src="figures/barplotTotal.png" alt="Barplot total counts" width=600 />
<figcaption> Figure 1: Number of mapped reads per sample. Colors refer to the biological condition of the sample. </figcaption>
</center>
</figure>
Expand All @@ -75,7 +75,7 @@ Figure 2 shows the proportion of features with no read count in each sample. We

<figure>
<center>
<img src="figures/barplotNull.png" alt="Barplot null counts" />
<img src="figures/barplotNull.png" alt="Barplot null counts" width=600 />
<figcaption> Figure 2: Proportion of features with null read counts in each sample. </figcaption>
</center>
</figure>
Expand All @@ -84,7 +84,7 @@ Figure 3 shows the distribution of read counts for each sample. For sake of read

<figure>
<center>
<img src="figures/densplot.png" alt="Estimated densities of raw counts" />
<img src="figures/densplot.png" alt="Estimated densities of raw counts" width="60%" />
<figcaption> Figure 3: Density distribution of read counts. </figcaption>
</center>
</figure>
Expand All @@ -93,7 +93,7 @@ It may happen that one or a few features capture a high proportion of reads (up

<figure>
<center>
<img src="figures/majSeq.png" alt="Most represented sequences" />
<img src="figures/majSeq.png" alt="Most represented sequences" width=600 />
<figcaption> Figure 4: Percentage of reads associated with the sequence having the highest count (provided in each box on the graph) for each sample. </figcaption>
</center>
</figure>
Expand Down Expand Up @@ -127,7 +127,7 @@ Figure 6 shows the dendrogram obtained from `r typeTrans`-transformed data. An e

<figure>
<center>
<img src="figures/cluster.png" alt="Clustering" />
<img src="figures/cluster.png" alt="Clustering" width="60%" />
<figcaption> Figure 6: Sample clustering based on normalized data. </figcaption>
</center>
</figure>
Expand Down Expand Up @@ -170,7 +170,7 @@ The figure 9 shows that the scaling factors of DESeq2 and the total count normal

<figure>
<center>
<img src="figures/diagSizeFactorsTC.png" alt="Size factors vs total counts" />
<img src="figures/diagSizeFactorsTC.png" alt="Size factors vs total counts" width="60%" />
<figcaption> Figure 9: Plot of the estimated size factors and the total number of reads per sample. </figcaption>
</center>
</figure>
Expand Down
Loading

0 comments on commit 6fbc38b

Please sign in to comment.