Merge pull request #35 from ewels/editor-config

Editor config
This commit is contained in:
Phil Ewels 2020-07-11 14:20:37 +02:00 committed by GitHub
commit edd508487b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 288 additions and 233 deletions

11
.github/markdownlint.yml vendored Normal file
View file

@ -0,0 +1,11 @@
# Markdownlint configuration file
default: true,
line-length: false
no-multiple-blanks: 0
blanks-around-headers: false
blanks-around-lists: false
header-increment: false
no-duplicate-header:
siblings_only: true
ul-indent:
indent: 4

50
.github/workflows/lint-code.yml vendored Normal file
View file

@ -0,0 +1,50 @@
name: Lint Code
on: [push, pull_request]
jobs:
Markdown:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '10'
- name: Install markdownlint
run: npm install -g markdownlint-cli
- name: Run Markdownlint
run: markdownlint ${GITHUB_WORKSPACE} -c ${GITHUB_WORKSPACE}/.github/markdownlint.yml
EditorConfig:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '10'
- name: Install ECLint
run: npm install -g eclint
- name: Run ECLint check
run: eclint check $(git ls-files | grep -v test)
YAML:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v1
- name: Install NodeJS
uses: actions/setup-node@v1
with:
node-version: '10'
- name: Install yaml-lint
run: npm install -g yaml-lint
- name: Run yaml-lint
run: yamllint $(find ${GITHUB_WORKSPACE} -type f -name "*.yaml" -or -name "*.yml")

4
.gitmodules vendored
View file

@ -1,3 +1,3 @@
[submodule "test-datasets"]
path = test-datasets
url = https://github.com/nf-core/test-datasets.git
path = test-datasets
url = https://github.com/nf-core/test-datasets.git

View file

@ -5,6 +5,7 @@
A repository for hosting nextflow [`DSL2`](https://www.nextflow.io/docs/edge/dsl2.htmlhttps://www.nextflow.io/docs/edge/dsl2.html) module files containing tool-specific process definitions and their associated documentation.
## Table of contents
* [Using existing modules](#using-existing-modules)
* [Configuration and parameters](#configuration-and-parameters)
* [Offline usage](#offline-usage)

@ -1 +1 @@
Subproject commit aae85a5c9c72238959108212481ce83bae569709
Subproject commit ddbd0c4cf7f1721c78673c4dcc91fcd7940e67f8

View file

@ -2,51 +2,51 @@ nextflow.preview.dsl=2
params.genome = ''
process BOWTIE2 {
// depending on the genome used one might want/need to adjust the memory settings.
// For the E. coli test data this is probably not required
// depending on the genome used one might want/need to adjust the memory settings.
// For the E. coli test data this is probably not required
// label 'bigMem'
// label 'multiCore'
// label 'bigMem'
// label 'multiCore'
input:
tuple val(name), path(reads)
val (outdir)
val (bowtie2_args)
val (verbose)
tuple val(name), path(reads)
val (outdir)
val (bowtie2_args)
val (verbose)
output:
path "*bam", emit: bam
path "*stats.txt", emit: stats
output:
path "*bam", emit: bam
path "*stats.txt", emit: stats
publishDir "$outdir/bowtie2",
mode: "copy", overwrite: true
publishDir "$outdir/bowtie2",
mode: "copy", overwrite: true
script:
if (verbose){
println ("[MODULE] BOWTIE2 ARGS: " + bowtie2_args)
}
script:
if (verbose){
println ("[MODULE] BOWTIE2 ARGS: " + bowtie2_args)
}
cores = 4
cores = 4
readString = ""
readString = ""
// Options we add are
bowtie2_options = bowtie2_args
bowtie2_options += " --no-unal " // We don't need unaligned reads in the BAM file
// Options we add are
bowtie2_options = bowtie2_args
bowtie2_options += " --no-unal " // We don't need unaligned reads in the BAM file
// single-end / paired-end distinction. Might also be handled via params.single_end
if (reads instanceof List) {
readString = "-1 " + reads[0] + " -2 " + reads[1]
}
else {
readString = "-U " + reads
}
// single-end / paired-end distinction. Might also be handled via params.single_end
if (reads instanceof List) {
readString = "-1 " + reads[0] + " -2 " + reads[1]
}
else {
readString = "-U " + reads
}
index = params.genome["bowtie2"]
bowtie2_name = name + "_" + params.genome["name"]
index = params.genome["bowtie2"]
bowtie2_name = name + "_" + params.genome["name"]
"""
bowtie2 -x ${index} -p ${cores} ${bowtie2_options} ${readString} 2>${bowtie2_name}_bowtie2_stats.txt | samtools view -bS -F 4 -F 8 -F 256 -> ${bowtie2_name}_bowtie2.bam
"""
"""
bowtie2 -x ${index} -p ${cores} ${bowtie2_options} ${readString} 2>${bowtie2_name}_bowtie2_stats.txt | samtools view -bS -F 4 -F 8 -F 256 -> ${bowtie2_name}_bowtie2.bam
"""
}

View file

@ -28,10 +28,10 @@ output:
- report:
type: file
description: mapping statistics report
pattern: *bowtie2_stats.txt
pattern: "*bowtie2_stats.txt"
- alignment:
type: file
description: alignment file in BAM format
pattern: *bowtie2.bam
pattern: "*bowtie2.bam"
authors:
- @FelixKrueger
- "@FelixKrueger"

View file

@ -14,12 +14,12 @@ input:
- input:
type: file
description: Input fasta file
pattern: *.{fasta,fa}
pattern: "*.{fasta,fa}"
output:
-
- index:
type: file
description: bwa indexes file
pattern: *.{fasta,fa}.{amb,ann,bwt,pac,sa}
pattern: "*.{fasta,fa}.{amb,ann,bwt,pac,sa}"
authors:
- @maxulysse
- "@maxulysse"

View file

@ -1,9 +1,7 @@
FROM nfcore/base
LABEL authors="Jeremy Guntoro" \
description="Docker image containing all requirements for nf-core/modules/bwa/mem module"
description="Docker image containing all requirements for nf-core/modules/bwa/mem module"
COPY environment.yml /
RUN conda env create -f /environment.yml && conda clean -a
ENV PATH /opt/conda/envs/nf-core-bwa-mem/bin:$PATH

View file

@ -19,11 +19,11 @@ input:
- reads:
type: file
description: Input fastq file
pattern: *.{fastq,fq}
pattern: "*.{fastq,fq}"
- index:
type: file
description: bwa indexes file
pattern: *.{amb,ann,bwt,pac,sa}
pattern: "*.{amb,ann,bwt,pac,sa}"
- prefix:
type: val
description: bwa index prefix, equivalent to index file names without extensions. Usually the reference genome file name unless otherwise specified.
@ -32,11 +32,11 @@ output:
- bam:
type: file
description: Output bam file
pattern: *.bam
pattern: "*.bam"
- bamindex:
type: file
description: Output bam index file
pattern: *.bai
pattern: "*.bai"
authors:
- @jeremy1805
- "@jeremy1805"

View file

@ -17,21 +17,21 @@ process cutadapt {
if (params.singleEnd) {
processing = """
cutadapt \
-j ${task.cpus} \
-q $params.cutadapt_min_quality \
--minimum-length $params.cutadapt_min_length \
--output ${forward_fq} \
${reads}
-j ${task.cpus} \
-q $params.cutadapt_min_quality \
--minimum-length $params.cutadapt_min_length \
--output ${forward_fq} \
${reads}
"""
} else {
processing = """
cutadapt \
-j ${task.cpus} \
-q $params.cutadapt_min_quality \
--minimum-length $params.cutadapt_min_length \
--pair-filter=any \
--output ${forward_fq} \
--paired-output ${reverse_fq} ${reads}
-j ${task.cpus} \
-q $params.cutadapt_min_quality \
--minimum-length $params.cutadapt_min_length \
--pair-filter=any \
--output ${forward_fq} \
--paired-output ${reverse_fq} ${reads}
"""

View file

@ -33,4 +33,4 @@ output:
type: file
description: trimmed FastQ file, or pair of files
authors:
- @piotr-faba-ardigen
- "@piotr-faba-ardigen"

View file

@ -2,37 +2,37 @@ nextflow.preview.dsl=2
process FASTQ_SCREEN {
// depending on the number of genomes and the type of genome (e.g. plants!), memory needs to be ample!
// label 'bigMem'
// label 'multiCore'
// depending on the number of genomes and the type of genome (e.g. plants!), memory needs to be ample!
// label 'bigMem'
// label 'multiCore'
input:
tuple val(name), path(reads)
val (outputdir)
// fastq_screen_args are best passed in to the workflow in the following manner:
// --fastq_screen_args="--subset 200000 --force"
val (fastq_screen_args)
val (verbose)
tuple val(name), path(reads)
val (outputdir)
// fastq_screen_args are best passed in to the workflow in the following manner:
// --fastq_screen_args="--subset 200000 --force"
val (fastq_screen_args)
val (verbose)
output:
path "*png", emit: png
path "*html", emit: html
path "*txt", emit: report
output:
path "*png", emit: png
path "*html", emit: html
path "*txt", emit: report
publishDir "$outputdir",
mode: "link", overwrite: true
publishDir "$outputdir",
mode: "link", overwrite: true
script:
println(name)
println(reads)
println(outputdir)
if (verbose){
println ("[MODULE] FASTQ SCREEN ARGS: "+ fastq_screen_args)
}
println(name)
println(reads)
println(outputdir)
if (verbose){
println ("[MODULE] FASTQ SCREEN ARGS: "+ fastq_screen_args)
}
"""
module load fastq_screen
fastq_screen $fastq_screen_args $reads
"""
"""
module load fastq_screen
fastq_screen $fastq_screen_args $reads
"""
}

View file

@ -25,7 +25,7 @@ output:
- report:
type: file
description: FastQ Screen report
pattern: *_screen.{txt,html,png}
optional_pattern: *_screen.bisulfite_orientation.png
pattern: "*_screen.{txt,html,png}"
optional_pattern: "*_screen.bisulfite_orientation.png"
authors:
- @FelixKrueger
- "@FelixKrueger"

View file

@ -1,6 +1,6 @@
FROM nfcore/base:1.7
LABEL authors="phil.ewels@scilifelab.se" \
description="Docker image for nf-core modules fastqc"
description="Docker image for nf-core modules fastqc"
# foobar
COPY environment.yml /

View file

@ -4,34 +4,34 @@ process FASTQC {
// tag "FastQC - $sample_id"
input:
tuple val(name), path(reads)
val (outputdir)
input:
tuple val(name), path(reads)
val (outputdir)
// fastqc_args are best passed into the workflow in the following manner:
// --fastqc_args="--nogroup -a custom_adapter_file.txt"
val (fastqc_args)
val (verbose)
val (fastqc_args)
val (verbose)
output:
tuple val(name), path ("*fastqc*"), emit: all
path "*.zip", emit: report // e.g. for MultiQC later
output:
tuple val(name), path ("*fastqc*"), emit: all
path "*.zip", emit: report // e.g. for MultiQC later
// container 'quay.io/biocontainers/fastqc:0.11.8--2'
publishDir "$outputdir",
mode: "copy", overwrite: true
publishDir "$outputdir",
mode: "copy", overwrite: true
script:
script:
if (verbose){
println ("[MODULE] FASTQC ARGS: " + fastqc_args)
}
if (verbose){
println ("[MODULE] FASTQC ARGS: " + fastqc_args)
}
"""
module load fastqc
fastqc $fastqc_args -q -t 2 $reads
"""
module load fastqc
fastqc $fastqc_args -q -t 2 $reads
fastqc --version &> fastqc.version.txt
"""
"""
}

View file

@ -27,8 +27,7 @@ output:
- report:
type: file
description: FastQC report
pattern: *_fastqc.{zip,html}
pattern: "*_fastqc.{zip,html}"
authors:
-
- @ewels
- @FelixKrueger
- "@ewels"
- "@FelixKrueger"

View file

@ -14,12 +14,12 @@ input:
- input:
type: file
description: Input fasta file
pattern: *.{fasta,fa}
pattern: "*.{fasta,fa}"
output:
-
- dict:
type: file
description: gatk dictionary file
pattern: *.{fasta,fa}.{dict}
pattern: "*.{fasta,fa}.{dict}"
authors:
- @maxulysse
- "@maxulysse"

View file

@ -28,10 +28,10 @@ output:
- report:
type: file
description: mapping statistics report
pattern: *hisat2_stats.txt
pattern: "*hisat2_stats.txt"
- alignment:
type: file
description: alignment file in BAM format
pattern: *hisat2.bam
pattern: "*hisat2.bam"
authors:
- @FelixKrueger
- "@FelixKrueger"

View file

@ -15,12 +15,12 @@ input:
- input:
type: file
description: Input vcf.gz file
pattern: *.{vcf.gz}
pattern: "*.{vcf.gz}"
output:
-
- index:
type: file
description: tabix index file
pattern: *.{vcf.gz.tbi}
pattern: "*.{vcf.gz.tbi}"
authors:
- @maxulysse
- "@maxulysse"

View file

@ -5,27 +5,27 @@ process MULTIQC {
// tag "FastQC - $sample_id"
input:
path (file)
val (outdir)
val (multiqc_args)
path (file)
val (outdir)
val (multiqc_args)
// multiqc_args are best passed into the workflow in the following manner:
// --multiqc_args="--exlude STAR --title custom_report_title"
val (verbose)
val (verbose)
output:
path "*html", emit: html
output:
path "*html", emit: html
publishDir "${outdir}/multiqc",
mode: "copy", overwrite: true
publishDir "${outdir}/multiqc",
mode: "copy", overwrite: true
script:
if (verbose){
println ("[MODULE] MULTIQC ARGS: " + multiqc_args)
}
if (verbose){
println ("[MODULE] MULTIQC ARGS: " + multiqc_args)
}
"""
multiqc $multiqc_args -x work .
"""
"""
multiqc $multiqc_args -x work .
"""
}

View file

@ -21,6 +21,6 @@ output:
- multiqc_report:
type: file
description: MultiQC report
pattern: *multiqc*.html
pattern: "*multiqc*.html"
authors:
- @FelixKrueger
- "@FelixKrueger"

View file

@ -1,6 +1,6 @@
FROM nfcore/base:1.7
LABEL authors="phil.ewels@scilifelab.se" \
description="Docker image for nf-core modules samtools"
description="Docker image for nf-core modules samtools"
# foobar
COPY environment.yml /

View file

@ -16,12 +16,12 @@ input:
- input:
type: file
description: Input fasta file
pattern: *.{fasta,fa}
pattern: "*.{fasta,fa}"
output:
-
- faidx:
type: file
description: samtools index fasta file
pattern: *.fasta.fai
pattern: "*.fasta.fai"
authors:
- @maxulysse
- "@maxulysse"

View file

@ -16,12 +16,12 @@ input:
- input:
type: file
description: Input BAM or CRAM file
pattern: *.{bam,cram}
pattern: "*.{bam,cram}"
output:
-
- index:
type: file
description: BAM or CRAM index file
pattern: *.{bai}
pattern: "*.{bai}"
authors:
- @ewels
- "@ewels"

View file

@ -16,12 +16,12 @@ input:
- input:
type: file
description: Input BAM or CRAM file
pattern: *.{bam,cram}
pattern: "*.{bam,cram}"
output:
-
- sorted_file:
type: file
description: Sorted BAM or CRAM file
pattern: *.{bam,cram}
pattern: "*.{bam,cram}"
authors:
- @ewels
- "@ewels"

View file

@ -27,4 +27,4 @@ output:
description: fasta file
pattern: ${sample_id}.fasta
authors:
- @annacprice
- "@annacprice"

View file

@ -14,4 +14,3 @@ process tcoffee {
t_coffee -seq $fasta -outfile ${fasta}.aln
"""
}

View file

@ -16,13 +16,13 @@ input:
- fasta:
type: path
description: Input fasta file
pattern: *.{fasta,fa,tfa}
pattern: "*.{fasta,fa,tfa}"
output:
-
- alignment:
type: file
description: tcoffee alignment file
pattern: *.aln
pattern: "*.aln"
authors:
- @JoseEspinosa
- "@JoseEspinosa"

View file

@ -1,6 +1,6 @@
FROM nfcore/base:1.7
LABEL authors="phil.ewels@scilifelab.se" \
description="Docker image for nf-core modules trimgalore"
description="Docker image for nf-core modules trimgalore"
# foobar
COPY environment.yml /

View file

@ -18,15 +18,15 @@ process TRIM_GALORE {
// container 'quay.io/biocontainers/trim-galore:0.6.5--0' // maybe later
// tag "$sample_id"
input:
tuple val (name), path (reads)
val (outdir)
val (trim_galore_args)
val (verbose)
input:
tuple val (name), path (reads)
val (outdir)
val (trim_galore_args)
val (verbose)
output:
tuple val(name), path ("*fq.gz"), emit: reads
path "*trimming_report.txt", optional: true, emit: report
output:
tuple val(name), path ("*fq.gz"), emit: reads
path "*trimming_report.txt", optional: true, emit: report
// Trimming reports are not generated for e.g. --hardtrim5, --clock etc
// saveAs: {filename ->
@ -34,21 +34,21 @@ process TRIM_GALORE {
// else filename
// }
publishDir "${outdir}/trim_galore",
mode: "copy", overwrite: true
publishDir "${outdir}/trim_galore",
mode: "copy", overwrite: true
script:
if (verbose){
println ("[MODULE] TRIM GALORE ARGS: " + trim_galore_args)
}
if (verbose){
println ("[MODULE] TRIM GALORE ARGS: " + trim_galore_args)
}
trim_galore_args += " --gzip " // we like small files
pairedString = 0
if (reads instanceof List) {
pairedString = 1
pairedString = 0
if (reads instanceof List) {
pairedString = 1
trim_galore_args += " --paired "
}
}
if (params.clip_r1 > 0){
trim_galore_args += " --clip_r1 ${params.clip_r1} "
@ -85,10 +85,10 @@ process TRIM_GALORE {
}
}
"""
module load trim_galore
trim_galore $trim_galore_args $reads
"""
"""
module load trim_galore
trim_galore $trim_galore_args $reads
"""
}
@ -98,4 +98,3 @@ process TRIM_GALORE {

View file

@ -28,14 +28,13 @@ output:
- trimmed_fastq:
type: file
description: Trimmed FastQ files
pattern: *fq.gz
pattern: "*fq.gz"
-
- report:
type: file
description: Trim Galore! trimming report
pattern: *trimming_report.txt
pattern: "*trimming_report.txt"
authors:
-
- @ewels
- @FelixKrueger
- "@ewels"
- "@FelixKrueger"

View file

@ -1,6 +1,6 @@
FROM nfcore/base:1.7
LABEL authors="chris.cheshire@crick.ac.uk" \
description="Docker image containing all requirements for the nf-core umi_tools module"
description="Docker image containing all requirements for the nf-core umi_tools module"
# Install conda packages
COPY environment.yml /

View file

@ -31,16 +31,15 @@ processes:
- dedupBam:
type: tuple
description: A tuple of samples id and output bam file
pattern: [sample_id, *SAMPLE_ID.dedup.bam]
pattern: [sample_id, "*SAMPLE_ID.dedup.bam"]
- dedupBam:
type: tuple
description: A tuple of samples id and output bai file
pattern: [sample_id, *SAMPLE_ID.dedup.bam.bai]
pattern: [sample_id, "*SAMPLE_ID.dedup.bam.bai"]
- report:
type: file
description: Log file for the umi_tools operation
pattern: *SAMPLE_ID.dedup.log
pattern: "*SAMPLE_ID.dedup.log"
authors:
- @candiceh08
- @chris-cheshire
- "@candiceh08"
- "@chris-cheshire"