Engine dedicated to Raman spectroscopic data processing
Source:R/class_Engine_RamanEngine.R
RamanEngine.RdThe RamanEngine R6 class is a framework for parsing, processing, inspecting and storing Raman spectroscopic data. The engine has Raman as data type. The Analyses active field has class RamanAnalyses, where Raman data can be loaded from "asc", "sif", "json", "wdf", "sdf", "csv" and "txt" files. The results active field is a list that can hold the class RamanResults_Spectra. Note that the RamanEngine is a subclass of Engine and inherits all methods from the parent class.
References
Sheehy G, Picot F, Dallaire F, Ember K, Nguyen T, Petrecca K, Trudel D, Leblond F (2023). “Open-sourced Raman spectroscopy data processing package implementing a baseline removal algorithm validated from multiple datasets acquired in human tissue and biofluids.” Journal of Biomedical Optics, 28(2), 025002. doi:10.1117/1.JBO.28.2.025002 .
See also
Engine for the parent class.
Super class
StreamFind::Engine -> RamanEngine
Active bindings
RamanResults_SpectraRamanResults_Spectraresults object for each analysis or replicate.
Methods
Inherited methods
StreamFind::Engine$clear_cache()StreamFind::Engine$clear_results()StreamFind::Engine$get_cache_info()StreamFind::Engine$get_cache_size()StreamFind::Engine$has_analyses()StreamFind::Engine$has_results()StreamFind::Engine$load()StreamFind::Engine$print()StreamFind::Engine$run()StreamFind::Engine$run_app()StreamFind::Engine$run_workflow()StreamFind::Engine$save()
Method new()
Creates an R6 class RamanEngine. Child of Engine R6 class.
Usage
RamanEngine$new(metadata = NULL, workflow = NULL, analyses = NULL)Arguments
metadataA named list or a
Metadataobject. Each list element must have length one. There is no type restrictions except for name (must be type character), author (must be type character) and date (must be class POSIXct or POSIXt). A file entry must be a character string with a full path to a file.workflowA
Workflowobject, a list ofProcessingStepobjects or a character string with a full path to a rds or json file containing aWorkflow.analysesA RamanAnalyses class object or a
character vectorwith full file paths to "asc", "sif", "json", "wdf", "sdf", "csv" and/or "txt" raman files or adata.framewith colnamesfile,replicateandblank. The "replicate" column is used to group the analyses and the "blank" column is used to identify the blank samples. The "file" column is the full to the raman files.
Method get_spectra()
Gets a list of spectra data.table objects for each analysis/replicate.
Usage
RamanEngine$get_spectra(
analyses = NULL,
targets = NULL,
rt = NULL,
shift = NULL,
minIntensity = NULL,
useRawData = FALSE
)Arguments
analysesCharacter or numeric vector with names or indexes of analyses in the
Analysesobject.targetsA
charactervector with the names of the targets (i.e., group or id) to filter the spectra by.rtNumeric of length two with the minimum and maximum retention time, in seconds.
shiftNumeric of length two with the minimum and maximum shift, in cm-1.
minIntensityNumeric (length 1) with the minimum intensity.
useRawDataLogical of length one. Set to
TRUEfor parsing raw data not data in results/processed.
Method get_spectra_matrix()
Gets a matrix with spectra.
Usage
RamanEngine$get_spectra_matrix(
analyses = NULL,
targets = NULL,
rt = NULL,
shift = NULL,
minIntensity = NULL,
useRawData = FALSE
)Arguments
analysesCharacter or numeric vector with names or indexes of analyses in the
Analysesobject.targetsA
charactervector with the names of the targets (i.e., group or id) to filter the spectra by.rtNumeric of length two with the minimum and maximum retention time, in seconds.
shiftNumeric of length two with the minimum and maximum shift, in cm-1.
minIntensityNumeric (length 1) with the minimum intensity.
useRawDataLogical of length one. Set to
TRUEfor parsing raw data not data in results/processed.
Method add_analyses()
Adds analyses to the engine from Raman files. Note that when adding new files, any existing results are removed.
Method plot_spectra()
Plots spectra.
Usage
RamanEngine$plot_spectra(
analyses = NULL,
targets = NULL,
rt = NULL,
shift = NULL,
minIntensity = NULL,
useRawData = FALSE,
xLab = NULL,
yLab = NULL,
title = NULL,
colorBy = "analyses",
interactive = TRUE,
renderEngine = "webgl"
)Arguments
analysesCharacter or numeric vector with names or indexes of analyses in the
Analysesobject.targetsA
charactervector with the names of the targets (i.e., group or id) to filter the spectra by.rtNumeric of length two with the minimum and maximum retention time, in seconds.
shiftNumeric of length two with the minimum and maximum shift, in cm-1.
minIntensityNumeric (length 1) with the minimum intensity.
useRawDataLogical of length one. Set to
TRUEfor parsing raw data not data in results/processed.xLabA string with the title for the x axis.
yLabA string with the title for the y axis.
titleA string with the title.
colorByA string defining how to legend the plot. Possible values are
analyses,targets(the default) orreplicates.interactiveLogical (length 1). When
TRUE, the data is plotted interactively using plotly.renderEngineThe engine to render the data. The default is "webgl".
Method plot_spectra_3d()
Plots spectra in 3D, when a time dimension is available.
Usage
RamanEngine$plot_spectra_3d(
analyses = NULL,
targets = NULL,
rt = NULL,
shift = NULL,
minIntensity = NULL,
useRawData = FALSE,
legendNames = TRUE,
colorBy = "analyses",
xLab = NULL,
yLab = NULL,
zLab = NULL,
renderEngine = "webgl"
)Arguments
analysesCharacter or numeric vector with names or indexes of analyses in the
Analysesobject.targetsA
charactervector with the names of the targets (i.e., group or id) to filter the spectra by.rtNumeric of length two with the minimum and maximum retention time, in seconds.
shiftNumeric of length two with the minimum and maximum shift, in cm-1.
minIntensityNumeric (length 1) with the minimum intensity.
useRawDataLogical of length one. Set to
TRUEfor parsing raw data not data in results/processed.legendNamesA character vector with the same length as the targets or
TRUEorFALSEfor using the name in the added targets as legend of the plot.colorByA string defining how to legend the plot. Possible values are
analyses,targets(the default) orreplicates.xLabA string with the title for the x axis.
yLabA string with the title for the y axis.
zLabCharacter (length 1). The label for the z-axis.
renderEngineThe engine to render the data. The default is "webgl".
Method plot_spectra_baseline()
Plots the spectra baseline correction.
Usage
RamanEngine$plot_spectra_baseline(
analyses = NULL,
targets = NULL,
rt = NULL,
shift = NULL,
minIntensity = NULL,
xLab = NULL,
yLab = NULL,
title = NULL,
colorBy = "analyses",
interactive = TRUE,
renderEngine = "webgl"
)Arguments
analysesCharacter or numeric vector with names or indexes of analyses in the
Analysesobject.targetsA
charactervector with the names of the targets (i.e., group or id) to filter the spectra by.rtNumeric of length two with the minimum and maximum retention time, in seconds.
shiftNumeric of length two with the minimum and maximum shift, in cm-1.
minIntensityNumeric (length 1) with the minimum intensity.
xLabA string with the title for the x axis.
yLabA string with the title for the y axis.
titleA string with the title.
colorByA string defining how to legend the plot. Possible values are
analyses,targets(the default) orreplicates.interactiveLogical (length 1). When
TRUE, the data is plotted interactively using plotly.renderEngineThe engine to render the data. The default is "webgl".
Method plot_chromatograms()
Plots chromatograms from each analysis/replicates by applying a cumulative sum of the spectrum signals for each time unit.
Usage
RamanEngine$plot_chromatograms(
analyses = NULL,
targets = NULL,
rt = NULL,
shift = NULL,
minIntensity = NULL,
useRawData = FALSE,
xLab = NULL,
yLab = NULL,
title = NULL,
colorBy = "analyses",
interactive = TRUE,
renderEngine = "webgl"
)Arguments
analysesCharacter or numeric vector with names or indexes of analyses in the
Analysesobject.targetsA
charactervector with the names of the targets (i.e., group or id) to filter the spectra by.rtNumeric of length two with the minimum and maximum retention time, in seconds.
shiftNumeric of length two with the minimum and maximum shift, in cm-1.
minIntensityNumeric (length 1) with the minimum intensity.
useRawDataLogical of length one. Set to
TRUEfor parsing raw data not data in results/processed.xLabA string with the title for the x axis.
yLabA string with the title for the y axis.
titleA string with the title.
colorByA string defining how to legend the plot. Possible values are
analyses,targets(the default) orreplicates.interactiveLogical (length 1). When
TRUE, the data is plotted interactively using plotly.renderEngineThe engine to render the data. The default is "webgl".
Method plot_chromatograms_peaks()
Plots peaks from chromatograms.
Usage
RamanEngine$plot_chromatograms_peaks(
analyses = NULL,
targets = NULL,
rt = NULL,
title = NULL,
legendNames = TRUE,
colorBy = "targets",
xLab = NULL,
yLab = NULL,
interactive = TRUE,
renderEngine = "webgl"
)Arguments
analysesCharacter or numeric vector with names or indexes of analyses in the
Analysesobject.targetsA
charactervector with the names of the targets (i.e., group or id) to filter the spectra by.rtNumeric of length two with the minimum and maximum retention time, in seconds.
titleA string with the title.
legendNamesA character vector with the same length as the targets or
TRUEorFALSEfor using the name in the added targets as legend of the plot.colorByA string defining how to legend the plot. Possible values are
analyses,targets(the default) orreplicates.xLabA string with the title for the x axis.
yLabA string with the title for the y axis.
interactiveLogical (length 1). When
TRUE, the data is plotted interactively using plotly.renderEngineThe engine to render the data. The default is "webgl".