diff --git a/src/RNAseq_jbc.config b/src/RNAseq_jbc.config new file mode 100644 index 0000000000000000000000000000000000000000..5b9628c82f46e55542c8e89f8d20e1c5db5a3fee --- /dev/null +++ b/src/RNAseq_jbc.config @@ -0,0 +1,27 @@ +profiles { + docker { + docker.temp = 'auto' + docker.enabled = true + process { + $trimming { + container = "cutadapt:1.14" + container = "urqt:d62c1f8" + } + } + } + sge { + process{ + $trimming { + beforeScript = "module purge; module load UrQt/d62c1f8 ; module load cutadapt/1.14" + executor = "sge" + cpus = 4 + memory = "5GB" + time = "6h" + queueSize = 1000 + pollInterval = '60sec' + queue = 'h6-E5-2667v4deb128' + penv = 'openmp8' + } + } + } +} diff --git a/src/RNAseq_jbc.nf b/src/RNAseq_jbc.nf new file mode 100644 index 0000000000000000000000000000000000000000..7bd6512f0d925922b0c710af81966bfacf0796ea --- /dev/null +++ b/src/RNAseq_jbc.nf @@ -0,0 +1,88 @@ +/* +* RNAseq pipeline +* cutadapt : +* Imputs : fastq files +* Output : fastq files +*/ + +/* Illumina adaptor removal */ + +/* +* for paired-end data +*/ + +params.fastq = "$baseDir/data/fastq/*_R{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 adaptor_removal { + tag "$pair_id" + publishDir "results/fastq/adaptor_removal/", mode: 'copy' + + input: + set pair_id, file(reads) from fastq_files + + output: + file "*_cut_R{1,2}.fastq.gz" into fastq_files_cut + + script: + """ + cutadapt -a AGATCGGAAGAG -g CTCTTCCGATCT -A AGATCGGAAGAG -G CTCTTCCGATCT \ + -o ${pair_id}_cut_R1.fastq.gz -p ${pair_id}_cut_R2.fastq.gz \ + ${reads[0]} ${reads[1]} > ${pair_id}_report.txt + """ +} + + +/* quality trimming */ +/* for paired-end data */ + +process trimming { + tag "$pair_id" + publishDir "results/fastq/trimming/", mode: 'copy' + + input: + set pair_id, file(reads) from fastq_files_cut + + output: + file "*_trim_R{1,2}.fastq.gz" into fastq_files_trim + + script: + """ + cutadapt -q 20,20 \ + -o ${pair_id}_trim_R1.fastq.gz -p ${pair_id}_trim_R2.fastq.gz \ + ${reads[0]} ${reads[1]} > ${pair_id}_report.txt + """ +} + + +/* urqt quality trimming */ +/* for paired-end data */ + + +process trimming { + tag "${reads}" + cpus 4 + publishDir "results/fastq/trimming2/", mode: 'copy' + + input: + set pair_id, file(reads) from fastq_files_cut + + output: + file "*_trim2_R{1,2}.fastq.gz" into fastq_files_trim2 + + script: +""" +UrQt --t 20 --m ${task.cpus} --gz \ +--in ${reads[0]} --inpair ${reads[1]} \ +--out ${reads[0].baseName}_trim_R1.fastq.gz --outpair ${reads[1].baseName}_trim_R2.fastq.gz \ +> ${reads[0].baseName}_trimming_report.txt +""" +} + +