| Package | Version | Citation |
|---|---|---|
| archive | 1.1.12 | Hester and Csárdi (2025) |
| base | 4.5.2 | R Core Team (2025) |
| BiocManager | 1.30.27 | Morgan and Ramos (2025) |
| BiocParallel | 1.44.0 | Wang et al. (2025) |
| BiocVersion | 3.22.0 | Morgan (2025) |
| docopt | 0.7.2 | de Jonge (2025) |
| DT | 0.34.0 | Xie et al. (2025) |
| fs | 1.6.6 | Hester, Wickham, and Csárdi (2025) |
| gt | 1.1.0 | Iannone et al. (2025) |
| httr2 | 1.2.1 | Wickham (2025) |
| igraph | 2.2.1 | Csárdi and Nepusz (2006); Antonov et al. (2023); Csárdi et al. (2025) |
| IRanges | 2.44.0 | Lawrence et al. (2013) |
| knitr | 1.50 | Xie (2014); Xie (2015); Xie (2025) |
| logger | 0.4.1 | Daróczi and Wickham (2025) |
| MetaboCoreUtils | 1.18.0 | Rainer et al. (2022a) |
| MsBackendMgf | 1.18.0 | Gatto, Rainer, and Gibb (2025) |
| MsBackendMsp | 1.14.0 | Rainer et al. (2022b) |
| MsCoreUtils | 1.21.0 | Rainer et al. (2022c) |
| msentropy | 0.1.4 | Li (2023) |
| reticulate | 1.44.1 | Ushey, Allaire, and Tang (2025) |
| rmarkdown | 2.30 | Xie, Allaire, and Grolemund (2018); Xie, Dervieux, and Riederer (2020); Allaire et al. (2025) |
| rotl | 3.1.0 | Michonneau, Brown, and Winter (2016); OpenTreeOfLife et al. (2019) |
| shiny | 1.11.1 | Chang et al. (2025) |
| shinybusy | 0.3.3 | Meyer and Perrier (2024) |
| shinyhelper | 0.3.2 | Mason-Thom (2019) |
| shinyjs | 2.1.0 | Attali (2021) |
| shinytest2 | 0.4.1 | Schloerke (2025) |
| shinyvalidate | 0.1.3 | Sievert, Iannone, and Cheng (2023) |
| shinyWidgets | 0.9.0 | Perrier, Meyer, and Granjon (2025) |
| Spectra | 1.19.11 | Rainer et al. (2022d) |
| stringi | 1.8.7 | Gagolewski (2022) |
| targets | 1.11.4 | Landau (2021) |
| testthat | 3.3.0 | Wickham (2011) |
| tidyfst | 1.8.2 | Huang and Zhao (2020) |
| tidyselect | 1.2.1 | Henry and Wickham (2024) |
| tidytable | 0.11.2 | Fairbanks (2024) |
| tidyverse | 2.0.0 | Wickham et al. (2019) |
| tima | 2.12.0 | Rutz et al. (2019); Rutz and Allard (2025) |
| visNetwork | 2.1.4 | Almende B.V. and Contributors and Thieurmel (2025) |
| withr | 3.0.2 | Hester et al. (2024) |
| yaml | 2.3.10 | Garbett et al. (2024) |
tima 
The initial work is available at https://doi.org/10.3389/fpls.2019.01329, with many improvements made since then. The workflow is illustrated below.
This repository contains everything needed to perform Taxonomically Informed Metabolite Annotation.
Requirements
Minimum Required Files
Here is what you minimally need:
- Feature quantification table (.csv/.tsv) - Peak areas/heights across samples (example)
- Must contain: feature ID, retention time, m/z, and sample intensity columns
- Column names are customizable
- MS/MS spectra file (.mgf) - Fragment spectra for each or some features (example)
- Sample metadata (.csv/.tsv) - Links samples to organisms (example)
- Optional if analyzing only a single organism
Optional Additions
- Structure-organism pairs library - We provide LOTUS (>650k pairs) as default
- External annotations - SIRIUS (v5/v6), GNPS-FBMN results
- Custom spectral libraries - For in-house compound matching
Tip: All column names and file paths are customizable through the Shiny app interface or YAML/CLI parameters - no need to rename your files!
Installation
As the package is not (yet) available on CRAN, you will need to install with:
install.packages(
"tima",
repos = c(
"https://taxonomicallyinformedannotation.r-universe.dev",
"https://bioc.r-universe.dev",
"https://cloud.r-project.org"
)
)Then, you should be able to install the rest with:
tima::install()Normally, everything you need should then be installed (as tested in here). If for some reason, some packages were not installed, try to install them manually. To avoid such issues, we offer a containerized version (see Docker).
Once installed, you are ready to go through our documentation, with the major steps detailed.
In case you do not have your data ready, you can obtain some example data using:
tima::get_example_files()Once you are done, you can open a small GUI to adapt your parameters and launch your job:
tima::run_app()This command will open a small app in your default browser.
Docker
A container is also available, together with a small compose file. Main commands are below:
docker pull adafede/tima-r
# docker build . -t adafede/tima-rdocker run --user tima-user -v "$(pwd)/.tima/data:/home/tima-user/.tima/data" -p 3838:3838 adafede/tima-r Rscript -e "tima::run_app()"
# docker run --user tima-user -v "$(pwd)/.tima/data:/home/tima-user/.tima/data" adafede/tima-r Rscript -e "tima::tima_full()"Main Citations
According to which steps you used, please give credit to the authors of the tools/resources used.
TIMA
General: https://doi.org/10.3389/fpls.2019.01329
⚠️ Do not forget to cite which version you used: https://doi.org/10.5281/zenodo.5797920
LOTUS
General: https://doi.org/10.7554/eLife.70780
⚠️ Do not forget to cite which version you used: https://doi.org/10.5281/zenodo.5794106
ISDB
General: https://doi.org/10.1021/acs.analchem.5b04804
⚠️ Do not forget to cite which version you used: https://doi.org/10.5281/zenodo.5607185
GNPS
General: https://doi.org/10.1038/nbt.3597
SIRIUS
General: https://doi.org/10.1038/s41592-019-0344-8
- CSI:FingerId: https://doi.org/10.1073/pnas.1509788112
- ZODIAC: https://doi.org/10.1038/s42256-020-00234-6
- CANOPUS: https://doi.org/10.1038/s41587-020-0740-8
- COSMIC: https://doi.org/10.1038/s41587-021-01045-9
Others
- ECMDB 2.0: https://doi.org/10.1093/nar/gkv1060
- HMDB 5.0: https://doi.org/10.1093/nar/gkab1062
- MassBank: https://doi.org/10.5281/zenodo.3378723
- Merlin: https://doi.org/10.5281/zenodo.13911806
- NPClassifier: https://doi.org/10.1021/acs.jnatprod.1c00399


