common-workflow-language / common-workflow-language/cwltool
cwltool allows underscores in parameter reference symbols
- Dominant language
- Python
- Stars
- 376
- Forks
- 255
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 12
Description
cwltool [currently](https://github.com/common-workflow-language/cwltool/blob/1a839255795882894b4bbfea6d909a74cacb1d6a/cwltool/expression.py#L28) allows symbols in parameter references to contain any character that matches `\w`, which includes underscores as well as alphanumerics, but the spec only allows symbols to contain "Unicode alphanumerics".
Several of our own workflows as well as at least one workflow in the [common-workflow-language/workflows](https://github.com/common-workflow-language/workflows) repo (`tools/kallisto-index.cwl`) use underscores in parameter references – either the spec needs to be updated to allow underscores in symbols, or cwltool should be modified to disallow underscores in symbols (presumably other runners may need to be updated as well in that case).
## Workflow Code
```cwl
cwlVersion: v1.0
class: CommandLineTool
baseCommand: echo
inputs:
- id: a_b_c
type: string
default: "123"
outputs: []
arguments:
- $(inputs.a_b_c)
```
## Your Environment
* cwltool version: 1.0.20180808165120
Contributor guide
Assessment
This issue has not been assessed yet.