fix: CLIN-2414 allow to pass exomiser spring options in task.ext #57
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It appears that exomiser options overriding properties in application.properties must be passed at the end of the exomiser command. Any command-line options specified after these overrides seem to be ignored, causing various buggy behaviors.
We have observed a specific instance of this problem before but were not aware of the precise cause. To avoid this issue, we initially decided to pass task.ext.args at the beginning of the command. However, this fix has caused other problems in different contexts, particularly in QLIN, where passing an application property is required.
This PR allows passing both regular CLI options and options for application properties. We will use two different task.ext keys.
Manual Tests
Run the pipeline in the Qlin environment, using exomiser 13.1.0, with realistic configuration files, as will be done when integrating the pipeline in the qlin etl. The exomiser process now runs correctly and we can see the exomiser files correctly in the output folder. ✅
Run the pipeline locally, i.e. with
nextflow run main.nf -profile test,docker
. The pipeline runs successfully. We see the exomiser output files in the output folder. ✅Repeat the same test in Juno ✅
By default, we don't override exomiser application properties when using the test profile. We passed an extra configuration file with the following content:
The pipeline should run successfully and we should see the file logs.exomiser.json in exomiser output folder. ✅
PR checklist
nf-core lint
).nextflow run . -profile test,docker --outdir <OUTDIR>
).nextflow run . -profile debug,test,docker --outdir <OUTDIR>
).docs/usage.md
is updated.docs/output.md
is updated.docs/reference_data.md
is updated.CHANGELOG.md
is updated.README.md
is updated (including new tool citations and authors/contributors).