test-install_mdrb.R so the test
also works on r-universe machines.deconvolute()
instead of generate_lorentz_curves().find_peaks() that sometimes caused the
borders of a peak to be chosen suboptimally. The new implementation is
also about 100 times faster.TODOS.md and
ARCHIVE.md from the package documentation, as these files
were removed with v1.5.1.check_mdrb_deps()
example, as it can take longer than 5 seconds on some systems.TODOS.md and ARCHIVE.md from the
package.generate_lorentz_curves()install_mdrb(). Installation is now done from
R Universe instead of Github, allowing installation of pre-compiled
binaries, which is way faster.verbose to
check_mdrb_deps().spectra objects
to plot_spectra(). Previously, only deconvoluted spectra
were accepted, i.e. objects of class decons0,
decons1 or decons2.align(). Integrals are now calculated as
A * pi, representing the area under the Lorentzian curve as
an improper integral, rather than being bounded by the signal range as a
definite integral. That’s faster and more accurate.deconvolute() in
interactive modeget_si_mat() for extracting a matrix of
aligned signal integrals from aligns objectsget_ppm_range(),
gen_feat_mat(), speaq_align(),
combine_peaks(), dohCluster(),
calculate_lorentz_curves,
generate_lorentz_curves() and
generate_lorentz_curves_sim().aaa_Get_Started entry in Manualverbose from FALSE to
TRUE for function align() and
deconvolute().install_deps to align(). If
non-CRAN dependencies required by align() are missing and
install_deps is TRUE, these dependencies are now installed
automatically. If install_deps is NULL (default), the user
is asked interactively for confirmation before attempting the
install.get_started() and
metabodecon-package to manualplot_spectrum() default margins.deconvolute(): SFR and WSHW
are now both shown as rectangles instead of lines.install_mdrb() exampleGet_Started articleGet_Started article as vignette within the
packageuse_rust option to deconvolute(). If
use_rust is TRUE, the deconvolution is done using the
implementation from Rust package metabodecon-rust.
Using the Rust backend requires R package mdrb (Metabodecon Rust
Backend) to be installed first. For this purpose the following
additional functions are provided:
install_mdrb(): Installs mdrbcheck_mdrb(): Checks whether a suitable version of mdrb
is already installedcheck_mdrb_deps(): Checks whether all required system
dependencies of mdrb are installedalign(). The new implementation is faster and
returns more information. In particular, the chemical shifts of the
aligned peaks centers as well as the superposition of the aligned peaks
are returned.speaq_align()
and combine_peaks().draw_spectrum():
bt_text, lt_text,
tp_text and rt_text to
plot_spectrum() to allow for full control over the text
labels at the plot margins.sf_vert to plot_spectrum()
to allow configuration of the height of the vertical lines drawn at the
peak centers.MetaboDecon1D() that caused argument
file_path to be interpreted as a relative path, even if it
was an absolute path.read_spectrum() that caused argument
raw to not be passed on to
read_jcampdx().Finished the following tasks.
read_spectra()plot_spectrum()deconvolute_blood()-License,
+Timestamps)generate_lorentz_curves()MetaboDecon1D()
callscalc_prarp()API:
generate_lorentz_curves() that caused
the function to always use file format “bruker”, even when file format
“jcampdx” was specified.Datasets:
Bood_<nr> to blood_<nr>).example_datasets/jcampdx/urine/urine.dx to
example_datasets/jcampdx/urine/urine_1.dx and renamed
example_datasets/bruker/urine/urine/ to
example_datasets/bruker/urine/urine_1/. This was done
because list.files seems to return different orderings for
urine.dx and urine_2.dx in different operating
systems, whereas urine_1.dx and urine_2.dx are
sorted the same way everywhere. This makes it easier to write clear and
concise test cases, because we don’t need to check for file
ordering.Documentation:
Testing:
generate_lorentz_curves().tests/testthat/test-generate_lorentz_curves-[1-4].R.generate_lorentz_curves_v2() to
DESCRIPTION/Config/testthat/start-first.example_datasets (sample urine was renamed to
urine_1, as mentioned in above in section
Datasets)Internal:
%||%, msg() and
msgf to R/util.R.range_water_signal_ppm and
signal_free_region to returned list of function
deconvolute_spectrum.with now prints error messages to stderr even
if the message stream is redirected.deconvolution() from
R/MetaboDecon1D.R to R/main_v2.R as
.deconvolute_spectrum.deconvolution.download_example_datasets(). Argument
overwrite is passed correctly on to
cache_example_datasets().xds$url from
https://github.com/spang-lab/metabodecon/releases/download/v1.0.2/example_datasets.zip
to
https://github.com/spang-lab/metabodecon/releases/download/v1.1.0/example_datasets.zip.cache_example_datasets(). Extraction now only
is done if extract == TRUE AND the resulting folder does
not yet exist (saves approx. 2-3s on each call). To overwrite a possible
existing folder, argument overwrite can be set to
TRUE.test_helpers.R.lintrAPI:
download_example_datasets() by adding
caching and making it more stableget_data_dir() with
datadir() and its helper functions
datadir_persistent(), datadir_temp() and
tempdirget_data_dir() is now deprecated in favour of
datadir()Documentation:
Datasets:
misc/datasets to
misc/example_datasetsmisc/examples/usage_example.R to
misc/code_examples/sage_example.RInternal:
check_package.Rutil.R to
datadir.RgrDevices, stats and
utils as internal importsR/test_helpers.Rgenerate_lorentz_curves_v2() which will
replace generate_lorentz_curves() as soon as we have new
features AND 100% backwards compatibilitywith() that caused
get_datadir_mock() to be called after redirection took
place causing unexpected message outputdatadir() that caused the resulting path
to end with a slash on Unix-like systems and without a slash on Windows,
if file was not specifiedRUN_SLOW_TESTS is now set to TRUE for the CI
pipelineAPI:
get_data_dir() to accept "blood"
as new value for parameter dataset_namedownload_example_datasets() to download the
datasets from the github repo instead of the old spang-lab repoDocumentation:
README.md as it’s a bit
overkill for approx. 50 lines of textInternal:
MetaboDecon1Ddocs folder to .gitignore. Reason:
we changed all vignettes to pkgdown articles which will be displayed
only at our Github Pages website and can be regenerated from folder
vignettes upon deployment.TODOS.md and added it to
.Rbuildignore (Update 2025-09-14: TODOS are no longer
tracked in TODOS.md, but outside of the repository. To
retrieve the last actively maintained version of TODOS.md,
checkout commit 8b1f61b, i.e., v1.5.0.).gitignoreCONTRIBUTE.md (instead a section within
README.md is used)