diff --git a/R/XcmsExperiment-functions.R b/R/XcmsExperiment-functions.R index 050f4853..c306ac68 100644 --- a/R/XcmsExperiment-functions.R +++ b/R/XcmsExperiment-functions.R @@ -1168,8 +1168,8 @@ XcmsExperiment <- function() { files = fileNames(from), smoothed = NA) n@phenoData <- new("NAnnotatedDataFrame", as.data.frame(sampleData(from))) - fd <- as.data.frame(spectra(from)@backend@spectraData) - fd$fileIdx <- match(fd$dataStorage, fileNames(from)) + fd <- as.data.frame(MsExperiment::spectra(from)@backend@spectraData) + fd$fileIdx <- match(fd$dataStorage, unique(fd$dataStorage)) fd <- fd[, !colnames(fd) %in% c("dataStorage", "dataOrigin")] colnames(fd) <- sub("scanIndex", "spIdx", colnames(fd)) colnames(fd) <- sub("rtime", "retentionTime", colnames(fd)) diff --git a/tests/testthat/test_XcmsExperiment-functions.R b/tests/testthat/test_XcmsExperiment-functions.R index e79badd5..82ece278 100644 --- a/tests/testthat/test_XcmsExperiment-functions.R +++ b/tests/testthat/test_XcmsExperiment-functions.R @@ -210,7 +210,7 @@ test_that(".xcms_experiment_to_xcms_n_exp works", { a <- loadXcmsData("xmse") a1 <- a[1] - a1@spectra <- Spectra::setBackend(spectra(a1), MsBackendMemory()) + a1@spectra <- Spectra::setBackend(spectra(a1), Spectra::MsBackendMemory()) expect_error(xcms:::.xcms_experiment_to_xcms_n_exp(a1), "MsBackendMzR") res <- xcms:::.xcms_experiment_to_xcms_n_exp(a)