ksrates is a tool to position whole-genome duplications relative to speciation events using substitution-rate-adjusted mixed paralog-ortholog Ks distributions.
This PR makes the Nextflow pipeline file (main.nf) in ksrates compatible with the recent Nextflow DSL2 syntax, which has replaced the older DSL1 since version 22.03.0-edge.
Based on my experience, current Nextflow versions (e.g. 23.04.1) do not support DSL1 anymore, even when specifically setting it from command line (-dsl1) or in the configuration file.
With the changes in this PR, the Nextflow pipeline has been successfully executed on the test dataset, but further testing is required to make sure that all building blocks of the pipeline ('processes') are still correctly wired.
Notes concerning the migration to DSL2 syntax: this mainly involves defining an extra block of code called workflow where processes are called; process input and output are provided/retrieved directly in this block. Therefore, all from and into connections within process definition blocks are removed.
Other related changes: YML file (.github/workflows/test_pipeline.yml) for CI in GitHub also updated by not asking Nextflow to run an older version compatible with DSL1.
TODO:
[ ] To be linked to related issue and previous PR
[ ] Update documentation about compatibility with DSL1 and DSL2
This PR makes the Nextflow pipeline file (
main.nf
) inksrates
compatible with the recent Nextflow DSL2 syntax, which has replaced the older DSL1 since version22.03.0-edge
. Based on my experience, current Nextflow versions (e.g.23.04.1
) do not support DSL1 anymore, even when specifically setting it from command line (-dsl1
) or in the configuration file.With the changes in this PR, the Nextflow pipeline has been successfully executed on the
test
dataset, but further testing is required to make sure that all building blocks of the pipeline ('processes') are still correctly wired.Notes concerning the migration to DSL2 syntax: this mainly involves defining an extra block of code called
workflow
where processes are called; process input and output are provided/retrieved directly in this block. Therefore, allfrom
andinto
connections within process definition blocks are removed.Other related changes: YML file (
.github/workflows/test_pipeline.yml
) for CI in GitHub also updated by not asking Nextflow to run an older version compatible with DSL1.TODO: