Skip to content

Commit 76e2382

Browse files
authored
Merge pull request #413 from nf-core/dev
Dev -> Master for 2.1.0 release
2 parents 51eba00 + 11ded3d commit 76e2382

File tree

378 files changed

+22369
-3877
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

378 files changed

+22369
-3877
lines changed

.devcontainer/devcontainer.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "nfcore",
3+
"image": "nfcore/gitpod:latest",
4+
"remoteUser": "gitpod",
5+
"runArgs": ["--privileged"],
6+
7+
// Configure tool-specific properties.
8+
"customizations": {
9+
// Configure properties specific to VS Code.
10+
"vscode": {
11+
// Set *default* container specific settings.json values on container create.
12+
"settings": {
13+
"python.defaultInterpreterPath": "/opt/conda/bin/python"
14+
},
15+
16+
// Add the IDs of extensions you want installed when the container is created.
17+
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
18+
}
19+
}
20+
}

.editorconfig

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ trim_trailing_whitespace = true
88
indent_size = 4
99
indent_style = space
1010

11-
[*.{md,yml,yaml,html,css,scss,js,cff}]
11+
[*.{md,yml,yaml,html,css,scss,js}]
1212
indent_size = 2
1313

1414
# These files are edited and tested upstream in nf-core/modules
@@ -18,10 +18,19 @@ end_of_line = unset
1818
insert_final_newline = unset
1919
trim_trailing_whitespace = unset
2020
indent_style = unset
21-
indent_size = unset
21+
[/subworkflows/nf-core/**]
22+
charset = unset
23+
end_of_line = unset
24+
insert_final_newline = unset
25+
trim_trailing_whitespace = unset
26+
indent_style = unset
2227

2328
[/assets/email*]
2429
indent_size = unset
2530

2631
[/assets/blacklists/GRCh37-blacklist.bed]
2732
trim_trailing_whitespace = unset
33+
34+
# ignore python and markdown
35+
[*.{py,md}]
36+
indent_style = unset

.gitattributes

Lines changed: 1 addition & 0 deletions
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

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Please use the pre-filled template to save time.
99
However, don't be put off by this template - other more general issues and suggestions are welcome!
1010
Contributions to the code are even more welcome ;)
1111

12+
> [!NOTE]
1213
> If you need help using or modifying nf-core/chipseq then the best place to ask is on the nf-core Slack [#chipseq](https://nfcore.slack.com/channels/chipseq) channel ([join our Slack here](https://nf-co.re/join/slack)).
1314
1415
## Contribution workflow
@@ -25,6 +26,12 @@ If you're not used to this workflow with git, you can start with some [docs from
2526

2627
## Tests
2728

29+
You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command:
30+
31+
```bash
32+
nf-test test --profile debug,test,docker --verbose
33+
```
34+
2835
When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
2936
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.
3037

@@ -85,7 +92,7 @@ Once there, use `nf-core schema build` to add to `nextflow_schema.json`.
8592

8693
Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.
8794

88-
The process resources can be passed on to the tool dynamically within the process with the `${task.cpu}` and `${task.memory}` variables in the `script:` block.
95+
The process resources can be passed on to the tool dynamically within the process with the `${task.cpus}` and `${task.memory}` variables in the `script:` block.
8996

9097
### Naming schemes
9198

@@ -101,3 +108,18 @@ If you are using a new feature from core Nextflow, you may bump the minimum requ
101108
### Images and figures
102109

103110
For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).
111+
112+
## GitHub Codespaces
113+
114+
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.
115+
116+
To get started:
117+
118+
- Open the repo in [Codespaces](https://github.com/nf-core/chipseq/codespaces)
119+
- Tools installed
120+
- nf-core
121+
- Nextflow
122+
123+
Devcontainer specs:
124+
125+
- [DevContainer config](.devcontainer/devcontainer.json)

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ body:
4242
attributes:
4343
label: System information
4444
description: |
45-
* Nextflow version _(eg. 21.10.3)_
45+
* Nextflow version _(eg. 23.04.0)_
4646
* Hardware _(eg. HPC, Desktop, Cloud)_
4747
* Executor _(eg. slurm, local, awsbatch)_
48-
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_
48+
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud, or Apptainer)_
4949
* OS _(eg. CentOS Linux, macOS, Linux Mint)_
5050
* Version of nf-core/chipseq _(eg. 1.1, 1.5, 1.8.2)_

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/chip
1515

1616
- [ ] This comment contains a description of changes (with reason).
1717
- [ ] If you've fixed a bug or added code that should be tested, add tests!
18-
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/chipseq/tree/master/.github/CONTRIBUTING.md)- [ ] If necessary, also make a PR on the nf-core/chipseq _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
18+
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/chipseq/tree/master/.github/CONTRIBUTING.md)
19+
- [ ] If necessary, also make a PR on the nf-core/chipseq _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
1920
- [ ] Make sure your code lints (`nf-core lint`).
2021
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
22+
- [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir <OUTDIR>`).
2123
- [ ] Usage Documentation in `docs/usage.md` is updated.
2224
- [ ] Output Documentation in `docs/output.md` is updated.
2325
- [ ] `CHANGELOG.md` is updated.

.github/workflows/awsfulltest.yml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,34 @@ on:
88
types: [published]
99
workflow_dispatch:
1010
jobs:
11-
run-tower:
11+
run-platform:
1212
name: Run AWS full tests
1313
if: github.repository == 'nf-core/chipseq'
1414
runs-on: ubuntu-latest
1515
strategy:
1616
matrix:
1717
aligner: ["bwa", "bowtie2", "chromap", "star"]
1818
steps:
19-
- name: Launch workflow via tower
20-
uses: nf-core/tower-action@v3
19+
- name: Launch workflow via Seqera Platform
20+
uses: seqeralabs/action-tower-launch@v2
2121
with:
2222
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
2323
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
2424
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
25+
revision: ${{ github.sha }}
2526
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/chipseq/work-${{ github.sha }}
2627
parameters: |
2728
{
28-
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/chipseq/results-${{ github.sha }}"
29+
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
30+
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/chipseq/results-${{ github.sha }}",
2931
"aligner": "${{ matrix.aligner }}"
3032
}
31-
profiles: test_full,aws_tower
33+
profiles: test_full
34+
35+
- uses: actions/upload-artifact@v4
36+
if: success() || failure()
37+
with:
38+
name: Seqera Platform debug log file
39+
path: |
40+
seqera_platform_action_*.log
41+
seqera_platform_action_*.json

.github/workflows/awstest.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,29 @@ name: nf-core AWS test
55
on:
66
workflow_dispatch:
77
jobs:
8-
run-tower:
8+
run-platform:
99
name: Run AWS tests
1010
if: github.repository == 'nf-core/chipseq'
1111
runs-on: ubuntu-latest
1212
steps:
13-
# Launch workflow using Tower CLI tool action
14-
- name: Launch workflow via tower
15-
uses: nf-core/tower-action@v3
13+
# Launch workflow using Seqera Platform CLI tool action
14+
- name: Launch workflow via Seqera Platform
15+
uses: seqeralabs/action-tower-launch@v2
1616
with:
1717
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
1818
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
1919
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
20+
revision: ${{ github.sha }}
2021
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/chipseq/work-${{ github.sha }}
2122
parameters: |
2223
{
2324
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/chipseq/results-test-${{ github.sha }}"
2425
}
25-
profiles: test,aws_tower
26+
profiles: test
27+
28+
- uses: actions/upload-artifact@v4
29+
with:
30+
name: Seqera Platform debug log file
31+
path: |
32+
seqera_platform_action_*.log
33+
seqera_platform_action_*.json

.github/workflows/branch.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ jobs:
1313
- name: Check PRs
1414
if: github.repository == 'nf-core/chipseq'
1515
run: |
16-
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/chipseq ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
16+
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/chipseq ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
1717
1818
# If the above check failed, post a comment on the PR explaining the failure
1919
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
2020
- name: Post PR comment
2121
if: failure()
22-
uses: mshick/add-pr-comment@v1
22+
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
2323
with:
2424
message: |
2525
## This PR is against the `master` branch :x:

.github/workflows/ci.yml

Lines changed: 10 additions & 3 deletions
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,17 +24,20 @@ jobs:
2024
strategy:
2125
matrix:
2226
NXF_VER:
23-
- "21.10.3"
27+
- "23.04.0"
2428
- "latest-everything"
2529
steps:
2630
- name: Check out pipeline code
27-
uses: actions/checkout@v2
31+
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
2832

2933
- name: Install Nextflow
30-
uses: nf-core/setup-nextflow@v1
34+
uses: nf-core/setup-nextflow@v2
3135
with:
3236
version: "${{ matrix.NXF_VER }}"
3337

38+
- name: Disk space cleanup
39+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
40+
3441
- name: Run pipeline with test data
3542
run: |
3643
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results

.github/workflows/clean-up.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: "Close user-tagged issues and PRs"
2+
on:
3+
schedule:
4+
- cron: "0 0 * * 0" # Once a week
5+
6+
jobs:
7+
clean-up:
8+
runs-on: ubuntu-latest
9+
permissions:
10+
issues: write
11+
pull-requests: write
12+
steps:
13+
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9
14+
with:
15+
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days."
16+
stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment if it is still useful."
17+
close-issue-message: "This issue was closed because it has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor and then staled for 20 days with no activity."
18+
days-before-stale: 30
19+
days-before-close: 20
20+
days-before-pr-close: -1
21+
any-of-labels: "awaiting-changes,awaiting-feedback"
22+
exempt-issue-labels: "WIP"
23+
exempt-pr-labels: "WIP"
24+
repo-token: "${{ secrets.GITHUB_TOKEN }}"
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Test successful pipeline download with 'nf-core download'
2+
3+
# Run the workflow when:
4+
# - dispatched manually
5+
# - when a PR is opened or reopened to master branch
6+
# - the head branch of the pull request is updated, i.e. if fixes for a release are pushed last minute to dev.
7+
on:
8+
workflow_dispatch:
9+
inputs:
10+
testbranch:
11+
description: "The specific branch you wish to utilize for the test execution of nf-core download."
12+
required: true
13+
default: "dev"
14+
pull_request:
15+
types:
16+
- opened
17+
- edited
18+
- synchronize
19+
branches:
20+
- master
21+
pull_request_target:
22+
branches:
23+
- master
24+
25+
env:
26+
NXF_ANSI_LOG: false
27+
28+
jobs:
29+
download:
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Install Nextflow
33+
uses: nf-core/setup-nextflow@v2
34+
35+
- name: Disk space cleanup
36+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
37+
38+
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
39+
with:
40+
python-version: "3.12"
41+
architecture: "x64"
42+
- uses: eWaterCycle/setup-singularity@931d4e31109e875b13309ae1d07c70ca8fbc8537 # v7
43+
with:
44+
singularity-version: 3.8.3
45+
46+
- name: Install dependencies
47+
run: |
48+
python -m pip install --upgrade pip
49+
pip install git+https://github.com/nf-core/tools.git@dev
50+
51+
- name: Get the repository name and current branch set as environment variable
52+
run: |
53+
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> ${GITHUB_ENV}
54+
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> ${GITHUB_ENV}
55+
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> ${GITHUB_ENV}
56+
57+
- name: Download the pipeline
58+
env:
59+
NXF_SINGULARITY_CACHEDIR: ./
60+
run: |
61+
nf-core download ${{ env.REPO_LOWERCASE }} \
62+
--revision ${{ env.REPO_BRANCH }} \
63+
--outdir ./${{ env.REPOTITLE_LOWERCASE }} \
64+
--compress "none" \
65+
--container-system 'singularity' \
66+
--container-library "quay.io" -l "docker.io" -l "ghcr.io" \
67+
--container-cache-utilisation 'amend' \
68+
--download-configuration
69+
70+
- name: Inspect download
71+
run: tree ./${{ env.REPOTITLE_LOWERCASE }}
72+
73+
- name: Run the downloaded pipeline (stub)
74+
id: stub_run_pipeline
75+
continue-on-error: true
76+
env:
77+
NXF_SINGULARITY_CACHEDIR: ./
78+
NXF_SINGULARITY_HOME_MOUNT: true
79+
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
80+
- name: Run the downloaded pipeline (stub run not supported)
81+
id: run_pipeline
82+
if: ${{ job.steps.stub_run_pipeline.status == failure() }}
83+
env:
84+
NXF_SINGULARITY_CACHEDIR: ./
85+
NXF_SINGULARITY_HOME_MOUNT: true
86+
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -profile test,singularity --outdir ./results

0 commit comments

Comments
 (0)