common-workflow-language / common-workflow-language/cwljava

parsing CWL v1.0 & v1.1

Aberta
#103 8 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Java
Estrelas
16
Forks
8
Merge médio
4h 5min
PRs com merge (30d)
7

Descrição

Recently, we integrated cwljava v1.0 into Dockstore, and during testing, we found some workflows that cause the parser to throw. In our webservice, we use our own preprocessor to combine the various component CWL files into one big CWL represented by Maps/Lists, and parse it with cwljava here:
https://github.com/dockstore/dockstore/blob/67f4547e771864cafacdc1c92fa7bd47261e32da/dockstore-webservice/src/main/java/io/dockstore/webservice/languages/CWLHandler.java#L364

The following workflows cause `loadDocument` to throw a `ValidationException`:

https://github.com/ICGC-TCGA-PanCancer/OxoG-Dockstore-Tools/tree/master
primary descriptor: /oxog_varbam_annotate_wf.cwl

https://github.com/h3abionet/h3agatk/tree/1.0.1
primary descriptor: /workflows/GATK/GATK-complete-WES-Workflow-h3abionet.cwl

The first workflow contains a `SchemaDefRequirement` and the parser appears to have trouble parsing the type references (`TumourType.yaml#TumourType` etc). When I change the type references to `int`, the workflow successfully parses.

Judging from exception message, the second workflow seems to be failing for a different reason, but I haven't pinpointed what, exactly. It is possible that it's not valid, but a cursory inspection didn't turn up any problems.

The exception messages are pretty big, so I put them and some stack trace info in the comments.

Please let me know if you need any more info. Thanks!

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Start at Dockstore's CWLHandler.java around line 364 and reproduce loadDocument with the two linked primary descriptors. Review the ValidationException messages and stack-trace details in the issue comments, then trace the corresponding cwljava validation path. Done means identifying and fixing the parsing failures, with regression coverage for both workflows or documenting why either descriptor is invalid.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
tooling
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
30/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.