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

Rabix composer appears to generate invalid CWL according to cwltool --validate #444

Open
zymergen-mbarton opened this issue Jan 22, 2020 · 3 comments
Labels

Comments

@zymergen-mbarton
Copy link

I have a relatively large workflow that I have created using rabix composer and then exported to YAML using both the command line rabix composer and the Seven Bridges web editor. In both cases I get an error when running cwltool --validate on the exported file. The errors appear to be related to unexpected fields. For example:

ERROR Tool definition failed validation:
workflow.cwl:1:1:         Object
                                 `workflow.cwl#production-workflow/workflow/1`
                                 is not valid because
                                   tried `Workflow` but
workflow.cwl:269:1:         the `steps` field is not valid because
                                       tried array of <WorkflowStep> but
workflow.cwl:2873:5:           item is invalid because
workflow.cwl:2879:5:             the `run` field is not valid because
workflow.cwl:2887:7:               the `inputs` field is not valid because
workflow.cwl:2888:11:               item is invalid because
                                                 * invalid field `prefix`, expected one of:
                                                 'label', 'secondaryFiles', 'streamable', 'doc', 'id', 'format',
                                                 'inputBinding', 'default', 'type'
workflow.cwl:2889:11:                 * invalid field `separate`, expected one of:
                                                 'label', 'secondaryFiles', 'streamable', 'doc', 'id', 'format',
                                                 'inputBinding', 'default', 'type'

The offending fields appear to be prefix and separate.

I wonder if you have any suggestions on how to generate a valid cwl file from exporting a workflow created in rabix composer? Thank you.

@ghost ghost self-assigned this Jan 22, 2020
@ghost ghost added the bug label Jan 22, 2020
@ghost
Copy link

ghost commented Jan 22, 2020

Hi @zymergen-mbarton thank you for reporting this issue and sorry you are having problems. Would it be possible to share the workflow? We can do this via the SB issues system (or you can mail me directly) if this is acceptable. Otherwise, would it be possible to share some notable features of the workflow code, so that we can track down why this may be happening? Thank you!

@ghost
Copy link

ghost commented Jan 22, 2020

cc: @bogdang989

@zymergen-mbarton
Copy link
Author

Thanks @kaushik-work for responding so quickly, your prompt replies are much appreciated. I can't share the workflow here unfortunately, however I will email separately.

As for notable features, a potential reproducible test case might be exporting a workflow with a couple of tools using prefix and separate arguments, and also containing expression types too. I mention expressions because I also saw another error after manually editing fixes for the errors around prefix and separate to see if that solved the issue. This error seemed to be about the closing of the JS expression.

ERROR I'm sorry, I couldn't load this CWL file, try again with --debug for more information.
The error was: Substitution error, unfinished block starting at position 1: ${

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

No branches or pull requests

1 participant