Assume that datE.Admixture
provides the expression values from a mixture of cell types (admixed
population) and you want to estimate the proportion of each pure cell type in the mixed samples (rows of
datE.Admixture
). The function allows you to do this as long as you provide a data frame
MarkerMeansPure
that reports the mean expression values of markers in each of the pure cell types.
1 2 3 4 5  proportionsInAdmixture(
MarkerMeansPure,
datE.Admixture,
calculateConditionNumber = FALSE,
coefToProportion = TRUE)

MarkerMeansPure 
is a data frame whose first column reports the name of the marker and the
remaining columns report the mean values of the markers in each of the pure populations. The function will
estimate the proportion of pure cells which correspond to columns 2 through of

datE.Admixture 
is a data frame of expression data, e.g. the columns of 
calculateConditionNumber 
logical. Default is FALSE. If set to TRUE then it uses the 
coefToProportion 
logical. By default, it is set to TRUE. When estimating the proportions the
function fits a multivariate linear model. Ideally, the coefficients of the linear model correspond to the
proportions in the admixed samples. But sometimes the coefficients take on negative values or do not sum to
1. If 
The methods implemented in this function were motivated by
the gene expression deconvolution approach described by Abbas et al (2009), Lu et al (2003), Wang et al (2006). This approach can be used to predict the proportions of (pure) cells in a complex tissue, e.g. the proportion of blood cell types in whole blood. To define the markers, you may need to have expression data from pure populations. Then you can define markers based on a significant ttest or ANOVA across the pure populations. Next use the pure population data to estimate corresponding mean expression values. Hopefully, the array platforms and normalization methods for datE.MarkersAdmixtureTranspose
and MarkerMeansPure
are comparable. When dealing with Affymetrix data: we have successfully used it on untransformed MAS5 data.
For statisticians: To estimate the proportions, we use the coefficients
of a linear model. Specifically:
datCoef= t(lm(datE.MarkersAdmixtureTranspose ~MarkerMeansPure[,1])$coefficients[1,])
where datCoef
is a matrix whose rows correspond to the mixed samples (rows of datE.Admixture
) and the columns correspond to pure populations (e.g. cell types), i.e. the columns of MarkerMeansPure[,1]
.
More details can be found in Abbas et al (2009).
A list with the following components
PredictedProportions 
data frame that contains the predicted proportions. The rows of 
datCoef=datCoef 
data frame of numbers that is analogous to

conditionNumber 
This is the condition number resulting from the 
markersUsed 
vector of character strings that contains the subset of marker names (specified in the first column of 
This function can be considered a wrapper of the lm
function.
Steve Horvath, Chaochao Cai
Abbas AR, Wolslegel K, Seshasayee D, Modrusan Z, Clark HF (2009) Deconvolution of Blood Microarray Data Identifies Cellular Activation Patterns in Systemic Lupus Erythematosus. PLoS ONE 4(7): e6098. doi:10.1371/journal.pone.0006098
Lu P, Nakorchevskiy A, Marcotte EM (2003) Expression deconvolution: a reinterpretation of DNA microarray data reveals dynamic changes in cell populations. Proc Natl Acad Sci U S A 100: 1037010375.
Wang M, Master SR, Chodosh LA (2006) Computational expression deconvolution in a complex mammalian organ. BMC Bioinformatics 7: 328.
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.