Cheat Sheet¶
The ruffus
module is a lightweight way to add support
for running computational pipelines.
Each stage or task in a computational pipeline is represented by a python function
Each python function can be called in parallel to run multiple jobs.
1. Annotate functions with Ruffus decorators¶
Core¶
Decorator | Syntax | |
---|---|---|
@originate (Manual) | @originate ( output_files , [extra_parameters ,...] ) |
|
@split (Manual) | @split ( tasks_or_file_names , output_files , [extra_parameters ,...] ) |
|
@transform (Manual) | ||
@merge (Manual) | @merge (tasks_or_file_names , output , [extra_parameters ,...] ) |
|
@posttask (Manual) | @posttask (
signal_task_completion_function ) |
See Decorators for a complete list of decorators¶
2. Print dependency graph if necessary¶
For a graphical flowchart in
jpg
,svg
,dot
,png
,ps
,gif
formats:pipeline_printout_graph ( "flowchart.svg")
For a text printout of all jobs
pipeline_printout()
3. Run the pipeline¶
pipeline_run(multiprocess = N_PARALLEL_JOBS)