Skip to content
Snippets Groups Projects
Verified Commit 139175cb authored by Laurent Modolo's avatar Laurent Modolo
Browse files

Merge branch 'dev'

parents a4809608 7aaaa9ed
No related branches found
No related tags found
No related merge requests found
Showing
with 192 additions and 161 deletions
profiles {
docker {
docker.temp = 'auto'
docker.enabled = true
process {
$sort_bam {
container = "samtools:1.7"
}
}
}
sge {
process{
$sort_bam {
beforeScript = "module purge; module load SAMtools/1.7"
}
}
}
}
......@@ -5,21 +5,22 @@ log.info "bams files : ${params.bam}"
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any bam files matching: ${params.bam}" }
.map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]}
.set { bam_files }
process sort_bam {
tag "$bams.baseName"
tag "$file_id"
cpus 4
input:
file bam from bam_files
set file_id, file(bam) from bam_files
output:
file "*_sorted.bam" into sorted_bam_files
set file_id, "*_sorted.bam" into sorted_bam_files
script:
"""
samtools sort -@ ${task.cpus} -O BAM -o ${bam.baseName}_sorted.bam ${bam}
samtools sort -@ ${task.cpus} -O BAM -o ${file_id}_sorted.bam ${bam}
"""
}
profiles {
docker {
docker.temp = 'auto'
docker.enabled = true
process {
$split_bam {
container = "samtools:1.7"
}
}
}
sge {
process{
$split_bam {
beforeScript = "module purge; module load SAMtools/1.7"
}
}
}
}
......@@ -5,22 +5,23 @@ log.info "bams files : ${params.bam}"
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any bam files matching: ${params.bam}" }
.map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]}
.set { bam_files }
process split_bam {
tag "$bam.baseName"
tag "$file_id"
cpus 2
input:
file bam from bam_files
set file_id, file(bam) from bam_files
output:
file "*_forward.bam*" into forward_bam_files
file "*_reverse.bam*" into reverse_bam_files
set file_id, "*_forward.bam*" into forward_bam_files
set file_id, "*_reverse.bam*" into reverse_bam_files
script:
"""
samtools view -hb -F 0x10 ${bam} > ${bam}_forward.bam &
samtools view -hb -f 0x10 ${bam} > ${bam}_reverse.bam
samtools view -hb -F 0x10 ${bam} > ${file_id}_forward.bam &
samtools view -hb -f 0x10 ${bam} > ${file_id}_reverse.bam
"""
}
nextflow src/nf_modules/SAMtools/tests/sort_bams.nf \
-c src/nf_modules/SAMtools/samtools.config \
nextflow src/nf_modules/SAMtools/sort_bams.nf \
-c src/nf_modules/SAMtools/sort_bams.config \
-profile docker \
--bam "data/tiny_dataset/map/tiny_v2.bam"
nextflow src/nf_modules/SAMtools/tests/index_bams.nf \
-c src/nf_modules/SAMtools/samtools.config \
nextflow src/nf_modules/SAMtools/index_bams.nf \
-c src/nf_modules/SAMtools/index_bams.config \
-profile docker \
--bam "data/tiny_dataset/map/tiny_v2.sort.bam"
nextflow src/nf_modules/SAMtools/tests/split_bams.nf \
-c src/nf_modules/SAMtools/samtools.config \
nextflow src/nf_modules/SAMtools/split_bams.nf \
-c src/nf_modules/SAMtools/split_bams.config \
-profile docker \
--bam "data/tiny_dataset/map/tiny_v2.bam"
nextflow src/nf_modules/SAMtools/tests/filter_bams.nf \
-c src/nf_modules/SAMtools/samtools.config \
nextflow src/nf_modules/SAMtools/filter_bams.nf \
-c src/nf_modules/SAMtools/filter_bams.config \
-profile docker \
--bam "data/tiny_dataset/map/tiny_v2.bam" \
--bed "data/tiny_dataset/OLD/2genes.bed"
......@@ -15,30 +15,33 @@ log.info "downloading list srr : ${params.list_srr}"
Channel
.fromPath( params.list_srr )
.ifEmpty { error "Cannot find any bam files matching: ${params.list_srr}" }
.splitCsv(header: true)
.splitCsv()
.map { it -> it[0]}
.set { SRR }
//run is the column name containing SRR ids
process fastq_dump {
tag {"${x.run}"}
publishDir "results/download/fastq/${x.run}/", mode: 'copy'
tag "$file_id"
publishDir "results/download/fastq/${file_id}/", mode: 'copy'
input:
val x from SRR
val file_id from SRR
output:
file("*") into fastq
set file_id, "*.fastq" into fastq
script:
"""
#for test only 10000 reads are downloading with the option -N 10000 -X 20000
fastq-dump --split-files --defline-seq '@\$ac_\$si/\$ri' --defline-qual "+" -N 10000 -X 20000 ${x.run}
if [ -f ${x.run}_1.fastq ]
fastq-dump --split-files --defline-seq '@\$ac_\$si/\$ri' --defline-qual "+" -N 10000 -X 20000 ${file_id}
if [ -f ${file_id}_1.fastq ]
then
true
else
touch ${x.run}.fastq
mv ${file_id}_1.fastq ${file_id}_R1.fastq
fi
if [ -f ${file_id}_2.fastq ]
then
mv ${file_id}_2.fastq ${file_id}_R2.fastq
fi
"""
}
run
ERR572281
ERR572146
ERR572201
......
/*
* sra-tools :
*/
/* fastq-dump
* Imputs : srr list
* Outputs : fastq files
*/
params.list_srr = "$baseDir/data/SRR/*.txt"
log.info "downloading list srr : ${params.list_srr}"
Channel
.fromPath( params.list_srr )
.ifEmpty { error "Cannot find any bam files matching: ${params.list_srr}" }
.splitCsv(header: true)
.set { SRR }
//run is the column name containing SRR ids
process fastq_dump {
tag {"${x.run}"}
publishDir "results/download/fastq/${x.run}/", mode: 'copy'
input:
val x from SRR
output:
file("*") into fastq
script:
"""
fastq-dump --split-files --defline-seq '@\$ac_\$si/\$ri' --defline-qual "+" ${x.run}
if [ -f ${x.run}_1.fastq ]
then
true
else
touch ${x.run}.fastq
fi
"""
}
nextflow src/nf_modules/SRAtoolkit/fastqdump.nf \
-c src/nf_modules/SRAtoolkit/fastqdump.config \
-profile docker \
--list_srr "src/nf_modules/SRAtoolkit/list-srr.txt"
nextflow src/nf_modules/SRAtoolkit/tests/fastqdump.nf \
-c src/nf_modules/SRAtoolkit/sratoolkit.config \
-profile docker \
--list_srr "src/nf_modules/SRAtoolkit/tests/list-srr.txt"
nextflow src/nf_modules/UrQt/tests/trimming_paired.nf \
-c src/nf_modules/UrQt/urqt.config \
nextflow src/nf_modules/UrQt/trimming_paired.nf \
-c src/nf_modules/UrQt/trimming_paired.config \
-profile docker \
--fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq"
nextflow src/nf_modules/UrQt/tests/trimming_single.nf \
-c src/nf_modules/UrQt/urqt.config \
nextflow src/nf_modules/UrQt/trimming_single.nf \
-c src/nf_modules/UrQt/trimming_single.config \
-profile docker \
--fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq"
profiles {
docker {
docker.temp = 'auto'
docker.enabled = true
process {
$trimming {
container = "urqt:d62c1f8"
}
}
}
sge {
process{
$trimming {
beforeScript = "module purge; module load UrQt/d62c1f8"
executor = "sge"
cpus = 4
memory = "5GB"
time = "6h"
queueSize = 1000
pollInterval = '60sec'
queue = 'h6-E5-2667v4deb128'
penv = 'openmp8'
}
}
}
}
profiles {
docker {
docker.temp = 'auto'
docker.enabled = true
process {
$trimming {
container = "urqt:d62c1f8"
}
}
}
sge {
process{
$trimming {
beforeScript = "module purge; module load UrQt/d62c1f8"
executor = "sge"
cpus = 4
memory = "5GB"
time = "6h"
queueSize = 1000
pollInterval = '60sec'
queue = 'h6-E5-2667v4deb128'
penv = 'openmp8'
}
}
}
}
/*
* urqt :
* Imputs : fastq files
* Output : fastq files
*/
/* quality trimming */
/*
* for paired-end data
*/
params.fastq = "$baseDir/data/fastq/*_{1,2}.fastq"
log.info "fastq files : ${params.fastq}"
Channel
.fromFilePairs( params.fastq )
.ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
.set { fastq_files }
process trimming {
tag "${reads}"
cpus 4
publishDir "results/fastq/trimming/", mode: 'copy'
input:
set pair_id, file(reads) from fastq_files
output:
set pair_id, "*_trim_R{1,2}.fastq.gz" into fastq_files_trim
script:
"""
UrQt --t 20 --m ${task.cpus} --gz \
--in ${reads[0]} --inpair ${reads[1]} \
--out ${pair_id}_trim_R1.fastq.gz --outpair ${pair_id}_trim_R2.fastq.gz \
> ${pair_id}_trimming_report.txt
"""
}
/*
* for single-end data
*/
params.fastq = "$baseDir/data/fastq/*.fastq"
log.info "fastq files : ${params.fastq}"
Channel
.fromPath( params.fastq )
.ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
.map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]}
.set { fastq_files }
process trimming {
tag "$file_id"
cpus 4
input:
set file_id, file(reads) from fastq_files
output:
set file_id, "*_trim.fastq.gz" into fastq_files_trim
script:
"""
UrQt --t 20 --m ${task.cpus} --gz \
--in ${reads} \
--out ${file_id}_trim.fastq.gz \
> ${file_id}_trimming_report.txt
"""
}
......@@ -24,30 +24,3 @@ profiles {
}
}
}
profiles {
docker {
docker.temp = 'auto'
docker.enabled = true
process {
$trimming {
container = "cutadapt:1.14"
}
}
}
sge {
process{
$trimming {
beforeScript = "module purge; module load cutadapt/1.14"
executor = "sge"
cpus = 1
memory = "5GB"
time = "6h"
queueSize = 1000
pollInterval = '60sec'
queue = 'h6-E5-2667v4deb128'
penv = 'openmp8'
}
}
}
}
profiles {
docker {
docker.temp = 'auto'
docker.enabled = true
process {
$adaptor_removal {
container = "cutadapt:1.14"
}
}
}
sge {
process{
$adaptor_removal {
beforeScript = "module purge; module load cutadapt/1.14"
executor = "sge"
cpus = 1
memory = "5GB"
time = "6h"
queueSize = 1000
pollInterval = '60sec'
queue = 'h6-E5-2667v4deb128'
penv = 'openmp8'
}
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment