myglc2 <myg...@gmail.com> skribis:

> l...@gnu.org (Ludovic Courtès) writes:

[...]

>> Perhaps as a first step you could try and write a procedure and a CLI
>> around it that simply runs a given pipeline:
>>
>>   $ guix biopipeline foo frog.dna human.dna
>>   …
>>   /gnu/store/…-freak.dna
>>
>> The procedure itself would be along the lines of:
>>
>>   (define (foo-pipeline input1 input2)
>>     (gexp->derivation "result"
>>                       #~(begin
>>                           (setenv "PATH" "/foo/bar")
>>                           (invoke-make-and-co #$input1 #$input2
>>                                               #$output))))
>
> Sidebar:
>
> - What is "biopipeline" above? A new guix command?

Right.  Basically I was suggesting implementing the pipeline as a Scheme
procedure (‘foo-pipeline’ above), and adding a command-line interface on
top of it (‘guix biopipeline’.)

This means that all inputs and outputs would go through the store, so
you would get caching and all that for free.

But I now understand that I was slightly off-topic.  ;-)

Ludo’.

Reply via email to