aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorArun Isaac2023-11-14 22:18:38 +0000
committerArun Isaac2023-11-14 22:52:03 +0000
commit060ddf677d01e408c7a49791150bfd24b76416e0 (patch)
treed32a9fed56fb06d944a4d9b8bbdd6414b54168d5 /doc
parent7a43162925dffeb6cc1a70cfe6297f9ae62427a3 (diff)
downloadccwl-060ddf677d01e408c7a49791150bfd24b76416e0.tar.gz
ccwl-060ddf677d01e408c7a49791150bfd24b76416e0.tar.lz
ccwl-060ddf677d01e408c7a49791150bfd24b76416e0.zip
ccwl: Implement scatter.
* ccwl/ccwl.scm (<step>): Wrap constructor make-step. [scattered-inputs, scatter-method]: New fields. (collect-scatter-step): New function. (collect-steps): Implement scatter. (key->output): If step scatters, convert output to an array type. (workflow): Add syntax to initialize scattered-inputs and scatter-method fields of <step> object. * ccwl/cwl.scm (workflow->cwl-scm): Add ScatterFeatureRequirement if workflow contains scattering steps. Serialize scattered-inputs and scatter-method. * doc/ccwl.skb (Cookbook)[Scatter/gather]: New section.
Diffstat (limited to 'doc')
-rw-r--r--doc/ccwl.skb7
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/ccwl.skb b/doc/ccwl.skb
index 69e5a38..2e84d58 100644
--- a/doc/ccwl.skb
+++ b/doc/ccwl.skb
@@ -332,6 +332,13 @@ to ,(emph "stage") the input file into the output directory. We may
express this in ccwl using the ,(code "#:stage?") parameter to the
inputs to be staged. Here is a rather concocted example.]
(scheme-source "doc/staging-input-files.scm")))
+ (section :title [Scatter/gather]
+ (p [ccwl supports CWL's dotproduct scatter/gather feature using
+the following syntax. Here, the ,(code [other-messages]) input to the
+workflow is an array of strings that is scattered over the ,(code
+[print]) step. Each run of the ,(code [print]) step gets an element of
+,(code [other-messages]) as its ,(code [other-message]) argument.]
+ (scheme-source "doc/scatter-gather.scm")))
(section :title [Reuse external CWL workflows]
(p [Even though you may be a ccwl convert (hurrah!), others may
not be. And, you might have to work with CWL workflows written by