diff --git a/src/RNAseq.config b/src/RNAseq.config index 9742b21448a399a46ca8231a405735753fa9f073..e029da2c708932fd521c8a3de4c58b2dd55a7f96 100644 --- a/src/RNAseq.config +++ b/src/RNAseq.config @@ -11,6 +11,11 @@ profiles { cpus = 4 container = "lbmc/urqt:d62c1f8" } + withName: fasta_from_bed { + container = "lbmc/bedtools:2.25.0" + cpus = 1 + } + } } singularity { diff --git a/src/RNAseq.nf b/src/RNAseq.nf index c0f4298b05ae32026eda7a5246483cfd41ea7ebf..a7b2c46e307125cc216e7b7bc4654f1683fb3ed8 100644 --- a/src/RNAseq.nf +++ b/src/RNAseq.nf @@ -1,10 +1,24 @@ log.info "fastq files : ${params.fastq}" +log.info "fasta file : ${params.fasta}" +log.info "bed file : ${params.bed}" Channel .fromFilePairs( params.fastq ) .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" } .set { fastq_files } + params.fasta = "$baseDir/data/fasta/*.fasta" + params.bed = "$baseDir/data/annot/*.bed" + + Channel + .fromPath( params.fasta ) + .ifEmpty { error "Cannot find any fasta files matching: ${params.fasta}" } + .set { fasta_files } + Channel + .fromPath( params.bed ) + .ifEmpty { error "Cannot find any bed files matching: ${params.bed}" } + .set { bed_files } + process adaptor_removal { tag "$pair_id" publishDir "results/fastq/adaptor_removal/", mode: 'copy' @@ -28,7 +42,7 @@ process trimming { publishDir "results/fastq/trimming/", mode: 'copy' input: - set pair_id, file(reads) from fastq_files + set pair_id, file(reads) from fastq_files_cut output: set pair_id, "*_trim_R{1,2}.fastq.gz" into fastq_files_trim @@ -41,3 +55,21 @@ UrQt --t 20 --m ${task.cpus} --gz \ > ${pair_id}_trimming_report.txt """ } + +process fasta_from_bed { + tag "${bed.baseName}" + publishDir "results/fasta/", mode: 'copy' + + input: + file fasta from fasta_files + file bed from bed_files + + output: + file "*_extracted.fasta" into fasta_files_extracted + + script: +""" +bedtools getfasta -name \ +-fi ${fasta} -bed ${bed} -fo ${bed.baseName}_extracted.fasta +""" +}