Skip to content

GWCustom/SushiRunner

Repository files navigation


Logo

SushiRunner

A Dash interface to submit Sushi applications via B-Fabric using SushiFabric and WorkflowManager.

Report Bug · Request Feature

Note: This project is built using the bfabric-web-apps library and was forked from the bfabric-web-app-template.


About

SushiRunner is a web-based interface for submitting Sushi applications using B-Fabric datasets as input. It bridges the B-Fabric LIMS system with the SushiFabric command-line interface and the WorkflowManager execution engine.

This app allows users to:

  • Load dataset metadata from B-Fabric
  • Configure Sushi application parameters through a Dash-based UI
  • Generate the required dataset.tsv and parameters.tsv files
  • Submit jobs to the Sushi infrastructure without needing to manually write scripts

This app is intended as a proof-of-concept, showcasing generalized support for Sushi-based execution workflows directly from the B-Fabric environment.


Key Features

  • Dash UI for selecting and configuring Sushi apps
  • Generic + app-specific parameter forms (RAM, cores, options, etc.)
  • TSV generation for Sushi input
  • Seamless B-Fabric authentication and dataset loading
  • Job submission via sushi_fabric (no Redis dependency)
  • Optional project charging and reporting integration

Workflow Overview

  1. User launches app from a B-Fabric dataset page
  2. Dataset metadata is automatically loaded
  3. User configures the job parameters
  4. dataset.tsv and parameters.tsv are generated
  5. sushi_fabric is invoked with the appropriate class and args
  6. WorkflowManager handles execution, monitoring, and completion emails
  7. Workunits and logs are updated in B-Fabric

Example Applications

Each Sushi app is defined as a standalone Dash module. For example:

  • FastqcApp supports:
    • Generic inputs: RAM, cores, partition, etc.
    • App-specific toggles: paired, showNativeReports, etc.
    • Table-based dataset preview
    • Dynamic job submission via run_main_job

Other supported applications follow a similar structure and can be added modularly.


Useful Resources


Built With


Quickstart

1. Clone the Repository

git clone https://github.com/GWCustom/SushiRunner.git
cd SushiRunner

2. Create and Activate a Virtual Environment

Using virtualenv (Linux/Mac):

python3 -m venv venv
source venv/bin/activate

Using virtualenv (Windows):

python -m venv venv
venv\Scripts\activate

Or using conda:

conda create -n sushi-runner pip
conda activate sushi-runner

3. Install Dependencies

pip install -r requirements.txt

4. Set Up .bfabricpy.yml

Create this file in your home directory (~/.bfabricpy.yml):

GENERAL:
  default_config: PRODUCTION

PRODUCTION:
  login: your_username
  password: your_password
  base_url: https://your-bfabric-api-endpoint

5. Run the App

python3 index.py

Visit http://localhost:8050 in your browser.


License

Distributed under the MIT License. See LICENSE for details.


Contact

GWC GmbH – GitHub
Griffin White – LinkedIn
Marc Zuber – LinkedIn

About

Application Wrapper for Running Sushi Applications via B-Fabric

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages