correctBatchEffect: Correct a batch effect in DNA methylation data

Description Usage Arguments Details Value References See Also Examples

View source: R/BEclear.R

Description

This method combines most functions of the BEclear-package to one. The method performs the whole process of searching for batch effects and automatically correct them for a matrix of beta values stemming from DNA methylation data.

Usage

1
2
3
correctBatchEffect(data, samples, parallel=TRUE, cores=4, adjusted=TRUE,
    method="fdr", rowBlockSize=60, colBlockSize=60, epochs=50,
    outputFormat="RData", dir=getwd())

Arguments

data

any matrix filled with beta values, column names have to be sample_ids corresponding to the ids listed in "samples", row names have to be gene names.

samples

data frame with two columns, the first column has to contain the sample numbers, the second column has to contain the corresponding batch number. Colnames have to be named as "sample_id" and "batch_id".

parallel

should the calculation be done in parallel mode? snowfall package is needed to run the function in parallel mode.

cores

if running in parallel mode, define the number of cores used for the calculation. snowfall package is needed to run the function in parallel mode

adjusted

should the p-values be adjusted or not, see "method" for available adjustment methods.

method

adjustment method for p-value adjustment (if TRUE), default method is "false discovery rate adjustment", for other available methods see the description of the used standard R package p.adjust. See calcPvalues for more information

rowBlockSize

the number of rows that is used in a block if the function is run in parallel mode and/or not on the whole matrix. Set this, and the "colBlockSize" parameter to 0 if you want to run the function on the whole input matrix. See BEclear and especially the details section of See BEclear for more information about this feature.

colBlockSize

the number of columns that is used in a block if the function is run in parallel mode and/or not on the whole matrix. Set this, and the "rowBlockSize" parameter to 0 if you want to run the function on the whole input matrix. See BEclear and especially the details section of See BEclear for more information about this feature.

epochs

the number of iterations used in the gradient descent algorithm to predict the missing entries in the data matrix. See BEclear for more information.

outputFormat

you can choose if the finally returned data matrix should be saved as an .RData file or as a tab-delimited .txt file in the specified directory. Allowed values are "RData" and "txt". See BEclear for more information.

dir

set the path to a directory the predicted matrix should be stored. The current working directory is defined as default parameter.

Details

The function performs the whole process of searching for batch effects and automatically correct them for a matrix of beta values stemming from DNA methylation data. Thereby, the function is running most of the functions from the BEclear-package in a logical order.

First, median comparison values are calculated by the calcMedians function, followed by the calculation of p-values by the calcPvalues function. With the results from the median comparison and p-value calculation, a summary data frame is build using the calcSummary function, and a scoring table is established by the calcScore function. Now, found entries from the summary are set to NA in the input matrix using the clearBEgenes function, then the BEclear function is used to predict the missing values and at the end, possibly existing wrongly predicted entries (values lower than 0 or greater than 1) are corrected using the replaceWrongValues function.

Value

A list containing the following fields (for detailed information look at the documentations of the corresponding functions):

medians

A data.frame containing all median comparison values corresponding to the input matrix.

pvalues

A data.frame containing all p-values corresponding to the input matrix.

summary

The summarized results of the median comparison and p-value calculation.

score.table

A data.frame containing the number of found genes and a BEscore for every batch.

cleared.data

the input matrix with all values defined in the summary set to NA.

predicted.data

the input matrix after all previously NA values have been predicted.

corrected.predicted.data

the predicted matrix after the correction for wrongly predicted values.

References

Y. Koren, R. Bell, C. Volinsky, Matrix factorization techniques for recommender systems, IEEE Computer, 42(8), p. 30-37, 2009, http://research.yahoo.com/pub/2859

E. Candes, B. Recht, Exact matrix completion via convex optimization, Communications of the ACM, 55(6), p. 111-119, 2012, http://doi.acm.org/10.114/2184319.2184343

See Also

calcMedians calcPvalues calcSummary calcScore clearBEgenes BEclear replaceWrongValues

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
## Shortly running example. For a more realistic example that takes
## some more time, run the same procedure with the full BEclearData
## dataset.

## Whole procedure that has to be done to use this function.
## Correct the example data for a batch effect
data(BEclearData)
ex.data <- ex.data[31:90,7:26]
ex.samples <- ex.samples[7:26,]

# Note that row- and block sizes are just set to 10 to get a short runtime. To
# use these parameters, either use the default values or please note the
# description in the details section of \code{\link{BEclear}}
result <- correctBatchEffect(data=ex.data, samples=ex.samples, parallel=TRUE,
    cores=4, adjusted=TRUE, method="fdr", rowBlockSize=10, colBlockSize=10,
    epochs=50, outputFormat="RData", dir=getwd())

# Unlist variables
medians <- result$medians
pvals <- result$pvals
summary <- result$summary
score <- result$score.table
cleared <- result$clearedData
predicted <- result$predictedData
corrected <- result$correctedPredictedData

BEclear documentation built on Nov. 17, 2017, 10:39 a.m.