Skip to content

Commit 3f548fe

Browse files
committed
Template update for nf-core/tools version 2.7.1
1 parent 95df0a8 commit 3f548fe

22 files changed

+195
-113
lines changed

.devcontainer/devcontainer.json

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"name": "nfcore",
3+
"image": "nfcore/gitpod:latest",
4+
"remoteUser": "gitpod",
5+
6+
// Configure tool-specific properties.
7+
"customizations": {
8+
// Configure properties specific to VS Code.
9+
"vscode": {
10+
// Set *default* container specific settings.json values on container create.
11+
"settings": {
12+
"python.defaultInterpreterPath": "/opt/conda/bin/python",
13+
"python.linting.enabled": true,
14+
"python.linting.pylintEnabled": true,
15+
"python.formatting.autopep8Path": "/opt/conda/bin/autopep8",
16+
"python.formatting.yapfPath": "/opt/conda/bin/yapf",
17+
"python.linting.flake8Path": "/opt/conda/bin/flake8",
18+
"python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle",
19+
"python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle",
20+
"python.linting.pylintPath": "/opt/conda/bin/pylint"
21+
},
22+
23+
// Add the IDs of extensions you want installed when the container is created.
24+
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
25+
}
26+
}
27+
}

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
*.config linguist-language=nextflow
2+
*.nf.test linguist-language=nextflow
23
modules/nf-core/** linguist-generated
34
subworkflows/nf-core/** linguist-generated

.github/CONTRIBUTING.md

+16
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,19 @@ If you are using a new feature from core Nextflow, you may bump the minimum requ
101101
### Images and figures
102102

103103
For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).
104+
105+
## GitHub Codespaces
106+
107+
This repo includes a devcontainer configuration which will create a GitHub Codespaces for Nextflow development! This is an online developer environment that runs in your browser, complete with VSCode and a terminal.
108+
109+
To get started:
110+
111+
- Open the repo in [Codespaces](https://github.com/nf-core/chipseq/codespaces)
112+
- Tools installed
113+
- nf-core
114+
- Nextflow
115+
116+
Devcontainer specs:
117+
118+
- [DevContainer config](.devcontainer/devcontainer.json)
119+
- [Dockerfile](.devcontainer/Dockerfile)

.github/ISSUE_TEMPLATE/bug_report.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ body:
4242
attributes:
4343
label: System information
4444
description: |
45-
* Nextflow version _(eg. 21.10.3)_
45+
* Nextflow version _(eg. 22.10.1)_
4646
* Hardware _(eg. HPC, Desktop, Cloud)_
4747
* Executor _(eg. slurm, local, awsbatch)_
4848
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_

.github/workflows/ci.yml

+6-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ on:
1111
env:
1212
NXF_ANSI_LOG: false
1313

14+
concurrency:
15+
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
16+
cancel-in-progress: true
17+
1418
jobs:
1519
test:
1620
name: Run pipeline with test data
@@ -20,11 +24,11 @@ jobs:
2024
strategy:
2125
matrix:
2226
NXF_VER:
23-
- "21.10.3"
27+
- "22.10.1"
2428
- "latest-everything"
2529
steps:
2630
- name: Check out pipeline code
27-
uses: actions/checkout@v2
31+
uses: actions/checkout@v3
2832

2933
- name: Install Nextflow
3034
uses: nf-core/setup-nextflow@v1

.github/workflows/fix-linting.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
env:
2525
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}
2626

27-
- uses: actions/setup-node@v2
27+
- uses: actions/setup-node@v3
2828

2929
- name: Install Prettier
3030
run: npm install -g prettier @prettier/plugin-php
@@ -34,9 +34,9 @@ jobs:
3434
id: prettier_status
3535
run: |
3636
if prettier --check ${GITHUB_WORKSPACE}; then
37-
echo "::set-output name=result::pass"
37+
echo "name=result::pass" >> $GITHUB_OUTPUT
3838
else
39-
echo "::set-output name=result::fail"
39+
echo "name=result::fail" >> $GITHUB_OUTPUT
4040
fi
4141
4242
- name: Run 'prettier --write'

.github/workflows/linting.yml

+10-8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ name: nf-core linting
44
# that the code meets the nf-core guidelines.
55
on:
66
push:
7+
branches:
8+
- dev
79
pull_request:
810
release:
911
types: [published]
@@ -12,9 +14,9 @@ jobs:
1214
EditorConfig:
1315
runs-on: ubuntu-latest
1416
steps:
15-
- uses: actions/checkout@v2
17+
- uses: actions/checkout@v3
1618

17-
- uses: actions/setup-node@v2
19+
- uses: actions/setup-node@v3
1820

1921
- name: Install editorconfig-checker
2022
run: npm install -g editorconfig-checker
@@ -25,9 +27,9 @@ jobs:
2527
Prettier:
2628
runs-on: ubuntu-latest
2729
steps:
28-
- uses: actions/checkout@v2
30+
- uses: actions/checkout@v3
2931

30-
- uses: actions/setup-node@v2
32+
- uses: actions/setup-node@v3
3133

3234
- name: Install Prettier
3335
run: npm install -g prettier
@@ -38,7 +40,7 @@ jobs:
3840
PythonBlack:
3941
runs-on: ubuntu-latest
4042
steps:
41-
- uses: actions/checkout@v2
43+
- uses: actions/checkout@v3
4244

4345
- name: Check code lints with Black
4446
uses: psf/black@stable
@@ -69,12 +71,12 @@ jobs:
6971
runs-on: ubuntu-latest
7072
steps:
7173
- name: Check out pipeline code
72-
uses: actions/checkout@v2
74+
uses: actions/checkout@v3
7375

7476
- name: Install Nextflow
7577
uses: nf-core/setup-nextflow@v1
7678

77-
- uses: actions/setup-python@v3
79+
- uses: actions/setup-python@v4
7880
with:
7981
python-version: "3.7"
8082
architecture: "x64"
@@ -97,7 +99,7 @@ jobs:
9799

98100
- name: Upload linting log file artifact
99101
if: ${{ always() }}
100-
uses: actions/upload-artifact@v2
102+
uses: actions/upload-artifact@v3
101103
with:
102104
name: linting-logs
103105
path: |

.github/workflows/linting_comment.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
- name: Get PR number
2020
id: pr_number
21-
run: echo "::set-output name=pr_number::$(cat linting-logs/PR_number.txt)"
21+
run: echo "name=pr_number::$(cat linting-logs/PR_number.txt)" >> $GITHUB_OUTPUT
2222

2323
- name: Post PR comment
2424
uses: marocchino/sticky-pull-request-comment@v2

.prettierignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
email_template.html
22
adaptivecard.json
3+
slackreport.json
34
.nextflow*
45
work/
56
data/
@@ -8,3 +9,4 @@ results/
89
testing/
910
testing*
1011
*.pyc
12+
bin/

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6-
## v2.0.0 - [date]
6+
## v2.1.0dev - [date]
77

88
Initial release of nf-core/chipseq, created with the [nf-core](https://nf-co.re/) template.
99

CITATION.cff

-56
This file was deleted.

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/chipseq/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)
44

5-
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg)](https://www.nextflow.io/)
5+
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A522.10.1-23aa62.svg)](https://www.nextflow.io/)
66
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
77
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
88
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
@@ -31,7 +31,7 @@ On release, automated continuous integration tests run the pipeline on a full-si
3131

3232
## Quick Start
3333

34-
1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=21.10.3`)
34+
1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=22.10.1`)
3535

3636
2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) (you can follow [this tutorial](https://singularity-tutorial.github.io/01-installation/)), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(you can use [`Conda`](https://conda.io/miniconda.html) both to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_.
3737

assets/slackreport.json

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"attachments": [
3+
{
4+
"fallback": "Plain-text summary of the attachment.",
5+
"color": "<% if (success) { %>good<% } else { %>danger<%} %>",
6+
"author_name": "sanger-tol/readmapping v${version} - ${runName}",
7+
"author_icon": "https://www.nextflow.io/docs/latest/_static/favicon.ico",
8+
"text": "<% if (success) { %>Pipeline completed successfully!<% } else { %>Pipeline completed with errors<% } %>",
9+
"fields": [
10+
{
11+
"title": "Command used to launch the workflow",
12+
"value": "```${commandLine}```",
13+
"short": false
14+
}
15+
<%
16+
if (!success) { %>
17+
,
18+
{
19+
"title": "Full error message",
20+
"value": "```${errorReport}```",
21+
"short": false
22+
},
23+
{
24+
"title": "Pipeline configuration",
25+
"value": "<% out << summary.collect{ k,v -> k == "hook_url" ? "_${k}_: (_hidden_)" : ( ( v.class.toString().contains('Path') || ( v.class.toString().contains('String') && v.contains('/') ) ) ? "_${k}_: `${v}`" : (v.class.toString().contains('DateTime') ? ("_${k}_: " + v.format(java.time.format.DateTimeFormatter.ofLocalizedDateTime(java.time.format.FormatStyle.MEDIUM))) : "_${k}_: ${v}") ) }.join(",\n") %>",
26+
"short": false
27+
}
28+
<% }
29+
%>
30+
],
31+
"footer": "Completed at <% out << dateComplete.format(java.time.format.DateTimeFormatter.ofLocalizedDateTime(java.time.format.FormatStyle.MEDIUM)) %> (duration: ${duration})"
32+
}
33+
]
34+
}

docs/usage.md

+15-9
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ nextflow pull nf-core/chipseq
8383

8484
It is a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since.
8585

86-
First, go to the [nf-core/chipseq releases page](https://github.com/nf-core/chipseq/releases) and find the latest version number - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`.
86+
First, go to the [nf-core/chipseq releases page](https://github.com/nf-core/chipseq/releases) and find the latest pipeline version - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`. Of course, you can switch to another version by changing the number after the `-r` flag.
8787

88-
This version number will be logged in reports when you run the pipeline, so that you'll know what you used when you look back in the future.
88+
This version number will be logged in reports when you run the pipeline, so that you'll know what you used when you look back in the future. For example, at the bottom of the MultiQC reports.
8989

9090
## Core Nextflow arguments
9191

@@ -95,7 +95,7 @@ This version number will be logged in reports when you run the pipeline, so that
9595

9696
Use this parameter to choose a configuration profile. Profiles can give configuration presets for different compute environments.
9797

98-
Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Conda) - see below. When using Biocontainers, most of these software packaging methods pull Docker containers from quay.io e.g [FastQC](https://quay.io/repository/biocontainers/fastqc) except for Singularity which directly downloads Singularity images via https hosted by the [Galaxy project](https://depot.galaxyproject.org/singularity/) and Conda which downloads and installs software locally from [Bioconda](https://bioconda.github.io/).
98+
Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Conda) - see below.
9999

100100
> We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported.
101101
@@ -104,8 +104,11 @@ The pipeline also dynamically loads configurations from [https://github.com/nf-c
104104
Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important!
105105
They are loaded in sequence, so later profiles can overwrite earlier profiles.
106106

107-
If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended.
107+
If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended, since it can lead to different results on different machines dependent on the computer enviroment.
108108

109+
- `test`
110+
- A profile with a complete configuration for automated testing
111+
- Includes links to test data so needs no other parameters
109112
- `docker`
110113
- A generic configuration profile to be used with [Docker](https://docker.com/)
111114
- `singularity`
@@ -118,9 +121,6 @@ If `-profile` is not specified, the pipeline will run locally and expect all sof
118121
- A generic configuration profile to be used with [Charliecloud](https://hpc.github.io/charliecloud/)
119122
- `conda`
120123
- A generic configuration profile to be used with [Conda](https://conda.io/docs/). Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter or Charliecloud.
121-
- `test`
122-
- A profile with a complete configuration for automated testing
123-
- Includes links to test data so needs no other parameters
124124

125125
### `-resume`
126126

@@ -169,8 +169,14 @@ Work dir:
169169
Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`
170170
```
171171

172+
#### For beginners
173+
174+
A first step to bypass this error, you could try to increase the amount of CPUs, memory, and time for the whole pipeline. Therefor you can try to increase the resource for the parameters `--max_cpus`, `--max_memory`, and `--max_time`. Based on the error above, you have to increase the amount of memory. Therefore you can go to the [parameter documentation of rnaseq](https://nf-co.re/rnaseq/3.9/parameters) and scroll down to the `show hidden parameter` button to get the default value for `--max_memory`. In this case 128GB, you than can try to run your pipeline again with `--max_memory 200GB -resume` to skip all process, that were already calculated. If you can not increase the resource of the complete pipeline, you can try to adapt the resource for a single process as mentioned below.
175+
176+
#### Advanced option on process level
177+
172178
To bypass this error you would need to find exactly which resources are set by the `STAR_ALIGN` process. The quickest way is to search for `process STAR_ALIGN` in the [nf-core/rnaseq Github repo](https://github.com/nf-core/rnaseq/search?q=process+STAR_ALIGN).
173-
We have standardised the structure of Nextflow DSL2 pipelines such that all module files will be present in the `modules/` directory and so, based on the search results, the file we want is `modules/nf-core/software/star/align/main.nf`.
179+
We have standardised the structure of Nextflow DSL2 pipelines such that all module files will be present in the `modules/` directory and so, based on the search results, the file we want is `modules/nf-core/star/align/main.nf`.
174180
If you click on the link to that file you will notice that there is a `label` directive at the top of the module that is set to [`label process_high`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L9).
175181
The [Nextflow `label`](https://www.nextflow.io/docs/latest/process.html#label) directive allows us to organise workflow processes in separate groups which can be referenced in a configuration file to select and configure subset of processes having similar computing requirements.
176182
The default values for the `process_high` label are set in the pipeline's [`base.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L33-L37) which in this case is defined as 72GB.
@@ -189,7 +195,7 @@ process {
189195
>
190196
> If you get a warning suggesting that the process selector isn't recognised check that the process name has been specified correctly.
191197
192-
### Updating containers
198+
### Updating containers (advanced users)
193199

194200
The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. If for some reason you need to use a different version of a particular tool with the pipeline then you just need to identify the `process` name and override the Nextflow `container` definition for that process using the `withName` declaration. For example, in the [nf-core/viralrecon](https://nf-co.re/viralrecon) pipeline a tool called [Pangolin](https://github.com/cov-lineages/pangolin) has been used during the COVID-19 pandemic to assign lineages to SARS-CoV-2 genome sequenced samples. Given that the lineage assignments change quite frequently it doesn't make sense to re-release the nf-core/viralrecon everytime a new version of Pangolin has been released. However, you can override the default container used by the pipeline by creating a custom config file and passing it as a command-line argument via `-c custom.config`.
195201

lib/NfcoreSchema.groovy

-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ class NfcoreSchema {
4646
'quiet',
4747
'syslog',
4848
'v',
49-
'version',
5049

5150
// Options for `nextflow run` command
5251
'ansi',

0 commit comments

Comments
 (0)