nf-core / nf-core/tools

`nf-core sync` will modify the template incorrectly if the pipeline prefix is uppercase

Open
#2,981 2 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

nf-core sync seems to parse the workflow name incorrectly (?) if the prefix is uppercase, causing problems updating the template.

Steps to reproduce

  • Create a blank pipeline using nf-core create, and provide an uppercase prefix when prompted
    • e.g. create a pipeline called UPPER/pipeline
  • The created template should look normal, under workflows there should be pipeline.nf.
  • Run nf-core sync from the main branch (or dev)
Result

In the TEMPLATE branch, most instances of the workflow name "pipeline" have been renamed to "upper-pipeline". e.g. pipeline.nf is renamed to upper-pipeline.nf.

This doesn't happen when a lowercase prefix is provided instead, i.e. a pipeline called upper/pipeline will not reproduce this.

Command used and terminal output
# no commands actually fail
System information
  • nextflow 24.03.0-edge
  • nf-core: 2.14.1
  • Python 3.12.3
  • Ubuntu 24.04
Extra edit

I had created a pipeline with upper case prefix, and broke it by syncing as described.
There are only two changes I needed to commit to fix it:

  • change to lowercase prefix in .nf-core.yml
  • fix the workflow name in nextflow.config (under manifest).

The next nf-core sync then works as expected.

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 issue by creating an uppercase-prefix pipeline, then run nf-core sync and compare pipeline.nf, .nf-core.yml, and nextflow.config with the generated TEMPLATE branch. Trace the nf-core sync entry point and identify where the prefix is parsed; done means uppercase prefixes preserve the workflow name and the synced template remains consistent.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.