Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CWL: implement the workflow-level loop extension #4227

Open
mr-c opened this issue Sep 28, 2022 · 0 comments
Open

CWL: implement the workflow-level loop extension #4227

mr-c opened this issue Sep 28, 2022 · 0 comments

Comments

@mr-c
Copy link
Contributor

mr-c commented Sep 28, 2022

During development of this, one would need to temporarily depend on common-workflow-language/cwltool#1641 until that is merged and a new release of cwltool is made

Example demonstration of finding the use of the loop extension (which will appear as an additional requirement on Workflow steps themselves)

diff --git a/src/toil/cwl/cwltoil.py b/src/toil/cwl/cwltoil.py
index 6d20984be..de63298ce 100755
--- a/src/toil/cwl/cwltoil.py
+++ b/src/toil/cwl/cwltoil.py
@@ -2689,6 +2689,8 @@ class CWLWorkflow(CWLNamedJob):
                         jobobj: Dict[
                             str, Union[ResolveSource, DefaultWithSource, StepValueFrom]
                         ] = {}
+                        loop = step.get_requirement("http://commonwl.org/cwltool#Loop")
+                        logger.info(f"Loop: {loop}.")
 
                         for inp in step.tool["inputs"]:
                             logger.debug("Takes input: %s", inp["id"])

Should we extend the toil-cwl Conditional object, or is another approach needed?

┆Issue is synchronized with this Jira Story
┆friendlyId: TOIL-1224

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant