Sapporo is an implementation of Workflow Execution Service (WES) or so-called Workflow-as-a-Service.
A hands-on introduction of Sapporo is available here: Sapporo - Getting Started
This guides you to:
- deploy the API server
sapporo-service
on your local computer - use
curl
command to request a workflow run from CUI - use the browser-based GUI
sapporo-web
to request a workflow run on your localsapporo-service
Sapporo has two independent components, sapporo-service
, and sapporo-web
.
GitHub - sapporo-wes/sapporo-service
Sapporo-service is an implementation of the Global Alliance for Genomics and Health (GA4GH) Workflow Execution Service API specification. Sapporo-service is a lightweight API server that receives a request from users and runs a workflow via the workflow runner selected by the user.
GitHub - sapporo-wes/sapporo-web
Sapporo-web is a browser-based GUI to manage workflows that run on a WES server. To run a workflow, users do the following three steps, (1) Register a WES server to run workflows, (2) Register a workflow definition file, (3) input parameters. Sapporo-web fetches workflow definition files from publicly available URLs.
DNA Data Bank of Japan (DDBJ) has maintained a shared computing cluster for over 10 years. The demand that we often asked by the users is to share the tools and the workflows among the other users with ease. Every user has, however, different preferences for programming languages to implement their tool, or workflow platform and languages to bundle their analysis pipelines, which causes barriers for others to reuse.
We design Sapporo as a top layer over the tools, the workflow languages, and the workflow runners to abstract the way to execute a workflow run. This allows users to reuse the resources without learning a new framework. One who usually writes Common Workflow Language (CWL) does not need to learn nextflow to run a workflow from the great public resource nf-core, or one who prefers snakemake does not need to learn how to run a CWL workflow to use a tool from Common Workflow Library.
Another benefit from deploying Sapporo is liberation from ssh
to a server: it should sound fantastic especially for admins of shared computing infrastructure. Users will need to prepare the tools and compose their workflow, then throw them to the server to run. It enables an abstraction of computing resources that encourages the hybrid use of on-premise and cloud computing.
The development of sapporo is supported by DDBJ. We thank the members of the two user groups, the pitagora network and the workflow meetup Japan. This work is partially supported by the CREST program of the Japan Science and Technology Agency (grant No. JPMJCR1501) and JSPS KAKENHI Grant Numbers 20J22439.
Apache-2.0. See the LICENSE.
Please note that this repository is participating in a study into sustainability of open source projects. Data will be gathered about this repository for approximately the next 12 months, starting from 2021-06-16.
Data collected will include number of contributors, number of PRs, time taken to close/merge these PRs, and issues closed.
For more information, please visit our informational page or download our participant information sheet.