Skip to content

Commit

Permalink
MSnSet slots to SE metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
arnesmits committed Dec 14, 2017
1 parent b96dc91 commit 9fe34ff
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 24 deletions.
6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,7 @@ Imports:
S4Vectors,
XML,
scales,
Rcpp,
SummarizedExperiment
Rcpp
Suggests:
testthat,
pryr,
Expand All @@ -92,7 +91,8 @@ Suggests:
imputeLCMD,
norm,
gplots,
shiny
shiny,
SummarizedExperiment
LinkingTo: Rcpp
License: Artistic-2.0
LazyData: yes
Expand Down
44 changes: 37 additions & 7 deletions R/msnset2se.R
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,20 @@ setAs("MSnSet",
rowData <- fData(from)
colData <- pData(from)

# Extract metadata
metaData <- list(
processingData = processingData(from),
experimentData = experimentData(from),
protocolData = protocolData(from),
annotation = annotation(from),
qual = qual(from))

# Generate SE
SummarizedExperiment(assays = as.matrix(raw),
SummarizedExperiment::SummarizedExperiment(
assays = as.matrix(raw),
rowData = rowData,
colData = colData)
colData = colData,
metadata = metaData)
})

setAs("SummarizedExperiment",
Expand All @@ -26,12 +36,32 @@ setAs("SummarizedExperiment",
}

# Extract expression, feature and pheno data
raw <- assay(from)
featData <- data.frame(rowData(from), row.names = names(from))
phenoData <- data.frame(colData(from))
raw <- SummarizedExperiment::assay(from)
featData <- data.frame(
SummarizedExperiment::rowData(from),
row.names = names(from))
phenoData <- data.frame(SummarizedExperiment::colData(from))

# Extract metadata
processingData = metadata(from)$processingData
experimentData = metadata(from)$experimentData
protocolData = metadata(from)$protocolData
annotation = metadata(from)$annotation
qual = metadata(from)$qual

# Generate MSnSet
MSnSet(exprs = as.matrix(raw),
msnset <- MSnSet(exprs = as.matrix(raw),
pData = AnnotatedDataFrame(phenoData),
fData = AnnotatedDataFrame(featData))
})
if(!is.null(experimentData))
msnset@experimentData <- experimentData
if(!is.null(processingData))
msnset@processingData <- processingData
if(!is.null(protocolData))
msnset@protocolData <- protocolData
if(!is.null(annotation))
msnset@annotation <- annotation
if(!is.null(qual))
msnset@qual <- qual
return(msnset)
})
40 changes: 26 additions & 14 deletions tests/testthat/test_msnset_se_coercions.R
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
context("msnset - se conversion methods")

test_that("msnset to se conversion", {
data(msnset, package = "MSnbase")
se <- as(msnset, "SummarizedExperiment")

expect_is(se, "SummarizedExperiment")
expect_equal(colnames(msnset), colnames(se))
expect_equal(rownames(msnset), rownames(se))
expect_equal(exprs(msnset), assay(se))
expect_equal(fData(msnset), data.frame(rowData(se), row.names = names(se)))
expect_equal(pData(msnset), data.frame(colData(se)))
data(msnset, package = "MSnbase")
se <- as(msnset, "SummarizedExperiment")

expect_is(se, "SummarizedExperiment")
expect_equal(colnames(msnset), colnames(se))
expect_equal(rownames(msnset), rownames(se))
expect_equal(
exprs(msnset),
SummarizedExperiment::assay(se))
expect_equal(
fData(msnset),
data.frame(
SummarizedExperiment::rowData(se),
row.names = names(se)))
expect_equal(
pData(msnset),
data.frame(SummarizedExperiment::colData(se)))
})

test_that("se to msnset conversion", {
Expand All @@ -18,9 +26,13 @@ test_that("se to msnset conversion", {
msnset_back <- as(se, "MSnSet")

expect_is(msnset_back, "MSnSet")
expect_equal(colnames(msnset_back), colnames(se))
expect_equal(rownames(msnset_back), rownames(se))
expect_equal(exprs(msnset_back), assay(se))
expect_equal(fData(msnset_back), data.frame(rowData(se), row.names = names(se)))
expect_equal(pData(msnset_back), data.frame(colData(se)))
expect_equal(colnames(msnset_back), colnames(msnset))
expect_equal(rownames(msnset_back), rownames(msnset))
expect_equal(exprs(msnset_back), exprs(msnset))
expect_equal(fData(msnset_back), fData(msnset))
expect_equal(pData(msnset_back), pData(msnset))
expect_equal(experimentData(msnset_back), experimentData(msnset))
expect_equal(protocolData(msnset_back), protocolData(msnset))
expect_equal(processingData(msnset_back), processingData(msnset))
expect_equal(qual(msnset_back), qual(msnset))
})

0 comments on commit 9fe34ff

Please sign in to comment.