From fb19acc5d1d39d3788552bc076d98e62fd66d179 Mon Sep 17 00:00:00 2001 From: Johannes Rainer Date: Mon, 30 Sep 2024 14:07:03 +0200 Subject: [PATCH] refactor: add extractByIndex method --- DESCRIPTION | 6 +++--- NAMESPACE | 2 ++ R/MsBackendRawFileReader-functions.R | 7 +------ R/MsBackendRawFileReader.R | 11 ++++++++++- man/hidden_aliases.Rd | 3 +++ 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 8da7581..77a7e59 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: MsBackendRawFileReader Type: Package Title: Mass Spectrometry Backend for Reading Thermo Fisher Scientific raw Files -Version: 1.11.2 +Version: 1.11.3 Authors@R: c(person(given = "Christian", family = "Panse", email = "cp@fgcz.ethz.ch", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-1975-3064")), @@ -11,7 +11,7 @@ Authors@R: c(person(given = "Christian", person(given = "Roger", family = "Gine Bertomeu", email = "roger.gine@iispv.cat", role = "ctb", comment = c(ORCID = "0000-0003-0288-9619"))) -Depends: R (>= 4.1), methods, Spectra (>= 1.5.8) +Depends: R (>= 4.1), methods, Spectra (>= 1.15.10) Imports: ProtGenerics (>= 1.35.3), MsCoreUtils, @@ -41,7 +41,7 @@ BugReports: https://github.com/fgcz/MsBackendRawFileReader/issues Encoding: UTF-8 NeedsCompilation: yes biocViews: MassSpectrometry, Proteomics, Metabolomics -RoxygenNote: 7.3.1 +RoxygenNote: 7.3.2 License: GPL-3 SystemRequirements: mono-runtime 4.x or higher (including System.Data library) on Linux/macOS, .Net Framework (>= 4.5.1) on Microsoft Windows. diff --git a/NAMESPACE b/NAMESPACE index b0315fc..7e0f33f 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -4,6 +4,7 @@ export(MsBackendRawFileReader) export(ioBenchmark) exportClasses(MsBackendRawFileReader) exportMethods("[") +exportMethods(extractByIndex) exportMethods(filterScan) exportMethods(intensity) exportMethods(mz) @@ -30,3 +31,4 @@ importMethodsFrom(ProtGenerics,intensity) importMethodsFrom(ProtGenerics,mz) importMethodsFrom(ProtGenerics,peaksData) importMethodsFrom(ProtGenerics,scanIndex) +importMethodsFrom(Spectra,extractByIndex) diff --git a/R/MsBackendRawFileReader-functions.R b/R/MsBackendRawFileReader-functions.R index cfe3842..bd40b3d 100644 --- a/R/MsBackendRawFileReader-functions.R +++ b/R/MsBackendRawFileReader-functions.R @@ -148,12 +148,7 @@ NULL #' @importFrom S4Vectors extractROWS #' @importFrom MsCoreUtils i2index #' @importFrom methods slot<- -.subset_backend_MsBackendRawFileReader <- function(x, i) { - if (missing(i)) - return(x) - idx <- i - i <- MsCoreUtils::i2index(i, length(x), rownames(x@spectraData)) - +.subset_backend_MsBackendRawFileReader <- function(x, i = integer()) { slot(x, "spectraData", check = FALSE) <- S4Vectors::extractROWS(x@spectraData, i) # check if item is complete otherwise retrieval of data through using diff --git a/R/MsBackendRawFileReader.R b/R/MsBackendRawFileReader.R index 86ca07b..af8ffb5 100644 --- a/R/MsBackendRawFileReader.R +++ b/R/MsBackendRawFileReader.R @@ -143,9 +143,18 @@ setMethod("peaksData", "MsBackendRawFileReader", #' @importFrom IRanges NumericList #' @exportMethod [ setMethod("[", "MsBackendRawFileReader", function(x, i, j, ..., drop = FALSE) { - .subset_backend_MsBackendRawFileReader(x, i) + i <- MsCoreUtils::i2index(i, length(x), rownames(x@spectraData)) + extractByIndex(x, i) }) +#' @rdname hidden_aliases +#' @importMethodsFrom Spectra extractByIndex +#' @export +setMethod("extractByIndex", c("MsBackendRawFileReader", "ANY"), + function(object, i) { + .subset_backend_MsBackendRawFileReader(object, i) + }) + #' @importClassesFrom IRanges NumericList #' @rdname hidden_aliases #' @importMethodsFrom ProtGenerics intensity diff --git a/man/hidden_aliases.Rd b/man/hidden_aliases.Rd index d60640d..7468273 100644 --- a/man/hidden_aliases.Rd +++ b/man/hidden_aliases.Rd @@ -10,6 +10,7 @@ \alias{backendInitialize,MsBackendRawFileReader-method} \alias{show,MsBackendRawFileReader-method} \alias{peaksData,MsBackendRawFileReader-method} +\alias{extractByIndex,MsBackendRawFileReader,ANY-method} \alias{intensity,MsBackendRawFileReader-method} \alias{mz,MsBackendRawFileReader-method} \title{Internal page for hidden aliases} @@ -24,6 +25,8 @@ scanType(object, ...) \S4method{peaksData}{MsBackendRawFileReader}(object, ..., BPPARAM = bpparam()) +\S4method{extractByIndex}{MsBackendRawFileReader,ANY}(object, i) + \S4method{intensity}{MsBackendRawFileReader}(object, ..., BPPARAM = bpparam()) \S4method{mz}{MsBackendRawFileReader}(object, ..., BPPARAM = bpparam())