Skip to content

Conversation

edmundmiller
Copy link
Contributor

@edmundmiller edmundmiller commented Mar 5, 2025

I think restructuring the configs across the board like this would make it easier for new maintainers to find configs for pipeline for their institutions.

@edmundmiller edmundmiller self-assigned this Mar 5, 2025
@lpantano
Copy link

lpantano commented Mar 5, 2025

I support this! At least for me is easy to see now.

@jfy133
Copy link
Member

jfy133 commented Mar 5, 2025

This might be a good Hackathon task thinking about it (just moving stuff around), but we would need to coordinate with @mashehu as will need to update how the website parses this repo

@mashehu
Copy link
Contributor

mashehu commented Mar 5, 2025

Yep, please don't move anything without updating the website at the same time. My hope is that surfacing them on the website with the latest website upgrade should solve already a lot of the discoverability.

@mahesh-panchal
Copy link
Member

Can I get an overview of what you're doing that improves discoverability?

Each config and related material (docs, pipeline) is put in a folder with the profile name?
I think that's better. It'll allow better dynamic inclusion too.

I think the README should be right next to the config.

What other discoverability issues are there?

  • Key words? Hostnames?
  • What the config supports in plain language?

@edmundmiller
Copy link
Contributor Author

Hey @mahesh-panchal, sorry for missing this.

I think it's also around the pipeline-specific configs and the discoverability of that.

I think a lot of people look for the examples, and then they find them hidden under layers and layers of directories and spread all over the place.

The way this ended up structured is that we're organizing based on the "types" of things. We're matching "this is a doc," "this is a pipeline config," and "this is an HPC system config."

Versus "Here's all of this specific HPC system's docs and configs in one directory".

edmundmiller and others added 2 commits August 29, 2025 07:38
- Rename conf/uppmax/uppmax.config to conf/uppmax/nextflow.config
- Rename conf/uppmax/pipeline/ to conf/uppmax/pipelines/
- Move pipeline-specific configs to their own subdirectories:
  - conf/pipeline/sarek/uppmax.config → conf/uppmax/pipelines/sarek/nextflow.config
  - conf/pipeline/ampliseq/uppmax.config → conf/uppmax/pipelines/ampliseq/nextflow.config
- Move pipeline documentation to co-located README files:
  - docs/pipeline/sarek/uppmax.md → conf/uppmax/pipelines/sarek/README.md
  - docs/pipeline/ampliseq/uppmax.md → conf/uppmax/pipelines/ampliseq/README.md
- Remove duplicate config and documentation files

All uppmax-related files are now co-located under conf/uppmax/ with
consistent naming conventions (nextflow.config, README.md).

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@edmundmiller
Copy link
Contributor Author

edmundmiller commented Aug 29, 2025

Current Structure Analysis

  • conf/uppmax/README.md ✅ (already exists)
  • conf/uppmax/uppmax.config (main config)
  • conf/uppmax/pipeline/ampliseq.config (ampliseq-specific config)
  • conf/uppmax/pipeline/ampliseq.md (ampliseq-specific docs)
  • conf/pipeline/sarek/uppmax.config (sarek config in old location)
  • conf/pipeline/ampliseq/uppmax.config (duplicate of ampliseq config)
  • docs/pipeline/sarek/uppmax.md (sarek docs in old location)
  • docs/pipeline/ampliseq/uppmax.md (duplicate of ampliseq docs)

Target Structure

conf/uppmax/
├── nextflow.config                    # Renamed from uppmax.config
├── README.md                         # Keep existing
└── pipelines/                        # Rename from 'pipeline'
    ├── ampliseq/
    │   ├── nextflow.config           # Rename from ampliseq.config
    │   └── README.md                 # Rename from ampliseq.md
    └── sarek/
        ├── nextflow.config           # Move from conf/pipeline/sarek/uppmax.config
        └── README.md                 # Move from docs/pipeline/sarek/uppmax.md

Actions Required

  1. Rename main config: conf/uppmax/uppmax.config → conf/uppmax/nextflow.config
  2. Rename pipeline directory: conf/uppmax/pipeline/ → conf/uppmax/pipelines/
  3. Create sarek subdirectory: conf/uppmax/pipelines/sarek/
  4. Move sarek files:
  • conf/pipeline/sarek/uppmax.config → conf/uppmax/pipelines/sarek/nextflow.config
  • docs/pipeline/sarek/uppmax.md → conf/uppmax/pipelines/sarek/README.md
  1. Rename ampliseq files:
  • conf/uppmax/pipelines/ampliseq.config → conf/uppmax/pipelines/ampliseq/nextflow.config
  • conf/uppmax/pipelines/ampliseq.md → conf/uppmax/pipelines/ampliseq/README.md
  1. Remove duplicates:
  • Delete conf/pipeline/ampliseq/uppmax.config

  • Delete docs/pipeline/ampliseq/uppmax.md

    This creates a consistent structure where all uppmax files are co-located under conf/uppmax/ with uniform naming (nextflow.config, README.md)

Update the includeConfig path for uppmax profile to point to the new
location at conf/uppmax/nextflow.config after directory reorganization.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@jfy133
Copy link
Member

jfy133 commented Aug 30, 2025

I don't think it's just the discoverability that would benefit from the new structure that @edmundmiller but for creation and maintenance, which the website would not help.

Alongside the examples that @edmundmiller mentioned: everything is self contained in a single directory - it's easier to cross reference your 'own' configs related to the same infra with fewer clicks and to modify in the same way (e.g. imagine doing a global search/replace in an IDE across all configs - the restriction pattern will be a single directory Vs a more complex pattern with the current system).

It also would make initialisation of templates for configs etc much simpler in the future - something that the config builder that @mirpedrol has taken over would potentially benefit from.

So /approve (if that would work here... Maybe this could be an RFC @edmundmiller )

Also I guess you could probably write a little script to update the structure across all the configs @edmundmiller ?

@jfy133
Copy link
Member

jfy133 commented Aug 30, 2025

Edit: oh you did that already 🤣

Copy link
Member

@ewels ewels left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree with the above, I like this 👍🏻 The repo is old and has grown in scope over time, this structure makes more sense now, given the content that it now creates.

I don't think that it should affect pipelines, as they only import the one file, which imports everything else (yay past-us for doing that). So it's just the website that needs updating to match. Plus this PR should include all files to rename.

Not sure that it's worthy of a hackathon project. It should be a 5 minute job with Claude Code. Not sure how complex the website update will be, but again I'd be surprised if it's that bad.

@edmundmiller edmundmiller moved this from Todo to In Review in nf-core infrastructure projects Sep 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Status: In Review
Development

Successfully merging this pull request may close these issues.

6 participants