A v-SVR based noise constrained Recursive Feature Extraction algorithm for robust deconvolution of cell-types mixture from molecular signatures
Since the significant impact of immunotherapy in cancer, the estimation of the immune cell-type proportions present in a tumor becomes crucial. Currently, the deconvolution of the cell mixture content of a tumor is carried out by different analytic tools, yet the accuracy of inferred cell type proportions has room for improvement. We improve tumor immune environment characterization developing MIXTURE, an analytical method based on a noise constrained recursive variable selection for a support vector regression
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
The current "functional like" version of the software requires the following libraries
- data.table
- ComplexHeatmap
- ade4
- ggplot2
- circlize
- e1071
- preprocessCore
- nnls
- plyr
- abind
- openxlsx
- strinr
Download the file MIXTURE.R and install it in your favorite directory (i.e ../myFavorite/MIXTURE.R) Download the file LM22.RData and install it in the same directory (i.e ../myFavorite/LM22.RData) Newman et al.
This example tends to estimate the same pure cell-types from LM22 signature matrix from Newman et al.
source('~/myFavorite/MIXTURE.R')
##Load signature matrix
load("~/myFavorite/LM22.RData")
mix.test <- MIXTURE(expressionMatrix = LM22, #N x ncol(signatureMatrix) gene expresion matrix to evaluate
##rownames(M) should be the GeneSymbols
signatureMatrix = LM22, #the gene signature matrix (W) such that M = W*betas'
#(i.e the LM22 from Newman et al)
iter = 1000, #iterations for the statistical test (null distribution)
functionMixture = nu.svm.robust.RFE, #cibersort, nu.svm.robust.rfe, ls.rfe.abbas,
useCores = 10L, #cores for parallel processing/ if using windows set to 1
verbose = TRUE, #TRUE or FALSE messages
nullDist = "PopulationBased", #"none" or "PopulationBased" if the statistical test should
#be performed
fileSave = "MIXTURE_FILE_LM22.xlsx") #EXCEL file name to stare the results
save(mix.test, file = "MIXTURE_FILE_LM22.RData") #save full list as an RData object.
Download the file BRCA_TCGA_MIXTURE_paper.R and open it. Follow the code. You will need to install the following packages:
The TCGA BRCA data ready to use by the BRCA_TCGA_MIXTURE_paper.R script can be downloaded from here
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Elmer Andrés Fernández - Initial work - Profile
This project is licensed under the MIT License - see the LICENSE.md file for details