NEWS
Spectra 1.23
Changes in 1.23.2
- Export the
MsBackendHdf5Peaks class.
Changes in 1.23.1
- Add support for
dataStorageBasePath() and dataStorageBasePath<- to
MsBackendHdf5Peaks.
Spectra 1.21
Change 1.21.8
- Small fixes in the unit test suite for
MsBackend implementations.
Change 1.21.7
- Add parameter
direction to shiftPeaks() allowing to define whether peaks
should be shifted left or right (default).
Change 1.21.6
- Add
shiftPeaks() function.
- Add parameter
onlyCore = FALSE to dropNaSpectraVariables().
Change 1.21.5
- Fix potential issue by introducing concatenation of
data.frames with
data.table::rbindlist() in version 1.21.3: new function
rbindlistWithRownames() added which uses rbindlist() but preserves also
the row names of the data.frames.
- Fix unit tests for
joinPeaksGnps() to follow recent updates in
MsCoreUtils.
Change 1.21.4
- Refactor
compareSpectra() to support spectra similarity functions returning
the similarity score and the number of peak pairs on which the score was
calculated. This allows to correctly report the number of peak pairs used by
e.g. the modified cosine (GNPS) similarity score. See also issue
#350.
Change 1.21.3
- Use
data.table::rbindlist() for merging of MsBackendMemory instances and
for backendInitialize() for MsBackendMzR. This adds data.table as a
dependency but improves performance for the above mentioned functionality.
- Fix bug in
fragmentGroupIndex() that would return the indices in a wrong
order.
Change 1.21.2
- Replace msdata with MsDataHub package.
Change 1.21.1
- Fix
precursorPurity() for empty spectra.
Spectra 1.19
Change 1.19.11
- Fix in
longForm() method for MsBackendMemory if only peaks variables are
extracted.
Change 1.19.10
- Add default implementation of methods for the
MsBackend class (issue
#338). This
reduced code redundancy in Spectra and simplifies implementation of new
MsBackend classes considerably.
Change 1.19.9
- Add implementations of
spectraVariableMapping() and
spectraVariableMapping<- for MsBackend and Spectra objects.
Change 1.19.8
- Add default implementations for
MsBackend for replacement methods
centroided<-, collisionEnergy<-, dataOrigin<-,
isolationWindowLowerMz<-, isolationWindowTargetMz<-,
isolationWindowUpperMz<-, msLevel<-, polarity<-, precursorMz<-,
rtime<- and smoothed<-. This reduces the amount of methods required to be
implemented for new MsBackend classes.
Change 1.19.7
- Add
longForm,MsBackend and longForm,Spectra methods (issue
#360).
Change 1.19.6
- Add a
precursorPurity() function.
Change 1.19.5
- Addition of
fragmentGroupIndex() function. This function generates a
integer index grouping MSn (MS level > 1) spectra with their corresponding
(unique) MS1 spectra based on acquisition order.
- Fix on
cbind2() so that the output is a Spectra object and not the
backend.
Change 1.19.4
- Fix passing of
BPPARAM parameter in peaksData() method for Spectra.
Now is being passed down to .peaksapply().
Change in 1.19.3
- Fix in
estimatePrecursorMz() that would ignore parameter BPPARAM.
Change in 1.19.2
- Fix export of data using
MsBackendMzR: save also the precursor scan number
for MSn data (spectra variable "precScanNum").
Change in 1.19.1
- Add
precScanNum() method for MsBackendCached.
Spectra 1.17
Change in 1.17.10
- Accept
labels argument as a list instead of a character in the
plotting functions.
Change in 1.17.9
- Allow parameter
msLevel. = integer() for filterRt() to filter spectra of
all MS levels. This was msLevel. = uniqueMsLevels(), which, depending
on the backend, can be computationally intense. Add related unit tests to
the unit test suite.
Change in 1.17.8
- Add parameter
return.type to peaksData().
Change in 1.17.7
- Add the
spectraVariableMapping<- generic method.
Change in 1.17.6
- Add new
fillCoreSpectraVariables() function that allows to add eventually
missing core spectra variables (with the correct data type) to a data frame.
Change in 1.17.5
- Move generics
processingChunkSize(), processingChunkFactor() and
applyproceesing() to ProtGenerics. Required ProtGenerics version
1.39.2 or higher. These were moved to be able to implement them in the
Chromatograms package.
Change in 1.17.4
- Import
extractByIndex() from ProtGenerics.
Change in 1.17.3
- Fix
cbind2() unit test for backends that fails if the number of spectra in
the tested backend is (by chance) equal to 4.
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.
Spectra 1.15
Changes in 1.15.13
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.
Spectra 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.
Spectra 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
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.
Spectra 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.
Spectra 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.
Spectra 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
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
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.
Spectra 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).
Spectra 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
Spectra 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.