Description
The prepare_genome subworkflow (subworkflows/local/prepare_genome/main.nf) has grown to handle 28 inputs and manages index building/loading for all aligners (STAR, HISAT2, Salmon, Kallisto, Bowtie2, RSEM, BBSplit, SortMeRNA), plus genome preparation (FASTA indexing, GTF filtering, BED conversion, transcript FASTA generation, etc.).
This makes it difficult to maintain, test, and review.
Proposal
Split prepare_genome into smaller, focused subworkflows:
- prepare_genome_core: FASTA indexing, GTF filtering/conversion, BED generation
- prepare_indices_alignment: STAR, HISAT2, Bowtie2 index building/loading
- prepare_indices_quantification: Salmon, Kallisto, RSEM index building/loading
- prepare_indices_filtering: BBSplit, SortMeRNA index building/loading
Each subworkflow would have its own focused test suite, making changes easier to validate.
Context
Raised during review of PR #1717 (3.23.0 release).
Description
The
prepare_genomesubworkflow (subworkflows/local/prepare_genome/main.nf) has grown to handle 28 inputs and manages index building/loading for all aligners (STAR, HISAT2, Salmon, Kallisto, Bowtie2, RSEM, BBSplit, SortMeRNA), plus genome preparation (FASTA indexing, GTF filtering, BED conversion, transcript FASTA generation, etc.).This makes it difficult to maintain, test, and review.
Proposal
Split
prepare_genomeinto smaller, focused subworkflows:Each subworkflow would have its own focused test suite, making changes easier to validate.
Context
Raised during review of PR #1717 (3.23.0 release).