Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dsl2 variant #285

Merged
merged 76 commits into from
Oct 20, 2020
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
b8b4da6
get rid of params.conda warning
maxulysse Sep 29, 2020
ef25633
preprocessing works with conda
maxulysse Sep 29, 2020
62ec7e2
get rid of some warnings
maxulysse Sep 29, 2020
2bf4c8e
use correct container
maxulysse Sep 29, 2020
bc62c27
comment and reorganize CI tests
maxulysse Sep 29, 2020
cddb49c
fix --input for folder
maxulysse Sep 29, 2020
536a346
fix --input for folder (this time for real)
maxulysse Sep 29, 2020
b7d3f9e
MAPPING as a separate workflow
maxulysse Sep 30, 2020
b675300
MARKDUPLICATES as a module
maxulysse Sep 30, 2020
3149c4c
fix: process without container
maxulysse Sep 30, 2020
384c9b6
fix: --step prepare_recalibration
maxulysse Sep 30, 2020
7c38825
fix: --skip_markduplicates
maxulysse Sep 30, 2020
93a15ec
fix: typo
maxulysse Sep 30, 2020
6d1f534
add: PREPARE_RECALIBRATION as a module
maxulysse Oct 1, 2020
9c563c0
fix: test_annotation profile fix from dev
maxulysse Oct 5, 2020
334ce4a
minor code polish
maxulysse Oct 5, 2020
4bbc401
fix: restore --step variantcalling ci test
maxulysse Oct 5, 2020
b9f4d08
update modules.config
maxulysse Oct 5, 2020
5605fa8
use modules.config
maxulysse Oct 5, 2020
aec9bc5
add comments on take inputs
maxulysse Oct 5, 2020
8bd3179
improve mapping subworkflow
maxulysse Oct 5, 2020
1d3ef0f
improve markduplicates subworkflow
maxulysse Oct 5, 2020
cb1041c
improve prepare_recalibration subworkflow
maxulysse Oct 5, 2020
298a499
use container and conda directive
maxulysse Oct 5, 2020
ecc0912
improve reusability of module
maxulysse Oct 5, 2020
224c911
add: RECALIBRATE as a module
maxulysse Oct 5, 2020
55eaf76
add: RECALIBRATE as a module + code improvment
maxulysse Oct 5, 2020
271b8dd
fix: correct usage of --save_bam_mapped
maxulysse Oct 5, 2020
7ba719b
ci: split germline test runs
maxulysse Oct 5, 2020
c735634
code polishing
maxulysse Oct 6, 2020
84e891f
add: mulled container for bwa-mem2 2.0 + samtools 1.10
maxulysse Oct 6, 2020
d6513c0
code polishing
maxulysse Oct 6, 2020
e8ac7dc
add: GERMLINE VARIANT CALLING as a module
maxulysse Oct 6, 2020
79ece09
add: HaplotypeCaller within GERMLINE_VARIANT_CALLING module
maxulysse Oct 6, 2020
b235bec
fix: forgot to add file...
maxulysse Oct 6, 2020
3a31ee2
move file and rename module to STRELKA_GERMLINE
maxulysse Oct 7, 2020
17d33fb
remove comments
maxulysse Oct 7, 2020
a367151
update modules.config for strelka_germline
maxulysse Oct 7, 2020
3dd66cc
add Strelka_germline
maxulysse Oct 7, 2020
c67821c
fix: typo
maxulysse Oct 7, 2020
2a3105c
cleanup
maxulysse Oct 7, 2020
af4ca34
update containers
maxulysse Oct 7, 2020
e78130d
sort parameters alphabetically
maxulysse Oct 7, 2020
2e2d4a2
fix: subject -> patient
maxulysse Oct 7, 2020
3675a9c
fix: update container for process needing only awk
maxulysse Oct 7, 2020
803b503
fix: call to BUILD_INTERVALS process
maxulysse Oct 7, 2020
2c38b12
Apply suggestions from code review
maxulysse Oct 7, 2020
07941e5
Merge branch 'dsl2_variant' of github.com:MaxUlysse/nf-core_sarek int…
maxulysse Oct 7, 2020
4ff2f82
Update main.nf
maxulysse Oct 7, 2020
f9121b6
fix: sort out params
maxulysse Oct 7, 2020
80fc32f
fix: complete params
maxulysse Oct 7, 2020
eddce14
add: .vscode
maxulysse Oct 7, 2020
f0c32c4
reorganize tsv files and some output directory
maxulysse Oct 7, 2020
ffd6dd9
fix: bwamem2 input channels
maxulysse Oct 7, 2020
9ec8fc5
use only one functions.nf file for nf-core modules
maxulysse Oct 7, 2020
d660683
add publish_by_id
maxulysse Oct 7, 2020
1f96f22
update modules with new syntax + code polishing
maxulysse Oct 7, 2020
04e0f96
update module with new syntax
maxulysse Oct 7, 2020
245d931
update module with new syntax
maxulysse Oct 7, 2020
1a7466f
use new module syntax
maxulysse Oct 8, 2020
436e183
update modules
maxulysse Oct 8, 2020
a0d3e46
remove downloading of docker images
maxulysse Oct 8, 2020
6df3ac1
better tests
maxulysse Oct 8, 2020
7e8ebf3
trying to fix issue with docker on a specific container
maxulysse Oct 8, 2020
2cc09a5
change container
maxulysse Oct 8, 2020
fe244f1
use new syntax to define docker/singularity container and/or conda env
maxulysse Oct 13, 2020
2078c03
fix: typo
maxulysse Oct 14, 2020
c145da2
chores: update to new modules syntax
maxulysse Oct 15, 2020
115655f
chores: complete JSON schema
maxulysse Oct 15, 2020
552dc2a
chores: updates modules to new syntax
maxulysse Oct 15, 2020
03bf771
chores: update modules with new syntax
maxulysse Oct 20, 2020
02b330d
fix: --step prepare_recalibration --skip_markduplicates
maxulysse Oct 20, 2020
c9e00f5
fix: --step recalibrate --skip_markduplicates
maxulysse Oct 20, 2020
da138f1
fix: --step prepare_recalibration
maxulysse Oct 20, 2020
937c6e1
fix: --step recalibrate
maxulysse Oct 20, 2020
59e0a03
fix: --step variant_calling
maxulysse Oct 20, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 25 additions & 4 deletions .github/workflows/branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,35 @@ name: nf-core branch protection
# It fails when someone tries to make a PR against the nf-core `master` branch instead of `dev`
on:
pull_request:
branches:
- master
branches: [master]

jobs:
test:
runs-on: ubuntu-latest
steps:
# PRs are only ok if coming from an nf-core `dev` branch or a fork `patch` branch
# PRs to the nf-core repo master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
- name: Check PRs
if: github.repository == 'nf-core/sarek'
run: |
{ [[ $(git remote get-url origin) == *nf-core/sarek ]] && [[ ${GITHUB_HEAD_REF} = "dev" ]]; } || [[ ${GITHUB_HEAD_REF} == "patch" ]]
{ [[ ${{github.event.pull_request.head.repo.full_name}} == nf-core/sarek ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]


# If the above check failed, post a comment on the PR explaining the failure
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
- name: Post PR comment
if: failure()
uses: mshick/add-pr-comment@v1
with:
message: |
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}} `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}} `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.

Thanks again for your contribution!
repo-token: ${{ secrets.GITHUB_TOKEN }}
allow-repeats: false

207 changes: 104 additions & 103 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ jobs:
environment.yml
- name: Build new docker image
if: env.GIT_DIFF
run: docker build --no-cache . -t nfcore/sarek:dev
run: docker build --no-cache . -t nfcore/sarek:dsl2
- name: Pull docker image
if: ${{ !env.GIT_DIFF }}
run: |
docker pull nfcore/sarek:dev
docker tag nfcore/sarek:dev nfcore/sarek:dev
docker pull nfcore/sarek:dsl2
docker tag nfcore/sarek:dsl2 nfcore/sarek:dsl2
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
Expand All @@ -46,14 +46,13 @@ jobs:
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test,docker

annotation:
aligner:
env:
NXF_ANSI_LOG: false
runs-on: ubuntu-latest
strategy:
matrix:
tools: [snpeff, vep]
species: [WBcel235]
aligner: [bwa-mem, bwa-mem2]
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
Expand All @@ -64,11 +63,9 @@ jobs:
# Only check Nextflow pipeline minimum version
NXF_VER: '20.07.1'
- name: Pull docker image
run: |
docker pull nfcore/sarek:dev
docker pull nfcore/sarek${{ matrix.tools }}:dev.${{ matrix.species }}
- name: Run annotation test
run: nextflow run ${GITHUB_WORKSPACE} -profile test_annotation,docker --tools ${{ matrix.tools }}
run: docker pull nfcore/sarek:dsl2
- name: Run ${{ matrix.profile }} test
run: nextflow run ${GITHUB_WORKSPACE} -profile test,docker --aligner ${{ matrix.aligner }}

germline:
env:
Expand All @@ -87,7 +84,7 @@ jobs:
# Only check Nextflow pipeline minimum version
NXF_VER: '20.07.1'
- name: Pull docker image
run: docker pull nfcore/sarek:dev
run: docker pull nfcore/sarek:dsl2
- name: Get test data
run: git clone --single-branch --branch sarek https://github.com/nf-core/test-datasets.git data
- name: Run germline test
Expand All @@ -97,97 +94,101 @@ jobs:
nextflow run ${GITHUB_WORKSPACE} -profile test,docker ${{ matrix.markduplicates }} --input=false --step recalibrate -resume
nextflow run ${GITHUB_WORKSPACE} -profile test,docker ${{ matrix.markduplicates }} --input=false --step variantCalling

minimal:
env:
NXF_ANSI_LOG: false
runs-on: ubuntu-latest
strategy:
matrix:
genome: [smallerGRCh37, minimalGRCh37]
intervals: [--no_intervals, '']
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
env:
# Only check Nextflow pipeline minimum version
NXF_VER: '20.07.1'
- name: Pull docker image
run: docker pull nfcore/sarek:dev
- name: Run test for minimal genomes
run: nextflow run ${GITHUB_WORKSPACE} -profile test,docker --skipQC all --genome ${{ matrix.genome }} ${{ matrix.intervals }} --tools Manta,mpileup,Strelka,FreeBayes
# annotation:
# env:
# NXF_ANSI_LOG: false
# runs-on: ubuntu-latest
# strategy:
# matrix:
# tools: [snpeff, vep]
# species: [WBcel235]
# steps:
# - uses: actions/checkout@v2
# - name: Install Nextflow
# run: |
# wget -qO- get.nextflow.io | bash
# sudo mv nextflow /usr/local/bin/
# env:
# # Only check Nextflow pipeline minimum version
# NXF_VER: '20.07.1'
# - name: Pull docker image
# run: |
# docker pull nfcore/sarek:dsl2
# docker pull nfcore/sarek${{ matrix.tools }}:dev.${{ matrix.species }}
# - name: Run annotation test
# run: nextflow run ${GITHUB_WORKSPACE} -profile test_annotation,docker --tools ${{ matrix.tools }}

profile:
env:
NXF_ANSI_LOG: false
runs-on: ubuntu-latest
strategy:
matrix:
profile: [test_split_fastq, test_targeted, test_trimming, test_no_gatk_spark, test_umi_tso, test_umi_qiaseq]
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
env:
# Only check Nextflow pipeline minimum version
NXF_VER: '20.07.1'
- name: Pull docker image
run: docker pull nfcore/sarek:dev
- name: Run ${{ matrix.profile }} test
run: nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.profile }},docker
# minimal:
# env:
# NXF_ANSI_LOG: false
# runs-on: ubuntu-latest
# strategy:
# matrix:
# genome: [smallerGRCh37, minimalGRCh37]
# intervals: [--no_intervals, '']
# steps:
# - uses: actions/checkout@v2
# - name: Install Nextflow
# run: |
# wget -qO- get.nextflow.io | bash
# sudo mv nextflow /usr/local/bin/
# env:
# # Only check Nextflow pipeline minimum version
# NXF_VER: '20.07.1'
# - name: Pull docker image
# run: docker pull nfcore/sarek:dsl2
# - name: Run test for minimal genomes
# run: nextflow run ${GITHUB_WORKSPACE} -profile test,docker --skipQC all --genome ${{ matrix.genome }} ${{ matrix.intervals }} --tools Manta,mpileup,Strelka,FreeBayes

aligner:
env:
NXF_ANSI_LOG: false
runs-on: ubuntu-latest
strategy:
matrix:
aligner: [bwa-mem, bwa-mem2]
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
env:
# Only check Nextflow pipeline minimum version
NXF_VER: '20.07.1'
- name: Pull docker image
run: docker pull nfcore/sarek:dev
- name: Run ${{ matrix.profile }} test
run: nextflow run ${GITHUB_WORKSPACE} -profile test,docker --aligner ${{ matrix.aligner }}
# profile:
# env:
# NXF_ANSI_LOG: false
# runs-on: ubuntu-latest
# strategy:
# matrix:
# profile: [test_split_fastq, test_targeted, test_trimming, test_no_gatk_spark, test_umi_tso, test_umi_qiaseq]
# steps:
# - uses: actions/checkout@v2
# - name: Install Nextflow
# run: |
# wget -qO- get.nextflow.io | bash
# sudo mv nextflow /usr/local/bin/
# env:
# # Only check Nextflow pipeline minimum version
# NXF_VER: '20.07.1'
# - name: Pull docker image
# run: docker pull nfcore/sarek:dsl2
# - name: Run ${{ matrix.profile }} test
# run: nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.profile }},docker

tools:
env:
NXF_ANSI_LOG: false
runs-on: ubuntu-latest
strategy:
matrix:
tool: [Haplotypecaller, Freebayes, Manta, mpileup, MSIsensor, Strelka, TIDDIT]
intervals: [--no_intervals, '']
exclude:
- tool: Manta
intervals: --no_intervals
- tool: MSIsensor
intervals: --no_intervals
- tool: Strelka
intervals: --no_intervals
- tool: TIDDIT
intervals: --no_intervals
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
env:
# Only check Nextflow pipeline minimum version
NXF_VER: '20.07.1'
- name: Pull docker image
run: docker pull nfcore/sarek:dev
- name: Run ${{ matrix.tool }} test
run: nextflow run ${GITHUB_WORKSPACE} -profile test_tool,docker --tools ${{ matrix.tool }} ${{ matrix.intervals }}
# tools:
# env:
# NXF_ANSI_LOG: false
# runs-on: ubuntu-latest
# strategy:
# matrix:
# tool: [Haplotypecaller, Freebayes, Manta, mpileup, MSIsensor, Strelka, TIDDIT]
# intervals: [--no_intervals, '']
# exclude:
# - tool: Manta
# intervals: --no_intervals
# - tool: MSIsensor
# intervals: --no_intervals
# - tool: Strelka
# intervals: --no_intervals
# - tool: TIDDIT
# intervals: --no_intervals

# steps:
# - uses: actions/checkout@v2
# - name: Install Nextflow
# run: |
# wget -qO- get.nextflow.io | bash
# sudo mv nextflow /usr/local/bin/
# env:
# # Only check Nextflow pipeline minimum version
# NXF_VER: '20.07.1'
# - name: Pull docker image
# run: docker pull nfcore/sarek:dsl2
# - name: Run ${{ matrix.tool }} test
# run: nextflow run ${GITHUB_WORKSPACE} -profile test_tool,docker --tools ${{ matrix.tool }} ${{ matrix.intervals }}
22 changes: 20 additions & 2 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,36 @@ jobs:
nf-core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/

- uses: actions/setup-python@v1
with:
python-version: '3.6'
architecture: 'x64'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install nf-core

- name: Run nf-core lint
run: nf-core lint ${GITHUB_WORKSPACE}
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 ${GITHUB_WORKSPACE}

- name: Upload linting log file artifact
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: linting-log-file
path: lint_log.txt

8 changes: 6 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
FROM nfcore/base:1.9
FROM nfcore/base:1.10.2
LABEL authors="Maxime Garcia, Szilveszter Juhos" \
description="Docker image containing all software requirements for the nf-core/sarek pipeline"

# Install the conda environment
COPY environment.yml /
RUN conda env create -f /environment.yml && conda clean -a
RUN conda env create --quiet -f /environment.yml && conda clean -a

# Add conda installation dir to PATH (instead of doing 'conda activate')
ENV PATH /opt/conda/envs/nf-core-sarek-3.0dev/bin:$PATH

# Dump the details of the installed packages to a file for posterity
RUN conda env export --name nf-core-sarek-3.0dev > nf-core-sarek-3.0dev.yml

# Instruct R processes to use these empty files instead of clashing with a local version
RUN touch .Rprofile
RUN touch .Renviron
20 changes: 1 addition & 19 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,10 @@ dependencies:
- conda-forge::markdown=3.1.1
- conda-forge::pymdown-extensions=6.0
- conda-forge::pygments=2.5.2
- bioconda::ascat=2.5.2
- bioconda::bcftools=1.9
- bioconda::bwa-mem2=2.0
maxulysse marked this conversation as resolved.
Show resolved Hide resolved
- bioconda::cancerit-allelecount=4.0.2
- bioconda::cnvkit=0.9.6
- bioconda::control-freec=11.5
- bioconda::ensembl-vep=99.2
- bioconda::fastqc=0.11.9
- bioconda::freebayes=1.3.2
- bioconda::gatk4-spark=4.1.7.0
- bioconda::genesplicer=1.0
- bioconda::htslib=1.9
- bioconda::manta=1.6.0
- bioconda::msisensor=0.5
- bioconda::multiqc=1.8
- bioconda::qualimap=2.2.2d
- bioconda::samtools=1.9
- bioconda::samtools=1.10
maxulysse marked this conversation as resolved.
Show resolved Hide resolved
- bioconda::snpeff=4.3.1t
- bioconda::strelka=2.9.10
- bioconda::tiddit=2.7.1
- bioconda::trim-galore=0.6.5
- bioconda::vcfanno=0.3.2
- bioconda::vcftools=0.1.16
- conda-forge::pigz=2.3.4
- conda-forge::r-ggplot2=3.3.0
1 change: 0 additions & 1 deletion lib/Completion.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ class Completion {
email_fields['summary']['Nextflow Build'] = workflow.nextflow.build
email_fields['summary']['Nextflow Compile Timestamp'] = workflow.nextflow.timestamp

// TODO nf-core: If not using MultiQC, strip out this code (including params.max_multiqc_email_size)
// On success try attach the multiqc report
def mqc_report = null
try {
Expand Down
Loading