- Add
precursorMz<-
method issue #336.
- Add generic
backendRequiredSpectraVariables()
to allow definition of mandatory spectra variables for a backend.
- Add reference to
MsBackendMetaboLights
.
- Add new
extractSpectra()
generic and implementation forMsBackend
. Fixes issue #5.
- Restructure and reorganize documentation for
Spectra
.
- Refactor the
Spectra()
constructor method: better support for initialization of backends that define their own specific parameters.
- Change
estimatePrecursorIntensity()
to a method to avoid overrides/clashes with the same-named implementation in xcms.
- Fix in
selectSpectraVariables()
forMsBackendMzR
: ensure peaks variables"mz"
and"intensity"
are not by default removed.
- Add new
filterPeaksRanges()
function to filter mass peaks by ranges on numeric spectra or peak variables.
- 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 longDataFrame
.
- Add
dataStorageDataPath()
anddataStorageDataPath<-
methods to allow updating/adapting the path of the data storage files of backends supporting that issue #321.
- Improve documentation for
combineSpectra()
andcombinePeaks()
issue #320.
- Add
estimatePrecursorMz()
function to estimate the precursor m/z for DDA fragment spectra from previous MS1 spectra issue #315.
- Move generics
backendBpparam()
,backendParallelFactor()
andsupportsSetBackend()
to ProtGenerics. Required ProtGenerics version 1.35.4 or higher.
- Add
filterRanges()
andfilterValues()
functions to allow filtering of a Spectra object based on ranges or similarities of any existingspectraData
variables.
- Move generics to
ProtGenerics
. RequiresProtGenerics
version 1.35.3.
- Add
entropy
andnentropy
functions to allow to calculate the (normalized) entropy for each spectrum.
- Fix issue in
setBackend
that might cause chunk-wise processing to be not run.
- Add possibility to enable and perform chunk-wise (parallel) processing to
Spectra
: add functionsprocessingChunkSize
,backendParallelFactor
andprocessingChunkFactor
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. TheSpectra
object gains a new slot"processingChunkSize"
that is used to define the size of the processing chunks for theSpectra
. See also issue #304. This ensures processing also of very large data sets.
- Fix issue with
bin
function (see issue #302). Addition ofzero.rm
parameter to prevent creation of empty bins.
- Fix issue with
filterFourierTransformArtefacts
function (see issue #302). Thanks Adriano Rutz for reporting.
peaksData,MsBackendMemory
returns adata.frame
if additional peak variables (in addition to"mz"
and"intensity"
) are requested. Forcolumns = c("mz", "intensity")
(the default) alist
ofmatrix
is returned.peaksData,Spectra
returns either amatrix
ordata.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
.
- Add
filterPrecursorPeaks
to allow filtering peaks within each spectrum with m/z values relative to the precursor m/z of the spectrum.
- Add an example to the vignette describing how spectral similarity scores from
the msentropy package can be used with
compareSpectra
.
- Fix in
compareSpectra
to also pass parametersppm
andtolerance
to the peak similarity calculation functionsFUN
: this allows to use custom similarity function with integrated mapping of peaks. - Add
joinPeaksNone
to skip the peak matching incompareSpectra
if the similarity scoring function performs its own peak matching. - Only use parallel processing in
setBackend,Spectra
if both backends support it.
- Add
filterPrecursorMaxIntensity
function. - Add
filterPrecursorIsotopes
function.
- Add
scalePeaks
function (see issue #291).
- Import
uniqueMsLevels
fromProtGenerics
.
- Rename
combinePeaks
for lists of peak matrices intocombinePeaksData
. - Add
combinePeaks
generics. - Add
combinePeaks,Spectra
to combine peaks within each spectrum in aSpectra
.
- Add
deisotopeSpectra
andreduceSpectra
functions.
- Add example for filtering precursor m/z peaks from fragment spectra to the vignette.
- 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).
- Fix issue with
filterMzValues
that would only keep (or remove) the first matching peak instead of all matching peaks (givenppm
andtolerance
). Issue #274. - Add parameter
keep
tofilterMzRange
to support keeping or removing matching peaks.
- Add the
backendBpparam
method that allows to evaluate whether aMsBackend
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.
- Extend the list of available
MsBackend
backends provided by other packages (in the README and in the package vignette).
- Fix headers in
MsBackend
vignette.
- Add
supportsSetBackend
method forMsBackend
to specify whether a backend supportssetBackend,Spectra
. setBackend
checks usingsupportsSetBackend
whether a backend supportssetBackend
.
- Refactor
setBackend
to only split and merge backends if necessary and to not changedataOrigin
of the original backend. - Support
setBackend
withMsBackendMemory
for an emptySpectra
object (issue #268). - Disable automatic detection of peak variables for
MsBackendMemory
(issue #269). - Fix issue in
Spectra
with emptycharacter
(issue #267).
- Address comments from Michele Stravs regarding the
MsBackend
vignette. - Add additional tests checking for
MsBackend
compliance.
- Add a vignette describing how to build a
MsBackend
from scratch (issue #262). - Extend unit test suite to evaluate validity of
MsBackend
implementations.
- Replace
<=
withbetween
calls.
- Fix bug in
containsMz()
whenmz
isn't ordered (see #258).
- Fix error when extracting spectra variables from a
MsBackendMzR
of length 0.
- Add
chunkapply
function to split aSpectra
into chunks and stepwise apply a functionFUN
to each.
combineSpectra
onSpectra
with read-only backends change backend to anMsBackendMemory
instead of anMsBackendDataFrame
.
- Expand documentation on
compareSpectra
for GNPS-like similarity scoring.
- Bioconductor 3.17 developmental version.
- Force serial processing in some unit tests to avoid potential failures on some Bioconductor build and check servers (under some circumstances).
- Add
MsBackendMemory
backend class providing a more efficient in-memory data representation thanMsBackendDataFrame
.
- Import
spectrapply
fromProtGenerics
.
- Fix
setBackend
if providedSpectra
is empty. backendInitialize,Spectra,MsBackendDataFrame
returns aSpectra
object with the full provided spectra data.
- Add
uniqueMsLevels
function to allow more efficient, backend-specific, implementations for retrieving unique MS levels from a data set.
- Add parameters
ppm
andtolerance
toPrecursorMzParam
(for neutral loss calculation) and add optionfilterPeaks = "removePrecursor"
.
- Improved the
bin
method.
- Set default for parameter
columns
inpeaksData,Spectra
andpeaksData,MsBackend
toc("mz", "intensity")
.
- Add
peaksVariables
method and add parametercolumns
(or...
) topeaksData
. - Add
columns
parameter to thepeaksData
method ofMsBackendDataFrame
,MsBackendMzR
andMsBackendHdf5peaks
.
- Fix issue in
neutralLoss
that would prevent calculation of neutral loss spectra if
- Fix typo in MZ delta plot title.
- Add
coreSpectraVariables
function to export the core spectra variables and their expected data types.
- Fix figure sizes in vignette.
- Add
neutralLoss
method and first algorithm to calculate neutral loss spectra.
- Fix neutral loss example in the vignette.
- Add citation.
- Add examples for
combineSpectra
to the vignette.
- Add
spectraVariableMapping
generic.
- Add missing export of the
filterPrecursorMz
method.
- Add
filterPrecursorMzValue
method which allows to filter using multiple precursor m/z values (issue #230). - Fix unit test suite.
- Add a testing framework allowing to run standardized unit tests for
new
MsBackend
implementations (issue #186).
- Add the
MsBackendCached
backend.
- 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).
- 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).
- Don't read header information when importing peaks matrix on macOS.
- Fix error message in
setBackend
(issue #217).
- Fix bug in
plotSpectra
andplotSpectraMirror
that would cause an error if the number of peaks in a spectrum was 1 and labels were provided.
- New features:
joinSpectraData()
now check for duplicated keys inx
(throws an error) andy
(thows a warning).
- New features:
plotMzDelta()
function to M/Z delta QC (ported from MSnbase).
- Add fix from
MSnbase
(issue #170) toSpectra
: on macOS require reading also the spectrum header before reading the peaks data.
- Documentation updates for
combineSpectra
andcombinePeaks
.
filterMzValues
supports also removing peaks matching specified m/z values (issue #209).
- Add list of additional R packages and repositories providing
MsBackend
backends to the vignette.
- Move generics for
bin
andcompareSpectra
toProtGenerics
.
- Add parameter
f
tofilterPrecursorScan
to fix issue #194.
- Add
estimatePrecursorIntensity
function (issue #202).
- Fix concatenating empty spectra (issue #200).
- New
filterPrecursorCharge()
method.
- Define
plotSpectraMirror
as a method.
- Fix issue #187.
- Add function
concatenateSpectra
to allow concatenatingSpectra
objects and list ofSpectra
objects.
- Support arbitrary spectra variables to be passed to the functions
provided/added with
addProcessing
; issue #182.
- Pass spectras' precursor m/z to the
MAPFUN
incompareSpectra
; issue #171. - Add
joinPeaksGnps
to perform a peak matching between spectra similar to the one performed in GNPS (issue #171).
- Support plotting of empty spectra (issue 175).
- Move
ProcessingStep
toProtGenerics
.
- Fix
show
method forSpectra
to list only the 3 most recent processing steps (issue 173). - Add
processingLog
function to display the log messages of all processing steps of aSpectra
object.
- Add support for
...
topickPeaks
andsmooth
(issue 168).
- Import
filterIntensity
fromProtGenerics
.
- Fix label in
plotSpectra
.
filterIntensity
supports passing of additional parameters to the used filter function (issue 164).
- Fix bug in
show,ProcessingStep
(issue 162).
- New
joinSpectraData()
function.
- Add
[[,Msbackend
and[[<-,MsBackend
methods (issue 149). - Add
[[,Spectra
and[[<-,Spectra
methods.
- Fix issue with
labelCol
inplotSpectra
(issue #157).
- Implement a generic
Spectra,ANY
constructor replacingSpectra,DataFrame
andSpectra,character
.
- Fix problem in export to mzML files that failed for empty spectra (issue #145)
- Round retention time in figure titles.
- Document differences between
spectrumId
(spectrumID
),acquisitionNum
andscanIndex
.
- New Bioc devel version
- Re-add
mz
andintensity
as core spectra variables.
- Fix in
spectraData<-,Spectra
to avoid removing m/z and intensity values (issue #146). - Add default implementations of filter functions for
MsBackend
.
- Fix in
Spectra,character
constructor to ensure the backend is changed even ifsource
inherits frombackend
(issue #143).
combineSpectra
applies data processing steps in the processing queue prior to combination (issue #140).
- Fix problem in
dropNaSpectraVariables
that would also drop m/z and intensity values for most backends (issue #138.
- Support
intensity
infilterIntensity
method to be a function to enable peak intensity-based filtering of spectra (issue #126).
- Add
filterMzRange
andfilterMzValues
to filter spectra based on an m/z range or a list of target m/z values, respectively.
- 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 theMsBackend
class to export the data. - Change parameter
source
inSpectra,character
toMsBackendMzR
and set parameterbackend = source
. Thus by default, the import backend will also be used to store the data.
- Replace
lapply,Spectra
withspectrapply,Spectra
.
- Replace
asDataFrame,MsBackend
withspectraData,MsBackend
. - Replace
asDataFrame<-,MsBackend
withspectraData<-,MsBackend
. - Replace
as.list,MsBackend
withpeaksData,MsBackend
. - Replace
replaceList<-,MsBackend
withpeaksData<-,MsBackend
. - Replace
as.list,Spectra
withpeaksData,Spectra
and add methods to coerce aSpectra
to alist
orSimpleList
.
- Add
reset
method. - Add processing by chunk to
compareSpectra
.