`nf-core sync` will modify the template incorrectly if the pipeline prefix is uppercase
Nobody has claimed this yet.
- 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
- e.g. create a pipeline called
- The created template should look normal, under workflows there should be
pipeline.nf. - Run
nf-core syncfrom 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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