5.6. Pipeline statistics

First, let us get the data

from sequana_pipetools.snaketools import get_pipeline_statistics

stats = get_pipeline_statistics()
{'coverage': 3, 'demultiplex': 9, 'denovo': 24, 'fastqc': 8, 'mapper': 21, 'quality_control': 9, 'rnaseq': 33, 'variant_calling': 25}

Plot number of rules per pipeline

Note that pacbio_qc is self-content

from pylab import tight_layout, title

stats[0].sum().plot(kind="barh")
title("Number of rules per pipeline")
tight_layout()

from collections import Counter
Number of rules per pipeline

Proportions of rules re-used

Amongst the rules, about a third of the rules are not used at all in the pipelines. There are two reasons: either they were part of previous pipeline versions and were discarded in favour of new tools, or there were used for testing and kept in case of.

Then, we can see that a third of the rules are used only once. And finally, about a third used more than once.

from pylab import clf, pie

count = Counter(stats[0].sum(axis=1))
values = list(count.values())
times = list(count.keys())
clf()
pie(list(count.values()), labels=["{} used {} times".format(x, y) for x, y in zip(values, times)])
plot pipeline stats
([<matplotlib.patches.Wedge object at 0x7f7839028eb0>, <matplotlib.patches.Wedge object at 0x7f78392683a0>, <matplotlib.patches.Wedge object at 0x7f783902b9d0>, <matplotlib.patches.Wedge object at 0x7f783902b670>, <matplotlib.patches.Wedge object at 0x7f783902ace0>], [Text(0.834633933216614, 0.7165097330276574, '7 used 2 times'), Text(-0.055714017004277645, 1.098588161373154, '2 used 5 times'), Text(-1.0108535099305853, -0.43379163369181745, '17 used 1 times'), Text(0.8346342720316069, -0.7165093383552442, '3 used 3 times'), Text(1.077483068211768, -0.2214277257186978, '2 used 6 times')])

Total running time of the script: (0 minutes 0.223 seconds)

Gallery generated by Sphinx-Gallery