mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-21 18:58:16 +00:00
Merge branch 'master' into bat-test
This commit is contained in:
commit
9c1278b4c3
452 changed files with 2962 additions and 115 deletions
22
.gitpod.yml
22
.gitpod.yml
|
@ -1,10 +1,14 @@
|
|||
# List the start up tasks. Learn more https://www.gitpod.io/docs/config-start-tasks/
|
||||
tasks:
|
||||
- name: Install Nextflow
|
||||
init: |
|
||||
curl -s https://get.nextflow.io | bash
|
||||
sudo mv nextflow /usr/local/bin
|
||||
image: nfcore/gitpod:latest
|
||||
|
||||
- name: Install pytest-workflow
|
||||
init: |
|
||||
pip install pytest-workflow
|
||||
vscode:
|
||||
extensions: # based on nf-core.nf-core-extensionpack
|
||||
- codezombiech.gitignore # Language support for .gitignore files
|
||||
# - cssho.vscode-svgviewer # SVG viewer
|
||||
- davidanson.vscode-markdownlint # Markdown/CommonMark linting and style checking for Visual Studio Code
|
||||
- eamodio.gitlens # Quickly glimpse into whom, why, and when a line or code block was changed
|
||||
- EditorConfig.EditorConfig # override user/workspace settings with settings found in .editorconfig files
|
||||
- Gruntfuggly.todo-tree # Display TODO and FIXME in a tree view in the activity bar
|
||||
- mechatroner.rainbow-csv # Highlight columns in csv files in different colors
|
||||
# - nextflow.nextflow # Nextflow syntax highlighting
|
||||
- oderwat.indent-rainbow # Highlight indentation level
|
||||
- streetsidesoftware.code-spell-checker # Spelling checker for source code
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
repository_type: modules
|
||||
bump-versions:
|
||||
rseqc/junctionannotation: False
|
||||
rseqc/bamstat: False
|
||||
|
|
|
@ -15,6 +15,9 @@ process ABACAS {
|
|||
tuple val(meta), path('*.abacas*'), emit: results
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process ADAPTERREMOVAL {
|
|||
tuple val(meta), path('*.log') , emit: log
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process AGRVATE {
|
|||
path "${fasta.baseName}-results" , emit: results_dir
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -16,6 +16,9 @@ process ALLELECOUNTER {
|
|||
tuple val(meta), path("*.alleleCount"), emit: allelecount
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -18,6 +18,9 @@ process AMPS {
|
|||
path "results/pdf_candidate_profiles/" , emit: candidate_pdfs
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -17,6 +17,9 @@ process ARRIBA {
|
|||
tuple val(meta), path("*.fusions.discarded.tsv"), emit: fusions_fail
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process ARTIC_GUPPYPLEX {
|
|||
tuple val(meta), path("*.fastq.gz"), emit: fastq
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -31,6 +31,9 @@ process ARTIC_MINION {
|
|||
tuple val(meta), path("*.json"), optional:true , emit: json
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process ASSEMBLYSCAN {
|
|||
tuple val(meta), path("*.json"), emit: json
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -19,6 +19,9 @@ process ATAQV_ATAQV {
|
|||
tuple val(meta), path("*.problems") , emit: problems, optional: true
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -25,6 +25,9 @@ process BAKTA {
|
|||
tuple val(meta), path("${prefix}.tsv") , emit: tsv
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BAMALIGNCLEANER {
|
|||
tuple val(meta), path("*.bam"), emit: bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
38
modules/bamcmp/main.nf
Normal file
38
modules/bamcmp/main.nf
Normal file
|
@ -0,0 +1,38 @@
|
|||
def VERSION = '2.2'
|
||||
process BAMCMP {
|
||||
label 'process_low'
|
||||
|
||||
conda (params.enable_conda ? "bioconda::bamcmp=2.2" : null)
|
||||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||
'https://depot.galaxyproject.org/singularity/bamcmp:2.2--h05f6578_0' :
|
||||
'quay.io/biocontainers/bamcmp:2.2--h05f6578_0' }"
|
||||
|
||||
input:
|
||||
tuple val(meta), path(sample), path(contaminant)
|
||||
|
||||
output:
|
||||
tuple val(meta), path("*primary.bam") , emit: bam
|
||||
tuple val(meta), path("*contamination.bam"), emit: contamination_bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
"""
|
||||
bamcmp \\
|
||||
-1 $sample \\
|
||||
-2 $contaminant \\
|
||||
-A ${prefix}_primary.bam \\
|
||||
-B ${prefix}_contamination.bam \\
|
||||
$args
|
||||
|
||||
cat <<-END_VERSIONS > versions.yml
|
||||
"${task.process}":
|
||||
bamcmp: $VERSION
|
||||
END_VERSIONS
|
||||
"""
|
||||
|
||||
}
|
57
modules/bamcmp/meta.yml
Normal file
57
modules/bamcmp/meta.yml
Normal file
|
@ -0,0 +1,57 @@
|
|||
name: bamcmp
|
||||
description: Bamcmp (Bam Compare) is a tool for assigning reads between a primary genome and a contamination genome. For instance, filtering out mouse reads from patient derived xenograft mouse models (PDX).
|
||||
keywords:
|
||||
- filter
|
||||
- xenograft
|
||||
- host
|
||||
- graft
|
||||
- contamination
|
||||
- mouse
|
||||
|
||||
tools:
|
||||
- bamcmp:
|
||||
description: Bamcmp is a tool for deconvolving host and graft reads, using two bam files. Reads should be mapped to two genomes, and the mapped,
|
||||
sorted bam files supplied to the tool. It is highly recommended to use the "-s as" option not the "-s mapq" option, else
|
||||
reads which multimap to the contamination genome will be spuriously kept.
|
||||
homepage: https://github.com/CRUKMI-ComputationalBiology/bamcmp
|
||||
documentation: https://github.com/CRUKMI-ComputationalBiology/bamcmp
|
||||
tool_dev_url: https://github.com/CRUKMI-ComputationalBiology/bamcmp
|
||||
doi: "10.1158/1541-7786.MCR-16-0431"
|
||||
licence: ['GPL v3']
|
||||
|
||||
input:
|
||||
- meta:
|
||||
type: map
|
||||
description: |
|
||||
Groovy Map containing sample information
|
||||
e.g. [ id:'test']
|
||||
|
||||
- sample:
|
||||
type: file
|
||||
description: BAM/CRAM/SAM file with the reads aligned to the primary genome (the one you want to keep)
|
||||
pattern: "*.{bam,cram,sam}"
|
||||
|
||||
- contaminant:
|
||||
type: file
|
||||
description: BAM/CRAM/SAM file with the reads aligned to the contaminant genome (the one you want to filter out)
|
||||
pattern: "*.{bam,cram,sam}"
|
||||
|
||||
output:
|
||||
- versions:
|
||||
type: file
|
||||
description: File containing software versions
|
||||
pattern: "versions.yml"
|
||||
|
||||
- bam:
|
||||
type: file
|
||||
description: Bam file containing the reads which align better to the primary genome.
|
||||
pattern: "*.{bam,cram,sam}"
|
||||
|
||||
- bam:
|
||||
type: file
|
||||
description: Bam file containing the reads which align better to the contaminant genome.
|
||||
pattern: "*.{bam,cram,sam}"
|
||||
|
||||
authors:
|
||||
- "@kmurat1"
|
||||
- "@sppearce"
|
41
modules/bamtools/convert/main.nf
Normal file
41
modules/bamtools/convert/main.nf
Normal file
|
@ -0,0 +1,41 @@
|
|||
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
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
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
|
||||
"""
|
||||
}
|
52
modules/bamtools/convert/meta.yml
Normal file
52
modules/bamtools/convert/meta.yml
Normal 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"
|
|
@ -14,6 +14,9 @@ process BAMTOOLS_SPLIT {
|
|||
tuple val(meta), path("*.bam"), emit: bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BAMUTIL_TRIMBAM {
|
|||
tuple val(meta), path("*.bam"), emit: bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BANDAGE_IMAGE {
|
|||
tuple val(meta), path('*.svg'), emit: svg
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -16,6 +16,9 @@ process BBMAP_ALIGN {
|
|||
tuple val(meta), path("*.log"), emit: log
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -16,6 +16,9 @@ process BBMAP_BBDUK {
|
|||
tuple val(meta), path('*.log') , emit: log
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -20,6 +20,9 @@ process BBMAP_BBSPLIT {
|
|||
tuple val(meta), path('*txt') , optional:true, emit: stats
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BBMAP_INDEX {
|
|||
path 'ref' , emit: index
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -14,6 +14,9 @@ process BCFTOOLS_CONCAT {
|
|||
tuple val(meta), path("*.gz"), emit: vcf
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BCFTOOLS_CONSENSUS {
|
|||
tuple val(meta), path('*.fa'), emit: fasta
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BCFTOOLS_FILTER {
|
|||
tuple val(meta), path("*.gz"), emit: vcf
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BCFTOOLS_INDEX {
|
|||
tuple val(meta), path("*.tbi"), optional:true, emit: tbi
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BCFTOOLS_ISEC {
|
|||
tuple val(meta), path("${prefix}"), emit: results
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BCFTOOLS_MERGE {
|
|||
tuple val(meta), path("*.gz"), emit: vcf
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -19,6 +19,9 @@ process BCFTOOLS_MPILEUP {
|
|||
tuple val(meta), path("*.mpileup") , emit: mpileup, optional: true
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args2 = task.ext.args2 ?: ''
|
||||
|
|
|
@ -15,6 +15,9 @@ process BCFTOOLS_NORM {
|
|||
tuple val(meta), path("*.gz") , emit: vcf
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -8,30 +8,32 @@ process BCFTOOLS_QUERY {
|
|||
'quay.io/biocontainers/bcftools:1.14--h88f3f91_0' }"
|
||||
|
||||
input:
|
||||
tuple val(meta), path(vcf), path(index)
|
||||
path(regions)
|
||||
path(targets)
|
||||
path(samples)
|
||||
tuple val(meta), path(vcf), path(tbi)
|
||||
path regions
|
||||
path targets
|
||||
path samples
|
||||
|
||||
output:
|
||||
tuple val(meta), path("*.gz") , emit: vcf
|
||||
tuple val(meta), path("*.txt"), emit: txt
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
def regions_file = regions ? "--regions-file ${regions}" : ""
|
||||
def regions_file = regions ? "--regions-file ${regions}" : ""
|
||||
def targets_file = targets ? "--targets-file ${targets}" : ""
|
||||
def samples_file = samples ? "--samples-file ${samples}" : ""
|
||||
|
||||
"""
|
||||
bcftools query \\
|
||||
--output ${prefix}.vcf.gz \\
|
||||
${regions_file} \\
|
||||
${targets_file} \\
|
||||
${samples_file} \\
|
||||
--output ${prefix}.txt \\
|
||||
$regions_file \\
|
||||
$targets_file \\
|
||||
$samples_file \\
|
||||
$args \\
|
||||
${vcf}
|
||||
$vcf
|
||||
|
||||
cat <<-END_VERSIONS > versions.yml
|
||||
"${task.process}":
|
||||
|
|
|
@ -23,22 +23,20 @@ input:
|
|||
type: file
|
||||
description: |
|
||||
The vcf file to be qeuried.
|
||||
e.g. 'file.vcf'
|
||||
- index:
|
||||
pattern: "*.{vcf.gz, vcf}"
|
||||
- tbi:
|
||||
type: file
|
||||
description: |
|
||||
The tab index for the VCF file to be inspected.
|
||||
e.g. 'file.tbi'
|
||||
pattern: "*.tbi"
|
||||
- regions:
|
||||
type: file
|
||||
description: |
|
||||
Optionally, restrict the operation to regions listed in this file.
|
||||
e.g. 'file.vcf'
|
||||
- targets:
|
||||
type: file
|
||||
description: |
|
||||
Optionally, restrict the operation to regions listed in this file (doesn't rely upon index files)
|
||||
e.g. 'file.vcf'
|
||||
- samples:
|
||||
type: file
|
||||
description: |
|
||||
|
@ -50,13 +48,14 @@ output:
|
|||
description: |
|
||||
Groovy Map containing sample information
|
||||
e.g. [ id:'test', single_end:false ]
|
||||
- vcf:
|
||||
- txt:
|
||||
type: file
|
||||
description: VCF query output file
|
||||
pattern: "*.{vcf.gz}"
|
||||
description: BCFTools query output file
|
||||
pattern: "*.txt"
|
||||
- versions:
|
||||
type: file
|
||||
description: File containing software versions
|
||||
pattern: "versions.yml"
|
||||
authors:
|
||||
- "@abhi18av"
|
||||
- "@drpatelh"
|
||||
|
|
|
@ -16,6 +16,9 @@ process BCFTOOLS_REHEADER {
|
|||
tuple val(meta), path("*.vcf.gz"), emit: vcf
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BCFTOOLS_SORT {
|
|||
tuple val(meta), path("*.gz"), emit: vcf
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BCFTOOLS_STATS {
|
|||
tuple val(meta), path("*stats.txt"), emit: stats
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -17,6 +17,9 @@ process BCFTOOLS_VIEW {
|
|||
tuple val(meta), path("*.gz") , emit: vcf
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BEDTOOLS_BAMTOBED {
|
|||
tuple val(meta), path("*.bed"), emit: bed
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BEDTOOLS_COMPLEMENT {
|
|||
tuple val(meta), path('*.bed'), emit: bed
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -16,6 +16,9 @@ process BEDTOOLS_GENOMECOV {
|
|||
tuple val(meta), path("*.${extension}"), emit: genomecov
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args_list = args.tokenize()
|
||||
|
|
|
@ -15,6 +15,9 @@ process BEDTOOLS_GETFASTA {
|
|||
path "*.fa" , emit: fasta
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${bed.baseName}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BEDTOOLS_INTERSECT {
|
|||
tuple val(meta), path("*.${extension}"), emit: intersect
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BEDTOOLS_MAKEWINDOWS {
|
|||
tuple val(meta), path("*.tab"), emit: tab
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BEDTOOLS_MASKFASTA {
|
|||
tuple val(meta), path("*.fa"), emit: fasta
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BEDTOOLS_MERGE {
|
|||
tuple val(meta), path('*.bed'), emit: bed
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BEDTOOLS_SLOP {
|
|||
tuple val(meta), path("*.bed"), emit: bed
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BEDTOOLS_SORT {
|
|||
tuple val(meta), path("*.${extension}"), emit: sorted
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BEDTOOLS_SUBTRACT {
|
|||
tuple val(meta), path("*.bed"), emit: bed
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -17,6 +17,9 @@ process BISMARK_ALIGN {
|
|||
tuple val(meta), path("*fq.gz") , optional:true, emit: unmapped
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BISMARK_DEDUPLICATE {
|
|||
tuple val(meta), path("*.deduplication_report.txt"), emit: report
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BISMARK_GENOMEPREPARATION {
|
|||
path "BismarkIndex" , emit: index
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -19,6 +19,9 @@ process BISMARK_METHYLATIONEXTRACTOR {
|
|||
tuple val(meta), path("*.M-bias.txt") , emit: mbias
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def seqtype = meta.single_end ? '-s' : '-p'
|
||||
|
|
|
@ -14,6 +14,9 @@ process BISMARK_REPORT {
|
|||
tuple val(meta), path("*report.{html,txt}"), emit: report
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -17,6 +17,9 @@ process BISMARK_SUMMARY {
|
|||
path "*report.{html,txt}", emit: summary
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -15,6 +15,9 @@ process BLAST_BLASTN {
|
|||
tuple val(meta), path('*.blastn.txt'), emit: txt
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BLAST_MAKEBLASTDB {
|
|||
path 'blast_db' , emit: db
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -17,6 +17,9 @@ process BOWTIE_ALIGN {
|
|||
path "versions.yml" , emit: versions
|
||||
tuple val(meta), path('*fastq.gz'), optional:true, emit: fastq
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args2 = task.ext.args2 ?: ''
|
||||
|
|
|
@ -14,6 +14,9 @@ process BOWTIE_BUILD {
|
|||
path 'bowtie' , emit: index
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -18,6 +18,9 @@ process BOWTIE2_ALIGN {
|
|||
tuple val(meta), path('*fastq.gz'), emit: fastq, optional:true
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args2 = task.ext.args2 ?: ''
|
||||
|
|
|
@ -14,6 +14,9 @@ process BOWTIE2_BUILD {
|
|||
path 'bowtie2' , emit: index
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -15,6 +15,9 @@ process BWA_ALN {
|
|||
tuple val(meta), path("*.sai"), emit: sai
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BWA_INDEX {
|
|||
path "bwa" , emit: index
|
||||
path "versions.yml", emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -16,6 +16,9 @@ process BWA_MEM {
|
|||
tuple val(meta), path("*.bam"), emit: bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args2 = task.ext.args2 ?: ''
|
||||
|
|
|
@ -15,6 +15,9 @@ process BWA_SAMPE {
|
|||
tuple val(meta), path("*.bam"), emit: bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process BWA_SAMSE {
|
|||
tuple val(meta), path("*.bam"), emit: bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process BWAMEM2_INDEX {
|
|||
path "bwamem2" , emit: index
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -16,6 +16,9 @@ process BWAMEM2_MEM {
|
|||
tuple val(meta), path("*.bam"), emit: bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args2 = task.ext.args2 ?: ''
|
||||
|
|
|
@ -15,6 +15,9 @@ process BWAMETH_ALIGN {
|
|||
tuple val(meta), path("*.bam"), emit: bam
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args2 = task.ext.args2 ?: ''
|
||||
|
|
|
@ -14,6 +14,9 @@ process BWAMETH_INDEX {
|
|||
path "bwameth" , emit: index
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -14,6 +14,9 @@ process CAT_CAT {
|
|||
path "${file_out}*" , emit: file_out
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args2 = task.ext.args2 ?: ''
|
||||
|
|
|
@ -14,6 +14,9 @@ process CAT_FASTQ {
|
|||
tuple val(meta), path("*.merged.fastq.gz"), emit: reads
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
1
modules/cellranger/.gitignore
vendored
1
modules/cellranger/.gitignore
vendored
|
@ -1 +1,2 @@
|
|||
cellranger-*.tar.gz
|
||||
bcl2fastq2-*.zip
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
```
|
||||
|
|
|
@ -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)
|
||||
|
@ -15,6 +15,9 @@ process CELLRANGER_COUNT {
|
|||
path("sample-${meta.gem}/outs/*"), emit: outs
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def sample_arg = meta.samples.unique().join(",")
|
||||
|
|
40
modules/cellranger/mkfastq/Dockerfile
Normal file
40
modules/cellranger/mkfastq/Dockerfile
Normal 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
|
26
modules/cellranger/mkfastq/README.md
Normal file
26
modules/cellranger/mkfastq/README.md
Normal 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>
|
||||
```
|
|
@ -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,17 @@ process CELLRANGER_MKFASTQ {
|
|||
|
||||
output:
|
||||
path "versions.yml", emit: versions
|
||||
path "*.fastq.gz" , emit: fastq
|
||||
path "${bcl.getSimpleName()}/outs/fastq_path/*.fastq.gz" , emit: fastq
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
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 +31,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
|
||||
"""
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
@ -14,6 +14,9 @@ process CELLRANGER_MKGTF {
|
|||
path "*.filtered.gtf", emit: gtf
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -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
|
||||
|
@ -16,6 +16,9 @@ process CELLRANGER_MKREF {
|
|||
path "${reference_name}", emit: reference
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -16,6 +16,9 @@ process CHECKM_LINEAGEWF {
|
|||
tuple val(meta), path("${prefix}.tsv"), emit: checkm_tsv
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -23,6 +23,9 @@ process CHROMAP_CHROMAP {
|
|||
tuple val(meta), path("*.pairs.gz") , optional:true, emit: pairs
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def args2 = task.ext.args2 ?: ''
|
||||
|
|
|
@ -15,6 +15,9 @@ process CHROMAP_INDEX {
|
|||
path "*.index" , emit: index
|
||||
path "versions.yml", emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = fasta.baseName
|
||||
|
|
|
@ -19,6 +19,9 @@ process CLONALFRAMEML {
|
|||
tuple val(meta), path("*.position_cross_reference.txt"), emit: pos_ref
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -16,6 +16,9 @@ process CMSEQ_POLYMUT {
|
|||
tuple val(meta), path("*.txt"), emit: polymut
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -20,6 +20,9 @@ process CNVKIT_BATCH {
|
|||
tuple val(meta), path("*.cns"), emit: cns, optional: true
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def normal_args = normal ? "--normal $normal" : ""
|
||||
|
|
|
@ -16,6 +16,9 @@ process COOLER_CLOAD {
|
|||
tuple val(meta), val(cool_bin), path("*.cool"), emit: cool
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -16,6 +16,9 @@ process COOLER_DIGEST {
|
|||
path "*.bed" , emit: bed
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -15,6 +15,9 @@ process COOLER_DUMP {
|
|||
tuple val(meta), path("*.bedpe"), emit: bedpe
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process COOLER_MERGE {
|
|||
tuple val(meta), path("*.cool"), emit: cool
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -14,6 +14,9 @@ process COOLER_ZOOMIFY {
|
|||
tuple val(meta), path("*.mcool"), emit: mcool
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -16,6 +16,9 @@ process CSVTK_CONCAT {
|
|||
tuple val(meta), path("${prefix}.${out_extension}"), emit: csv
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -16,6 +16,9 @@ process CSVTK_SPLIT {
|
|||
tuple val(meta), path("*.${out_extension}"), emit: split_csv
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -15,6 +15,9 @@ process CUSTOM_DUMPSOFTWAREVERSIONS {
|
|||
path "software_versions_mqc.yml", emit: mqc_yml
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
template 'dumpsoftwareversions.py'
|
||||
|
|
|
@ -15,6 +15,9 @@ process CUSTOM_GETCHROMSIZES {
|
|||
path '*.fai' , emit: fai
|
||||
path "versions.yml", emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
"""
|
||||
|
|
|
@ -15,6 +15,9 @@ process CUTADAPT {
|
|||
tuple val(meta), path('*.log') , emit: log
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -17,6 +17,9 @@ process DAMAGEPROFILER {
|
|||
tuple val(meta), path("${prefix}"), emit: results
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
|
@ -26,6 +26,9 @@ process DASTOOL_DASTOOL {
|
|||
tuple val(meta), path("*.seqlength") , optional: true, emit: seqlength
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue