This document represents our latest SDK version 2.0.
Note that from 2016 onwards, we will not support the creation of any new tools using SDK version 1.0 of the Seven Bridges SDK.
Please use SDK version 2.0, as documented on this page, for full support.
You can put tools that you have developed yourself onto Seven Bridges Platform for on demand access to the Platform's computational resources and large data repositories.
The Software Development Kit (SDK) allows you to wrap your tools so that they can be executed on the Platform. This is done in a way that renders the tools fully portable, by first installing them inside Docker containers and then describing their behavior in accordance with the Common Workflow Language.
This means that there is no need to reconfigure your existing command line tools to meet any proprietary format, or write a wrapper for them. Additionally, the tools remain runnable across a diverse range of infrastructures should you want to use them on different platforms.
You can use Docker to build and run Docker containers containing your tools, along with their dependencies. Then, you can push snapshots of these containers, called images, to the Seven Bridges Platform Image Registry, which is housed on our computational platform, or to Docker hub – Docker's own image registry. The tools you have installed will be run inside the containers on the Platform.
Having uploaded a Docker image containing your tool to the image registry, you can specify its behavior, including its inputs and outputs, runtime requirements, and execution semantics. The specification is entered using the Tool Editor. It allows the tool to be used on the Seven Bridges Platform to interface with other arbitrary tools.
The specification of your tool that you enter using the Tool Editor will be automatically transcribed into the Common Workflow Language (CWL). This is a community developed, open specification for bioinformatics workflows.
Workflows constructed on the Seven Bridges Platform can also be described using the CWL. This supports reproducibility of workflows in two ways:
1. CWL specifications are exhaustive:
The CWL specifies all configurable details of a workflow execution, right down to each tool's parameterization and the configuration of the environment in which the tools are executed.
This information is provided and stored for every workflow you run on the Seven Bridges Platform. It allows you to easily reference any results obtained, and to provide colleagues with all the information they need to run identical executions.
2. CWL specifications are platform-agnostic:
Since the CWL is an open specification, workflows described using it can be executed on any platform that supports the specification.
To start installing and running your own bioinformatics tools on the Seven Bridges Platform, follow this ten-minute tutorial.
An alternative to the Tool Editor:
If you are familiar with the Common Workflow Language you are free to upload your own Common Workflow Language description of the tool's behavior.
- Linux: the SDK is supported for use on major Linux distributions and requires Docker version 1.6 or later.
- OS X: 10.8 Mountain Lion or newer and requires Docker Machine.
- OS X: 10.10.3 Yosemite or newer and requires Docker for Mac
- Windows 7 or 8: requires Docker Toolbox.
- Windows 10: requires Docker for Windows.
If you have already installed the old SDK, Seven Bridges SDK Version 1.0, then you must uninstall it before using the SDK Version 2.0. Do this using:
pip uninstall sbgsdk.