This release contains some template changes and nf-core/tools updates. For a more detailed list of changes, you can read the changelog.
Highlights
New contributors
The hackathon in March brought us some new contributors to the tools repository. Welcome to nf-core/infrastructure!
nf-core/tools functionalities
- We included a new linting test to assure that nf-test snapshots contain the
versions.yml
file. - Components (modules and subworkflows) can now handle more possible git URLs (
ssh://
andftp://
). - The
nf-core download
command has a new argument--tag
, which allows adding additional tags to select particular revisions in the Seqera Platform interface. For example,--tag "3.10=validated"
would allow you to quickly select the validated version of the pipeline.
Pipeline template
-
We updated the GitHub Action which tests that the pipeline can be downloaded correctly (
download_pipeline.yml
):If you had errors with this GitHub test, they are fixed!
First, the test will try to run a stub run of the downloaded pipeline. If this fails, because some modules don’t have a stub test yet, it run the pipeline without the
-stub
option. -
We removed
pyproject.toml
from the template.This was used to lint Python code. The nf-core/pipeline template doesn’t contain Python code anymore, thanks to the new utils subworkflows and the nf-validation (now nf-schema) plugin, which replace the Python script which was validating the input sample sheet. If you have other Python scripts in your pipeline and you would like to keep this linting, feel free to add this file back to your pipeline.
-
Pipeline-specific institutional configs support is now activated for all pipelines by default.
-
The
.nf-core.yml
file contains now the version of the pipeline template, corresponding to the version of nf-core/tools used for the last template update.
How to merge the pipeline template updates
-
editorconfig
:We removed redundant configurations from the
.editorconfig
file. Accept the changes made to this file. -
Files inside the
.github/
folder:These files are responsible for the Continuous Integration tests. In general, accept all changes made on these files.
-
.github/workflows/ci.yml
: If you added your own tests to this file, for example, you added nf-test tests to your pipeline, keep your changes, but accept the template updates related to action versions, e.g. -
.github/workflows/download_pipeline.yml
: This file is responsible for testing if the pipeline can be downloaded correctly. Accept the changes made to this file. -
.github/PULL_REQUEST_TEMPLATE.md
: We were a bit too fast with adding nf-test commands to the PR template. Accept the changes made to this file, if your pipeline doesn’t use nf-test yet.
-
-
pre-commit-config.yaml
:We set the version of prettier to 3.2.5. Accept this change.
-
conf/base.config
andconf/modules.config
directory:We removed some remnants of the old custom_dumpsoftwareversions module. Accept the changes made to the files in this directory.
-
.nf-core-yml
:The version of nf-core used for the template update is added to the
.nf-core.yml
file. Accept the change of version. Do NOT accept changes removing any other configurations that you added to this file. -
README.md
We updated the link to Seqera Platform badge, accept this change.
-
assets/multiqc_config.yml
:Always accept changes made to this file before the line:
disable_version_detection: true
. Custom changes should be made after this line. -
docs/usage.md
:We added a new profile
wave
. Accept this change. -
nextflow.config
:We fixed a bug with
conda.channels
. Accept the changes made to this file. Don’t accept changes removing any of your pipeline custom parameters. -
nextflow_schema.json
:We added a new parameter
pipelines_testdata_base_path
, accept this change. Do not accept changes which remove any of your pipeline paramters. -
pyproject.toml
:Python linting is now optional. If you have Python code on your pipeline and want to keep linting it, DON’T accept this change. Otherwise, it is safe to remove this file.
-
conf/test_full.config
andconf/test.config
:We are using the parameter
params.pipelines_testdata_base_path
to specify the base path of the repo containing test data. You will have to resolve this manually. Accept the change using this parameter on theinput
path, the new parameter will replacehttps://raw.githubusercontent.com/nf-core/test-datasets/
. But don’t accept the change changing the last part of this path, which is specific of your pipeline. Don’t accept changes removing other custom configurations you added to your tests. -
Changes on
docs/
:Do NOT accept any change that removes custom docs that you added to your pipeline.
-
Changes on
CHANGELOG.md
:Do NOT accept any change which modified custom points of your
CHANGELOG.md
. -
modules.json
and template modules and subworkflows:Do NOT accept any changes deleting your pipeline modules from
modules.json
. Template modules and subworkflows are updated on every template release. You can accept those changes and the changes onmodules.json
related to these.A safe way to add these changes is to NOT accept them. Then run
nf-core modules update
andnf-core subworkflows update
. These commands will update all your modules and subworkflows and themodules.json
file accordingly. -
subworkflows/local/utils_nfcore_$PIPEPLINE_pipeline/main.nf
:We added a way to handle multiple DOIs in the manifest. Accept this change.
-
workflows/$PIPELINE.nf
:We shortened very long lines in the main pipeline script to allow easier comparison during code reviews. Accept these changes.