Roddy is a framework for development and management of workflows on a batch processing cluster. It has been developed at the German Cancer Research Center (DKFZ) in Heidelberg in the eilslabs group and is used by a number of in-house workflows such as the PanCancer Alignment Workflow and the ACEseq workflow. The development is now continued in the Omics IT and Data Management Core Facility (ODCF) at the DKFZ.
NOTE: This software is intended for research-use only!
Your opinion matters! The development of Roddy is supported by the German Network for Bioinformatic Infrastructure (de.NBI). By completing this very short survey you support our efforts to improve this tool.
No new features will be implemented for Roddy! We will continue to fix bugs occurring with currently existing workflows. On the long run, existing workflows should be migrated to other workflow management systems.
The following workflows have been developed at the DKFZ based on Roddy as workflow management system:
- Alignment and QC workflows
- SNV-Calling workflow
- ACEseq workflow for copy-number variation calling
- InDel-Calling workflow workflow
- Sophia workflow for structural variation calling
- RNA-seq workflow
- CNVkit for copy-number variation calling on exome data (to be published)
- Leaf-Cutter workflow
- Bam-to-FASTQ plugin
The following plugins are available as support for the workflows:
- COWorkflowBasePlugin with basic control code for many of the workflows
- PluginBase just the plugin base-class from which other plugins are derived
- DefaultPlugin with the
wrapInScript.sh
that wraps all Roddy cluster jobs
You can find the documentation at Read the Docs, including
If you would like to contribute code you can do so through GitHub by forking the repository and sending a pull request.
When submitting code, please make every effort to follow existing conventions and style in order to keep the code as readable as possible.
Some basic information:
- We use Semantic Versioning 2.0.
- Release versions are named according to the pattern
\d\.\d\.\d(-(RC)?\d+
. - The first three levels are the "major", "minor", and "patch" number. The patch number is occasionally also called "build" number.
- Additionally, to the major, minor, and patch numbers, a "revision" number
-\d+
can be attached. - It is possible to tag release candidate using suffixes
-RC\d+
- Release versions are named according to the pattern
- We use Github-Flow as branching models.
- Additionally, to the "master" branch for long-term support of older versions, it is possible to have dedicated release branches.
- Release branches should be named according to the pattern
ReleaseBranch_\d+\.\d+(\.\d+)
.
- Release branches should be named according to the pattern
- Issues can be marked with the following labels
in progress
bug::candidate
bug::minor
bug::normal
bug::critical
The change log is managed in a separate file CHANGELOG.md.
By contributing your code, you agree to license your contribution under the terms of the MIT License (Roddy license).
If you are adding a new file, it should have a header like this:
/**
* Copyright 2024 German Cancer Research Center (DKFZ).
*
* Distributed under the MIT License (license terms are at https://www.github.com/TheRoddyWMS/Roddy/LICENSE.txt).
*/