Merge branch 'master' into maxquant

This commit is contained in:
Veit Schwämmle 2022-01-31 08:44:32 +01:00 committed by GitHub
commit b0e224f9f3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 755 additions and 64 deletions

View file

@ -0,0 +1,38 @@
process BAMTOOLS_CONVERT {
tag "$meta.id"
label 'process_low'
conda (params.enable_conda ? "bioconda::bamtools=2.5.1" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/bamtools:2.5.1--h9a82719_9' :
'quay.io/biocontainers/bamtools:2.5.1--h9a82719_9' }"
input:
tuple val(meta), path(bam)
output:
tuple val(meta), path("*.{bed,fasta,fastq,json,pileup,sam,yaml}"), emit: data
path "versions.yml" , emit: versions
script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def test = args ==~ /-format (bed|fasta|fastq|json|pileup|sam|yaml)/
if ( test == false ) error "-format option must be provided in args. Possible values: bed fasta fastq json pileup sam yaml"
m = args =~ /-format ([a-z]+)/
ext = m[0][1]
"""
bamtools \\
convert \\
$args \\
-in $bam \\
-out ${prefix}.${ext}
cat <<-END_VERSIONS > versions.yml
"${task.process}":
bamtools: \$( bamtools --version | grep -e 'bamtools' | sed 's/^.*bamtools //' )
END_VERSIONS
"""
}

View file

@ -0,0 +1,52 @@
name: bamtools_convert
description: BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.
keywords:
- bamtools
- bamtools/convert
- bam
- convert
- bed
- fasta
- fastq
- json
- pileup
- sam
- yaml
tools:
- bamtools:
description: C++ API & command-line toolkit for working with BAM data
homepage: http://github.com/pezmaster31/bamtools
documentation: https://github.com/pezmaster31/bamtools/wiki
tool_dev_url: http://github.com/pezmaster31/bamtools
doi: ""
licence: ['MIT']
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bam:
type: file
description: BAM file
pattern: "*.bam"
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- versions:
type: file
description: File containing software versions
pattern: "versions.yml"
## TODO nf-core: Delete / customise this example output
- out:
type: file
description: The data in the asked format (bed, fasta, fastq, json, pileup, sam, yaml)
pattern: "*.{bed,fasta,fastq,json,pileup,sam,yaml}"
authors:
- "@sguizard"

View file

@ -1 +1,2 @@
cellranger-*.tar.gz
bcl2fastq2-*.zip

View file

@ -1,15 +1,22 @@
# Dockerfile to create container with Cell Ranger v6.1.2
# Push to nfcore/cellranger:<VER>
FROM continuumio/miniconda3:4.8.2
LABEL authors="Gisela Gabernet <gisela.gabernet@gmail.com>" \
description="Docker image containing Cell Ranger"
# Disclaimer: this container is not provided nor supported by 10x Genomics.
# Disclaimer: this container is not provided nor supported by Illumina or 10x Genomics.
# Install procps and clean apt cache
RUN apt-get update --allow-releaseinfo-change \
&& apt-get install -y procps \
&& apt-get install -y \
cpio \
procps \
rpm2cpio \
unzip \
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
# Copy pre-downloaded cellranger file
ENV CELLRANGER_VER 6.0.2
ENV CELLRANGER_VER=6.1.2
COPY cellranger-$CELLRANGER_VER.tar.gz /opt/cellranger-$CELLRANGER_VER.tar.gz
# Install cellranger

View file

@ -1,18 +1,24 @@
# Updating the docker container and making a new module release
Cell Ranger is a commercial tool by 10X Genomics. The container provided for the cellranger nf-core module is not provided nor supported by 10x Genomics. Updating the Cell Ranger version in the container and pushing the update to Dockerhub needs to be done manually.
Cell Ranger is a commercial tool from 10X Genomics. The container provided for the cellranger nf-core module is not provided nor supported by 10x Genomics. Updating the Cell Ranger versions in the container and pushing the update to Dockerhub needs to be done manually.
1. Navigate to the [Cell Ranger download page](https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest) and download the tar ball of the desired Cell Ranger version with `curl` or `wget`. Place this file in the same folder where the Dockerfile lies.
1. Navigate to the appropriate download page.
- [Cell Ranger](https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest): download the tar ball of the desired Cell Ranger version with `curl` or `wget`. Place this file in the same folder where the Dockerfile lies.
2. Edit the Dockerfile: update the Cell Ranger version in this line:
2. Edit the Dockerfile. Update the Cell Ranger versions in this line:
```bash
ENV CELLRANGER_VER <VERSION>
ENV CELLRANGER_VER=<VERSION>
```
3. Create the container:
3. Create and test the container:
```bash
docker build . -t nfcore/cellranger:<VERSION>
```
4. Access rights are needed to push the container to the Dockerhub nfcore organization, please ask a core team member to do so.
```bash
docker push nfcore/cellranger:<VERSION>
```

View file

@ -5,7 +5,7 @@ process CELLRANGER_COUNT {
if (params.enable_conda) {
exit 1, "Conda environments cannot be used when using the Cell Ranger tool. Please use docker or singularity containers."
}
container "nfcore/cellranger:6.0.2"
container "nfcore/cellranger:6.1.2"
input:
tuple val(meta), path(reads)

View file

@ -0,0 +1,40 @@
# Dockerfile to create container with Cell Ranger v6.1.2 and bcl2fastq v2.20.0
# Push to nfcore/cellrangermkfastq:<VER>
FROM continuumio/miniconda3:4.8.2
LABEL authors="Regina Reynolds, Gisela Gabernet <gisela.gabernet@gmail.com>" \
description="Docker image containing bcl2fastq2 and Cell Ranger"
# Disclaimer: this container is not provided nor supported by Illumina or 10x Genomics.
# Install procps and clean apt cache
RUN apt-get update --allow-releaseinfo-change \
&& apt-get install -y \
cpio \
procps \
rpm2cpio \
unzip \
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
# Copy pre-downloaded bcl2fastq2 and cellranger file
ENV BCL2FASTQ2_VER=v2-20-0-linux-x86-64 \
CELLRANGER_VER=6.1.2
COPY bcl2fastq2-$BCL2FASTQ2_VER.zip /tmp/bcl2fastq2-$BCL2FASTQ2_VER.zip
COPY cellranger-$CELLRANGER_VER.tar.gz /opt/cellranger-$CELLRANGER_VER.tar.gz
# Install bcl2fastq2
RUN \
cd /tmp && \
unzip bcl2fastq2-$BCL2FASTQ2_VER.zip && \
mv *.rpm bcl2fastq2-$BCL2FASTQ2_VER.rpm && \
rpm2cpio ./bcl2fastq2-$BCL2FASTQ2_VER.rpm | cpio -idmv && \
export PATH=/tmp/usr/local/bin/:$PATH && \
ln -s /tmp/usr/local/bin/bcl2fastq /usr/bin/bcl2fastq && \
rm -rf bcl2fastq2-$BCL2FASTQ2_VER.*
# Install cellranger
RUN \
cd /opt && \
tar -xzvf cellranger-$CELLRANGER_VER.tar.gz && \
export PATH=/opt/cellranger-$CELLRANGER_VER:$PATH && \
ln -s /opt/cellranger-$CELLRANGER_VER/cellranger /usr/bin/cellranger && \
rm -rf /opt/cellranger-$CELLRANGER_VER.tar.gz

View file

@ -0,0 +1,26 @@
# Updating the docker container and making a new module release
Bcl2fastq2 and Cell Ranger are commercial tools from Illumina and 10X Genomics, respectively. The container provided for the cellranger nf-core module is not provided nor supported by either Illumina or 10x Genomics. Updating the bcl2fastq2 or Cell Ranger versions in the container and pushing the update to Dockerhub needs to be done manually.
1. Navigate to the appropriate download pages.
- [bcl2fastq2](https://emea.support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html): download the linux rpm installer of the desired bcl2fastq2 version with `curl` or `wget`. Place this file in the same folder where the Dockerfile lies.
- [Cell Ranger](https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest): download the tar ball of the desired Cell Ranger version with `curl` or `wget`. Place this file in the same folder where the Dockerfile lies.
2. Edit the Dockerfile. Update the bcl2fastq2 and Cell Ranger versions in this line:
```bash
ENV BCL2FASTQ2_VER=<VERSION> \
CELLRANGER_VER=<VERSION>
```
3. Create and test the container:
```bash
docker build . -t nfcore/cellrangermkfastq:<CELLRANGER_VERSION>
```
4. Access rights are needed to push the container to the Dockerhub nfcore organization, please ask a core team member to do so.
```bash
docker push nfcore/cellrangermkfastq:<CELLRANGER_VERSION>
```

View file

@ -5,7 +5,7 @@ process CELLRANGER_MKFASTQ {
if (params.enable_conda) {
exit 1, "Conda environments cannot be used when using the Cell Ranger tool. Please use docker or singularity containers."
}
container "litd/docker-cellranger:v6.1.1" // FIXME Add bcl2fastq to nf-core docker image
container "nfcore/cellrangermkfastq:6.1.2"
input:
path bcl
@ -13,14 +13,14 @@ process CELLRANGER_MKFASTQ {
output:
path "versions.yml", emit: versions
path "*.fastq.gz" , emit: fastq
path "${bcl.getSimpleName()}/outs/fastq_path/*.fastq.gz" , emit: fastq
script:
def args = task.ext.args ?: ''
"""
cellranger mkfastq --id=${bcl.getSimpleName()} \
--run=$bcl \
--csv=$csv
--csv=$csv \
$args
cat <<-END_VERSIONS > versions.yml
@ -28,4 +28,15 @@ process CELLRANGER_MKFASTQ {
cellranger: \$(echo \$( cellranger --version 2>&1) | sed 's/^.*[^0-9]\\([0-9]*\\.[0-9]*\\.[0-9]*\\).*\$/\\1/' )
END_VERSIONS
"""
stub:
"""
mkdir -p "${bcl.getSimpleName()}/outs/fastq_path/"
touch ${bcl.getSimpleName()}/outs/fastq_path/fake_file.fastq.gz
cat <<-END_VERSIONS > versions.yml
"${task.process}":
cellranger: \$(echo \$( cellranger --version 2>&1) | sed 's/^.*[^0-9]\\([0-9]*\\.[0-9]*\\.[0-9]*\\).*\$/\\1/' )
END_VERSIONS
"""
}

View file

@ -5,7 +5,7 @@ process CELLRANGER_MKGTF {
if (params.enable_conda) {
exit 1, "Conda environments cannot be used when using the Cell Ranger tool. Please use docker or singularity containers."
}
container "nfcore/cellranger:6.0.2"
container "nfcore/cellranger:6.1.2"
input:
path gtf

View file

@ -5,7 +5,7 @@ process CELLRANGER_MKREF {
if (params.enable_conda) {
exit 1, "Conda environments cannot be used when using the Cell Ranger tool. Please use docker or singularity containers."
}
container "nfcore/cellranger:6.0.2"
container "nfcore/cellranger:6.1.2"
input:
path fasta

View file

@ -0,0 +1,30 @@
def VERSION='1.0.2'
process DEEPARG_DOWNLOADDATA {
label 'process_low'
conda (params.enable_conda ? "bioconda::deeparg=1.0.2" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/deeparg:1.0.2--pyhdfd78af_1' :
'quay.io/biocontainers/deeparg:1.0.2--pyhdfd78af_1' }"
input:
output:
path "db/" , emit: db
path "versions.yml" , emit: versions
script:
def args = task.ext.args ?: ''
"""
deeparg \\
download_data \\
$args \\
-o db/
cat <<-END_VERSIONS > versions.yml
"${task.process}":
deeparg: $VERSION
END_VERSIONS
"""
}

View file

@ -0,0 +1,33 @@
name: deeparg_downloaddata
description: A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes
keywords:
- download
- database
- deeparg
- antimicrobial resistance genes
- deep learning
- prediction
tools:
- deeparg:
description: A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes
homepage: https://bench.cs.vt.edu/deeparg
documentation: https://bitbucket.org/gusphdproj/deeparg-ss/src/master/
tool_dev_url: https://bitbucket.org/gusphdproj/deeparg-ss/src/master/
doi: "10.1186/s40168-018-0401-z"
licence: ['MIT']
input:
- none: There is no input. This module downloads a pre-built database for use with deepARG.
output:
- versions:
type: file
description: File containing software versions
pattern: "versions.yml"
- db:
type: directory
description: Directory containing database required for deepARG.
pattern: "db/"
authors:
- "@jfy133"

View file

@ -0,0 +1,40 @@
def VERSION="1.0.2"
process DEEPARG_PREDICT {
tag "$meta.id"
label 'process_medium'
conda (params.enable_conda ? "bioconda::deeparg=1.0.2" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity//deeparg:1.0.2--pyhdfd78af_1' :
'quay.io/biocontainers/deeparg:1.0.2--pyhdfd78af_1' }"
input:
tuple val(meta), path(fasta), val(model)
path(db)
output:
tuple val(meta), path("*.align.daa") , emit: daa
tuple val(meta), path("*.align.daa.tsv") , emit: daa_tsv
tuple val(meta), path("*.mapping.ARG") , emit: arg
tuple val(meta), path("*.mapping.potential.ARG"), emit: potential_arg
path "versions.yml" , emit: versions
script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
"""
deeparg \\
predict \\
$args \\
-i $fasta \\
-o ${prefix} \\
-d $db \\
--model $model
cat <<-END_VERSIONS > versions.yml
"${task.process}":
deeparg: $VERSION
END_VERSIONS
"""
}

View file

@ -0,0 +1,68 @@
name: deeparg_predict
description: A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes
keywords:
- deeparg
- antimicrobial resistance
- antimicrobial resistance genes
- arg
- deep learning
- prediction
- contigs
- metagenomes
tools:
- deeparg:
description: A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes
homepage: https://bench.cs.vt.edu/deeparg
documentation: https://bitbucket.org/gusphdproj/deeparg-ss/src/master/
tool_dev_url: https://bitbucket.org/gusphdproj/deeparg-ss/src/master/
doi: "10.1186/s40168-018-0401-z"
licence: ['MIT']
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test' ]
- fasta:
type: file
description: FASTA file containing gene-like sequences
pattern: "*.{fasta,fa,fna}"
- model:
type: string
description: Which model to use, depending on input data. Either 'LS' or 'SS' for long or short sequences respectively
pattern: "LS|LS"
- db:
type: directory
description: Path to a directory containing the deepARG pre-built models
pattern: "*/"
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- versions:
type: file
description: File containing software versions
pattern: "versions.yml"
- daa:
type: file
description: Sequences of ARG-like sequences from DIAMOND alignment
pattern: "*.align.daa"
- daa_tsv:
type: file
description: Alignments scores against ARG-like sequences from DIAMOND alignment
pattern: "*.align.daa.tsv"
- arg:
type: file
description: Table containing sequences with an ARG-like probability of more than specified thresholds
pattern: "*.mapping.ARG"
- potential_arg:
type: file
description: Table containing sequences with an ARG-like probability of less than specified thresholds, and requires manual inspection
pattern: "*.mapping.potential.ARG"
authors:
- "@jfy133"

View file

@ -8,8 +8,7 @@ process GATK4_MERGEBAMALIGNMENT {
'quay.io/biocontainers/gatk4:4.2.4.1--hdfd78af_0' }"
input:
tuple val(meta), path(aligned)
path unmapped
tuple val(meta), path(aligned), path(unmapped)
path fasta
path dict
@ -28,10 +27,10 @@ process GATK4_MERGEBAMALIGNMENT {
}
"""
gatk --java-options "-Xmx${avail_mem}g" MergeBamAlignment \\
ALIGNED=$aligned \\
UNMAPPED=$unmapped \\
R=$fasta \\
O=${prefix}.bam \\
-ALIGNED $aligned \\
-UNMAPPED $unmapped \\
-R $fasta \\
-O ${prefix}.bam \\
$args
cat <<-END_VERSIONS > versions.yml

View file

@ -2,10 +2,10 @@ process NEXTCLADE_DATASETGET {
tag "$dataset"
label 'process_low'
conda (params.enable_conda ? "bioconda::nextclade=1.9.0" : null)
conda (params.enable_conda ? "bioconda::nextclade=1.10.1" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/nextclade:1.9.0--h9ee0642_0' :
'quay.io/biocontainers/nextclade:1.9.0--h9ee0642_0' }"
'https://depot.galaxyproject.org/singularity/nextclade:1.10.1--h9ee0642_0' :
'quay.io/biocontainers/nextclade:1.10.1--h9ee0642_0' }"
input:
val dataset

View file

@ -2,10 +2,10 @@ process NEXTCLADE_RUN {
tag "$meta.id"
label 'process_low'
conda (params.enable_conda ? "bioconda::nextclade=1.9.0" : null)
conda (params.enable_conda ? "bioconda::nextclade=1.10.1" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/nextclade:1.9.0--h9ee0642_0' :
'quay.io/biocontainers/nextclade:1.9.0--h9ee0642_0' }"
'https://depot.galaxyproject.org/singularity/nextclade:1.10.1--h9ee0642_0' :
'quay.io/biocontainers/nextclade:1.10.1--h9ee0642_0' }"
input:
tuple val(meta), path(fasta)

View file

@ -2,10 +2,10 @@ process PRODIGAL {
tag "$meta.id"
label 'process_low'
conda (params.enable_conda ? "bioconda::prodigal=2.6.3" : null)
conda (params.enable_conda ? "prodigal=2.6.3 pigz=2.6" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/prodigal:2.6.3--h516909a_2' :
'quay.io/biocontainers/prodigal:2.6.3--h516909a_2' }"
'https://depot.galaxyproject.org/singularity/mulled-v2-2e442ba7b07bfa102b9cf8fac6221263cd746ab8:57f05cfa73f769d6ed6d54144cb3aa2a6a6b17e0-0' :
'quay.io/biocontainers/mulled-v2-2e442ba7b07bfa102b9cf8fac6221263cd746ab8:57f05cfa73f769d6ed6d54144cb3aa2a6a6b17e0-0' }"
input:
tuple val(meta), path(genome)
@ -16,13 +16,13 @@ process PRODIGAL {
tuple val(meta), path("${prefix}.fna"), emit: nucleotide_fasta
tuple val(meta), path("${prefix}.faa"), emit: amino_acid_fasta
tuple val(meta), path("${prefix}_all.txt"), emit: all_gene_annotations
path "versions.yml" , emit: versions
path "versions.yml", emit: versions
script:
def args = task.ext.args ?: ''
prefix = task.ext.prefix ?: "${meta.id}"
"""
prodigal -i "${genome}" \\
pigz -cdf ${genome} | prodigal \\
$args \\
-f $output_format \\
-d "${prefix}.fna" \\
@ -33,6 +33,7 @@ process PRODIGAL {
cat <<-END_VERSIONS > versions.yml
"${task.process}":
prodigal: \$(prodigal -v 2>&1 | sed -n 's/Prodigal V\\(.*\\):.*/\\1/p')
pigz: \$(pigz -V 2>&1 | sed 's/pigz //g')
END_VERSIONS
"""
}

View file

@ -5,10 +5,10 @@ keywords:
tools:
- prodigal:
description: Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) is a microbial (bacterial and archaeal) gene finding program
homepage: {}
documentation: {}
homepage: {https://github.com/hyattpd/Prodigal}
documentation: {https://github.com/hyattpd/prodigal/wiki}
tool_dev_url: {}
doi: ""
doi: "10.1186/1471-2105-11-119"
licence: ["GPL v3"]
input:
@ -17,10 +17,12 @@ input:
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bam:
- genome:
type: file
description: BAM/CRAM/SAM file
pattern: "*.{bam,cram,sam}"
description: fasta/fasta.gz file
- output_format:
type: string
description: Output format ("gbk"/"gff"/"sqn"/"sco")
output:
- meta:
@ -32,10 +34,22 @@ output:
type: file
description: File containing software versions
pattern: "versions.yml"
- bam:
- nucleotide_fasta:
type: file
description: Sorted BAM/CRAM/SAM file
pattern: "*.{bam,cram,sam}"
description: nucleotide sequences file
pattern: "*.{fna}"
- amino_acid_fasta:
type: file
description: protein translations file
pattern: "*.{faa}"
- all_gene_annotations:
type: file
description: complete starts file
pattern: "*.{_all.txt}"
- gene_annotations:
type: file
description: gene annotations in output_format given as input
pattern: "*.{output_format}"
authors:
- "@grst"

View file

@ -46,6 +46,10 @@ bamaligncleaner:
- modules/bamaligncleaner/**
- tests/modules/bamaligncleaner/**
bamtools/convert:
- modules/bamtools/convert/**
- tests/modules/bamtools/convert/**
bamtools/split:
- modules/bamtools/split/**
- tests/modules/bamtools/split/**
@ -380,6 +384,14 @@ dedup:
- modules/dedup/**
- tests/modules/dedup/**
deeparg/downloaddata:
- modules/deeparg/downloaddata/**
- tests/modules/deeparg/downloaddata/**
deeparg/predict:
- modules/deeparg/predict/**
- tests/modules/deeparg/predict/**
deeptools/computematrix:
- modules/deeptools/computematrix/**
- tests/modules/deeptools/computematrix/**

View file

@ -0,0 +1,104 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_EXT_ERROR } from '../../../../modules/bamtools/convert/main.nf'
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_NOEXT_ERROR } from '../../../../modules/bamtools/convert/main.nf'
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_BED } from '../../../../modules/bamtools/convert/main.nf'
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_FASTA } from '../../../../modules/bamtools/convert/main.nf'
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_FASTQ } from '../../../../modules/bamtools/convert/main.nf'
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_JSON } from '../../../../modules/bamtools/convert/main.nf'
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_PILEUP } from '../../../../modules/bamtools/convert/main.nf'
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_SAM } from '../../../../modules/bamtools/convert/main.nf'
include { BAMTOOLS_CONVERT as BAMTOOLS_CONVERT_YAML } from '../../../../modules/bamtools/convert/main.nf'
workflow test_bamtools_convert_ext_error {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_EXT_ERROR ( input )
}
workflow test_bamtools_convert_noext_error {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_NOEXT_ERROR ( input )
}
workflow test_bamtools_convert_bed {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_BED ( input )
}
workflow test_bamtools_convert_fasta {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_FASTA ( input )
}
workflow test_bamtools_convert_fastq {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_FASTQ ( input )
}
workflow test_bamtools_convert_json {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_JSON ( input )
}
workflow test_bamtools_convert_pileup {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_PILEUP ( input )
}
workflow test_bamtools_convert_sam {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_SAM ( input )
}
workflow test_bamtools_convert_yaml {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true)
]
BAMTOOLS_CONVERT_YAML ( input )
}

View file

@ -0,0 +1,41 @@
process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
withName: BAMTOOLS_CONVERT_EXT_ERROR {
ext.args = "-format vcf"
}
withName: BAMTOOLS_CONVERT_NOEXT_ERROR {
ext.args = ""
}
withName: BAMTOOLS_CONVERT_BED {
ext.args = "-format bed"
}
withName: BAMTOOLS_CONVERT_FASTA {
ext.args = "-format fasta"
}
withName: BAMTOOLS_CONVERT_FASTQ {
ext.args = "-format fastq"
}
withName: BAMTOOLS_CONVERT_JSON {
ext.args = "-format json"
}
withName: BAMTOOLS_CONVERT_PILEUP {
ext.args = "-format pileup"
}
withName: BAMTOOLS_CONVERT_SAM {
ext.args = "-format sam"
}
withName: BAMTOOLS_CONVERT_YAML {
ext.args = "-format yaml"
}
}

View file

@ -0,0 +1,90 @@
- name: bamtools convert test_bamtools_convert_ext_error
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_ext_error -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
exit_code: 1
- name: bamtools convert test_bamtools_convert_noext_error
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_noext_error -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
exit_code: 1
- name: bamtools convert test_bamtools_convert_bed
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_bed -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
files:
- path: output/bamtools/test.bed
md5sum: 4e34cc15bf31e700f5f3a9f8fffb6c81
- path: output/bamtools/versions.yml
md5sum: eb7a144b8a97965d3482f6f96b8a8243
- name: bamtools convert test_bamtools_convert_fasta
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_fasta -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
files:
- path: output/bamtools/test.fasta
md5sum: 52aeacf78571862b7e97c7d44ac8f827
- path: output/bamtools/versions.yml
md5sum: 42d19a2b2b07f05edb82b34369dfd754
- name: bamtools convert test_bamtools_convert_fastq
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_fastq -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
files:
- path: output/bamtools/test.fastq
md5sum: e591c48daad2c56638e5d6f21f1f71c5
- path: output/bamtools/versions.yml
md5sum: 13f0bf8a3e1f8f527f96dabaa5c8051e
- name: bamtools convert test_bamtools_convert_json
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_json -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
files:
- path: output/bamtools/test.json
md5sum: 04afed696f9f14da85a460353645d1f5
- path: output/bamtools/versions.yml
md5sum: 33d633dbd6209cb93c9b071f8c0ed3b3
- name: bamtools convert test_bamtools_convert_pileup
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_pileup -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
files:
- path: output/bamtools/test.pileup
md5sum: e5a3cb4a3e1bf980a575fafce6a2826f
- path: output/bamtools/versions.yml
md5sum: fd3ad0edd1e085b1a002e0593d1d5814
- name: bamtools convert test_bamtools_convert_sam
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_sam -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
files:
- path: output/bamtools/test.sam
md5sum: 61ab3d0de16a9da8b651f9c692e19d5e
- path: output/bamtools/versions.yml
md5sum: 4be470ce3cc0143ae5ae415b612a4965
- name: bamtools convert test_bamtools_convert_yaml
command: nextflow run tests/modules/bamtools/convert -entry test_bamtools_convert_yaml -c tests/config/nextflow.config
tags:
- bamtools
- bamtools/convert
files:
- path: output/bamtools/test.yaml
md5sum: 68b56f198da036fef33e150eb773dc3b
- path: output/bamtools/versions.yml
md5sum: 1116abc088c5edf11bee393961c18b3e

View file

@ -8,12 +8,12 @@
- path: output/cellranger/sample-123/outs/metrics_summary.csv
md5sum: 707df0f101d479d93f412ca74f9c4131
- path: output/cellranger/sample-123/outs/molecule_info.h5
md5sum: cf03b2b3ca776a1c37aa3518e91268ba
md5sum: 0e56836ef0725f2ab05f56ca5a71e55b
- path: output/cellranger/sample-123/outs/possorted_genome_bam.bam
md5sum: 15441da9cfceea0bb48c8b66b1b860df
- path: output/cellranger/sample-123/outs/possorted_genome_bam.bam.bai
md5sum: 7c3d49c77016a09535aff61a027f750c
- path: output/cellranger/sample-123/outs/raw_feature_bc_matrix
- path: output/cellranger/sample-123/outs/raw_feature_bc_matrix.h5
md5sum: 40c8df814eb8723b7317b234dc8222e9
md5sum: cdad1cd7b215d7137cf92515e81a8525
- path: output/cellranger/sample-123/outs/web_summary.html

View file

@ -2,4 +2,8 @@ process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
withName: CELLRANGER_MKFASTQ {
ext.args = "--tiles 1101"
}
}

View file

@ -1,13 +1,16 @@
- name: cellranger mkfastq test_cellranger_mkfastq_simple
command: nextflow run tests/modules/cellranger/mkfastq -entry test_cellranger_mkfastq_simple -c tests/config/nextflow.config -c ./tests/modules/cellranger/mkfastq/nextflow.config
command: nextflow run tests/modules/cellranger/mkfastq -entry test_cellranger_mkfastq_simple -c tests/config/nextflow.config -c ./tests/modules/cellranger/mkfastq/nextflow.config -stub-run
tags:
- cellranger
- cellranger/mkfastq
# files:
# - path: output/cellranger/genome.filtered.gtf
# md5sum: a8b8a7b5039e05d3a9cf9151ea138b5b
files:
- path: output/cellranger/cellranger-tiny-bcl-1/outs/fastq_path/fake_file.fastq.gz
md5sum: d41d8cd98f00b204e9800998ecf8427e
- name: cellranger mkfastq test_cellranger_mkfastq_illumina
command: nextflow run tests/modules/cellranger/mkfastq -entry test_cellranger_mkfastq_illumina -c tests/config/nextflow.config -c ./tests/modules/cellranger/mkfastq/nextflow.config
command: nextflow run tests/modules/cellranger/mkfastq -entry test_cellranger_mkfastq_illumina -c tests/config/nextflow.config -c ./tests/modules/cellranger/mkfastq/nextflow.config -stub-run
tags:
- cellranger
- cellranger/mkfastq
files:
- path: output/cellranger/cellranger-tiny-bcl-1/outs/fastq_path/fake_file.fastq.gz
md5sum: d41d8cd98f00b204e9800998ecf8427e

View file

@ -11,7 +11,7 @@
- path: output/cellranger/homo_sapiens_chr22_reference/genes/genes.gtf.gz
md5sum: 6d9b5f409bfea95022bc25b9590e194e
- path: output/cellranger/homo_sapiens_chr22_reference/reference.json
md5sum: a4e2b9bbf016c55b0d4d7bc1fa53896f
md5sum: 5d8d1669cd251433505f183e1c9ed6bc
- path: output/cellranger/homo_sapiens_chr22_reference/star/Genome
md5sum: 22102926fadf5890e905ca71b2da3f35
- path: output/cellranger/homo_sapiens_chr22_reference/star/SA

View file

@ -0,0 +1,9 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { DEEPARG_DOWNLOADDATA } from '../../../../modules/deeparg/downloaddata/main.nf'
workflow test_deeparg_downloaddata {
DEEPARG_DOWNLOADDATA ()
}

View file

@ -0,0 +1,5 @@
process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
}

View file

@ -0,0 +1,9 @@
- name: deeparg downloaddata test_deeparg_downloaddata
command: nextflow run tests/modules/deeparg/downloaddata -entry test_deeparg_downloaddata -c tests/config/nextflow.config
tags:
- deeparg
- deeparg/downloaddata
files:
- path: output/deeparg/db/
- path: output/deeparg/db/data/gg13/dataset.rev.2.bt2
md5sum: 99d90f132fc2795d5a527ce31f1c4d30

View file

@ -0,0 +1,19 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { DEEPARG_DOWNLOADDATA } from '../../../../modules/deeparg/downloaddata/main.nf'
include { DEEPARG_PREDICT } from '../../../../modules/deeparg/predict/main.nf'
workflow test_deeparg_predict {
input = [
[ id:'test', single_end:false ], // meta map
file(params.test_data['bacteroides_fragilis']['genome']['genome_fna_gz'], checkIfExists: true),
'LS'
]
DEEPARG_DOWNLOADDATA()
DEEPARG_PREDICT ( input, DEEPARG_DOWNLOADDATA.out.db )
}

View file

@ -0,0 +1,5 @@
process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
}

View file

@ -0,0 +1,17 @@
- name: deeparg predict test_deeparg_predict
command: nextflow run tests/modules/deeparg/predict -entry test_deeparg_predict -c tests/config/nextflow.config
tags:
- deeparg/predict
- deeparg
files:
- path: output/deeparg/test.align.daa
md5sum: c52d0af8362244f214da25bc45f2bf42
- path: output/deeparg/test.align.daa.tsv
md5sum: a4aa1da2db98274ede2b927fa8227e5a
- path: output/deeparg/test.mapping.ARG
md5sum: 0e049e99eab4c55666062df21707d5b9
- path: output/deeparg/test.mapping.potential.ARG
contains:
- "#ARG"
- path: output/deeparg/versions.yml
md5sum: e848ddab324e8c6fd18eaa6b2656f195

View file

@ -6,11 +6,11 @@ include { GATK4_MERGEBAMALIGNMENT } from '../../../../modules/gatk4/mergebamalig
workflow test_gatk4_mergebamalignment {
input = [ [ id:'test' ], // meta map
file(params.test_data['sarscov2']['illumina']['test_single_end_bam'], checkIfExists: true)
file(params.test_data['sarscov2']['illumina']['test_single_end_bam'], checkIfExists: true),
file(params.test_data['sarscov2']['illumina']['test_unaligned_bam'], checkIfExists: true)
]
unmapped = file(params.test_data['sarscov2']['illumina']['test_unaligned_bam'], checkIfExists: true)
fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)
dict = file(params.test_data['sarscov2']['genome']['genome_dict'], checkIfExists: true)
GATK4_MERGEBAMALIGNMENT ( input, unmapped, fasta, dict )
GATK4_MERGEBAMALIGNMENT ( input, fasta, dict )
}

View file

@ -8,7 +8,8 @@ workflow test_nextclade_datasetget {
dataset = 'sars-cov-2'
reference = 'MN908947'
tag = '2022-01-05T19:54:31Z'
tag = '2022-01-18T12:00:00Z'
NEXTCLADE_DATASETGET ( dataset, reference, tag )
}

View file

@ -9,12 +9,14 @@
- path: output/nextclade/sars-cov-2/primers.csv
md5sum: 5990c3483bf66ce607aeb90a44e7ef2e
- path: output/nextclade/sars-cov-2/qc.json
md5sum: 018fa0c0b0d2e824954e37e01495d549
md5sum: c512f51fda0212b21ffff05779180963
- path: output/nextclade/sars-cov-2/reference.fasta
md5sum: c7ce05f28e4ec0322c96f24e064ef55c
- path: output/nextclade/sars-cov-2/sequences.fasta
md5sum: 41129d255b99e0e92bdf20e866b99a1b
- path: output/nextclade/sars-cov-2/tag.json
md5sum: 2f6d8e806d9064571ee4188ef1304c9c
md5sum: 402ac2b87e2a6a64a3fbf5ad16497af3
- path: output/nextclade/sars-cov-2/tree.json
md5sum: f8fb33ed62b59142ac20998eb599df6c
md5sum: b8f32f547ff9e2131d6fc66b68fc54b1
- path: output/nextclade/sars-cov-2/virus_properties.json
md5sum: 5f2de3949e07cb633f3d9e4a7654dc81

View file

@ -9,7 +9,7 @@ workflow test_nextclade_run {
dataset = 'sars-cov-2'
reference = 'MN908947'
tag = '2022-01-05T19:54:31Z'
tag = '2022-01-18T12:00:00Z'
NEXTCLADE_DATASETGET ( dataset, reference, tag )
@ -20,3 +20,4 @@ workflow test_nextclade_run {
NEXTCLADE_RUN ( input, NEXTCLADE_DATASETGET.out.dataset )
}

View file

@ -6,8 +6,8 @@
files:
- path: output/nextclade/test.json
- path: output/nextclade/test.csv
md5sum: 3b87a4da190ba2e1fdc8418dc3a7ffdb
md5sum: 570c1aa2d5fd25c23d0042c1b06108e1
- path: output/nextclade/test.tsv
md5sum: 449393288e8734a02def139c550a8d9b
md5sum: dd76e1a4c760785489be4e4a860b4d00
- path: output/nextclade/test.tree.json
md5sum: 9c6e33cb7ff860bee6194847bd2c855c
md5sum: 3591b4dc1542995a7ffcffcb1f52b524

View file

@ -16,6 +16,9 @@ def _get_workflow_names():
# test_config = yaml.safe_load(f.read_text())
test_config = yaml.load(f.read_text(), Loader=yaml.BaseLoader)
for workflow in test_config:
# https://github.com/nf-core/modules/pull/1242 - added to cover tests
# that expect an error and therefore will not generate a versions.yml
if 'exit_code' not in workflow:
yield workflow["name"]