Background
The PikaVirus pipeline is currently implemented in Nextflow DSL1 and has to be run with Nextflow v20.10, which has been deprecated in favor of DSL2. The potential migration of the pipeline to DSL2 will improve modularity, maintainability, and compatibility with the most recent Nextflow best practices.
Objectives
- Refactor the current DSL1 workflow into DSL2.
- Convert processes into modules and organize them under the modules/ directory.
- Use nextflow.config for better pipeline parameter management.
- Ensure compatibility with the latest nf-core guidelines (if applicable).
- Validate the migrated pipeline with test datasets to confirm functionality.
Tasks
Initialize DSL2 migration
- Create a main.nf entry point.
- Set up modules/local/ for custom processes.
- Define workflow.nf to orchestrate execution.
Refactor processes
- Convert each process from inline DSL1 definitions to standalone DSL2 modules.
- Ensure proper input/output channels using input: and output: blocks.
Adapt configuration files
- Move execution parameters to nextflow.config.
- Ensure correct profile handling for HPC/Singularity/Docker environments.
Testing & Validation
- Run small-scale tests to verify process dependencies.
- Perform full-scale validation on test datasets.
- Compare outputs with pre-migration results.
Potential Challenges
- Handling implicit channel behavior differences between DSL1 and DSL2.
- Managing Nextflow’s auto-cleaning of intermediate files.
- Resolving dependency issues with existing Singularity/Conda environments.
Expected Outcome
A fully functional and modularized DSL2 version of PikaVirus, ensuring better maintainability and future extensibility.
Background
The PikaVirus pipeline is currently implemented in Nextflow DSL1 and has to be run with Nextflow v20.10, which has been deprecated in favor of DSL2. The potential migration of the pipeline to DSL2 will improve modularity, maintainability, and compatibility with the most recent Nextflow best practices.
Objectives
Tasks
Initialize DSL2 migration
Refactor processes
Adapt configuration files
Testing & Validation
Potential Challenges
Expected Outcome
A fully functional and modularized DSL2 version of PikaVirus, ensuring better maintainability and future extensibility.