Provides some functions to detect and correct for batch effects in DNA
The core function
BEclear is based on Latent Factor Models and
can also be used to predict missing values in any other matrix containing real
The function combines most functions of the
one. This function performs the whole process of searching for batch effects
and automatically correct them for a matrix of beta values stemming from DNA
This function predicts the missing entries of an input matrix (NA values)
through the use of a Latent Factor Model.
Compares the median value of all beta values belonging to one batch with the
median value of all beta values belonging to all other batches. Returns a
matrix containing this median difference value for every gene in every batch,
columns define the batch numbers, rows the gene names.
Compares the distribution of all beta values corresponding to one batch with
the distribution of all beta values corresponding to all other batches and
retuns a p-value which defines if the distributions are the same or not.
Summarizes the results of the median comparison function
calcMedians and the p-value calculation function
calcPvalues. Should be used with the matrices originating from
these two functions.
Returns a table with the number of found genes with found p-values less or
equal to 0.01 and median values greater or equal to 0.05. A score is calculated
depending on the number of found genes as well as the magnitude of the median
difference values, this score is divided by the overall number of genes in the
data and returned as "BEscore". See the methods details for further information
and details about the score calculation.
boxplot is done with boxes either separated by batches
or by samples and describe the five number summary of all beta values
corresponding to a batch or a sample, respectively. The batch_ids are shown on
the x-axis with a coloring corresponding to the BEscore.
A function that simply sets all values to NA which were previously found by
median value comparison and p-value calculation and are stored in a summary.
The summary defines which values in the data matrix are set to NA.
Simple function that counts all values in a matrix which are NA
A method which lists values below 0 or beyond 1 contained in the input matrix.
The wrong entries are stored in a data.frame together with the corresponding
row and column position of the matrix.
A method which replaces values below 0 or beyond 1 contained in the input
matrix. These wrong entries are replaced by 0 or 1, respectively.
Ruslan Akulenko, Markus Merl
Maintainer: Markus Merl <email@example.com>
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
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
data(BEclearData) ## Calculate median comparison values in non-parallel mode med <- calcMedians(data=ex.data, samples=ex.samples, parallel=FALSE) ## Calculate fdr-adjusted p-values in non-parallel mode pvals <- calcPvalues(data=ex.data, samples=ex.samples, parallel=FALSE, adjusted=TRUE, method="fdr") ## Summarize p-values and median differences for batch affected genes sum <- calcSummary(medians=med, pvalues=pvals) ## Calculates the score table score.table <- calcScore(data=ex.data, samples=ex.samples, summary=sum) ## Simple boxplot for the example data separated by batch makeBoxplot(data=ex.data, samples=ex.samples, score=score.table, bySamples=FALSE, main="Some box plot") ## Simple boxplot for the example data separated by samples makeBoxplot(data=ex.data, samples=ex.samples, score=score.table, bySamples=TRUE, main="Some box plot") ## Sets assumed batch affected entries to NA cleared <- clearBEgenes(data=ex.data, samples=ex.samples, summary=sum) ## Counts and stores number of entries to predict numberOfEntries <- countValuesToPredict(data=cleared) ## Not run: ## Predicts the missing entries predicted <- BEclear(data=cleared) ## Find wrongly predicted entries wrongEntries <- findWrongValues(data=predicted) ## Replace wrongly predicted entries corrected <- replaceWrongValues(data=predicted) ## End(Not run)