HF, CF2, CF2O, CF3, CHF2,
C2F2, C2F4, C3F6, CF2O, C2F3O)SO2, SO3)xenobiotic
(Q409205)annotate_masses modifier defaults so clusters and solvents are
now single lists (no mode split), and threaded the flat schema through
prepare_params(), the Shiny app, CLI parsing, and the annotation targetscreate_edges_spectra() to build
community-aware edge graphs from the full spectral similarity network using
weighted Louvain/Leiden-style clustering, retain isolated features, and avoid
the old threshold-based edge filtering path.build_components_from_edges() as a public helper for reusable
community detection and removed stale edge-threshold settings from the
advanced parameter configuration.MS1 adduct annotation improvements in annotate_masses():
delta_error_da,
delta_error_ppm, edge_match_score) in pairwise matching to weight edges
by mass accuracy[M-H2O] on a formula lacking oxygen)Adduct canonicalization alignment:
adduct_to_string()) and text harmonization
(canonicalize_adduct_notation())[M-H2O+H]+,
[M+H2O+H]+, [M+NaCl+K]+)[M-H5NO+H4N]+ -> [M-H2O+H]+, [M-H3N+C2H7N+H4N]+ -> [M+C2H7N+H]+) to
reduce duplicated/over-complex carrier notationElectron-mass correctness in legacy neutral-mass math:
calculate_mass_of_m(), calculate_mz_from_mass(), and
calculate_mass_of_m_batch() now apply signed electron-mass correction
(z * m_e) consistentlyELECTRON_MASS_DALTONS = 0.000548579909065) and reused it as
ELECTRON_MASS_DAMetadata enrichment cache robustness:
complement_metadata_structures() reference cache now keys on both file
path and file modification time, preventing stale cache reuse when
temporary/updated reference files are rewritten during the same R sessionCross-stage adduct coupling (MS1 ↔ MS2 ↔ reranking):
sanitize_spectra(): cutoff parameter now defaults to NULL (dynamic)
instead of 0annotate_spectra() / create_edges_spectra(): the misspelled qutoff
parameter is deprecated; use cutoff insteadinstall() is deprecated in favor of install_tima()validate_install_inputs() no longer accepts a test parametershow_system_messages() no longer accepts a test parameterR.utils moved from Imports to SuggestsAdded full mzTab-M support across import, preparation, and export:
read_mztab() imports mzTab-M into TIMA feature/spectra/metadata filesprepare_annotations_mztab() maps mzTab structural annotations to TIMA
schemawrite_mztab() exports TIMA weighted annotations to mzTab-M (including
merge mode)Added mzTab-M validation hardening with schema-backed required columns and strict SME checks
annotate_spectra() now reports forward and reverse dot product scores
(candidate_score_similarity_forward, candidate_score_similarity_reverse)
alongside the main similarity score. Forward considers only query peaks
(normalized by all query and matched library intensities); reverse considers
only library peaks (normalized by matched query and all library intensities).
Both are computed in C for consistency with the GNPS scoring engine.
Added support for additional NPClassifier and ClassyFire taxonomy caches in
prepare_libraries_sop_merged(), allowing structures missing taxonomy in the
merged libraries to be enriched from external cache files. Caches grow over
time as library entries are written back.
Added a new validation helper, see https://taxonomicallyinformedannotation.github.io/tima/vignettes/articles/0-validating.html
Added BiGG as SOP library
Added basic isotopologues handling
Added external identifiers to the final results (#142)
Added NORMAN SUSPECT LIST DATA in silico spectral libraries
Added multiple new sub-libraries and a new tag column
Added mzmine annotation support
Added Sirius spectral results support
Added special "Biota" superdomain handling for shared core metabolism
annotate_masses() now enforces graph-level adduct consistency across
connected edge hypotheses (removing globally impossible combinations while
preserving consistent exotic states) and canonicalizes adduct states by
parsed/net summed modifications so reordered loss/cluster text forms are
treated as equivalent
Enhanced sanitize_spectra() with adaptive noise filtering:
cutoff = NULL)cli::cli_abort() in exported functionsifelse() in format_bytes() with findInterval()1:n patterns to use seq_len() for safetysplit_tables_sop() collapsing numerically identical exact masses into
"mass1 $ mass2" strings due to clean_collapse() treating them as different
character values; now uses resolve_numeric_or_na() with floating-point
tolerancestr_met) table: xlogp is
stereo-sensitive (Crippen atom-typing can differ between stereoisomers), so it
is no longer collapsed by inchikey_no_stereo; the per-SMILES value computed
by process_smiles() in the annotation pipeline is used insteadcli::cli_inform()2025.10v7.RDS spectra are now stored more efficiently. To avoid errors, delete any
.RDS files created before version 2.12.0tima_full() has been deprecated in favor of run_tima()4.4.0 (and related Bioconductor dependencies)RDKit-based structures processing through reticulate (#19)logger (#189)Suggests[M+H]+/[M]+logger with lgr for covr compatibilitypkgdown to altdoc2025.05.1SIRIUS feature tables support (#185).rar compression support for SIRIUS workspaces (#186)CompoundDb dependency as it was causing too many issuespak install and switched to r-universeSpectra equivalents (#166)base::lapply to purrr::mapoldrelusethis updatepkgdown 2.1.0.2024.06$HOME/.timashinytest2targets 1.5.1, will invalidate previous targets)perl=TRUE or fixed=TRUE2023.11data/source (#89)retry parameter to get_organism_taxonomy_ott/params and paths.yaml to /inst as more standard. (see
https://r-pkgs.org/misc.html#other-directories)extdata loading