Rabix Executor folder structure

The folder structure that is created upon execution depends on the kind of app you are executing. The structure will differ if you are running:

  • command line tool
  • workflow
  • workflow in which app(s) have Scatter enabled on their input ports.

The base directory for each execution is located in the same directory as the CWL input files and is named according to the <APP-DATETIME> pattern. The APP part is the base name of the app’s JSON file (excludes the .json extension), while DATETIME is the date and time of execution in the yyyyMMddhhmmssSSS format, for example: dna2protein.cwl-20170404111033894.

Command line tool

When executing a command line tool, the structure of files and folders resulting from the execution will be as shown below:

Folder structure - tool

The first directory that is created within the execution directory is named after the APP-DATETIME pattern described above, and it has a subdirectory named root. Since you are executing a command line tool, all files resulting from the execution will be placed directly inside the <APP-DATETIME>/root directory.

Workflow

When executing a workflow, the first directory that is created within the execution directory is named after the APP-DATETIME pattern. Within this directory, there will be a subdirectory named root. Each tool that is present in the workflow will have its own subdirectory within the root directory, as shown below:

Folder structure - workflow

The app subdirectories will be, again, named according to the APP-DATETIME pattern, for each app that is specified in the app CWL file.

Workflow in which an app has Scatter set up on one of its input ports

Scatter can be enabled on a tool’s input port in order to parallelize processing of each file from a file list that is provided on that input port. Namely, when Scatter is enabled, the tool iterates over the files provided on the scattered input, while the rest of the inputs remain fixed. Learn more about Scatter.

In terms of folder structure, when Scatter is enabled on an input port, the working directory of the tool that contains the input port will have several subdirectories - each subdirectory corresponding to the one input file on the scattered input port.

Folder structure - scatter

top