knitr::opts_chunk$set(echo = TRUE,
                      collapse = TRUE,
                      comment = "#>")
BiocStyle::markdown()

Introduction

This vignette aims to describe how to use the workflow ui to process a dataset. The goal is not to describe the different data processing tools available in prostar but to explain the behaviour of the user interface of what we call 'Prostar core'.

As explained in xxx, Prostar implements two different levels of data processing tools:

One timeline is used to navigate within each of these levels. They have mostly the same behaviour

In Prostar, two timelines are used to navigate

Specifications

When the class Pipeline is instantiated, there is no dataset loaded yet. The two timelines are shown and all their bullets are disabled (as the screens). Thus, the user can navigate on all the tools. In general, when a step is disabled, the user can show the corresponding screen but cannot interact with input widgets.

Common behaviour

The next and previous are always enabled whenever the steps are disabled, except in two situations:

When the user clicks on the previous/next buttons, the current screen change.

A few rules form the basis of the workflow engine:

Definition of a pipeline

A pipeline is defined by a list of data processing tools in association with a tag indicating if the step is mandatory or not. The first step of each level is always a description one which explains the algorithms implemented in the tool and how to use it.

Status of the steps

Each step of a given level can have different status. It may be:

Timeline color code :

Plain green circle indicates a validated step. When the colors are transparent, it means that the corresponding step is disabled: all inputs and the reset button are disabled.

Datasets

At the beginning, no dataset is loaded in the core engine. When the user loads one, it is injected in the core engine. By default, the steps receive a NULL value for the dataset. A dataset is loaded in a step only when the user is showing it.

However, if the user go to a disabled step in the pipeline level, the dataset is not loaded.

Validating a step

Once validated, a step is disabled and stay in this state until it is reseted. Thus, the value of all parameters are kept event if the user navigates to other steps.

Node level (pipeline)

At a node level (pipeline), each time a step is validated, the corresponding dataset is returned to Prostar. This allows the user to stop an analysis at any time without loosing its work.

Leaf level (data processing tools)

At a leaf level (data processing tools), the resulting dataset is returned only when the last step (named 'Validation') is validated. In this case, the engine does not keep intermediate datasets. Here, the datasets are returned to the upper level which is the pipeline.

Reseting a step

Skipping a step

A step is skipped when it has not been validated and a further one is validated. Thus, the status of a step with indice i is set to 'skipped' only when a step with indice j > i is validated. Each skipped step is disabled and if it is a node step (a data processing tool in the pipeline timeline), then all the subsequent steps of the processing tool are also tagged as 'skipped' and disabled, event the 'Reset' button.

Navigating through a level

WHen the user navigates in the timelines, the steps previously validated are kept in the state they have when they have been validated

By default, when no dataset has been loaded yet, all the steps are disabled



samWieczorek/Prostar.2.0 documentation built on Dec. 4, 2022, 11:53 a.m.