Nothing
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)Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.