Chapter 7: Python Code for Displaying the pipeline visually with pipeline_printout_graph(...)¶
See also
- Manual Table of Contents
- pipeline_printout_graph(...) syntax
- Back to Chapter 7: Displaying the pipeline visually
Code¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 from ruffus import * import sys #--------------------------------------------------------------- # create initial files # @originate([ ['job1.a.start', 'job1.b.start'], ['job2.a.start', 'job2.b.start'], ['job3.a.start', 'job3.b.start'] ]) def create_initial_file_pairs(output_files): # create both files as necessary for output_file in output_files: with open(output_file, "w") as oo: pass #--------------------------------------------------------------- # first task @transform(create_initial_file_pairs, suffix(".start"), ".output.1") def first_task(input_files, output_file): with open(output_file, "w"): pass #--------------------------------------------------------------- # second task @transform(first_task, suffix(".output.1"), ".output.2") def second_task(input_files, output_file): with open(output_file, "w"): pass # Print graph before running pipeline #--------------------------------------------------------------- # # Show flow chart and tasks before running the pipeline # print "Show flow chart and tasks before running the pipeline" pipeline_printout_graph ( open("simple_tutorial_stage5_before.png", "w"), "png", [second_task], minimal_key_legend=True) #--------------------------------------------------------------- # # Run # pipeline_run([second_task]) # modify job1.stage1 open("job1.a.output.1", "w").close() # Print graph after everything apart from ``job1.a.output.1`` is update #--------------------------------------------------------------- # # Show flow chart and tasks after running the pipeline # print "Show flow chart and tasks after running the pipeline" pipeline_printout_graph ( open("simple_tutorial_stage5_after.png", "w"), "png", [second_task], no_key_legend=True)