Brief Explanation of Gears
Gears fit into the compute and collaborate aspects of the Flywheel Platform. A Gear is an algorithm that has been packaged in a way that allows it to be run and managed within the Flywheel Platform. The concept underlying Gears is containerization: which refers to the method by which a standard unit of software is generated by packaging up code and all its dependencies, allowing that code to run in a reliable and reproducible way, regardless of the computational environment.
Converting an algorithm to a Flywheel Gear and executing the Gear within Flywheel has many benefits, including:
- Clear algorithm versioning
Tracking of algorithm inputs, configuration parameters, and outputs
Rule-based automation of Gear execution
- Algorithm and method sharing with other researchers
- Optional access to cloud-scalable resources to enable massive parallelization
Before starting your Gear building journey:
Determine if your algorithm is a good Gear candidate
Get set up with Gear building tools (Docker + Flywheel CLI)
Verify your Flywheel Platform account permissions (Site Admin required to upload Gears).
1. Eligible Algorithms for Gearification
Algorithms that can be containerized and executed using a compatible runtime (e.g., Docker) can be packaged into a Flywheel Gear. This includes algorithms written in various programming languages. Some of the most popular languages used within existing Gears are:
Algorithms can not be packaged into a Gear if they:
Cannot be executed within a Linux environment (via a command line)
Require user interaction (via GUI or other)
If you are unsure if your algorithm falls into one of these categories listed above, contact Flywheel Support to determine if your algorithm is a potential Gear candidate.
2. Get Flywheel Gear Tools
In order to develop and test your Gear Docker you will need to download and install Docker for your platform. Docker installation is fairly quick and painless - see the Docker documentation for installation instructions.
You will also need to download and install the Flywheel CLI, which provides the ability to manage the local execution of your Gear for testing. The Flywheel CLI is available for Linux, Windows, and OSX platforms. You will need an account on your institution’s Flywheel instance to download the CLI. General instructions can be found here.
3. Flywheel Permissions
Only Site Admins can upload Gears to a Flywheel site. If you are not a Site Admin, contact your local Flywheel Site Administrator to elevate your permissions, or work with your Site Admin to upload your Gear.