bionode / bionode-watermill

💧Bionode-Watermill: A (Not Yet Streaming) Workflow Engine
https://bionode.gitbooks.io/bionode-watermill/content/
MIT License
37 stars 11 forks source link

Custom file validator over output object #42

Open thejmazz opened 7 years ago

thejmazz commented 7 years ago

This means to be able to pass a custom file validator on a per task basis, something like:

const mytask = task({
  input: '*.sra',
  output: '*.vcf'
  validators: (file) => vcf(file).hasSNPs(25) // reject if < 25 SNPs with imaginary API
  operation: ({ input, context }) => `sometool ${input} -o ${context.sample}`
})

It will also need to handle multiple output types and how to set up validators for each one.

(Also I just made up that context thing - but maybe some way to pass current sample through tasks in a multiple input pipeline? in any way, it is always a little awkward hard coding output filenames in tasks - could have done sample.vcf for example)