-
Notifications
You must be signed in to change notification settings - Fork 8
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
String or File #4
Comments
Ruchi; |
Hey @chapmanb ,
And the current mixed string/file syntax is a workaround to accommodate that not all CWL implementations have support for passing in a null File. From Cromwell's perspective, it interprets the final type of A few questions:
and
Are CWL implementations supposed to treat them the same way? |
Ruchi; https://www.commonwl.org/v1.0/Workflow.html#Document_preprocessing So they should be equivalent. I'm not sure how many engines support the To be clear the string "null" sentinel usage isn't a specification, just a workaround/hack for issues with runners that treat null inconsistently. Some of them remove it so lists of items like:
end up as:
which results in confusion since the null is a placeholder for a missing/not present value in one of the samples. So instead we do:
and within bcbio it turns the "null" into None as part of the processing steps. Why does Cromwell prefer "string" over "File" here? Is it possible to use File preferentially if it's one of the options? We do use the null/string workaround pretty regularly in bcbio but I could revisit if it's breaking things, just explaining why we're doing it this way now. Thanks again for the discussion. |
Hey Brad, Thanks for explaining the syntax! On the Cromwell side, I think the coercion never really turned into a None, and Cromwell keeps trying to localize a file called "null" and failing. We're looking into it further on our end, and I will create a separate and more specific issue based on findings! |
https://github.com/bcbio/test_bcbio_cwl/blob/master/somatic/somatic-workflow/steps/prep_samples.cwl
Here there is a task that where two of the inputs are listed as String and/or File. What does that mean?
Thanks!
The text was updated successfully, but these errors were encountered: