Snakecharm plugin

Roman CherniatchikActive

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 possible flaws and errors, significantly reducing the number of runtime problems.

Some of the features:

  1. Supports highlighting, autocompletion and resolving for Snakemake string-format language
  2. Parsing fully compliant with Snakemake language specification
  3. Autocompletion and resolving for wildcards and section names in rules
  4. Subworkflow syntax highlighting
  5. Different inspections based on Snakemake semantics

The plugin is released and available in the official plugin repository at

Snakecharm plugin was developed by Roman Chernyatchik (JetBrains Research) together with students Daria Sharkova and Nikita Nazarov during the summer internship 2019.