eemR can use user-defined function to import eems data.
A new argument
import_function in the
eem_read() function can be used to provide a custom functio
to read a speficic eem file format.
## Bracking changes
Because of the major change of
eem_read(), existing code
will brake. The user still can uses the old importing functions by
specifying the spectrofluorometer to use as follows:
eem_read(file, import_function = "cary"
eem_read(file, import_function = "aqualog"
eem_read(file, import_function = "shimadzu"
eem_read(file, import_function = "fluoromax4"
eem_peaks()to extract user-defined fluorescence peaks (#42).
Improved plot visualization to the same look and feel as those produced in Matlab with DrEEM.
Use file name as is for the name of the eem.
Reading Cary Eclipse files is more robust at detecting correct excitation wavelengths.
eemR can now read Fluoromax-4 files (#40).
eem_cut() gains a logical argument
TRUE, only wavelengths matching
ex will be removed. If
FALSE, all wavelengths in the range of
ex will be removed.
Taking into account cuvette size to calculate the 1.5 threshold proposed by Kothawala when correcting for IFE.
Inner-filter effect correction factors are now corrected correctly. Because fluorescence is assumed to be measured in 1 cm cuvette, absorbance is now expressed per centimeter.
Better guessing the number of columns of the fluorescence matrix produced by Cary Eclipse software.
Fixed many typos.
eem_extract() is now more intuitive to use.
remove argument has been replace by
TRUE, the specified samples will be returned. If
FALSE, they will be removed (#37).
eem_cut() now removes specified wavelengths instead
of keeping them.
eem_cut() gains an argument
TRUE fluorescence at
specified wavelengths will be replaced with
NA instead of
File structure is now kept when performing inner-filter effect correction (#35).
Now using viridis space colors for plotting EEMs instead of color jet.
eem_remove_scattering() no longer
tolower absorbance names and will assume that the provided
absorbance spectra match exactly EEM’s names.
Fixing a bug that prevented the interactive plot to work properly.
print(x) now return a
data frame containing summarized information on EEMs contained in
eem_remove_blank() will average blank EEMs if more than one
are provided or found in the folder (#23).
eem_inner_filter_effect() will now verify if the correction
has been already performed. If so, an unmodified EEM will be
eem_raman_normalisation() now interpolates blank EEM
to ensure that em at 350 and excitation between 371 and 428 exist
eem_raman_normalisation() will now keep blank samples when
automatic correction is used. When automatic correction is used, the
untransformed blank sample will be keep in the list.
An error will now occur if trying to perform blank correction after Raman normalization.
Interactive plot using a simple shiny app. Using
plot(eems, interactive = TRUE) will lunch a shiny app that
allows to interactively browse EEMs contained in
A vignette has been added to the package which can be viewed
vignette(topic = "introduction", package = "eemR").
An error will occur if one try to do raman normalization on a blank where scattering bands have been removed.
eem_sample_names() has been replaced by
Reading Aqualog files is now ~20% faster (#26).
plot() gains an argument
show_peaks = TRUE/FALSE which can be used to display most
common fluorescence peaks used in the literature.
eem_raman_normalisation() can now try to implicitly use a
blank eem from a
eemlist object (#20). If blank is omitted
blank = NA), the functions will try to extract the blank
eemlist object. This is done by looking for sample
names containing one of these complete or partial strings (ignoring
case): - “nano” - “miliq” - “milliq” - “mq” - “blank”
Consider the following example where there are two folders that could
represent scans performed on two different days
scans_day_2. In each folder there are three samples and
one blank files. In that context,
use the blank
sample3.csv. The same strategy
will be used for files in folder
scans_day_2 but with blank
inst/extdata/cary/ ├── scans_day_1 │ ├── nano.csv │ ├── sample1.csv │ ├── sample2.csv │ └── sample3.csv └── scans_day_2 ├── blank.csv └── s1.csv
eem_extract() has now an argument
verbose (default = FALSE) that determine if the names of
removed or extracted eems should be printed on screen.
Implemented the generic
print() method which calls
Added tests to the packages to verify metrics.
Now better estimate the number of columns to read in Cary Eclipse files (#27). This also makes reading much faster.
Sample names are now exported when using the
eem_bind() implemented to merge objects
Reading EEMs should be ~ 50% faster.
eem_sample_names(eem)returns a vector containing the sample names of all EEMs.
eem_sample_names(eem) <- c(...)sets the sample names of all EEMs.
eem_extract() has now an argument
ignore_case (#10) to specify if the regular expression
search should ignore sample name case (TRUE) or not (FALSE).
Sample names (i.e. file names) are now verified with
Various improvements in documentation.