Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add native support for multiple org_path in modules and subworkflows directories #2996

Open
AlexVCaron opened this issue May 22, 2024 · 3 comments · May be fixed by nf-core/modules#5673
Open

Comments

@AlexVCaron
Copy link

Description of feature

As discussed with @edmundmiller and the infrastructure team at the Boston Hackathon 2024. Neuroimaging modules and subworkflows in nf-core will live aside of the nf-core directories, in modules/neuroimaging and subworkflows/neuroimaging. However, the current framework doesn't support it, tools need to be adapted for modules and subworkflows.

Here is a (non-exhaustive yet) list of potential problems :

  • Linting and testing locally is not possible without changing org_path in .nf-core.yml
  • Installation in pipelines is not possible without changing org_path in .nf-core.yml
  • Lint and test checks fail since they cannot discover the modules and subworkflows correctly (names are not mangled correctly since they don't contain nf-core)

A good use-case of this is the first neuroimaging PR nf-core/modules#5673 . An equivalent of the modules in that PR are also in nf-scil. There the tests and linting passes (we did many changes on our end to do so); they are a good reference.

@edmundmiller
Copy link
Contributor

Neuroimaging modules and subworkflows in nf-core will live aside of the nf-core directories

To clarify, this was a solution that I pitched as a first iteration, still need buy-in from more of @nf-core/core. I think this is a great start to the conversation.

I think the aside sounds like it's not a part of nf-core, which is not the intent. I think the issue is that putting it in the nf-core directory, the neuroimaging could get lost.

I've changed my stance. I think the better, easier solution due to the technical limitations and why we have the redundant nf-core directory. modules/nf-core/neuroimaging/denoising/nlmeans/ should work with the current infrastructure.

@mashehu
Copy link
Contributor

mashehu commented May 23, 2024

more background discussion happened, and modules/nf-core/scil/denoising_nlmeans is the currently preferred path

@edmundmiller edmundmiller linked a pull request May 24, 2024 that will close this issue
17 tasks
@awgymer
Copy link
Contributor

awgymer commented Jun 12, 2024

Does this modules/nf-core/scil/denoising_nlmeans work? I would expect issues with the _ in the module name since various parts of the tools code make assumptions about splitting on _ (in the module name) and the fact that there can be only a max-depth of 2 (tool/subtool) for a given module.

If this works I am interested because many modules would have their name readability improved by the addition of _

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

4 participants