runDiffExp: The main function to run differential expression analysis

Description Usage Arguments Author(s) Examples

View source: R/runDiffExp.R

Description

The main function for running differential expression analysis (comparing two conditions), using one of the methods interfaced through compcodeR or a user-defined method. Note that the interface functions are provided for convenience and as templates for other, user-defined workflows, and there is no guarantee that the included differential expression code is kept up-to-date with the latest recommendations and best practices for running each of the interfaced methods, or that the chosen settings are suitable in all situations. The user should make sure that the analysis is performed in the way they intend, and check the code that was run, using e.g. the generateCodeHTMLs() function.

Usage

1
2
3
4
5
6
7
8
runDiffExp(
  data.file,
  result.extent,
  Rmdfunction,
  output.directory = ".",
  norm.path = TRUE,
  ...
)

Arguments

data.file

The path to a .rds file containing the data on which the differential expression analysis will be performed, for example a compData object returned from generateSyntheticData.

result.extent

The extension that will be added to the data file name in order to construct the result file name. This can be for example the differential expression method together with a version number.

Rmdfunction

A function that creates an Rmd file containing the code that should be run to perform the differential expression analysis. All functions available through compcodeR can be listed using the listcreateRmd function.

output.directory

The directory in which the result object will be saved.

norm.path

Logical, whether to include the full (absolute) path to the output object in the saved code.

...

Additional arguments that will be passed to the Rmdfunction, such as parameter choices for the differential expression method.

Author(s)

Charlotte Soneson

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
tmpdir <- normalizePath(tempdir(), winslash = "/")
mydata.obj <- generateSyntheticData(dataset = "mydata", n.vars = 1000, 
                                    samples.per.cond = 5, n.diffexp = 100, 
                                    output.file = file.path(tmpdir, "mydata.rds"))
listcreateRmd()
runDiffExp(data.file = file.path(tmpdir, "mydata.rds"), result.extent = "voom.limma", 
           Rmdfunction = "voom.limma.createRmd", 
           output.directory = tmpdir, norm.method = "TMM")

if (interactive()) {
## The following list covers the currently available 
## differential expression methods:
runDiffExp(data.file = "mydata.rds", result.extent = "baySeq", 
           Rmdfunction = "baySeq.createRmd",
           output.directory = ".", norm.method = "edgeR", 
           equaldisp = TRUE)
runDiffExp(data.file = "mydata.rds", result.extent = "DESeq2", 
           Rmdfunction = "DESeq2.createRmd",
           output.directory = ".", fit.type = "parametric", 
           test = "Wald", beta.prior = TRUE, 
           independent.filtering = TRUE, cooks.cutoff = TRUE, 
           impute.outliers = TRUE)
runDiffExp(data.file = "mydata.rds", result.extent = "DSS", 
           Rmdfunction = "DSS.createRmd",
           output.directory = ".", norm.method = "quantile", 
           disp.trend = TRUE)
runDiffExp(data.file = "mydata.rds", result.extent = "EBSeq", 
           Rmdfunction = "EBSeq.createRmd",
           output.directory = ".", norm.method = "median")
runDiffExp(data.file = "mydata.rds", result.extent = "edgeR.exact", 
           Rmdfunction = "edgeR.exact.createRmd",
           output.directory = ".", norm.method = "TMM", 
           trend.method = "movingave", disp.type = "tagwise")
runDiffExp(data.file = "mydata.rds", result.extent = "edgeR.GLM", 
           Rmdfunction = "edgeR.GLM.createRmd",
           output.directory = ".", norm.method = "TMM", 
           disp.type = "tagwise", disp.method = "CoxReid", 
           trended = TRUE)
runDiffExp(data.file = "mydata.rds", result.extent = "logcpm.limma", 
           Rmdfunction = "logcpm.limma.createRmd",
           output.directory = ".", norm.method = "TMM")
runDiffExp(data.file = "mydata.rds", result.extent = "NBPSeq", 
           Rmdfunction = "NBPSeq.createRmd",
           output.directory = ".", norm.method = "TMM", 
           disp.method = "NBP")
runDiffExp(data.file = "mydata.rds", result.extent = "NOISeq", 
           Rmdfunction = "NOISeq.prenorm.createRmd",
           output.directory = ".", norm.method = "TMM")
runDiffExp(data.file = "mydata.rds", result.extent = "sqrtcpm.limma", 
           Rmdfunction = "sqrtcpm.limma.createRmd",
           output.directory = ".", norm.method = "TMM")
runDiffExp(data.file = "mydata.rds", result.extent = "TCC", 
           Rmdfunction = "TCC.createRmd",
           output.directory = ".", norm.method = "tmm", 
           test.method = "edger", iteration = 3, 
           normFDR = 0.1, floorPDEG = 0.05)
runDiffExp(data.file = "mydata.rds", result.extent = "ttest", 
           Rmdfunction = "ttest.createRmd",
           output.directory = ".", norm.method = "TMM")
runDiffExp(data.file = "mydata.rds", result.extent = "voom.limma", 
           Rmdfunction = "voom.limma.createRmd", 
           output.directory = ".", norm.method = "TMM")
runDiffExp(data.file = "mydata.rds", result.extent = "voom.ttest", 
           Rmdfunction = "voom.ttest.createRmd",
           output.directory = ".", norm.method = "TMM")
}

Example output

Loading required package: sm
Package 'sm', version 2.2-5.6: type help(sm) for summary information
Registered S3 method overwritten by 'gplots':
  method         from 
  reorder.factor gdata
Warning messages:
1: no DISPLAY variable so Tk is not available 
2: replacing previous importgdata::reorder.factorbygplots::reorder.factorwhen loadingcompcodeR[1] "baySeq.createRmd"         "DESeq2.createRmd"        
 [3] "DSS.createRmd"            "EBSeq.createRmd"         
 [5] "edgeR.exact.createRmd"    "edgeR.GLM.createRmd"     
 [7] "logcpm.limma.createRmd"   "NBPSeq.createRmd"        
 [9] "NOISeq.prenorm.createRmd" "sqrtcpm.limma.createRmd" 
[11] "TCC.createRmd"            "ttest.createRmd"         
[13] "voom.limma.createRmd"     "voom.ttest.createRmd"    


processing file: tempcode.Rmd

  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |...................................                                   |  50%
  ordinary text without R code


  |                                                                            
  |......................................................................| 100%
label: unnamed-chunk-1 (with options) 
List of 6
 $ echo   : logi TRUE
 $ eval   : logi TRUE
 $ include: logi TRUE
 $ message: logi FALSE
 $ error  : logi TRUE
 $ warning: logi TRUE

Loading required package: limma
Loading required package: edgeR

output file: tempcode.md

[1] TRUE

compcodeR documentation built on Nov. 10, 2020, 2 a.m.