Nothing
## ---- warning=FALSE, message=FALSE--------------------------------------------
library(MultiAssayExperiment)
library(MOFA)
library(MOFAdata)
## -----------------------------------------------------------------------------
data("CLL_data")
MOFAobject <- createMOFAobject(CLL_data)
MOFAobject
## ---- warning=FALSE, message=FALSE--------------------------------------------
# Load data
# import list with mRNA, Methylation, Drug Response and Mutation data.
data("CLL_data")
# check dimensionalities, samples are columns, features are rows
lapply(CLL_data, dim)
# Load sample metadata: Sex and Diagnosis
data("CLL_covariates")
head(CLL_covariates)
# Create MultiAssayExperiment object
mae_CLL <- MultiAssayExperiment(
experiments = CLL_data,
colData = CLL_covariates
)
# Build the MOFA object
MOFAobject <- createMOFAobject(mae_CLL)
MOFAobject
## -----------------------------------------------------------------------------
plotDataOverview(MOFAobject)
## -----------------------------------------------------------------------------
DataOptions <- getDefaultDataOptions()
DataOptions
## -----------------------------------------------------------------------------
ModelOptions <- getDefaultModelOptions(MOFAobject)
ModelOptions$numFactors <- 25
ModelOptions
## -----------------------------------------------------------------------------
TrainOptions <- getDefaultTrainOptions()
# Automatically drop factors that explain less than 2% of variance in all omics
TrainOptions$DropFactorThreshold <- 0.02
TrainOptions$seed <- 2017
TrainOptions
## -----------------------------------------------------------------------------
MOFAobject <- prepareMOFA(
MOFAobject,
DataOptions = DataOptions,
ModelOptions = ModelOptions,
TrainOptions = TrainOptions
)
## -----------------------------------------------------------------------------
# MOFAobject <- regressCovariates(
# object = MOFAobject,
# views = c("Drugs","Methylation","mRNA"),
# covariates = MOFAobject@InputData$Gender
# )
## ---- eval=FALSE--------------------------------------------------------------
# MOFAobject <- runMOFA(MOFAobject)
## -----------------------------------------------------------------------------
# Loading an existing trained model
filepath <- system.file("extdata", "CLL_model.hdf5", package = "MOFAdata")
MOFAobject <- loadModel(filepath, MOFAobject)
MOFAobject
## -----------------------------------------------------------------------------
# Calculate the variance explained (R2) per factor in each view
r2 <- calculateVarianceExplained(MOFAobject)
r2$R2Total
# Variance explained by each factor in each view
head(r2$R2PerFactor)
# Plot it
plotVarianceExplained(MOFAobject)
## -----------------------------------------------------------------------------
plotWeightsHeatmap(
MOFAobject,
view = "Mutations",
factors = 1:5,
show_colnames = FALSE
)
## -----------------------------------------------------------------------------
plotWeights(
MOFAobject,
view = "Mutations",
factor = 1,
nfeatures = 5
)
plotWeights(
MOFAobject,
view = "Mutations",
factor = 1,
nfeatures = 5,
manual = list(c("BRAF"),c("MED12")),
color_manual = c("red","blue")
)
## -----------------------------------------------------------------------------
plotTopWeights(
MOFAobject,
view="Mutations",
factor=1
)
## -----------------------------------------------------------------------------
plotTopWeights(
MOFAobject,
view = "mRNA",
factor = 1
)
## -----------------------------------------------------------------------------
plotDataHeatmap(
MOFAobject,
view = "mRNA",
factor = 1,
features = 20,
show_rownames = FALSE
)
## -----------------------------------------------------------------------------
# Load reactome annotations
data("reactomeGS") # binary matrix with feature sets in rows and features in columns
# perform enrichment analysis
gsea <- runEnrichmentAnalysis(
MOFAobject,
view = "mRNA",
feature.sets = reactomeGS,
alpha = 0.01
)
## -----------------------------------------------------------------------------
plotEnrichmentBars(gsea, alpha=0.01)
## -----------------------------------------------------------------------------
interestingFactors <- 4:5
fseaplots <- lapply(interestingFactors, function(factor) {
plotEnrichment(
MOFAobject,
gsea,
factor = factor,
alpha = 0.01,
max.pathways = 10 # The top number of pathways to display
)
})
cowplot::plot_grid(fseaplots[[1]], fseaplots[[2]],
ncol = 1, labels = paste("Factor", interestingFactors))
## -----------------------------------------------------------------------------
plotFactorScatter(
MOFAobject,
factors = 1:2,
color_by = "IGHV", # color by the IGHV values that are part of the training data
shape_by = "trisomy12" # shape by the trisomy12 values that are part of the training data
)
## -----------------------------------------------------------------------------
plotFactorScatters(
MOFAobject,
factors = 1:3,
color_by = "IGHV"
)
## -----------------------------------------------------------------------------
plotFactorBeeswarm(
MOFAobject,
factors = 1,
color_by = "IGHV"
)
## -----------------------------------------------------------------------------
MOFAweights <- getWeights(
MOFAobject,
views = "all",
factors = "all",
as.data.frame = TRUE # if TRUE, it outputs a long dataframe format. If FALSE, it outputs a wide matrix format
)
head(MOFAweights)
## -----------------------------------------------------------------------------
MOFAfactors <- getFactors(
MOFAobject,
factors = c(1,2),
as.data.frame = FALSE # if TRUE, it outputs a long dataframe format. If FALSE, it outputs a wide matrix format
)
head(MOFAfactors)
## -----------------------------------------------------------------------------
MOFAtrainData <- getTrainData(
MOFAobject,
as.data.frame = TRUE,
views = "Mutations"
)
head(MOFAtrainData)
## -----------------------------------------------------------------------------
predictedDrugs <- predict(
MOFAobject,
view = "Drugs",
factors = "all"
)[[1]]
# training data (incl. missing values)
drugData4Training <- getTrainData(MOFAobject, view="Drugs")[[1]]
pheatmap::pheatmap(drugData4Training[1:40,1:20],
cluster_rows = FALSE, cluster_cols = FALSE,
show_rownames = FALSE, show_colnames = FALSE)
# predicted data
pheatmap::pheatmap(predictedDrugs[1:40,1:20],
cluster_rows = FALSE, cluster_cols = FALSE,
show_rownames = FALSE, show_colnames = FALSE)
## -----------------------------------------------------------------------------
MOFAobject <- impute(MOFAobject)
imputedDrugs <- getImputedData(MOFAobject, view="Drugs")[[1]]
# training data (incl. missing values)
pheatmap::pheatmap(drugData4Training[1:40,1:20],
cluster_rows = FALSE, cluster_cols = FALSE,
show_rownames = FALSE, show_colnames = FALSE)
# imputed data
pheatmap::pheatmap(imputedDrugs[1:40,1:20],
cluster_rows = FALSE, cluster_cols = FALSE,
show_rownames = FALSE, show_colnames = FALSE)
## -----------------------------------------------------------------------------
set.seed(1234)
clusters <- clusterSamples(
MOFAobject,
k = 2, # Number of clusters for the k-means function
factors = 1 # factors to use for the clustering
)
plotFactorScatter(
MOFAobject,
factors = 1:2,
color_by = clusters
)
## -----------------------------------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.