Merge pull request #22 from Jeremy1805/master

Added the bwa short alignment (bwa mem) module
This commit is contained in:
Phil Ewels 2020-07-11 13:21:34 +02:00 committed by GitHub
commit 89cfc271dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 103 additions and 0 deletions

9
tools/bwa/mem/Dockerfile Normal file
View file

@ -0,0 +1,9 @@
FROM nfcore/base
LABEL authors="Jeremy Guntoro" \
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

@ -0,0 +1,10 @@
# You can use this file to create a conda environment for this pipeline:
# conda env create -f environment.yml
name: nf-core-bwa-mem
channels:
- conda-forge
- bioconda
- defaults
dependencies:
- bioconda::bwa=0.7.17
- bioconda::samtools=1.9

27
tools/bwa/mem/main.nf Normal file
View file

@ -0,0 +1,27 @@
params.bwa_options = "-M -B 2"
params.sequencer = "ILLUMINA"
process bwa_mem {
tag {id}
publishDir "${params.outdir}/bwa_mem", mode: 'copy'
//TO-DO: Change container declaration, for now a test container is present in my personal docker acccount
container 'jeremy1805/bwa-mem-img'
input:
tuple val(id), path(reads)
path genomeindex
val indexprefix
output:
tuple path("*.bam"), path("*.bai")
script:
"""
bwa mem -t ${task.cpus} -R "@RG\\tID:${id}\\tLB:${id}\\tSM:${id}\\tPL:${params.sequencer}" \\
${params.bwa_options} ${indexprefix} ${reads} | samtools sort -@8 -O BAM -o ${id}.bam -
samtools index ${id}.bam
"""
}

42
tools/bwa/mem/meta.yml Normal file
View file

@ -0,0 +1,42 @@
name: bwa mem
description: Performs fastq alignment to a fasta reference using the burrows-wheeler aligner
keywords:
- mem
- bwa
- alignment
tools:
- bwa:
description: |
BWA is a software package for mapping DNA sequences against a large reference genome, such as the human genome.
homepage: http://bio-bwa.sourceforge.net/
documentation: http://www.htslib.org/doc/samtools.html
arxiv: arXiv:1303.3997
input:
-
- id:
type: val
description: read/read pair id
- reads:
type: file
description: Input fastq file
pattern: *.{fastq,fq}
- index:
type: file
description: bwa indexes file
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.
output:
-
- bam:
type: file
description: Output bam file
pattern: *.bam
- bamindex:
type: file
description: Output bam index file
pattern: *.bai
authors:
- @jeremy1805

View file

@ -0,0 +1,13 @@
#!/usr/bin/env nextflow
nextflow.preview.dsl = 2
include '../../../../nf-core/module_testing/check_process_outputs.nf' params(params)
include '../main.nf' params(params)
reads = '../../../../test-datasets/tools/bwa/mem/reads/*_R{1,2}_001.fastq.gz'
index = '../../../../test-datasets/tools/bwa/mem/index/H3N2.{amb,ann,bwt,pac,sa}'
prefix = 'H3N2'
workflow {
read_input=Channel.fromFilePairs(reads)
bwa_mem(read_input,file(index),prefix)
}

View file

@ -0,0 +1,2 @@
docker.enabled = true
params.outdir = './results'