hi all,
yes, loops are a definitely useful construct. there are algorithms that loop until a certain threshold is reached, is one example, where a biological population reaches a steady state.
cheers,
michael
Michael Miller
Software Engineer
Institute for Systems Biology
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
cwlVersion: v1.0
class: ExpressionTool
inputs:
array: string[]
cases: string[]
outputs:
case1: string[]
case2: string[]
case3: string[]
case4: string[]
unknown: string[]
expression: |
${
var case1= [];
var case2= [];
var case3= [];
var case4= [];
var unknown= [];
for ( var i= 0; i < inputs.array.length; i++){
switch (inputs.cases[i]) {
case "case1":
case1.push(inputs.array[i]);
break;
case "case2":
case2.push(inputs.array[i]);
break;
case "case3":
case3.push(inputs.array[i]);
break;
case "case4":
case4.push(inputs.array[i]);
break;
default:
unknown.push(inputs.array[i]);
}
}
return {"case1":case1, "case2":case2, "case3":case4, "case4": case4, "unknown": unknown};
}
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
> >>> email to common-workflow-language+unsub...@googlegroups.com.
> >>> To post to this group, send email to common-
> workf...@googlegroups.com.
> >>> To view this discussion on the web visit
> >>> https://groups.google.com/d/msgid/common-workflow-
> language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
> >>> For more options, visit https://groups.google.com/d/optout.
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "common-workflow-language" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> >> an
> >> email to common-workflow-language+unsub...@googlegroups.com.
> >> To post to this group, send email to
> >> To view this discussion on the web visit
> >> https://groups.google.com/d/msgid/common-workflow-
> language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
> >>
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> To post to this group, send email to common-workflow-
> lang...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/common-workflow-
> language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workflow-language@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
> >>> email to common-workflow-language+unsubscr...@googlegroups.com.
> >>> To post to this group, send email to common-
> workf...@googlegroups.com.
> >>> To view this discussion on the web visit
> >>> https://groups.google.com/d/msgid/common-workflow-
> language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
> >>> For more options, visit https://groups.google.com/d/optout.
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "common-workflow-language" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> >> an
> >> email to common-workflow-language+unsubscr...@googlegroups.com.
> >> To post to this group, send email to
> >> common-workflow-language@googlegroups.com.
> >> To view this discussion on the web visit
> >> https://groups.google.com/d/msgid/common-workflow-
> language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
> >>
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> To post to this group, send email to common-workflow-
> lang...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/common-workflow-
You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workflow-language@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
We should be careful how we extend the language, or we possibly risk making it hard to maintain later on. Yes, conditionals and loops are useful, but their implementation now can have implications in the long run when extending the language with other concepts. I prefer we stay within the framework of graphs, and keep it as simple as possible. So loops are naturally recursive conditionals. For example, a conditional and a loop as a graph are as follows – which I know we all recognize:
A Conditional
~~~~~~~~~~~~~
{ input (x) } --------> { func1(x) & true
=> store_to(output) } --------> { output }
| |
+----> { func2(x) & true => store_to(output) } ----+
| |
+----> { func3(x) & true => store_to(output) } ----+
A Loop (Recursive Conditional)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ input ( x: [start, end] ) }
│
│
▼
{ base_case: ( base_func( first(x) ) == second(x) ) & true => store_to(output) ;
x = local_update_first_elem_func(x) => base_case ; } ──┐
│
│
▼
{ output }
The functions first() and second() functions denote access and updates to the first and second indexed element in the (input) array, which in this case is x. Also a node in the graph is denoted as a {...}, which can be a CWL file to run containing the required checks. We can even have standard CWL files for specific parts of the language, such as a conditional CWL (conditional.CWL) and an iteration CWL (interation.CWL) that would be called provided to the run field. We do not need both the start and end conditions to be part of x, but can each be provided by other parts of the graph if necessary as it is being evaluated.
~p
> >>> email to common-workflow-language+unsub...@googlegroups.com.
> >>> To post to this group, send email to common-
> workf...@googlegroups.com.
> >>> To view this discussion on the web visit
> >>> https://groups.google.com/d/msgid/common-workflow-
> language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
> >>> For more options, visit https://groups.google.com/d/optout.
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "common-workflow-language" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> >> an
> >> email to common-workflow-language+unsub...@googlegroups.com.
> >> To post to this group, send email to
> >> To view this discussion on the web visit
> >> https://groups.google.com/d/msgid/common-workflow-
> language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
> >>
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> To post to this group, send email to common-workflow-
> lang...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/common-workflow-
You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
hi paul,
'I prefer we stay within the framework of graphs'
if/else conditionals fit into directed acyclic graphs, loops fit into general graphs. taverna allows conditionals and a restricted looping, galaxy appears to be in the same position as CWL, fielding requests for a conditional feature but not implemented, as does pegasus. in a paper from 2014 about pegasus, they had this to say:
'These workflows are interpreted to
coordinate data flow and task execution on distributed infrastructures
including grids, clusters and clouds. Moteur [86] is a
workflow engine that uses a built-in language to describe workflows
that targets the coherent integration of: 1) a data-driven
approach to achieve transparent parallelism; 2) arrays manipulation
to enable data parallel application in an expressive and
compact framework; 3) conditional and loop control structures
to improve expressiveness; and 4) asynchronous execution to
optimize execution on a distributed infrastructure. These systems
provide conditional and loop functionalities that are not
provided by Pegasus, however the complexity of their workflow
language can limit scalability and adoption.'
so even though i'm all for conditionals, the general opinion for CWL to move cautiously on conditionals is well supported.
> >>> email to common-workflow-la...@googlegroups.com.
> >>> To post to this group, send email to common-
> workf...@googlegroups.com.
> >>> To view this discussion on the web visit
> >>> https://groups.google.com/d/msgid/common-workflow-
> language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
> >>> For more options, visit https://groups.google.com/d/optout.
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "common-workflow-language" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> >> an
> >> email to common-workflow-la...@googlegroups.com.
> >> To post to this group, send email to
> >> common-workf...@googlegroups.com.
> >> To view this discussion on the web visit
> >> https://groups.google.com/d/msgid/common-workflow-
> language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
> >>
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to common-workflow-la...@googlegroups.com.
> To post to this group, send email to common-workflow-
> lang...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/common-workflow-
> language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
> >>> email to common-workflow-language+unsub...@googlegroups.com.
> >>> To post to this group, send email to common-
> workf...@googlegroups.com.
> >>> To view this discussion on the web visit
> >>> https://groups.google.com/d/msgid/common-workflow-
> language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
> >>> For more options, visit https://groups.google.com/d/optout.
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "common-workflow-language" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> >> an
> >> email to common-workflow-language+unsub...@googlegroups.com.
> >> To post to this group, send email to
> >> common-workf...@googlegroups.com.
> >> To view this discussion on the web visit
> >> https://groups.google.com/d/msgid/common-workflow-
> language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
> >>
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> To post to this group, send email to common-workflow-
> lang...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/common-workflow-
> language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
I think your suggestion of embedding the conditional into the workflow step is a good one. Personally I would prefer to not have nesting since you can already use subworkflows. A step could contain either an if/else chain or a loop.
What should the behavior be when if/else is nonexhaustive or there are zero loop iterations?
Interesting point about terminating a workflow without forcing a tool failure. Related is how to permit partial failure (eg a single failed scatter step) so a workflow can keep going.
> >>> email to common-workflow-language+unsubscr...@googlegroups.com.
> >>> To post to this group, send email to common-
> workf...@googlegroups.com.
> >>> To view this discussion on the web visit
> >>> https://groups.google.com/d/msgid/common-workflow-
> language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
> >>> For more options, visit https://groups.google.com/d/optout.
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "common-workflow-language" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> >> an
> >> email to common-workflow-language+unsubscr...@googlegroups.com.
> >> To post to this group, send email to
> >> common-workf...@googlegroups.com.
> >> To view this discussion on the web visit
> >> https://groups.google.com/d/msgid/common-workflow-
> language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
> >>
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> To post to this group, send email to common-workflow-
> lang...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/common-workflow-
> language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsubscr...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsubscr...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/508c05c4-6078-41d5-99be-1dcfda2e5324%40googlegroups.com.To post to this group, send email to common-workflow-language@googlegroups.com.
>>> > >>> email to common-workflow-language+unsub...@googlegroups.com.
>>> > >>> To post to this group, send email to common-
>>> > workf...@googlegroups.com.
>>> > >>> To view this discussion on the web visit
>>> > >>> https://groups.google.com/d/msgid/common-workflow-
>>> > language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>> > >> --
>>> > >> You received this message because you are subscribed to the Google
>>> > Groups
>>> > >> "common-workflow-language" group.
>>> > >> To unsubscribe from this group and stop receiving emails from it, send
>>> > >> an
>>> > >> email to common-workflow-language+unsub...@googlegroups.com.
>>> > >> To post to this group, send email to
>>> > >> common-workf...@googlegroups.com.
>>> > >> To view this discussion on the web visit
>>> > >> https://groups.google.com/d/msgid/common-workflow-
>>> > language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
>>> > >>
>>> > >> For more options, visit https://groups.google.com/d/optout.
>>> > >
>>> > >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups
>>> > "common-workflow-language" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an
>>> > email to common-workflow-language+unsub...@googlegroups.com.
>>> > To post to this group, send email to common-workflow-
>>> > lang...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msgid/common-workflow-
>>>
>>> > language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
>>>
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsub...@googlegroups.com.
>>>
>>>
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
>> To post to this group, send email to common-workf...@googlegroups.com.
>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/508c05c4-6078-41d5-99be-1dcfda2e5324%40googlegroups.com.
>>
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
Could the :else step also be a map of hard coded outputs, or would
default values on declared output parameters make more sense, to be
like input defaults?
Not sure if in CWL you can do the common Taverna trick of having the
outer step eat a whole array on an input (depth 1), and then iterate
over it inside the nested workflows (step with depth0)? I think that
should work.
>>> > >>> email to common-workflow-language+unsubscr...@googlegroups.com.
>>> > >>> To post to this group, send email to common-
>>> > workf...@googlegroups.com.
>>> > >>> To view this discussion on the web visit
>>> > >>> https://groups.google.com/d/msgid/common-workflow-
>>> > language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>> > >> --
>>> > >> You received this message because you are subscribed to the Google
>>> > Groups
>>> > >> "common-workflow-language" group.
>>> > >> To unsubscribe from this group and stop receiving emails from it, send
>>> > >> an
>>> > >> email to common-workflow-language+unsubscr...@googlegroups.com.
>>> > >> To post to this group, send email to
>>> > >> common-workf...@googlegroups.com.
>>> > >> To view this discussion on the web visit
>>> > >> https://groups.google.com/d/msgid/common-workflow-
>>> > language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
>>> > >>
>>> > >> For more options, visit https://groups.google.com/d/optout.
>>> > >
>>> > >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups
>>> > "common-workflow-language" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an
>>> > email to common-workflow-language+unsubscr...@googlegroups.com.
>>> > To post to this group, send email to common-workflow-
>>> > lang...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msgid/common-workflow-
>>>
>>> > language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
>>>
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsubscr...@googlegroups.com.
>>>
>>>
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsubscr...@googlegroups.com.
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsubscr...@googlegroups.com.
>> To post to this group, send email to common-workf...@googlegroups.com.
>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/508c05c4-6078-41d5-99be-1dcfda2e5324%40googlegroups.com.
>>
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsubscr...@googlegroups.com.
Hi Alan,
CWL already specifies a parallel scatter operation which includes both
dot product and cross product options for working with multiple input
arrays.
The feature being discussed here is a sequential looping construct for
situations where it is necessary to feed the output of a previous
iteration into the next iteration.
Thanks,
Peter
On Fri, Dec 23, 2016 at 10:46 AM, Alan R Williams
<alan.r.williams@manchester.ac.uk> wrote:
> Hello everyone
>
> For the looping the examples have a single input list that is iterated over
> (or are they run in parallel?). Is there support for handling multiple lists
> e.g. with the equivalent of a Python zip?
>
> Thanks
>
> Alan
>
> --
> You received this message because you are subscribed to the Google Groups
> "common-workflow-language" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> To post to this group, send email to
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/common-workflow-language/9a5ee51c-293b-d8f0-149e-0e93ba7dd22e%40manchester.ac.uk.
>
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAEXjzRsAt9%3Dv5amhV%3DwjVk3sFH5qpRo4hOyVUFB3kSsMg4L-ZQ%40mail.gmail.com.To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workflow-language@googlegroups.com.
>>> > >>> email to common-workflow-language+unsub...@googlegroups.com.
>>> > >>> To post to this group, send email to common-
>>> > workf...@googlegroups.com.
>>> > >>> To view this discussion on the web visit
>>> > >>> https://groups.google.com/d/msgid/common-workflow-
>>> > language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>> > >> --
>>> > >> You received this message because you are subscribed to the Google
>>> > Groups
>>> > >> "common-workflow-language" group.
>>> > >> To unsubscribe from this group and stop receiving emails from it, send
>>> > >> an
>>> > >> email to common-workflow-language+unsub...@googlegroups.com.
>>> > >> To post to this group, send email to
>>> > >> common-workf...@googlegroups.com.
>>> > >> To view this discussion on the web visit
>>> > >> https://groups.google.com/d/msgid/common-workflow-
>>> > language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
>>> > >>
>>> > >> For more options, visit https://groups.google.com/d/optout.
>>> > >
>>> > >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups
>>> > "common-workflow-language" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an
>>> > email to common-workflow-language+unsub...@googlegroups.com.
>>> > To post to this group, send email to common-workflow-
>>> > lang...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msgid/common-workflow-
>>>
>>> > language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
>>>
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsub...@googlegroups.com.
>>>
>>>
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "common-workflow
...
hi paul,
this is a nice approach but i'm trying to work my head around it. one thing that would help is that you start with BNF but then wander off into transformations that lead to another set of operations and symbols than BNF. it would be nice to wander back to the BNF notation to see how the loop and conditional would look with that notation.
"It also allows us to guarantee Directed Acyclic Graphs (DAGs) constructs of the language using the composability, associativity and identity operations!"
typically workflows in a loop would not be represented as a DAG, usually it would be represented as:
are you saying, instead, that each 'loop' is actually unwound, to something like this?
also, since the top level rule in the BNF is step followed by step, i don't quite understand how scatter and gather branches would be represented, such as in this taverna pathways_and_gene_annotations_forqtl_region_290738.t2flow workflow? could you give an example (doesn't have to be this particular workflow)?
thanks,
>>> > >>> email to common-workflow-la...@googlegroups.com.
>>> > >>> To post to this group, send email to common-
>>> > workf...@googlegroups.com.
>>> > >>> To view this discussion on the web visit
>>> > >>> https://groups.google.com/d/msgid/common-workflow-
>>> > language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>> > >> --
>>> > >> You received this message because you are subscribed to the Google
>>> > Groups
>>> > >> "common-workflow-language" group.
>>> > >> To unsubscribe from this group and stop receiving emails from it, send
>>> > >> an
>>> > >> email to common-workflow-la...@googlegroups.com.
>>> > >> To post to this group, send email to
>>> > >> common-workf...@googlegroups.com.
>>> > >> To view this discussion on the web visit
>>> > >> https://groups.google.com/d/msgid/common-workflow-
>>> > language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
>>> > >>
>>> > >> For more options, visit https://groups.google.com/d/optout.
>>> > >
>>> > >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups
>>> > "common-workflow-language" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an
>>> > email to common-workflow-la...@googlegroups.com.
>>> > To post to this group, send email to common-workflow-
>>> > lang...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msgid/common-workflow-
>>>
>>> > language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
>>>
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to common-workflow-la...@googlegroups.com.
>>>
>>>
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "common-workflow
...
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/487785e9-3658-44aa-8f2e-98e53784a436%40googlegroups.com.
>>> > >>> email to common-workflow-language+unsub...@googlegroups.com.
>>> > >>> To post to this group, send email to common-
>>> > workf...@googlegroups.com.
>>> > >>> To view this discussion on the web visit
>>> > >>> https://groups.google.com/d/msgid/common-workflow-
>>> > language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>> > >> --
>>> > >> You received this message because you are subscribed to the Google
>>> > Groups
>>> > >> "common-workflow-language" group.
>>> > >> To unsubscribe from this group and stop receiving emails from it, send
>>> > >> an
>>> > >> email to common-workflow-language+unsub...@googlegroups.com.
>>> > >> To post to this group, send email to
>>> > >> common-workf...@googlegroups.com.
>>> > >> To view this discussion on the web visit
>>> > >> https://groups.google.com/d/msgid/common-workflow-
>>> > language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
>>> > >>
>>> > >> For more options, visit https://groups.google.com/d/optout.
>>> > >
>>> > >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups
>>> > "common-workflow-language" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an
>>> > email to common-workflow-language+unsub...@googlegroups.com.
>>> > To post to this group, send email to common-workflow-
>>> > lang...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msgid/common-workflow-
>>>
>>> > language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
>>>
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsub...@googlegroups.com.
>>>
>>>
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "common-workflow
...
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workflow-language@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/487785e9-3658-44aa-8f2e-98e53784a436%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/966678ed35d4deba5e450e137a478fd7%40mail.gmail.com.To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workflow-language@googlegroups.com.
Hi Michael -When we were designing WDL we decided to view things like loops & scatters as a single node in the DAG which would then be unrolled/exploded dynamically at runtime, much like you're describing here. So e.g. with a loop if you view the loop as a single node you can still have a DAG, and then once the workflow is complete you'd have a final DAG, but you don't necessarily have a DAG in the interim. In a sense it is like how tail recursion can always be transformed into a for loop.We don't yet support loops in Cromwell but for instance with scatters that's exactly what we do, the scatter is a single node in the graph until it is triggered at which the shards appear in the workflow graph dynamically.
I believe that's what you're saying here and IMO it's the way to view it. if I'm remembering the SBG Bunny paper correctly that's also more or less what they've done with their graph processing.J
>>> > >>> email to common-workflow-language+unsubscr...@googlegroups.com.
>>> > >>> To post to this group, send email to common-
>>> > workf...@googlegroups.com.
>>> > >>> To view this discussion on the web visit
>>> > >>> https://groups.google.com/d/msgid/common-workflow-
>>> > language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>> > >> --
>>> > >> You received this message because you are subscribed to the Google
>>> > Groups
>>> > >> "common-workflow-language" group.
>>> > >> To unsubscribe from this group and stop receiving emails from it, send
>>> > >> an
>>> > >> email to common-workflow-language+unsubscr...@googlegroups.com.
>>> > >> To post to this group, send email to
>>> > >> common-workf...@googlegroups.com.
>>> > >> To view this discussion on the web visit
>>> > >> https://groups.google.com/d/msgid/common-workflow-
>>> > language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
>>> > >>
>>> > >> For more options, visit https://groups.google.com/d/optout.
>>> > >
>>> > >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups
>>> > "common-workflow-language" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an
>>> > email to common-workflow-language+unsubscr...@googlegroups.com.
>>> > To post to this group, send email to common-workflow-
>>> > lang...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msgid/common-workflow-
>>>
>>> > language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
>>>
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to common-workflow-language+unsubscr...@googlegroups.com.
>>>
>>>
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsubscr...@googlegroups.com.
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "common-workflow
...
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsubscr...@googlegroups.com.
To post to this group, send email to common-workflow-language@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/487785e9-3658-44aa-8f2e-98e53784a436%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/966678ed35d4deba5e450e137a478fd7%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-language+unsub...@googlegroups.com.
To post to this group, send email to common-workflow-language@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CA%2BBw4v16fq-CGLP9EquvBs8-hQ_3j5_SZDWf6j6uJyFcPiaw7A%40mail.gmail.com.
hi jeff,
i hadn't thought of tail recursion, but that is right on
cheers,
michael
From: Jeff Gentry [mailto:jge...@broadinstitute.org]
Sent: Saturday, January 07, 2017 11:28 AM
To: Michael Miller
Cc: Paul Grosu; Luka Stojanovic; karl.no...@gmail.com; common-workflow-language
Subject: Re: conditionals & loops
Hi Michael -
>>> > >>> email to common-workflow-la...@googlegroups.com.
>>> > >>> To post to this group, send email to common-
>>> > workf...@googlegroups.com.
>>> > >>> To view this discussion on the web visit
>>> > >>> https://groups.google.com/d/msgid/common-workflow-
>>> > language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>> > >> --
>>> > >> You received this message because you are subscribed to the Google
>>> > Groups
>>> > >> "common-workflow-language" group.
>>> > >> To unsubscribe from this group and stop receiving emails from it, send
>>> > >> an
>>> > >> email to common-workflow-la...@googlegroups.com.
>>> > >> To post to this group, send email to
>>> > >> common-workf...@googlegroups.com.
>>> > >> To view this discussion on the web visit
>>> > >> https://groups.google.com/d/msgid/common-workflow-
>>> > language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
>>> > >>
>>> > >> For more options, visit https://groups.google.com/d/optout.
>>> > >
>>> > >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups
>>> > "common-workflow-language" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an
>>> > email to common-workflow-la...@googlegroups.com.
>>> > To post to this group, send email to common-workflow-
>>> > lang...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msgid/common-workflow-
>>>
>>> > language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
>>>
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to common-workflow-la...@googlegroups.com.
>>>
>>>
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "common-workflow
...
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/487785e9-3658-44aa-8f2e-98e53784a436%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/966678ed35d4deba5e450e137a478fd7%40mail.gmail.com.
hi peter,
this looks good. i think there could also be a non-abstract nested WorkflowStep for embedded workflows. i imagine this all would be part of CWL 2.0?
cheers,
michael
From: Peter Amstutz [mailto:peter....@curoverse.com]
Sent: Sunday, January 08, 2017 6:48 PM
To: Jeff Gentry
Cc: Michael Miller; Paul Grosu; Luka Stojanovic; Karl Nordström; common-workflow-language
Subject: Re: conditionals & loops
Hello everyone, thanks for your input!
>>> > >>> email to common-workflow-la...@googlegroups.com.
>>> > >>> To post to this group, send email to common-
>>> > workf...@googlegroups.com.
>>> > >>> To view this discussion on the web visit
>>> > >>> https://groups.google.com/d/msgid/common-workflow-
>>> > language/1412e3fd-e52f-418f-9259-025bca16afe6%40googlegroups.com.
>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>> > >> --
>>> > >> You received this message because you are subscribed to the Google
>>> > Groups
>>> > >> "common-workflow-language" group.
>>> > >> To unsubscribe from this group and stop receiving emails from it, send
>>> > >> an
>>> > >> email to common-workflow-la...@googlegroups.com.
>>> > >> To post to this group, send email to
>>> > >> common-workf...@googlegroups.com.
>>> > >> To view this discussion on the web visit
>>> > >> https://groups.google.com/d/msgid/common-workflow-
>>> > language/5f74db50-1fc0-4cf1-b622-af5a8c9ac5a5%40googlegroups.com.
>>> > >>
>>> > >> For more options, visit https://groups.google.com/d/optout.
>>> > >
>>> > >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups
>>> > "common-workflow-language" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an
>>> > email to common-workflow-la...@googlegroups.com.
>>> > To post to this group, send email to common-workflow-
>>> > lang...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msgid/common-workflow-
>>>
>>> > language/91ee3278-b3a5-1a8c-b5ae-462f0407a1f3%40sbgenomics.com.
>>>
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to a topic in the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/common-workflow-language/JU7PSEKr97M/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to common-workflow-la...@googlegroups.com.
>>>
>>>
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/b78efbba87f34144970da27712b844ea%40mail.gmail.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
>>> To post to this group, send email to common-workf...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CAD%3DV0dSdiXLhbDny5%2BjhMv1RoNqoVX3xtD%2BsbKTtoujfOwPnKg%40mail.gmail.com.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups "common-workflow
...
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/487785e9-3658-44aa-8f2e-98e53784a436%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/966678ed35d4deba5e450e137a478fd7%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "common-workflow-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to common-workflow-la...@googlegroups.com.
To post to this group, send email to common-workf...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/common-workflow-language/CA%2BBw4v16fq-CGLP9EquvBs8-hQ_3j5_SZDWf6j6uJyFcPiaw7A%40mail.gmail.com.
Hi Michael,
So I wanted to use BNF to describe the general
grammar of CWL in order to prove a few guarantees, which would allow for the
language to be used for extending the language itself, while managing
complexity in a structured way. That required a few other mathematical
notations to illustrate it. The most concise BNF representation of a loop I can think of is the following, but it becomes hard to read:
<iteration_element> ::= <condition>
| <iteration_element>*
The asterisk symbol indicates that there are zero or more of those elements,
while the condition performs a check that might be met.
So
besides the continuation-passing style approach that Jeff
mentioned - or a distributed message-based approach - you can think of a
scatter/gather as a function-addressable data structure. So if you
want some data to be transformed by passing through several functions like
this, where each step can be a scatter/gather:
f3 ° f2 ° f1 ° data
Visually you can think of it like this:
hi paul,
this is a nice approach but i'm trying to work my head around it. one thing that would help is that you start with BNF but then wander off into transformations that lead to another set of operations and symbols than BNF. it would be nice to wander back to the BNF notation to see how the loop and conditional would look with that notation.
...
...