Changes in version 1.17 Change in 1.17.2 - Add cbind2() method to easily add multiple spectraVariables and their content to the spectraData of a Spectra object. See also issue #342 Changes in 1.17.1 - Refactor containsMz() to support chunk-wise processing. Changes in version 1.15 Changes in 1.15.13 - Add precursorMz<- method issue #336. Changes in 1.15.12 - Add generic backendRequiredSpectraVariables() to allow definition of mandatory spectra variables for a backend. Changes in 1.15.11 - Add reference to MsBackendMetaboLights. Changes in 1.15.10 - Add new extractSpectra() generic and implementation for MsBackend. Fixes issue #5. Changes in 1.15.9 - Restructure and reorganize documentation for Spectra. Changes in 1.15.8 - Refactor the Spectra() constructor method: better support for initialization of backends that define their own specific parameters. Changes in 1.15.7 - Change estimatePrecursorIntensity() to a method to avoid overrides/clashes with the same-named implementation in xcms. Changes in 1.15.6 - Fix in selectSpectraVariables() for MsBackendMzR: ensure peaks variables "mz" and "intensity" are not by default removed. Changes in 1.15.5 - Add new filterPeaksRanges() function to filter mass peaks by ranges on numeric spectra or peak variables. Changes in 1.15.3 - For evaluation of the Spectra's processing queue: call functions from the MetaboCoreUtils directly through their namespace (MsCoreUtils::) to avoid errors if performed in parallel on Windows machines or if called on a re-loaded object. - New asDataFrame() function to convert a (small) Spectra object into a long DataFrame. Changes in 1.15.2 - Add dataStorageDataPath() and dataStorageDataPath<- methods to allow updating/adapting the path of the data storage files of backends supporting that issue #321. Changes in 1.15.1 - Improve documentation for combineSpectra() and combinePeaks() issue #320. Changes in version 1.13 Changes in 1.13.8 - Add estimatePrecursorMz() function to estimate the precursor m/z for DDA fragment spectra from previous MS1 spectra issue #315. Changes in 1.13.7 - Move generics backendBpparam(), backendParallelFactor() and supportsSetBackend() to ProtGenerics. Required ProtGenerics version 1.35.4 or higher. Changes in 1.13.6 - Add filterRanges() and filterValues() functions to allow filtering of a Spectra object based on ranges or similarities of any existing spectraData variables. Changes in 1.13.5 - Move generics to ProtGenerics. Requires ProtGenerics version 1.35.3. Changes in 1.13.4 - Add entropy and nentropy functions to allow to calculate the (normalized) entropy for each spectrum. Changes in 1.13.3 - Fix issue in setBackend that might cause chunk-wise processing to be not run. Changes in 1.13.2 - Add possibility to enable and perform chunk-wise (parallel) processing to Spectra: add functions processingChunkSize, backendParallelFactor and processingChunkFactor to set or get definition of chunks for parallel processing. All functions working on peaks data use this mechanism which is implemented in the internal .peaksapply function. The Spectra object gains a new slot "processingChunkSize" that is used to define the size of the processing chunks for the Spectra. See also issue #304. This ensures processing also of very large data sets. Changes in 1.13.1 - Fix issue with bin function (see issue #302). Addition of zero.rm parameter to prevent creation of empty bins. Changes in version 1.11 Changes in 1.11.11 - Fix issue with filterFourierTransformArtefacts function (see issue #302). Thanks Adriano Rutz for reporting. Changes in 1.11.10 - peaksData,MsBackendMemory returns a data.frame if additional peak variables (in addition to "mz" and "intensity") are requested. For columns = c("mz", "intensity") (the default) a list of matrix is returned. - peaksData,Spectra returns either a matrix or data.frame and ensures the peak data is correctly subset based on the lazy evaluation processing queue. - $,Spectra to access peak variables ensures the lazy evaluation queue is applied prior to extracting the values. - applyProcessing correctly subsets and processes all peak variables depending on the processing queue. - spectraData<-,Spectra throws an error if processing queue is not empty and values for peaks variables should be replaced. - $<-,Spectra throws an error if processing queue is not empty and a peaks variable is going to be replaced. - Add full support for additional peaks variables to MsBackendDataFrame. Changes in 1.11.9 - Add filterPrecursorPeaks to allow filtering peaks within each spectrum with m/z values relative to the precursor m/z of the spectrum. Changes in 1.11.8 - Add an example to the vignette describing how spectral similarity scores from the msentropy package can be used with compareSpectra. Changes in 1.11.7 - Fix in compareSpectra to also pass parameters ppm and tolerance to the peak similarity calculation functions FUN: this allows to use custom similarity function with integrated mapping of peaks. - Add joinPeaksNone to skip the peak matching in compareSpectra if the similarity scoring function performs its own peak matching. - Only use parallel processing in setBackend,Spectra if both backends support it. Changes in 1.11.6 - Add filterPrecursorMaxIntensity function. - Add filterPrecursorIsotopes function. Changes in 1.11.5 - Add scalePeaks function (see issue #291). Changes in 1.11.4 - Import uniqueMsLevels from ProtGenerics. Changes in 1.11.3 - Rename combinePeaks for lists of peak matrices into combinePeaksData. - Add combinePeaks generics. - Add combinePeaks,Spectra to combine peaks within each spectrum in a Spectra. Changes in 1.11.2 - Add deisotopeSpectra and reduceSpectra functions. Changes in 1.11.1 - Add example for filtering precursor m/z peaks from fragment spectra to the vignette. Changes in version 1.9 Changes in 1.9.15 - Fix issue in MsBackendMemory failed to return intensity or m/z values when peaks data is empty. - Fix bug in filterPrecursorScan() (see #194 and PR #277). Changes in 1.9.14 - Fix issue with filterMzValues that would only keep (or remove) the first matching peak instead of all matching peaks (given ppm and tolerance). Issue #274. - Add parameter keep to filterMzRange to support keeping or removing matching peaks. Changes in 1.9.13 - Add the backendBpparam method that allows to evaluate whether a MsBackend supports the provided (or the default) BiocParallel-based parallel processing setup. - Minor tweaks in the internal .peaksapply function to avoid splitting/merging of data if not needed (e.g. if no parallel processing is performed). - Minor tweaks in spectra comparison functions to avoid repeated calling of functions in loops. Changes in 1.9.12 - Extend the list of available MsBackend backends provided by other packages (in the README and in the package vignette). Changes in 1.9.11 - Fix headers in MsBackend vignette. Changes in 1.9.10 - Add supportsSetBackend method for MsBackend to specify whether a backend supports setBackend,Spectra. - setBackend checks using supportsSetBackend whether a backend supports setBackend. Changes in 1.9.9 - Refactor setBackend to only split and merge backends if necessary and to not change dataOrigin of the original backend. - Support setBackend with MsBackendMemory for an empty Spectra object (issue #268). - Disable automatic detection of peak variables for MsBackendMemory (issue #269). - Fix issue in Spectra with empty character (issue #267). Changes in 1.9.8 - Address comments from Michele Stravs regarding the MsBackend vignette. - Add additional tests checking for MsBackend compliance. Changes in 1.9.7 - Add a vignette describing how to build a MsBackend from scratch (issue #262). - Extend unit test suite to evaluate validity of MsBackend implementations. Changes in 1.9.6 - Replace <= with between calls. Changes in 1.9.5 - Fix bug in containsMz() when mz isn't ordered (see #258). Changes in 1.9.4 - Fix error when extracting spectra variables from a MsBackendMzR of length 0. Changes in 1.9.3 - Add chunkapply function to split a Spectra into chunks and stepwise apply a function FUN to each. Changes in 1.9.2 - combineSpectra on Spectra with read-only backends change backend to an MsBackendMemory instead of an MsBackendDataFrame. Changes in 1.9.1 - Expand documentation on compareSpectra for GNPS-like similarity scoring. Changes in 1.9.0 - Bioconductor 3.17 developmental version. Changes in version 1.7 Changes in 1.7.5 - Force serial processing in some unit tests to avoid potential failures on some Bioconductor build and check servers (under some circumstances). Changes in 1.7.4 - Add MsBackendMemory backend class providing a more efficient in-memory data representation than MsBackendDataFrame. Changes in 1.7.3 - Import spectrapply from ProtGenerics. Changes in 1.7.2 - Fix setBackend if provided Spectra is empty. - backendInitialize,Spectra,MsBackendDataFrame returns a Spectra object with the full provided spectra data. Changes in 1.7.1 - Add uniqueMsLevels function to allow more efficient, backend-specific, implementations for retrieving unique MS levels from a data set. Changes in version 1.5 Changes in 1.5.20 - Add parameters ppm and tolerance to PrecursorMzParam (for neutral loss calculation) and add option filterPeaks = "removePrecursor". Changes in 1.5.19 - Improved the bin method. Changes in 1.5.18 - Set default for parameter columns in peaksData,Spectra and peaksData,MsBackend to c("mz", "intensity"). Changes in 1.5.17 - Add peaksVariables method and add parameter columns (or ...) to peaksData. - Add columns parameter to the peaksData method of MsBackendDataFrame, MsBackendMzR and MsBackendHdf5peaks. Changes in 1.5.16 - Fix issue in neutralLoss that would prevent calculation of neutral loss spectra if Changes in 1.5.15 - Fix typo in MZ delta plot title. Changes in 1.5.14 - Add coreSpectraVariables function to export the core spectra variables and their expected data types. Changes in 1.5.13 - Fix figure sizes in vignette. Changes in 1.5.12 - Add neutralLoss method and first algorithm to calculate neutral loss spectra. Changes in 1.5.11 - Fix neutral loss example in the vignette. Changes in 1.5.10 - Add citation. Changes in 1.5.9 - Add examples for combineSpectra to the vignette. Changes in 1.5.8 - Add spectraVariableMapping generic. Changes in 1.5.7 - Add missing export of the filterPrecursorMz method. Changes in 1.5.6 - Add filterPrecursorMzValue method which allows to filter using multiple precursor m/z values (issue #230). - Fix unit test suite. Changes in 1.5.5 - Add a testing framework allowing to run standardized unit tests for new MsBackend implementations (issue #186). Changes in 1.5.4 - Add the MsBackendCached backend. Changes in 1.5.3 - Only calculate number of peaks per spectra if the processing queue of the Spectra is not empty. Otherwise call the backend's implementation (issue MsBackendSql #31). Changes in 1.5.2 - Small documentation update (related to MsCoreUtils issue #87). - New countIdentifications() function. - Add filterFourierTransformArtefacts function to remove fast fourier artefact peaks seen on e.g. Orbitrap instruments (issue #223). Changes in 1.5.1 - Don't read header information when importing peaks matrix on macOS. Changes in version 1.3 Changes in 1.3.11 - Fix error message in setBackend (issue #217). Changes in 1.3.10 - Fix bug in plotSpectra and plotSpectraMirror that would cause an error if the number of peaks in a spectrum was 1 and labels were provided. Changes in 1.3.9 - New features: joinSpectraData() now check for duplicated keys in x (throws an error) and y (thows a warning). Changes in 1.3.8 - New features: plotMzDelta() function to M/Z delta QC (ported from MSnbase). Changes in 1.3.7 - Add fix from MSnbase (issue #170) to Spectra: on macOS require reading also the spectrum header before reading the peaks data. Changes in 1.3.6 - Documentation updates for combineSpectra and combinePeaks. Changes in 1.3.5 - filterMzValues supports also removing peaks matching specified m/z values (issue #209). Changes in 1.3.4 - Add list of additional R packages and repositories providing MsBackend backends to the vignette. Changes in 1.3.3 - Move generics for bin and compareSpectra to ProtGenerics. Changes in 1.3.2 - Add parameter f to filterPrecursorScan to fix issue #194. Changes in 1.3.1 - Add estimatePrecursorIntensity function (issue #202). Changes in version 1.1 Changes in 1.1.20 - Fix concatenating empty spectra (issue #200). Changes in 1.1.19 - New filterPrecursorCharge() method. Changes in 1.1.18 - Define plotSpectraMirror as a method. Changes in 1.1.17 - Fix issue #187. - Add function concatenateSpectra to allow concatenating Spectra objects and list of Spectra objects. Changes in 1.1.16 - Support arbitrary spectra variables to be passed to the functions provided/added with addProcessing; issue #182. Changes in 1.1.15 - Pass spectras' precursor m/z to the MAPFUN in compareSpectra; issue #171. - Add joinPeaksGnps to perform a peak matching between spectra similar to the one performed in GNPS (issue #171). Changes in 1.1.14 - Support plotting of empty spectra (issue 175). Changes in 1.1.13 - Move ProcessingStep to ProtGenerics. Changes in 1.1.12 - Fix show method for Spectra to list only the 3 most recent processing steps (issue 173). - Add processingLog function to display the log messages of all processing steps of a Spectra object. Changes in 1.1.11 - Add support for ... to pickPeaks and smooth (issue 168). Changes in 1.1.10 - Import filterIntensity from ProtGenerics. Changes in 1.1.9 - Fix label in plotSpectra. Changes in 1.1.8 - filterIntensity supports passing of additional parameters to the used filter function (issue 164). Changes in 1.1.7 - Fix bug in show,ProcessingStep (issue 162). Changes in 1.1.6 - New joinSpectraData() function. Changes in 1.1.5 - Add [[,Msbackend and [[<-,MsBackend methods (issue 149). - Add [[,Spectra and [[<-,Spectra methods. Changes in 1.1.4 - Fix issue with labelCol in plotSpectra (issue #157). Changes in 1.1.3 - Implement a generic Spectra,ANY constructor replacing Spectra,DataFrame and Spectra,character. Changes in 1.1.2 - Fix problem in export to mzML files that failed for empty spectra (issue #145) Changes in 1.1.1 - Round retention time in figure titles. - Document differences between spectrumId (spectrumID), acquisitionNum and scanIndex. Changes in 1.1.0 - New Bioc devel version Changes in version 0.99 Changes in 0.99.11 - Re-add mz and intensity as core spectra variables. Changes in 0.99.10 - Fix in spectraData<-,Spectra to avoid removing m/z and intensity values (issue #146). - Add default implementations of filter functions for MsBackend. Changes in 0.99.9 - Fix in Spectra,character constructor to ensure the backend is changed even if source inherits from backend (issue #143). Changes in 0.99.8 - combineSpectra applies data processing steps in the processing queue prior to combination (issue #140). Changes in 0.99.7 - Fix problem in dropNaSpectraVariables that would also drop m/z and intensity values for most backends (issue #138. Changes in 0.99.6 - Support intensity in filterIntensity method to be a function to enable peak intensity-based filtering of spectra (issue #126). Changes in 0.99.5 - Add filterMzRange and filterMzValues to filter spectra based on an m/z range or a list of target m/z values, respectively. Changes in 0.99.4 - Add export,MsBackendMzR to export spectra data to mzML or mzXML file(s). - Add an export,MsBackend method to allow backends to take care of data export. - Refactor export,Spectra to use the MsBackend class to export the data. - Change parameter source in Spectra,character to MsBackendMzR and set parameter backend = source. Thus by default, the import backend will also be used to store the data. Changes in 0.99.3 - Replace lapply,Spectra with spectrapply,Spectra. Changes in 0.99.2 - Replace asDataFrame,MsBackend with spectraData,MsBackend. - Replace asDataFrame<-,MsBackend with spectraData<-,MsBackend. - Replace as.list,MsBackend with peaksData,MsBackend. - Replace replaceList<-,MsBackend with peaksData<-,MsBackend. - Replace as.list,Spectra with peaksData,Spectra and add methods to coerce a Spectra to a list or SimpleList. Changes in 0.99.0 - Add reset method. - Add processing by chunk to compareSpectra.