This is a collaborative space. In order to contribute, send an email to maximilien.chaumon@icm-institute.org
On any page, type the letter L on your keyboard to add a "Label" to the page, which will make search easier.

How to run an App on Brainlife

Once your App is registered on Brainlife, the next step is to run it on Brainlife. As specified in How to register an App on Brainlife, at first the App is private (i.e. linked to a private project, only members of this project can view and execute this App).

The steps to run an App are presented more precisely in Brainlife documentation: data processing and processes.

 

Run the App

There are two ways to run an App depending on if you run only one App or if you run small pipelines (e.g. a series of Apps):

  1. If you want to run only one App:

    1. go directly to the App and then execute it by clicking on “Execute”

    2. BL creates a new process in the selected project, stages all of the input files you selected, and submits your App in a single step

  2. If you want to run a small pipeline:

    1. go to the page of the project linked to the App and then go the tab “Processes”

      A Process is where you can submit one or a group of Apps that can share input/output datasets.

    2. create a new process

    3. stage any dataset from our Archive to your process (each process can only process data that is either staged or generated by other Apps)

    4. select the App you want to run

    5. click submit

For an App to run, you need to have resources. Ask Soichi to assign you some resources or register your own resource. See How to register a resource on Brainlife.

 

Results of the App

Once resources have been assigned to your App, you can run it. Your task will go through different statuses:

  1. Requested: the task waits to be assigned to a resource (if there are a lot of tasks running on Brainlife at the same time, it may take several minutes)

  2. Running: once a resource is free, your task will enter a queue for the resource and then start Running

  3. Finished: the task has been completed, we can see the outputs files

  4. Failed: an error occurred, see the error.log in Output for details

If you have created a product.json, messages will be displayed directly in the Brainlife UI. For instance in the screenshot below, the success message “MaxFilter was applied successfully” was displayed (see product.json).

No need to catch errors in the product.json, errors will be displayed anyway (see screenshot below).

See also output.log for details displayed when the App was running.

 

Process several subjects in a raw

When you run an App by executing it directly (see 1.) or via the “Processes” tab (see 2.), you can submit only one subject at a time. This is great at first, when you are developing and testing your App, but once you find the optimal set of Apps, you would probably want to run it across many subjects and submitting them one by one is simply not a good option. So BL allows you to setup a series of submission rules called “pipeline rules” (see BL documentation).

 

Archive

Archive is where the data is stored. It is possible to upload your own data or import existing data from the Dataset page on Brainlife (see How to upload data on Brainlife)

Before actually running your App, the data must be staged out of archive and shipped to various computing ressources. Once this step is completed, your App can run on this data.

By default, any data generated by the App will not be archived back unless you manually request it.