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.
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):
If you want to run only one App:
go directly to the App and then execute it by clicking on “Execute”
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
If you want to run a small pipeline:
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.
create a new process
stage any dataset from our archive to your process (each process can only process data that is either staged or generated by other Apps)
select the App you want to run
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:
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)
Running: once a resource is free, your task will enter a queue for the resource and then start Running
Finished: the task has been completed, we can see the outputs files
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.
0 Comments