Combines two pre-constructed SummarizedExperiment objects
(e.g. lipidomics and RNA-seq) into a single MultiAssayExperiment object
for downstream multi-omics integration analysis. The colData of both
SummarizedExperiment objects must share the same column structure
(produced by constructing lipidSE with se_type="de_two"
or se_type="de_multiple", and rnaSE with
se_type="rna" using a matching group_info layout, both
via as_summarized_experiment).
Arguments
- lipidSE
A SummarizedExperiment object constructed by
as_summarized_experiment()withse_type="de_two"orse_type="de_multiple"(the only two layoutsrnaSE'sgroup_infocan match; seernaSEbelow).- rnaSE
A SummarizedExperiment object constructed by
as_summarized_experiment(..., se_type="rna"), whosegroup_infomust follow the de_two or de_multiple column layout ("ml"/"corr"layouts are not supported for"rna") and must match the one used forlipidSE.
Examples
library(dplyr)
#>
#> Attaching package: ‘dplyr’
#> The following objects are masked from ‘package:stats’:
#>
#> filter, lag
#> The following objects are masked from ‘package:base’:
#>
#> intersect, setdiff, setequal, union
library(magrittr)
data("abundance_lipidOmics")
data("abundance_rna")
data("group_info_multiOmics")
## lipidomics SE - de_two-style group_info (2 groups)
parse_lipid <- rgoslin::parseLipidNames(lipidNames=abundance_lipidOmics$feature)
recognized_lipid <- parse_lipid$Original.Name[which(parse_lipid$Grammar != 'NOT_PARSEABLE')]
lipid_abundance <- abundance_lipidOmics %>% dplyr::filter(feature %in% recognized_lipid)
lipid_char_table <- parse_lipid %>% dplyr::filter(Original.Name %in% recognized_lipid)
lipidSE <- as_summarized_experiment(
lipid_abundance, lipid_char_table, group_info=group_info_multiOmics,
se_type='de_two', paired_sample=FALSE)
#> Input data info
#> se_type: de_two
#> Number of lipids (features) available for analysis: 333
#> Number of samples: 59
#> Number of group: 2
#> Not paired samples.
## RNA SE built with se_type='rna', reusing the same group_info so its
## colData structure matches lipidSE's
rnaSE <- as_summarized_experiment(
abundance_rna, goslin_annotation=NULL, group_info=group_info_multiOmics,
se_type='rna')
#> Input data info
#> se_type: rna
#> Number of features available for analysis: 1118
#> Number of samples: 59
#> Number of group: 2
#> Not paired samples.
## combine into a single MultiAssayExperiment
mae <- as_MultiAssayExperiment(lipidSE, rnaSE)
#> MultiAssayExperiment info
#> Experiments: lipidomics, rna
#> lipidomics: 333 features x 59 samples
#> rna: 1118 features x 59 samples
#> Number of subjects with complete data across all experiments: 59