COSMOS is currently BETA. Although the code is considered stable, we are planning a major publication before the official release.
For more information and the full documentation please visit http://cosmos-wfm.readthedocs.org.
pip install cosmos-wfm
Cosmos is a workflow management system for Python. It allows you to efficiently program complex workflows of command line tools that automatically take advantage of a compute cluster, and provides a web dashboard to monitor, debug, and analyze your jobs. Cosmos is able to scale on a traditional cluster such as LSF or GridEngine with a shared filesystem. It is especially powerful when combined with spot instances on Amazon Web Services and StarCluster.
COSMOS was published as an Application Note in the journal Bioinformatics, but has evolved a lot since it's original inception. If you use COSMOS for research, please cite it's manuscript. This means a lot to the author.
Since the original publication, it has been re-written and open-sourced by the original author, in a collaboration between The Lab for Personalized Medicine at Harvard Medical School, the Wall Lab at Stanford University, and Invitae, a clinical genetic sequencing diagnostics laboratory.
- Written in python which is easy to learn, powerful, and popular. A programmer with limited experience can begin writing Cosmos workflows right away.
- Powerful syntax for the creation of complex and highly parallelized workflows.
- Reusable recipes and definitions of tools and sub workflows allows for DRY code.
- Keeps track of workflows, job information, and resource utilization and provenance in an SQL database.
- The ability to visualize all jobs and job dependencies as a convenient image.
- Monitor and debug running workflows, and a history of all workflows via a web dashboard.
- Alter and resume failed workflows.
- Support for DRMS such as SGE, LSF. DRMAA coming soon. Adding support for more DRMs is very straightforward.
- Supports for MySQL, PosgreSQL, Oracle, SQLite by using the SQLALchemy ORM.
- Extremely well suited for cloud computing, especially when used in conjuection with AWS and StarCluster.
Please use the Github Issue Tracker.