## ---- eval = FALSE------------------------------------------------------------ # #To install this package ensure you have BiocManager installed # if (!requireNamespace("BiocManager", quietly = TRUE)) # install.packages("BiocManager") # # #The following initializes usage of Bioc devel # BiocManager::install("multiSight") ## ----model_biosigner, echo=TRUE, message=FALSE, warning=FALSE----------------- require(multiSight) ## omic2 is a multi-omics dataset of 2 simulated omics included in package data("omic2", package = "multiSight") #set.seed(123) splitData <- splitDatatoTrainTest(omic2, freq = 0.8) data.train <- splitData$data.train data.test <- splitData$data.test ## Build model and one biosignature by omic dataset. biosignerRes <- runSVMRFmodels_Biosigner(data.train) ## Results biosignerModels <- biosignerRes$model #list of SVM/RF models for each omic. biosignerFeats <- biosignerRes$biosignature #selected features for each omic. ## Assess model classification performances biosignerPerf <- assessPerformance_Biosigner(modelList = biosignerModels, dataTest = data.test) print(biosignerPerf) #confusion matrices and performance metrics ## ----model_DIABLO, message=FALSE, warning=FALSE------------------------------- require(multiSight) ## omic2 is a multi-omics dataset of 2 simulated omics included in package data("omic2", package = "multiSight") data("diabloRes", package = "multiSight") splitData <- splitDatatoTrainTest(omic2, freq = 0.9) data.train <- splitData$data.train data.test <- splitData$data.test ## ----model_DIABLO2, message=FALSE, warning=FALSE------------------------------ ## Build model and one biosignature by omic dataset. # diabloRes <- runSPLSDA(data.train) # diabloRes #internal object of package to save time ## Results diabloModels <- diabloRes$model #sPLS-DA model using all omics. diabloFeats <- diabloRes$biosignature #selected features for each omic. ## Asses model classification performances #diabloPerf <- assessPerformance_Diablo(splsdaModel = diabloModels, # dataTest = data.test) #print(diabloPerf) #confusion matrices and performance metrics ## ----message=FALSE------------------------------------------------------------ if (requireNamespace("org.Mm.eg.db", quietly = TRUE)) { library(org.Mm.eg.db) columns(org.Mm.eg.db) } ## ----multiOmicEnrichment_DESeq2, message=FALSE, warning=FALSE----------------- require(multiSight) ## omic2 is a multi-omics dataset of 2 simulated omics included in package data("omic2", package = "multiSight") data("deseqRes", package = "multiSight") # deseqRes <- runMultiDeseqAnalysis(omicDataList = omic2, # padjUser = 0.05) ## One Differential Expression Analysis table for each omic dataset # View(deseqRes$DEtable) ## One feature selected list for each omic according to padjust user threshold multiOmic_biosignature <- deseqRes$selectedFeatures # View(multiOmic_biosignature) ## Multi-omics enrichment ### convert features dbList <- list(rnaRead = "ENSEMBL", dnaRead = "ENSEMBL") convFeat <- convertToEntrezid(multiOmic_biosignature, dbList, "org.Mm.eg.db") ### ORA enrichment analysis if (requireNamespace("org.Mm.eg.db", quietly = TRUE)) { # database <- c("kegg", "wikiPathways", "reactome", "MF", "CC", "BP") database <- c("reactome") data("enrichResList", package = "multiSight") # enrichResList <- runMultiEnrichment(omicSignature = convFeat, # databasesChosen = database, # organismDb = "org.Mm.eg.db", # pvAdjust = "BH", #default value # minGSSize = 5, #default value # maxGSSize = 800, #default value # pvStouffer = 0.1) #default value reacRes <- enrichResList$pathways$reactome names(reacRes$result) # classical enrichment tables, multi-omics and EMap } ## ----multiOmicEnrichment_DIABLO, message=FALSE, warning=FALSE----------------- require(multiSight) ## omic2 is a multi-omics dataset of 2 simulated omics included in package data("omic2", package = "multiSight") data("diabloRes", package = "multiSight") # splitData <- splitDatatoTrainTest(omic2, 0.8) # data.train <- splitData$data.train # data.test <- splitData$data.test # # diabloRes <- runSPLSDA(data.train) # diabloRes #internal object of package to save time diabloModels <- diabloRes$model #sPLS-DA model using all omics. diabloFeats <- diabloRes$biosignature #selected features for each omic. ## Multi-omics enrichment ### convert features names(diabloFeats) #/!\use same names for dbList and omic datasets. dbList <- list(rnaRead = "ENSEMBL", #feature names origin dnaRead = "ENSEMBL") if (requireNamespace("org.Mm.eg.db", quietly = TRUE)) { convFeat <- convertToEntrezid(diabloFeats, dbList, "org.Mm.eg.db") ### ORA enrichment analysis for omic feature lists # database <- c("kegg", "wikiPathways", "reactome", "MF", "CC", "BP") database <- c("reactome") multiOmicRes <- runMultiEnrichment(omicSignature = convFeat, databasesChosen = database, organismDb = "org.Mm.eg.db", pvAdjust = "BH", #default value minGSSize = 5, #default value maxGSSize = 800, #default value pvStouffer = 0.1) #default value ## Results reacRes <- multiOmicRes$pathways$reactome names(reacRes$result) # classical enrichment tables, multi-omics and EMap } ## ----networkInference, message=FALSE, warning=FALSE--------------------------- require(multiSight) data("omic2", package = "multiSight") data("diabloRes", package = "multiSight") ## omic2 is a multi-omics dataset of 2 simulated omics included in package splitData <- splitDatatoTrainTest(omic2, 0.8) data.train <- splitData$data.train data.test <- splitData$data.test ## Build sPLS-DA models # diabloRes <- runSPLSDA(data.train) diabloFeats <- diabloRes$biosignature #selected features for each omic. ## Build biosigner models biosignerRes <- runSVMRFmodels_Biosigner(data.train) biosignerFeats <- biosignerRes$biosignature #selected features for each omic. ## Network inference ### DIABLO features concatMat_diablo <- getDataSelectedFeatures(omic2, diabloFeats) corrRes_diablo <- correlationNetworkInference(concatMat_diablo, 0.85) pcorRes_diablo <- partialCorrelationNI(concatMat_diablo, 0.4) miRes_diablo <- mutualInformationNI(concatMat_diablo, 0.2) ### biosigner features concatMat_biosigner <- getDataSelectedFeatures(omic2, biosignerFeats) corrRes_bios <- correlationNetworkInference(concatMat_biosigner, 0.85) pcorRes_bios <- partialCorrelationNI(concatMat_biosigner, 0.4) miRes_bios <- mutualInformationNI(concatMat_biosigner, 0.2) corrRes_diablo$graph ## ----sessionInfo, echo=FALSE-------------------------------------------------- sessionInfo()