Skip to content

Commit

Permalink
Merge branch 'dev' of https://github.com/nf-cmgg/germline into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
nvnieuwk committed Sep 23, 2024
2 parents 6f4476f + 9106381 commit 780e3fa
Show file tree
Hide file tree
Showing 329 changed files with 12,876 additions and 2,980 deletions.
4 changes: 2 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ These tests are run both with the latest available version of `Nextflow` and als

:warning: Only in the unlikely and regretful event of a release happening with a bug.

- On your own fork, make a new branch `patch` based on `upstream/master`.
- On your own fork, make a new branch `patch` based on `upstream/main`.
- Fix the bug, and bump version (X.Y.Z+1).
- A PR should be made on `master` from patch to directly this particular bug.
- A PR should be made on `main` from patch to directly this particular bug.

## Pipeline contribution conventions

Expand Down
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ These are the most common things requested on pull requests (PRs).
Remember that PRs should be made against the dev branch, unless you're preparing a pipeline release.
Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-cmgg/germline/tree/master/.github/CONTRIBUTING.md)
Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-cmgg/germline/tree/main/.github/CONTRIBUTING.md)
-->

## PR checklist

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add tests!
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-cmgg/germline/tree/master/.github/CONTRIBUTING.md)
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-cmgg/germline/tree/main/.github/CONTRIBUTING.md)
- [ ] Make sure your code lints (`nf-core lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir <OUTDIR>`).
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/branch.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
name: nf-core branch protection
# This workflow is triggered on PRs to master branch on the repository
# It fails when someone tries to make a PR against the nf-core `master` branch instead of `dev`
# This workflow is triggered on PRs to main branch on the repository
# It fails when someone tries to make a PR against the nf-core `main` branch instead of `dev`
on:
pull_request_target:
branches: [master]
branches: [main]

jobs:
test:
runs-on: ubuntu-latest
steps:
# PRs to the nf-core repo master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
# PRs to the nf-core repo main branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
- name: Check PRs
if: github.repository == 'nf-cmgg/germline'
run: |
Expand All @@ -22,7 +22,7 @@ jobs:
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
with:
message: |
## This PR is against the `master` branch :x:
## This PR is against the `main` branch :x:
* Do not close this PR
* Click _Edit_ and change the `base` to `dev`
Expand All @@ -32,9 +32,9 @@ jobs:
Hi @${{ github.event.pull_request.user.login }},
It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `master` branch.
The `master` branch on nf-core repositories should always contain code from the latest release.
Because of this, PRs to `master` are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch.
It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `main` branch.
The `main` branch on nf-core repositories should always contain code from the latest release.
Because of this, PRs to `main` are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch.
You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page.
Note that even after this, the test will continue to show as failing until you push a new commit.
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ name: build docs
on:
push:
branches:
- master
- main
- dev
permissions:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
strategy:
matrix:
NXF_VER:
- "23.10.0"
- "24.04.0"
- "latest-everything"
test:
- "pipeline_default"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/download_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Test successful pipeline download with 'nf-core download'

# Run the workflow when:
# - dispatched manually
# - when a PR is opened or reopened to master branch
# - when a PR is opened or reopened to main branch
# - the head branch of the pull request is updated, i.e. if fixes for a release are pushed last minute to dev.
on:
workflow_dispatch:
Expand All @@ -17,10 +17,10 @@ on:
- edited
- synchronize
branches:
- master
- main
pull_request_target:
branches:
- master
- main

env:
NXF_ANSI_LOG: false
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: nf-core linting
# This workflow is triggered on pushes and PRs to the repository.
# It runs the `nf-core lint` and markdown lint tests to ensure
# It runs the `nf-core pipelines lint` and markdown lint tests to ensure
# that the code meets the nf-core guidelines.
on:
push:
Expand Down Expand Up @@ -41,17 +41,24 @@ jobs:
python-version: "3.12"
architecture: "x64"

- name: read .nf-core.yml
uses: pietrobolcato/[email protected]
id: read_yml
with:
config: ${{ github.workspace }}/.nf-core.yaml

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install nf-core
pip install git+https://github.com/nf-core/tools@dev
#pip install nf-core==${{ steps.read_yml.outputs['nf_core_version'] }}
- name: Run nf-core lint
- name: Run nf-core pipelines lint
env:
GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_COMMIT: ${{ github.event.pull_request.head.sha }}
run: nf-core -l lint_log.txt lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md
run: nf-core -l lint_log.txt pipelines lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md

- name: Save PR number
if: ${{ always() }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linting_comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download lint results
uses: dawidd6/action-download-artifact@09f2f74827fd3a8607589e5ad7f9398816f540fe # v3
uses: dawidd6/action-download-artifact@bf251b5aa9c2f7eeb574a96ee720e24f801b7c11 # v6
with:
workflow: linting.yml
workflow_conclusion: completed
Expand Down
45 changes: 28 additions & 17 deletions .nf-core.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,35 @@
lint:
files_exist:
- CODE_OF_CONDUCT.md
- assets/nf-core-germline_logo_light.png
- docs/images/nf-core-germline_logo_light.png
- docs/images/nf-core-germline_logo_dark.png
- .github/ISSUE_TEMPLATE/config.yml
- .github/workflows/awstest.yml
- .github/workflows/awsfulltest.yml
- "CODE_OF_CONDUCT.md"
- "assets/nf-core-germline_logo_light.png"
- "docs/images/nf-core-germline_logo_light.png"
- "docs/images/nf-core-germline_logo_dark.png"
- ".github/ISSUE_TEMPLATE/config.yml"
- ".github/workflows/awstest.yml"
- ".github/workflows/awsfulltest.yml"
- "docs/README.md"
files_unchanged:
- CODE_OF_CONDUCT.md
- assets/nf-core-germline_logo_light.png
- docs/images/nf-core-germline_logo_light.png
- docs/images/nf-core-germline_logo_dark.png
- .github/ISSUE_TEMPLATE/bug_report.yml
multiqc_config:
- report_comment
- ".github/CONTRIBUTING.md"
- ".github/PULL_REQUEST_TEMPLATE.md"
- ".github/workflows/branch.yml"
- ".github/workflows/linting_comment.yml"
- ".github/workflows/linting.yml"
- "CODE_OF_CONDUCT.md"
- ".github/ISSUE_TEMPLATE/bug_report.yml"
- ".prettierignore"
nextflow_config:
- manifest.name
- manifest.homePage
nf_core_version: 2.14.1
- "custom_config" # TODO Remove this once the new methods are supported
- "manifest.name"
- "manifest.homePage"
- "params.genomes"
- "validation.help.beforeText"
- "validation.help.afterText"
- "validation.summary.beforeText"
- "validation.summary.afterText"
multiqc_config:
- "report_comment"
actions_ci: false # TODO readd this once the linting doesn't act up
nf_core_version: 3.0.0dev
repository_type: pipeline
template:
author: nvnieuwk
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,25 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## v1.8.0dev

## New features

1. Added `watchpath` functionality to the pipeline. Add the `watch:` prefix to a file basename in the samplesheet and the pipeline will automatically wait for the file to be created in the `--watchdir` directory (the lookup happens recursively)

## Changes

1. Bumped the minimal support nextflow version to `24.04.0`
2. Bumped all modules to the newest versions
3. The pipeline now also outputs `csi` indices
4. Rename the `master` branch to `main`
5. Low coverage regions (regions with less than 5 reads) are no longer considered for variant calling

## Refactors

1. Updated the pipeline to the new linting guidelines
2. Removed `check_max` in favor of `resourceLimits`

## v1.7.0 - Tolerant Tongeren - [August 9 2024]

## Fixes
Expand Down
1 change: 1 addition & 0 deletions CITATIONS.md
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
[![GitHub Actions Linting Status](https://github.com/nf-cmgg/germline/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-cmgg/germline/actions/workflows/linting.yml)
[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)

[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A523.04.0-23aa62.svg)](https://www.nextflow.io/)
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A524.04.0-23aa62.svg)](https://www.nextflow.io/)
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
Expand Down
68 changes: 52 additions & 16 deletions assets/schema_input.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,64 @@
"meta": ["family"]
},
"cram": {
"type": "string",
"pattern": "^\\S+\\.cram$",
"format": "file-path",
"exists": true
"oneOf": [
{
"type": "string",
"pattern": "^\\S+\\.cram$",
"format": "file-path",
"exists": true
},
{
"type": "string",
"pattern": "^watch:\\S+\\.cram$",
"format": "file-path"
}
]
},
"crai": {
"type": "string",
"pattern": "^\\S+\\.crai$",
"format": "file-path",
"exists": true
"oneOf": [
{
"type": "string",
"pattern": "^\\S+\\.cram\\.crai$",
"format": "file-path",
"exists": true
},
{
"type": "string",
"pattern": "^watch:\\S+\\.cram\\.crai$",
"format": "file-path"
}
]
},
"gvcf": {
"type": "string",
"pattern": "^\\S+vcf(.gz)?$",
"format": "file-path",
"exists": true
"oneOf": [
{
"type": "string",
"pattern": "^\\S+\\.g\\.vcf(\\.gz)?$",
"format": "file-path",
"exists": true
},
{
"type": "string",
"pattern": "^watch:\\S+\\.g\\.vcf(\\.gz)?$",
"format": "file-path"
}
]
},
"tbi": {
"type": "string",
"pattern": "^\\S+\\.tbi$",
"format": "file-path",
"exists": true
"oneOf": [
{
"type": "string",
"pattern": "^\\S+\\.g\\.vcf\\.gz\\.tbi$",
"format": "file-path",
"exists": true
},
{
"type": "string",
"pattern": "^watch:\\S+\\.g\\.vcf\\.gz\\.tbi?$",
"format": "file-path"
}
]
},
"roi": {
"type": "string",
Expand Down
34 changes: 17 additions & 17 deletions conf/base.config
Original file line number Diff line number Diff line change
Expand Up @@ -10,40 +10,40 @@

process {

cpus = { check_max( 1 * task.attempt, 'cpus' ) }
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
time = { check_max( 4.h * task.attempt, 'time' ) }
cpus = { 1 * task.attempt }
memory = { 8.GB * task.attempt }
time = { 4.h * task.attempt }

errorStrategy = { task.exitStatus in ((130..145) + 104) ? 'retry' : 'finish' }
maxRetries = 1
maxErrors = '-1'

// Process-specific resource requirements
withLabel:process_single {
cpus = { check_max( 1 , 'cpus' ) }
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
time = { check_max( 4.h * task.attempt, 'time' ) }
cpus = { 1 }
memory = { 8.GB * task.attempt }
time = { 4.h * task.attempt }
}
withLabel:process_low {
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
time = { check_max( 4.h * task.attempt, 'time' ) }
cpus = { 2 * task.attempt }
memory = { 16.GB * task.attempt }
time = { 4.h * task.attempt }
}
withLabel:process_medium {
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
time = { check_max( 8.h * task.attempt, 'time' ) }
cpus = { 4 * task.attempt }
memory = { 32.GB * task.attempt }
time = { 8.h * task.attempt }
}
withLabel:process_high {
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
memory = { check_max( 64.GB * task.attempt, 'memory' ) }
time = { check_max( 16.h * task.attempt, 'time' ) }
cpus = { 8 * task.attempt }
memory = { 64.GB * task.attempt }
time = { 16.h * task.attempt }
}
withLabel:process_long {
time = { check_max( 20.h * task.attempt, 'time' ) }
time = { 20.h * task.attempt }
}
withLabel:process_high_memory {
memory = { check_max( 200.GB * task.attempt, 'memory' ) }
memory = { 200.GB * task.attempt }
}
withLabel:error_ignore {
errorStrategy = 'ignore'
Expand Down
1 change: 1 addition & 0 deletions conf/empty.config
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
// DON'T REMOVE THIS FILE
3 changes: 3 additions & 0 deletions conf/empty_genomes.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// DON'T REMOVE THIS FILE!

params.genomes = [:]
Loading

0 comments on commit 780e3fa

Please sign in to comment.