https://nf-co.re logo
Join Slack
Powered by
# subworkflows
  • n

    Nicolas Vannieuwkerke

    08/28/2024, 11:49 AM
    I created a local subworkflow to enable the watching of an output directory of one pipeline (using the
    .watchPath
    channel factory) for specific output files that can be used as input files for the current pipeline. Do you think it would benefit to others if I push this to nf-core? (source code: https://github.com/nvnieuwk/nextflow-watchpath-samplesheet)
    ๐Ÿค” 1
    s
    m
    • 3
    • 5
  • s

    suzannejin

    12/11/2024, 4:32 PM
    Hello! I want to add a new subworkflow, but I am not sure about my choice on the nameโ€ฆ The idea is to use this subworkflow to take some input and run the chosen functional enrichment analysis (eg. GSEA, gprofiler, etc) on it. I have thought about
    differential_functional_enrichment
    , but this subworkflow can also take expression data directly as input, or graph matrix instead of differential expression results as input. Also, as an optional step, a gene set file can be produced based on the input data before running the functional analysis. Any recommendation?
    s
    • 2
    • 1
  • r

    Ramiro Barrantes Reynolds

    12/18/2024, 7:44 PM
    Hello, I am adding a subworkflow, the modules are already in place: index, map, merge, extract and estimate. The basic pipeline is map->_extract_->_estimate_. However, index is only needed initially to index the database(s), and merge is only needed if something is mapped to two different databases and one needs to merge the mapping into a single bam file before running extract. How should I add the modules in the subworkflow?
    s
    • 2
    • 2
  • s

    Simon Pearce

    12/20/2024, 10:42 AM
    Hmmm, I think that FASTQ_ALIGN_BWA is somewhat suboptimal. BWA_MEM has an option to sort the bam directly inside the process, controlled by the sort_bam option to the subworkflow. But then BAM_SORT_STATS_SAMTOOLS is called, which will then sort the bam file.
    m
    e
    +2
    • 5
    • 11
  • j

    Jonas S

    01/29/2025, 9:03 AM
    Hi folks! Quick design quesiton if I would want to write an nf-core subworkflow: I need some auxiliar groovy functions. Where would they belong ideally in your opinion? Define before the workflow or in a separate utils.nf? A
    Copy code
    // Define the function at the top
    def myFunction(value) {
        return value.toUpperCase()
    }
    
    workflow myWorkflow {
        def result = myFunction("hello")
        println "Result: $result"
    }
    or B
    Copy code
    include { myFunction } from './utils.nf'
    
    workflow myWorkflow {
        def result = myFunction("hello")
        println "Result: $result"
    }
    s
    m
    • 3
    • 4
  • j

    James Fellows Yates

    01/30/2025, 4:22 PM
    Oi @Jonathan Manning (I assume) fix your nf-core subworkflows!
    Copy code
    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
    โ•ญโ”€ [โœ—] 11 Subworkflow Tests Failed โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
    โ”‚                                                    โ•ท            โ•ท            โ”‚
    โ”‚                                                    โ”‚            โ”‚ Test       โ”‚
    โ”‚ Subworkflow name                                   โ”‚ File path  โ”‚ message    โ”‚
    โ”‚โ•ถโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ดโ”‚
    โ”‚ differential_functional_enrichment                 โ”‚ subworkflโ€ฆ โ”‚ Included   โ”‚
    โ”‚                                                    โ”‚            โ”‚ module/sub โ”‚
    โ”‚                                                    โ”‚            โ”‚ workflow   โ”‚
    โ”‚                                                    โ”‚            โ”‚ custom/tab โ”‚
    โ”‚                                                    โ”‚            โ”‚ ulartogsea โ”‚
    โ”‚                                                    โ”‚            โ”‚ chip       โ”‚
    โ”‚                                                    โ”‚            โ”‚ missing in โ”‚
    โ”‚                                                    โ”‚            โ”‚ meta.yml   โ”‚
    โ”‚ differential_functional_enrichment                 โ”‚ subworkflโ€ฆ โ”‚ Included   โ”‚
    โ”‚                                                    โ”‚            โ”‚ module/sub โ”‚
    โ”‚                                                    โ”‚            โ”‚ workflow   โ”‚
    โ”‚                                                    โ”‚            โ”‚ custom/tab โ”‚
    โ”‚                                                    โ”‚            โ”‚ ulartogsea โ”‚
    โ”‚                                                    โ”‚            โ”‚ cls        โ”‚
    โ”‚                                                    โ”‚            โ”‚ missing in โ”‚
    โ”‚                                                    โ”‚            โ”‚ meta.yml   โ”‚
    โ”‚ differential_functional_enrichment                 โ”‚ subworkflโ€ฆ โ”‚ Included   โ”‚
    โ”‚                                                    โ”‚            โ”‚ module/sub โ”‚
    โ”‚                                                    โ”‚            โ”‚ workflow   โ”‚
    โ”‚                                                    โ”‚            โ”‚ custom/tab โ”‚
    โ”‚                                                    โ”‚            โ”‚ ulartogsea โ”‚
    โ”‚                                                    โ”‚            โ”‚ gct        โ”‚
    โ”‚                                                    โ”‚            โ”‚ missing in โ”‚
    โ”‚                                                    โ”‚            โ”‚ meta.yml   โ”‚
    โ”‚ fastq_qc_trim_filter_setstrandedness               โ”‚ subworkflโ€ฆ โ”‚ Included   โ”‚
    โ”‚                                                    โ”‚            โ”‚ module/sub โ”‚
    โ”‚                                                    โ”‚            โ”‚ workflow   โ”‚
    โ”‚                                                    โ”‚            โ”‚ fq/lint    โ”‚
    โ”‚                                                    โ”‚            โ”‚ missing in โ”‚
    โ”‚                                                    โ”‚            โ”‚ meta.yml   โ”‚
    โ”‚ abundance_differential_filter                      โ”‚ subworkflโ€ฆ โ”‚ The        โ”‚
    โ”‚                                                    โ”‚            โ”‚ meta.yml   โ”‚
    โ”‚                                                    โ”‚            โ”‚ of the     โ”‚
    โ”‚                                                    โ”‚            โ”‚ subworkflo โ”‚
    โ”‚                                                    โ”‚            โ”‚ w          โ”‚
    โ”‚                                                    โ”‚            โ”‚ abundance_ โ”‚
    โ”‚                                                    โ”‚            โ”‚ differenti โ”‚
    โ”‚                                                    โ”‚            โ”‚ al_filter  โ”‚
    โ”‚                                                    โ”‚            โ”‚ is not     โ”‚
    โ”‚                                                    โ”‚            โ”‚ valid:     โ”‚
    โ”‚                                                    โ”‚            โ”‚ 'name' is  โ”‚
    โ”‚                                                    โ”‚            โ”‚ a required โ”‚
    โ”‚                                                    โ”‚            โ”‚ property.  โ”‚
    โ”‚ utils_nextflow_pipeline                            โ”‚ subworkflโ€ฆ โ”‚ test       โ”‚
    โ”‚                                                    โ”‚            โ”‚ main.nf.te โ”‚
    โ”‚                                                    โ”‚            โ”‚ st does    โ”‚
    โ”‚                                                    โ”‚            โ”‚ not exist  โ”‚
    โ”‚ utils_nfcore_pipeline                              โ”‚ subworkflโ€ฆ โ”‚ test       โ”‚
    โ”‚                                                    โ”‚            โ”‚ main.nf.te โ”‚
    โ”‚                                                    โ”‚            โ”‚ st does    โ”‚
    โ”‚                                                    โ”‚            โ”‚ not exist  โ”‚
    โ”‚ bam_dedup_umi                                      โ”‚ subworkflโ€ฆ โ”‚ Tags do    โ”‚
    โ”‚                                                    โ”‚            โ”‚ not adhere โ”‚
    โ”‚                                                    โ”‚            โ”‚ to         โ”‚
    โ”‚                                                    โ”‚            โ”‚ guidelines โ”‚
    โ”‚                                                    โ”‚            โ”‚ . Tags     โ”‚
    โ”‚                                                    โ”‚            โ”‚ missing in โ”‚
    โ”‚                                                    โ”‚            โ”‚ main.nf.te โ”‚
    โ”‚                                                    โ”‚            โ”‚ st:        โ”‚
    โ”‚                                                    โ”‚            โ”‚ ['subworkf โ”‚
    โ”‚                                                    โ”‚            โ”‚ lows/bam_s โ”‚
    โ”‚                                                    โ”‚            โ”‚ ort_stats_ โ”‚
    โ”‚                                                    โ”‚            โ”‚ samtools', โ”‚
    โ”‚                                                    โ”‚            โ”‚            โ”‚
    โ”‚                                                    โ”‚            โ”‚ 'subworkfl โ”‚
    โ”‚                                                    โ”‚            โ”‚ ows/bam_de โ”‚
    โ”‚                                                    โ”‚            โ”‚ dup_stats_ โ”‚
    โ”‚                                                    โ”‚            โ”‚ samtools_u โ”‚
    โ”‚                                                    โ”‚            โ”‚ micollapse โ”‚
    โ”‚                                                    โ”‚            โ”‚ ',         โ”‚
    โ”‚                                                    โ”‚            โ”‚ 'subworkfl โ”‚
    โ”‚                                                    โ”‚            โ”‚ ows/bam_de โ”‚
    โ”‚                                                    โ”‚            โ”‚ dup_stats_ โ”‚
    โ”‚                                                    โ”‚            โ”‚ samtools_u โ”‚
    โ”‚                                                    โ”‚            โ”‚ mitools']  โ”‚
    โ”‚ differential_functional_enrichment                 โ”‚ subworkflโ€ฆ โ”‚ Tags do    โ”‚
    โ”‚                                                    โ”‚            โ”‚ not adhere โ”‚
    โ”‚                                                    โ”‚            โ”‚ to         โ”‚
    โ”‚                                                    โ”‚            โ”‚ guidelines โ”‚
    โ”‚                                                    โ”‚            โ”‚ . Tags     โ”‚
    โ”‚                                                    โ”‚            โ”‚ missing in โ”‚
    โ”‚                                                    โ”‚            โ”‚ main.nf.te โ”‚
    โ”‚                                                    โ”‚            โ”‚ st:        โ”‚
    โ”‚                                                    โ”‚            โ”‚ ['custom/t โ”‚
    โ”‚                                                    โ”‚            โ”‚ abulartogs โ”‚
    โ”‚                                                    โ”‚            โ”‚ eagct',    โ”‚
    โ”‚                                                    โ”‚            โ”‚ 'custom/ta โ”‚
    โ”‚                                                    โ”‚            โ”‚ bulartogse โ”‚
    โ”‚                                                    โ”‚            โ”‚ achip',    โ”‚
    โ”‚                                                    โ”‚            โ”‚ 'custom/ta โ”‚
    โ”‚                                                    โ”‚            โ”‚ bulartogse โ”‚
    โ”‚                                                    โ”‚            โ”‚ acls',     โ”‚
    โ”‚                                                    โ”‚            โ”‚ 'abundance โ”‚
    โ”‚                                                    โ”‚            โ”‚ _different โ”‚
    โ”‚                                                    โ”‚            โ”‚ ial_filter โ”‚
    โ”‚                                                    โ”‚            โ”‚ ']         โ”‚
    โ”‚ fastq_qc_trim_filter_setstrandedness               โ”‚ subworkflโ€ฆ โ”‚ Tags do    โ”‚
    โ”‚                                                    โ”‚            โ”‚ not adhere โ”‚
    โ”‚                                                    โ”‚            โ”‚ to         โ”‚
    โ”‚                                                    โ”‚            โ”‚ guidelines โ”‚
    โ”‚                                                    โ”‚            โ”‚ . Tags     โ”‚
    โ”‚                                                    โ”‚            โ”‚ missing in โ”‚
    โ”‚                                                    โ”‚            โ”‚ main.nf.te โ”‚
    โ”‚                                                    โ”‚            โ”‚ st:        โ”‚
    โ”‚                                                    โ”‚            โ”‚ ['fq/lint' โ”‚
    โ”‚                                                    โ”‚            โ”‚ ]          โ”‚
    โ”‚ differential_functional_enrichment                 โ”‚ subworkflโ€ฆ โ”‚ md5sum for โ”‚
    โ”‚                                                    โ”‚            โ”‚ empty file โ”‚
    โ”‚                                                    โ”‚            โ”‚ found:     โ”‚
    โ”‚                                                    โ”‚            โ”‚ d41d8cd98f โ”‚
    โ”‚                                                    โ”‚            โ”‚ 00b204e980 โ”‚
    โ”‚                                                    โ”‚            โ”‚ 0998ecf842 โ”‚
    โ”‚                                                    โ”‚            โ”‚ 7e         โ”‚
    โ”‚                                                    โ•ต            โ•ต            โ”‚
    โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
    ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰ ๐Ÿ˜‰
    j
    s
    • 3
    • 7
  • j

    Jonas S

    03/24/2025, 9:08 AM
    Must all modules of a nf-core subworkflow be also nf-core modules?
    m
    a
    r
    • 4
    • 11
  • f

    Famke Bรคuerle

    07/18/2025, 9:24 AM
    I am working on a new subworkflow for sarek that might also be compatible as a standalone nf-core subworkflow (needs to be decided later maybe). I have a lot of channel manipulation in the workflow and was wondering if any of you nextflow wizards ๐Ÿง™ might have some time to have a look and give me some hints to improve the code readability etc.. You can check all files but the main coding I did is in this file: https://github.com/nf-core/sarek/pull/1940/files#diff-0c37c0cc0dcb7acea8f72c4f99b0677d9239ca949642bd0b4a91b50264faaf9e A few comments or hints would already help me a lot ๐Ÿ™‚
    ๐Ÿ‘€ 2
    n
    m
    • 3
    • 4
  • d

    Delfina Terradas

    08/07/2025, 3:56 PM
    Hi! Can I get some input on the name for a new subworkflow I want to add? Currently it is called
    FASTQ_ALIGN_CONVERT_STAR_SAMTOOLS
    since there is already a subworkflow called
    FASTQ_ALIGN_STAR
    . Thank you!
    s
    • 2
    • 5
  • m

    Marek Cmero

    08/10/2025, 11:57 PM
    Hi, if anyone has some time to review a new subworkflow Iโ€™d like to add that would be much appreciated! It runs a complete cell segmentation from the vizgenpostprocessing modules Iโ€™ve added to nf-core
    p
    • 2
    • 1
  • t

    Thomas Krannich

    08/13/2025, 11:06 AM
    Hi, I have an issue with a version.yml as a result of "competing" subworkflows. It seems to me that conda versus docker/singularity pick different recursive routes to include subworkflows (see "installed_by" of modules.json). Now, when I launch my pipeline the exact same way and only change singularity to conda as profile, the subworkflows are imported differently (see comparison of version.yml). Is that a known phenomenon? Might be a case for #C049MBCEW06 too
    m
    j
    • 3
    • 13
  • e

    Evangelos Karatzas

    08/26/2025, 10:44 AM
    I am trying to convert my
    EXECUTE_CLUSTERING
    local subworkflow to an nf-core one:
    MMSEQS_FASTA_CLUSTER
    . Is there a way to use a patched nf-core/module in an nf-core subworkflow? I want to use stageAs aliases in the inputs to avoid executing a module twice, the way it's done here: https://github.com/nf-core/proteinfamilies/blob/main/modules/nf-core/mmseqs/createtsv/main.nf Otherwise I would have to execute
    MMSQES_CREATEDB
    twice, which is a huge waste of resources and unnecessary code duplication. If not, is there a smarter way? We could always update the module to always use stageAs.. @Joon Klaps, @Jasmin Frangenberg?
    j
    j
    j
    • 4
    • 24
  • a

    Alem Gusinac

    09/10/2025, 8:25 AM
    Hello! I am looking into adding
    versions.yaml
    from different processes, and combining them together with
    params
    into a table in the final
    multiqc
    report. I am trying to make this more FAIR and I am wondering if anyone already has done something similar and/or is using a certain standardised template for this? I was looking into RO-crate , but I couldn't really find a template for versions & params?
    p
    m
    j
    • 4
    • 23
  • m

    moritz

    09/15/2025, 1:06 PM
    When I need to access a parameter in a subworkflow, is it preferred to access
    params
    or to accept that as an input to the workflow? I prefer the latter to avoid global magic, but
    params
    are much easier to set up.
    e
    • 2
    • 1
  • m

    moritz

    09/15/2025, 1:37 PM
    Beginner question, how do I test a local subworkflow?
    Copy code
    โฏ nf-core subworkflows test --profile docker sourmash_create
    
    
                                              ,--./,-.
              ___     __   __   __   ___     /,-._.--~\
        |\ | |__  __ /  ` /  \ |__) |__         }  {
        | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                              `._,._,'
    
        nf-core/tools version 3.3.2 - <https://nf-co.re>
    
    
    CRITICAL Cannot find directory 'subworkflows/nf-core/sourmash_create'.
    Assumes that it's an nf-core one...
    e
    • 2
    • 4
  • m

    moritz

    09/17/2025, 9:16 AM
    And another question about subworkflows, is it now preferred to publish outputs from the workflow or still from the individual processes?
    j
    • 2
    • 1
  • s

    Simon Pearce

    09/18/2025, 6:32 AM
    @Eduard Casas is suggesting to add
    METHYLDACKEL_EXTRACT_MBIAS
    as a new subworkflow. This takes a bam, so potentially wants to start with BAM for consistency. Eduard, are there any other methyldackel tools that might be added in time? Basically naming subworkflows is harder than modules, because we don't tend to want to rename them after creation.
    e
    s
    • 3
    • 7
  • e

    Eduard Casas

    09/18/2025, 4:23 PM
    I also want to add a new subworkflow to be used in the #CP3RJSMF0 pipeline: this workflow will use the newly implemented rastair modules to assess methylated C to T conversion rates as a positive readout of DNA methylation. I was thinking of the name TAPS_CONVERSION given how the protocol to generate this data is called TAPS (Tet-assisted pyridine borane sequencing). The input will be a bam file (+ bam index, fasta, fa.fai) and the output some plain text files (.bed, .txt) and pdf and .gz. So if we want to call it BAM_TAPS_CONVERSION we are also fine with it. Thoughts?
    s
    s
    • 3
    • 6
  • s

    Simon Pearce

    09/19/2025, 4:29 PM
    Any thoughts on the name of this subworkflow: https://github.com/nf-core/modules/pull/9067 Currently FASTA_INDEX_BISMARK_BWAMETH_BWAMEM
    m
    s
    +2
    • 5
    • 20
  • e

    Eduard Casas

    09/30/2025, 11:37 AM
    Hello! I recently added a bunch of modules from the 'rastair' toolkit (rastair/call, rastair/mbias, rastair/mbias_parser...) which are used within the recently added subworkflow bam_taps_conversion. However, when installing this subworkflow through the nf-core toolkit I get this error: ~/methylseq$ nf-core subworkflows install bam_taps_conversion INFO Installing 'bam_taps_conversion' ERROR Module 'rastair/mbias/parser' not found in available modules The issue I can see here is that the toolkit is is reading the underscore in the module name as a backslash, hence not finding it, even though I can install such workflow using nf-core modules install rastair/mbias_parser Is there a way to still install that subworkflow through the nf-core CLI or should I make a PR and rename the module removing the underscore? Thanks! Slack conversation
    f
    s
    m
    • 4
    • 12
  • e

    Evangelos Karatzas

    10/10/2025, 4:01 PM
    New
    fastq
    file sanitization/pre-processing subworkflow, to be used instead of just
    seqkit/sana
    , that automatically breaks paired-end reads (
    seqkit/sana
    can only process one file at a time), mixes with single-end reads in one channel, runs
    seqkit/sana
    and finally merges back original pairs with `seqkit/pair`; https://github.com/nf-core/modules/pull/9185
  • e

    Evangelos Karatzas

    10/13/2025, 3:40 PM
    Regarding the upcoming hackathon (https://nf-co.re/events/2025/hackathon-barcelona)
    extended short reads QC subworkflow
    project; how does the name
    fastq_shortreads_preprocess_qc
    for the new subworkflow sound like? Any strong opinions against it? If so, feel free to suggest any alternatives
    s
    • 2
    • 3
  • e

    Eduard Casas

    10/15/2025, 10:22 PM
    Got a new subworkflow request here (pending review): https://github.com/nf-core/modules/pull/9197 bascically wraps fastq_align_bwa but includes parabricks/fq2bam and some stats and deduplication
  • o

    Oliver Drechsel

    03/13/2026, 9:01 AM
    Hi. On the nf-core webpage there is a list of available subworkflows. Two of them are โ€ข fastq_generate_statistics โ€ข fastq_qc_stats Both subworkflows do basically the same, except that fastq_generate_statistics can't be installed. It is also not available if one runs
    $ nf-core subworkflows list remote
    The
    qc
    subworkflow is available, the `generate`is not. Is there any way to synchronise webpage and github?
    quick look 1
    thankyou 1
    m
    • 2
    • 3
  • m

    Martin Beracochea

    03/13/2026, 9:57 AM
    Can I get another round of review on this one please -> https://github.com/nf-core/modules/pull/10549
    โœ… 1
  • g

    Gary Burnett

    04/30/2026, 2:54 PM
    Hi all. I want to better understand how nf-core subworkflows are tested on the GitHub CI. I notice a lot of breaking changes keep getting merged and go undiscovered until you go to update one of the modules they touch. To me, it looks like the CI runners aren't running the subworkflow tests properly, but I want to know if this is expected behavior. For context, see this issue. @Kevin Brockers for viz
    ๐Ÿ‘ 1
    s
    j
    • 3
    • 7
  • d

    Daniel Lundin

    07/13/2026, 3:55 PM
    I'm writing a subworkflow that I intend to contribute to the nf-core collection in due time. This of course means that the individual modules should also be submitted if they're not already there. However, there is at least one step that is highly specific for the subworkflow (checking that sequence names in the two types of input files are the same). Would it be OK to include a process definition in the swf?
    m
    j
    • 3
    • 12
  • s

    Simon Pearce

    08/19/2026, 8:07 AM
    Anyone want to help @Sarath Murugan name the GRIDSS subworkflow in github.com/nf-core/modules/pull/12574 I feel that
    bam_tumor_normal_somatic_structural_variant_calling_gridss
    is a bit excessive
    m
    s
    a
    • 4
    • 11
  • s

    Simon Pearce

    08/21/2026, 6:07 AM
    A subworkflow for
    unzipping fasta, cleaning and then index/sizes generation
    (and I'd suggest dict generation too) : github.com/nf-core/modules/pull/12663 definitely not
    GUNZIP_FASTA_INDEX
    , because
    FASTA
    should be first.
    m
    j
    d
    • 4
    • 11
  • d

    Damon-Lee Pointon

    08/25/2026, 9:48 AM
    I'm writing the above subworkflow. Are groovy functions which read a file something that should be avoided and replaced with a module? For example
    Copy code
    // Read the .fai file to extract the number of sequences, the maximum and total sequence length
    // Inspired from <https://github.com/nf-core/rnaseq/blob/3.10.1/lib/WorkflowRnaseq.groovy>
    def get_sequence_map(fai_file) {
        def n_sequences = 0
        def max_length = 0
        def total_length = 0
        fai_file.eachLine { line ->
            def lspl = line.split('\t')
            // def chrom  = lspl[0]
            def length = lspl[1].toLong()
            n_sequences += 1
            total_length += length
            if (length > max_length) {
                max_length = length
            }
        }
    
        def sequence_map = [:]
        sequence_map.n_sequences = n_sequences
        sequence_map.total_length = total_length
        if (n_sequences) {
            sequence_map.max_length = max_length
        }
        return sequence_map
    }
    It's a really small function which will be modified to generate a JSON file instead so we don't pollute meta. It's not doing much so is it worth a module?
    m
    • 2
    • 3