Snakemake is a workflow engine that provides a readable Python-based workflow definition language and a powerful execution environment that scales from single-core workstations to computer clusters without modifying the workflow. It is the first system to support the use of automatically inferred multiple named wildcards (or variables) in input and output filenames.
Snakecharm is a plugin for PyCharm and any other IntellIJ platform-based IDEs providing rich editing and refactoring capabilities for Snakemake programming language. Deep understanding of the code allows the IDE editor to guide you through all the steps of pipeline development. Smart refactorings will enable you to improve and modify your project safely and efficiently. Built-in inspections highlight all the possible flaws and errors, significantly reducing the number of runtime problems.
Some of the features:
- Support highlighting, autocompletion and resolving for Snakemake string-format language
- Parsing fully compliant with Snakemake language specification
- Autocompletion and resolving for wildcards and section names in rules
- Subworkflows syntax highlighting
- Different inspections based on Snakemake semantics
On the figure, we show the screenshot of PyCharm IDE with Snakemake code on it.
The plugin is released and available in the official plugin repository at https://plugins.jetbrains.com/plugin/11947-snakech...
Snakecharm plugin is developed by Roman Chernyatchik (JetBrains Research) together with students Daria Sharkova and Nikita Nazarov during summer internship 2019.