Skip to content

Migrate PikaVirus from DSL1 to DSL2 #2

Description

@victor5lm

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.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions