Skip to contents

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 steps 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.

Use

Each step is detailed in the related vignettes.

All coming steps admit you already cloned the repository and went to its root:

git clone https://github.com/taxonomicallyinformedannotation/tima-r.git
cd tima-r

We now recommend you to read the next vignette.