knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
knitr::opts_knit$set(root.dir = system.file(package = "tima"))
library("tima")

This vignette describes the philosophy behind the infrastructure of TIMA.

Philosophy

Our main goals were flexibility and reproducibility.

Flexibility

To ensure flexibility, we tried to split the process in as much tiny parts as needed. So you can decide whether to skip an optional part, add your own processing, etc. We tried to cover most use cases, but of course they are not exhaustive. If you feel like something useful to other users is missing, please fill an issue.

Reproducibility

After some time using TIMA, you will probably wonder: "What was the parameters I used to generate this file?" ... Or a collaborator might ask you to share your data and parameters. Writing them down each time might be time-consuming and not really in line with modern computational approaches. Therefore, we chose to implement all parameters of all steps (almost...) as YAML files. They are human-readable and can be used in batches. If you do not like YAML, parameters of each step can also be given as command line arguments. They will then be saved as YAML you will be able to share.

To ensure optimal reproducibility and avoiding re-computing endlessly steps that did not change, we decided to build a {targets} pipeline. Each step of the whole pipeline will be described next.

library(targets)
Sys.setenv(TAR_WARN = "false")
targets::tar_visnetwork(
  names = starts_with("ann"),
  exclude = c(
    tidyselect::contains("benchmark"),
    tidyselect::contains("par_"),
    tidyselect::contains("gnps"),
    tidyselect::contains("input"),
    tidyselect::contains("paths"),
    tidyselect::contains("_is"),
    tidyselect::contains("_exp"),
    tidyselect::contains("library_sop_lotus"),
    tidyselect::contains("library_sop_closed")
  ),
  targets_only = TRUE,
  degree_from = 8
)

Use

Each step is detailed in the related vignettes.

All coming steps admit you already installed tima:

install.packages(
  "tima",
  repos = c(
    "https://taxonomicallyinformedannotation.r-universe.dev",
    "https://bioc.r-universe.dev",
    "https://cloud.r-project.org"
  )
)
tima::install()
tima::get_example_files()

We now recommend you to read the first vignette.

tl;dr

If you do not feel like going through all the steps, then just do 🚀:

tima::run_app()

If you do not even need a GUI ☠️:

tima::tima_full()

In case you just want to change some small parameters between jobs, a convenience function is available:

tima::change_params_small(
  fil_pat = "myExamplePattern",
  fil_fea_raw = "myExampleDir/myExampleFeatures.csv",
  fil_met_raw = "myExampleDir2SomeWhereElse/myOptionalMetadata.tsv",
  fil_sir_raw = "myExampleDir3/myAwesomeSiriusProject.zip",
  fil_spe_raw = "myBeautifulSpectra.mgf",
  ms_pol = "pos",
  org_tax = "Gentiana lutea",
  hig_con = TRUE,
  summarise = FALSE
)


taxonomicallyinformedannotation/tima-r documentation built on Nov. 20, 2024, 4:34 a.m.