nf-core / nf-core/tools

Subworkflow installation bug

Open
#2,928 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
322
Forks
255
Avg merge
2d 3h
Merged PRs (30d)
5

Description

Description of the bug

If you have paths as:

include { MY_SMALL_SUBWORKFLOW }  from '../../../subworkflows/org/my_small_subworkflow/main.nf'

When you do nf-core module install of nf-core module update it looks for a module named modules/org/my/small/subworkflow, which does not exist, and therefore it errors out. What does exist is the subworkflow my_small_subworkflow.

To load a subworkflow inside a subworkflow during installation, the path must be:

include { MY_SMALL_SUBWORKFLOW  }  from '../my_small_subworkflow/main.nf'

I think both path strings should be allowed

Command used and terminal output
$nf-core subworkflows install my_big_subworkflow

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.13.1 - https://nf-co.re


INFO     Reinstalling 'my_big_subworkflow'                                                                                                                                                                                                                    
ERROR    Module 'my/small/subworkflow' not found in list of available modules.
System information

nf-core/tools version 2.13.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the problem with nf-core subworkflows install my_big_subworkflow using the two include paths shown in the issue, then trace the subworkflow installation entry point. Check that both path forms resolve to my_small_subworkflow rather than transforming the name into my/small/subworkflow; done means installation succeeds for both forms.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.