MetaDE: Main Function for Meta DE analysis: microarray & RNAseq.

Description Usage Arguments Value Examples

Description

Main Function for Meta analysis: microarray & RNAseq The MetaDE is a function to identify genes associated with the response/phenoype of interest (can be either group, continuous or survival) by integrating multiple studies(datasets). The main input consists of raw expression data.

Usage

1
2
3
4
MetaDE(data, clin.data, data.type, resp.type, response, covariate = NULL,
  ind.method, meta.method, select.group = NULL, ref.level = NULL,
  paired = NULL, rth = NULL, REM.type = NULL, asymptotic = NULL,
  tail = "abs", parametric = TRUE, nperm = NULL, seed = 12345, ...)

Arguments

data

is a list of K elements, where K is the number of studies, each element is a microarray or RNAseq expression matrix with G rows and N columns, where G is number of matched genes and N is the sample size.

clin.data

is a list of K elements, each element includes is a clinical data frame with N rows and p columns, where N is the sample size and p is the number of clinical variables (main response included).

data.type

is a character indicating the data type of the elements in data, must be "continuous" or "discrete".

resp.type

is a character indicating the response type of the response variable selected, must be one of "twoclass", "multiclass", "continuous" and "survival".

response

is one column name of clin.data, indicating the phenotype of interest. For survival, two column names have to be specified, the first is the survival time and the second is the censoring status.

covariate

are the clinical covariates you wish to adjust for in the DE analysis, can be a vector of column names or NULL.

ind.method

is a character vector to specify the method used to test if there is association between the gene expression and outcome variable. For "twoclass" or "multiclass" response, must be one of "limma", "sam" for "continuous" data type and "edgeR", "DESeq2" or "limmaVoom" for "discrete" data type. For "continuous" response, use "pearsonr" or "spearmanr". For "survival", use "logrank".

meta.method

is a character to specify the Meta-analysis method used to combine the p-values, effect sizes or ranks. Available methods include: "maxP","maxP.OC","minP","minP.OC","Fisher","Fisher.OC","AW", roP","roP.OC", "Stouffer","Stouffer.OC","SR","PR","minMCC","FEM","REM","rankProd".

paired

is a logical vecter of size K to indicate whether the study is paired design?

rth

is the option for roP and roP.OC method. rth means the rth smallest p-value.

REM.type

is the option for "REM" method only, choose from "HS","HO", "DL", "SJ", "EB" or "RML".

asymptotic

is a logical value indicating whether asymptotic distribution should be used. If FALSE, permutation will be performed.

tail

is a character string specifying the alternative hypothesis, must be one of "abs" (default), "low" or "high".

parametric

is a logical values indicating whether the parametric methods is chosen to calculate the p-values in meta-analysis.

nperm

is the number of permutations. Applicable when parametric is FALSE.

select.group:

for two-class comparison only, specify the two groups for comparison when the group factor has more than two levels.

ref.level:

for two-class/multi-class comparison only, specify the reference level of the group factor.

seed:

Optional initial seed for random number generator.

Value

a list with components:

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
data('Leukemia')
data('LeukemiaLabel')
data <- Leukemia
K <- length(data)
clin.data <- lapply(label, function(x) {data.frame(x)} )
for (k in 1:length(clin.data)){
 colnames(clin.data[[k]]) <- "label"
}
select.group <- c('inv(16)','t(15;17)')
ref.level <- "inv(16)"
data.type <- "continuous"
ind.method <- c('limma','limma','sam')
resp.type <- "twoclass"
paired <- rep(FALSE,length(data))
meta.method <- "Fisher"
meta.res <- MetaDE(data=data,clin.data = clin.data,
                    data.type=data.type,resp.type = resp.type,
                    response='label',
                    ind.method=ind.method, meta.method=meta.method,
                    select.group = select.group, ref.level=ref.level,
                    paired=paired,tail='abs',parametric=TRUE)
meta.method <- "Fisher.OC"
meta.res <- MetaDE(data=data,clin.data = clin.data,
                    data.type=data.type,resp.type = resp.type,
                    response='label',
                    ind.method=ind.method, meta.method=meta.method,
                    select.group = select.group, ref.level=ref.level,
                    paired=paired,tail='high',parametric=FALSE,nperm=100)
meta.method <- "FEM"
meta.res <- MetaDE(data=data,clin.data = clin.data,
                    data.type=data.type,resp.type = resp.type,
                    response='label',
                    ind.method=ind.method, meta.method=meta.method,
                    select.group = select.group, ref.level=ref.level,
                    paired=paired, tail='abs')
meta.method <- "REM"
REM.type <- "HO"
meta.res <- MetaDE(data=data,clin.data = clin.data,
                    data.type=data.type,resp.type = resp.type,
                    response='label',
                    ind.method=ind.method, meta.method=meta.method,
                    select.group = select.group, ref.level=ref.level,
                    paired=paired, 
                    REM.type=REM.type,tail='abs')
meta.method <- "SR"
meta.res <- MetaDE(data=data,clin.data = clin.data,
                    data.type=data.type,resp.type = resp.type,
                    response='label',
                    ind.method=ind.method, meta.method=meta.method,
                    select.group = select.group, ref.level=ref.level,
                    paired=paired,tail='abs',parametric=FALSE,nperm=100)
meta.method <- 'minMCC'
meta.res <- MetaDE(data=data,clin.data = clin.data,
                    data.type=data.type,resp.type = resp.type,
                    response='label',
                    ind.method=ind.method, meta.method=meta.method,
                    select.group = select.group, ref.level=ref.level,
                    paired=paired,tail='abs',parametric=FALSE,nperm=100)
meta.method <- "AW"
meta.res <- MetaDE(data=data,clin.data = clin.data,
                    data.type=data.type,resp.type = resp.type,
                    response='label',covariate = NULL,
                    ind.method=ind.method, meta.method=meta.method,
                    select.group = select.group, ref.level=ref.level,
                    paired=paired, rth=NULL,
                    REM.type=NULL,tail='abs',parametric=TRUE)

metaOmics/MetaDE documentation built on May 29, 2019, 4:43 a.m.