Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexVCaron committed Dec 6, 2024
1 parent 5e54375 commit 1f11d3d
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 23 deletions.
4 changes: 2 additions & 2 deletions .devcontainer/devops/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
}
},
"forwardPorts": [3000],
"onCreateCommand": "bash .devcontainer/onCreateCommand.sh",
"updateContentCommand": "bash .devcontainer/updateContentCommand.sh",
"onCreateCommand": "bash .devcontainer/devops/onCreateCommand.sh",
"updateContentCommand": "bash .devcontainer/devops/updateContentCommand.sh",
"postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
"containerEnv": {
"WORKSPACE": "${containerWorkspaceFolder}"
Expand Down
4 changes: 2 additions & 2 deletions .devcontainer/prototyping/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
}
},
"forwardPorts": [3000],
"onCreateCommand": "bash .devcontainer/onCreateCommand.sh",
"updateContentCommand": "bash .devcontainer/updateContentCommand.sh",
"onCreateCommand": "bash .devcontainer/prototyping/onCreateCommand.sh",
"updateContentCommand": "bash .devcontainer/prototyping/updateContentCommand.sh",
"postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
"containerEnv": {
"WORKSPACE": "${containerWorkspaceFolder}"
Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,24 @@
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
![Checks](https://github.com/scilus/nf-neuro/workflows/Merge%20to%20main%20checks/badge.svg)

Welcome to the `nf-neuro` project ! A __Nextflow__ modules and workflows repository for neuroimaging
Welcome to the `nf-neuro` project ! A **Nextflow** modules and workflows repository for neuroimaging
maintained by the [SCIL team](https://scil-documentation.readthedocs.io/en/latest/). The
primary focus of the library is to provide pre-built processes and processing sequences for
__neuroimaging__, optimized for _Nextflow DSL2_, based on open-source
**neuroimaging**, optimized for _Nextflow DSL2_, based on open-source
technologies and made easily available to pipeline's developers through the `nf-core`
framework.

# WHY ? `nf-neuro`

__Let's say you develop a pipeline for neuroimaging__. You want to make it the more _efficient,_
**Let's say you develop a pipeline for neuroimaging**. You want to make it the more _efficient,_
_reliable, reproducible_ and also be able to _evaluate it_ and _control the quality_ of its outputs.
That's what `nf-neuro` provides to you, __all in one repository__, hosting __all dependencies__ you
That's what `nf-neuro` provides to you, **all in one repository**, hosting **all dependencies** you
need to start developing and analyzing.

The only thing we ask of you is to develop in `Nextflow DSL2`. We use principle and standards
closely aligned with [nf-core](), but we'll make you adapt to them slowly as you go (we still
haven't finished complying to all of them ourselves). Using `nf-neuro` helps accelerate
development in __neuroimaging__ and produces better research outcomes for all !
development in **neuroimaging** and produces better research outcomes for all !

---

Expand Down Expand Up @@ -185,6 +185,7 @@ DENOSING_NLMEANS( input )

> [!WARNING]
> There are some exceptions here, due to limitations in current `nf-core` tools and standards.
>
> 1. some inputs could be associated to different channels. It's almost never the case, but it happens.
> We are working hard at changing the behavior of those modules, and at improving the metadata to
> help you better. For now, please refer to their implementation in the `modules/nf-neuro/`
Expand All @@ -201,7 +202,8 @@ DENOISING_NLMEANS.out.versions.first().view() // [ "versions.yml" ]

> [!WARNING]
> There are some exceptions here, due to limitations in current `nf-core` tools and standards.
> 1. `meta` output __is not a channel__ but accompanies all files, produced by other channels.
>
> 1. `meta` output **is not a channel** but accompanies all files, produced by other channels.
> 2. `versions` is a channel, but its output is not accompanied by `meta`
> 3. Some other outputs are not accompanied by `meta` also. We are currently improving the metadata
> files to make it apparent. For now, please refer to their implementation in the `modules/nf-neuro/`
Expand Down Expand Up @@ -244,7 +246,7 @@ PREPROC_T1.out.versions.first().view() // [ "versions.yml" ]

## Porting prototypes to `nf-` ready pipelines

__SECTION TO COME__
**SECTION TO COME**

# Developing within `nf-neuro`

Expand Down Expand Up @@ -362,7 +364,7 @@ The tool can be omitted to run tests for all modules in a category.

# Installing Prettier and editorconfig

To install __Prettier__ and __editorconfig__ for the project, you need to have `node` and `npm` installed on your system to at least version 14. On Ubuntu, you can do it using snap :
To install **Prettier** and **editorconfig** for the project, you need to have `node` and `npm` installed on your system to at least version 14. On Ubuntu, you can do it using snap :

```bash
sudo snap install node --classic
Expand Down
20 changes: 10 additions & 10 deletions docs/MODULE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,19 @@ nf-core modules create
You will be prompted several times to configure the new module correctly. Refer
to the following to ensure configuration abides with `nf-neuro` :

- __Name of tool/subtool__ : `category/tool` of the module you plan creating (e.g. denoising/nlmeans).
- __Bioconda package__ : select `no`.
- __Github author__ : use your Github handle, or `@scilus` if you prefer not being identified through nf-neuro.
- __Resource label__ : select `process_single` for now, for any tool (multiprocessing and acceleration will be delt with later).
- __Meta map__ : select `yes`.
- **Name of tool/subtool** : `category/tool` of the module you plan creating (e.g. denoising/nlmeans).
- **Bioconda package** : select `no`.
- **Github author** : use your Github handle, or `@scilus` if you prefer not being identified through nf-neuro.
- **Resource label** : select `process_single` for now, for any tool (multiprocessing and acceleration will be delt with later).
- **Meta map** : select `yes`.

Alternatively, you can use the following command to supply nearly all information :

```bash
nf-core modules create --author @scilus --label process_single --meta <category>/<tool>
```

You will still have to interact with the __bioconda__ prompt, still select `no`.
You will still have to interact with the **bioconda** prompt, still select `no`.

> [!NOTE]
> Once used to the conventions, adding `--empty-template` to the command will disable
Expand Down Expand Up @@ -361,7 +361,7 @@ Available runner classes that superseed `default` :
| scilus-nf-neuro-bigmem-runners | <ul><li>16Gb RAM</li></ul> |

> [!IMPORTANT]
> Specialized runners are limited !!! They are allocated for hungry processes, such as __AI/ML__ models and __large dataset studies__, don't abuse them. _The more they are requested for, the longer PR take to merge_, so don't ask for them for nothing, meaning be smart in designing your modules ! __PRs deemed not needing them will be automatically closed.__
> Specialized runners are limited !!! They are allocated for hungry processes, such as **AI/ML** models and **large dataset studies**, don't abuse them. _The more they are requested for, the longer PR take to merge_, so don't ask for them for nothing, meaning be smart in designing your modules ! **PRs deemed not needing them will be automatically closed.**
## Lint your code

Expand Down Expand Up @@ -419,7 +419,7 @@ process {
}
```

Doing so will affect __ALL__ processes. To scope to a specific process, use the
Doing so will affect **ALL** processes. To scope to a specific process, use the
[process selectors](https://www.nextflow.io/docs/latest/config.html#process-selectors)
(`withName:` or `withLabel:`) :

Expand All @@ -443,12 +443,12 @@ process {
```

> [!IMPORTANT]
> Modules inherit __selectors__. Thus, a module renamed at import (`import {A as B}`)
> Modules inherit **selectors**. Thus, a module renamed at import (`import {A as B}`)
> will be affected both by the selection `withName: "A"` and `withName: "B"`. However,
> parameters defined by `B` will have precedence on those define in `A`.
> [!IMPORTANT]
> The same stands for __selectors__ defined on multiple levels, implicit (`withName: WORKFLOW_X*`)
> The same stands for **selectors** defined on multiple levels, implicit (`withName: WORKFLOW_X*`)
> or explicit (`withName: WORKFLOW_Y:B`).
# Test data infrastructure
Expand Down
2 changes: 1 addition & 1 deletion docs/SUBWORKFLOWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ The command will generate a new subworkflow template in the `./subworkflows/nf-n
You can't select an empty template when you generate a new subworkflow, so the template is based on nf-core. You will need to replace some of their sections for your use case:

- Remove the different comment lines.
- Include your modules into your subworkflows (a subworkflow should include at least __two__ modules). Remove the modules `{ SAMTOOLS_SORT}` and `{ SAMTOOLS_INDEX }` then includes yours with the good pathway:
- Include your modules into your subworkflows (a subworkflow should include at least **two** modules). Remove the modules `{ SAMTOOLS_SORT}` and `{ SAMTOOLS_INDEX }` then includes yours with the good pathway:

```
include { <MODULES> } from '../../../modules/nf-neuro/<category>/<tool>/main'
Expand Down

0 comments on commit 1f11d3d

Please sign in to comment.