![]()
theme_uplots() to unify the layout of plot functions.enhanced VK colour mapping and Plotly conversion.
Strengthened robustness of uplot_vk() when z_var is missing or not numeric.
.normalize_column_aliases()
Removed deprecated internal utilities (e.g. wcsv()).
download_library() now follows CRAN rules for downloading external data. calc_norm_int() always recalculates n_occurrence and n_assignments,
the argument ms_id is passed to calc_number_assignments().calc_norm_int(): Fixed a corrupt message when using verbose = TRUE.This version is the first submission to CRAN.
filter_mf_data: The select_file_ids argument is deprecated.msg is depricated and replaced verbose.add_known_mf now only adds a single column (categories) to mfdcheck_peaklist was renamed as as_peaklist and now allows the import of
external peaklists from e.g. csv-files. UME's large molecular formula libraries (15–125 MB) are now hosted on Zenodo (https://doi.org/10.5281/zenodo.17606457) for open and persistent access.
lib_02.rds: medium-sized balanced librarylib_05.rds: extended high-coverage library (default)These library objects are now S3 class objects.
download_library(), allows users to download and load molecular formula libraries from Zenodo:overwrite = TRUEdata.table.f_label() looks for pretty labels in the table ume::nice_labels_dt.uplot_cluster() now returns a list object with cluster and mds results and figures.uplot_pca() now returns a list object that includes a plotly PCA figure.main_doc.R.msg() for handling messages (verbose).ume_vignette.pdf added to repository and can be accessed via gitlab readme.classify_files() to automatically group files into
categories (e.g., blanks, standards, pools, samples) based on pattern rules.
The function is fully flexible: both the search column and the returned ID
column can be specified by the user.calc_norm_int(): Normalization via "sum_rank" fixed so that the sum
is always based on the exact number of argument n_rank.normalize_verbose() to standardize message
control across functions.
Both verbose (preferred) and the legacy msg argument are supported.
If both are provided, verbose takes precedence and a warning is issued.msg is now deprecated in favor of verbose.
Existing code using msg will continue to work but may trigger a warning.This version introduces a new nomenclature. All columns carrying information on isotopes are now named according to the official IUPAC nomenclature to avoid ambiguities.
For example, the column 'c' that contains the number of atoms of 12C is now called '12C' (capital "C"!).
This had implications for the entire ume data pipeline.
Functions such as check_mfd(), check_formula_library(), and check_peaklist()
can now help to enforce the new nomenclature.
calc_recalibrate_ms.R() now expects a filename (file). The new argument
insufficient_calibrants (valid argument values: "extrapolate", "remove_spectrum")
handles spectra, in which no calibrant masses were identified. The argument value "extrapolate"
takes the median of calibration slope and intercept for all spectra that could be calibrated
with at least two masses and uses these values to calibrate the spectra that showed no
calibration masses. The argument value "remove_spectrum" deletes all peaks of those spectra for
which no calibrant masses were identified. get_isotope_info() is now a fundamental function that identifies element / isotope
information in any table. It returns the original names of the isotope columns of the table
and related IUPAC information on the isotope. identify_isotope_columns() is depricated and merged into get_isotope_info().add_known_mf() now provides a column that contains all category labels.
In future versions separate columns for each category (such as "CRAM") will be depricated.assign_formulas(): pl (peaklist) can now also be a numeric mass vector
or a single mass.
For numeric input, a minimal peaklist is constructed internally. The result
data.table is now returned visibly (before: return(invisible(mfd))). The consistency
of the numeric peaklist is now checked by the function check- _peaklist().check_peaklist() now allows manual assignment of the column names containing the
mass spectrum filename, file identifier (numeric column), the m/z values, and peak magnitude.
The columns will be renamed according to the internal naming of these column in ume. check_mfd() and check_formula_library() now enforce the new isotope nomenclature.calc_data_summary(), calc_eval_params(), calc_norm_int(), calc_recalibrate(),
convert_molecular_formula_to_data_table(), create_custom_formula_library(), eval_isotopes(),
eval_isotopes(), order_columns(), filter functions, and plotting functions were all modified
to match the new isotope nomenclature.calc_data_summary(): hard-coded conversion of i_magnitude column to data type numeric.calc_dbe() now stops if the valence of an element in the formula is not provide.
Function modified to match new isotope nomenclature.convert_data_table_to_molecular_formulas has a new argument keep_element_sums
that provides columns for the count of atoms for each element
(sum of isotope counts such as 'C_tot'). Function modified to match new isotope nomenclature.assign_formulas() that was introduced in version 1.2.1
(April 7 2025).convert_molecular_formula_to_data_table: nominal mass (nm) is now also returned.calc_exact_mass: Now returns a single numeric vector. If mfd is a
character value, it is interpreted as a molecular formula and evaluated:calc_exact_mass("C2H4") returns 28.031300129.calc_nm: Now always returns a single numeric vector. If mfd is a
character value, it is interpreted as a molecular formula and evaluated:calc_nm("C2H4") returns 28.uplot_ms(): the column specified by the argument label is now internally
converted by as.factor().ume::peaklist_demo: integer column file_id added
(to be consistent with changes in version 0.2.4.
Column file now contains the names of the MS spectra.
Columns m_min, m_max, and m were removed because they can be
calculated using calc_neutral_mass() and calc_ma_abs().
Other:
assign_formulas(): The arguments memory_efficient (FALSE / TRUE) and
chunk_n (number of peaks in each chunk) allow processing in chunks to be
more memory efficient. remove_blanks(): if a column for retention time is detected or provided
(via the ret_time_col argument), blanks will be removed only for a given
retention time and not for the entire spectrum.
The argument LCMS is deprecated.main_docu.R updated.- `calc_recalibrate_ms()`: argument `formula_library` was removed.
The calibration is now only based on lists of molecular formulas provided
either by `calibr_list` or by `custom_calibr_list`.
- `assign_formulas()` is now much faster for small libraries (n<=10 entries),
because the peaklist is pre-filtered before matching with the library.
- `identify_isotope_columns()`: column names "sn" and "sc" are explicitly
excluded to avoid confusions with element names.
identify_isotope_columns(): Apply this function to a data.table
to identify columns that have element or isotope information.convert_data_table_to_molecular_formulas(): Create molecular formula strings
for a table that has element or isotope information.create_ume_formula_library() completely renovated.
The function now excepts any element and isotope by providing two molecular
formulas for the upper and lower limit of each isotope in the final library.
Functions calc_dbe(), calc_nm(), calc_exact_mass() now consider all
element and isotopes and a flexible usage of spelling.
main_docu() documents arguments that occur in
many ume functions (@inheritParams main_docu).convert_molecular_formula_to_data_table() is now fundamentally faster,
recognizes isotopes in a formula (square brackets), and also returns
the exact mass of a formula. The function can now be used to build
small custom formula libraries.assign_formulas() now checks if all required function arguments are available.uplot_cluster() now supports custom column names.- `uplot_cluster()`: Cluster + NMDS function added: `uplot_cluster()`
- `uplot_pca()`:
- `uplot_ms()`: Revised and a `data_reduction` argument was added
to accelerate plotting.
- `uplot_ratios()`: For comparing peak intensities of molecular formulas
between two spectra.
- `uplot_cvm()`: new
- `uplot_freq()`: new
- `uplot_freq_ma()`: new
- `uplot_freq_vs_ppm()`: new
- `uplot_hc_vs_m()`: new
- `uplot_heteroatoms()`: new
- `uplot_isotope_precision()`: update
- `uplot_kmd()`: new
- `uplot_layout()`: new
- `uplot_lcms()`: update
- `uplot_ma_vs_mz()`: new
- `uplot_n_mf_per_sample()`: new
- `uplot_pca()`: new
- `uplot_ratios()`: new
- `uplot_reproducibility()`: new
- `uplot_ri_vs_sample()`: new
- `uplot_vk()`: update
- `uplot_ppm_average()`: new
- `uplot_dbe_vs_o()`: new
- `uplot_dbe_vs_c()`: new
- `uplot_dbe_vs_ppm()`: new
- `uplot_dbe_minus_o()`: new
- `ustats_outlier()`: moved from `stats.R`
xml2 has been removed as a dependency. It is only required for
the function read_xml_peaklist(), which now checks for the xml2 package
installation specifically.known_mf updated to UTF-8 encoding.assign_formulas() and check_formula_library()
are now returned invisibly. calc_neutral_mass(): now takes a vector as function argument.remove_blanks(): There was an error for LC data.assign_formulas() adapted for formula libraries containing only one formula
(e.g. when assigning the post-column standard in LCMS)calc_recalibrate_ms() adapted for formula libraries containing only
one formula (e.g. when assigning the post-column standard in LCMS)ume:::extract_metadata_from_ufz_files()check_formula_library()calc_recalibrate_ms() udated because of changes in calc_neutral_mass()add_known_mf() improved if a molecular formula column
is not existing in the source table mfd.add_missing_element_columns()assign_formulas()read_xml_files(). Default folder_path
now is NULL, which opens a dialogue box for folder selection.extract_metadata_from_UFZ_files().
Default folder_path now is NULL, which opens a dialogue box
for folder selection.calc_db() error handling updated and argument element_names added,
which handles the style of element / isotope symbols
("lower case" (default) / "upper case")extract_metadata_from_UFZ_files()This version now includes unit tests.
Following versions will allow that functions can be applied to single values
and vectors in tables.
- Updates for calc_ma() and calc_ma_abs():
- checks added in functions
- unit tests added
- application of functions now
- Dependencies DT and pander removed from package.
create_custom_formula_library())search_for_mf_target())eval_isotopes(): Provide warning, if there is no isotope information available in molecular formula data.convert_molecular_formulas()read_xml_peaklist()search_for_mf_target()ume::known_mf that indicates photo-
and biodegradation (Seibt, 2017; PhD thesis)calc_recalibrate_ms() now allows for
customized formula lists as reference for calibration.calc_shannon_index(), calc_simpson_index(), calc_pielou_eveness()).data.table::foverlap(), which doubles the speed of formula assignment.process_orbi_data() that reads scans
from a list of mzML files and assigns formulas to each scan.create_ume_formula_library() updatedChanges in calibration procedure (calc_recalibrate_ms.R):\
calibr_list was extended by "E_coli_metabolome" for the calibration of metabolome samples
Mass accuracy plot (uplot.freq_ma in plot.R):\
bug fix: calculation of median and quantile mass accuracies now ignores missing values.
Updates in documentation
calc_eval_params.R: AI will only be calculated for molecular formulas
in which C > O + N + P calc_data_summary.R: wa(AI) is now calculated
from intensity weighted average element numbers.calc_recalibrate_ms.R: At least 5 calibrants must now be detected
in an analyses for recalibration. Otherwise the respective analysis (file_id)
will be removed from the recalibration peaklist.NEWS.md file to track changes to the package.assign_formulas_new.R that is more memory
efficient and faster (now based on data.table::foverlap())file_id now ALWAYS has to be numeric.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.