I have had kind offers (Thanks to Andreas Heger and the CGAT group in Oxford) to contribute some ways of showing or (or even manipulating?)
progress through the pipelines. (GUI anyone?) I shall be putting in hooks / callbacks into Ruffus in the next version to support this.
UI ideas / contributions from Ruffus users would be particularly welcome.
Version 2.6 introduced changes to Ruffus syntax which should hopefully make Ruffus pipelines less wordy and more pared down.
I am thinking especially of Milan Simonovic's idea for adding an
output_dir= parameter to
@transform
Apart from bug fixes, this is also going to be my focus for version 2.7.
My aim is to be able to specify easy pipeline tasks with as little syntactic overhead as:
pipeline.transform("samtools view -b {input[0]} > {output}",
prev_task, suffix(".sam"), ".bam",
name = "SamtoBam")
or for more complicated / realistic examples.
pipeline.transform(task_func= "samtools view -b {input[0]} {region} > {output}",
name = "SamtoBam",
input = prev_task,
filter = suffix(".sam"),
output = ".bam",
extras = {region = "chr1:45637889-654333211"})
No extra python function would be necessary.The aim is to get as close to, for example, gmake code as possible, except that we have access to all the elegance and power of the python language.
The idea is that the specified task would also be able to run in parallel on a cluster via drmaa...
If anyone has any ideas about improving syntax please post or email to me.
Leo