diff --git a/src/RNAseq_sen1D.nf b/src/RNAseq_sen1D.nf index cb3062e441f4a4161c97eb28b9f0b03c170c299f..2727c9ddc03b1bc630fdaa5cd1c0cf82100417a8 100644 --- a/src/RNAseq_sen1D.nf +++ b/src/RNAseq_sen1D.nf @@ -48,7 +48,7 @@ process 4_random_bases_trimming { set pair_id, file(reads) from fastq_files_cut output: - set pair_id, "*_cut4_R{1,2}.fastq.gz" into fastq_files_cut + set pair_id, "*_cut4_R{1,2}.fastq.gz" into fastq_files_cut4 script: """ @@ -87,3 +87,86 @@ UrQt --t 20 --m ${task.cpus} --gz \ > ${pair_id}_trimming_report.txt """ } + +/* +* Bowtie2 : +* Imputs : fastq files +* Imputs : fasta files +* Output : bam files +*/ + +/* fasta indexing */ +params.fasta = "$baseDir/data/bam/*.fasta" + +log.info "fasta files : ${params.fasta}" + +Channel + .fromPath( params.fasta ) + .ifEmpty { error "Cannot find any bam files matching: ${params.fasta}" } + .set { fasta_file } + +process index_fasta { + tag "$fasta.baseName" + cpus 4 + publishDir "results/mapping/index/", mode: 'copy' + + input: + file fasta from fasta_file + + output: + file "*.index*" into index_files + + script: +""" +bowtie2-build --threads ${task.cpus} ${fasta} ${fasta.baseName}.index &> ${fasta.baseName}_bowtie2_report.txt + +if grep -q "Error" ${fasta.baseName}_bowtie2_report.txt; then + exit 1 +fi +""" +} + + +/* +* for paired-end data +*/ + +params.fastq = "$baseDir/data/fastq/*_{1,2}.fastq" +params.index = "$baseDir/data/index/*.index.*" + +log.info "fastq files : ${params.fastq}" +log.info "index files : ${params.index}" + +Channel + .fromFilePairs( params.fastq ) + .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" } + .set { fastq_files } +Channel + .fromPath( params.index ) + .ifEmpty { error "Cannot find any index files matching: ${params.index}" } + .set { index_files } + +process mapping_fastq { + tag "$pair_id" + cpus 4 + publishDir "results/mapping/bams/", mode: 'copy' + + input: + set pair_id, file(reads) from fastq_files + file index from index_files.toList() + + output: + set pair_id, "*.bam" into bam_files + + script: +""" + bowtie2 --very-sensitive -p ${task.cpus} -x ${index[0].baseName} \ + -1 ${reads[0]} -2 ${reads[1]} 2> \ + ${pair_id}_bowtie2_report.txt | \ + samtools view -Sb - > ${pair_id}.bam + +if grep -q "Error" ${pair_id}_bowtie2_report.txt; then + exit 1 +fi +""" +}