diff --git a/src/bolero.nf b/src/bolero.nf index 308996dbb86eb7249f1d39b27eca0f1b687c5076..f52c8147969e341bfe5333494638e91dacd6ca12 100755 --- a/src/bolero.nf +++ b/src/bolero.nf @@ -92,6 +92,7 @@ params.num_callers = 16 params.chunks_per_runner = 512 params.chunk_size = 1900 + /* Params out */ params.basecalling_out = "01_Basecalling/" @@ -171,10 +172,14 @@ if(!params.skipBC) { } } +<<<<<<< HEAD <<<<<<< HEAD // include { barecode } from "./nf_modules/barecode/main.nf" ======= >>>>>>> c281bb3789a8d844085e21f749580c29d43b35d6 +======= +include { pycoqc } from "./nf_modules/pycoqc/main.nf" +>>>>>>> 9ef97be (Contrôle qualité et basecalling en mode gpu) include { concatenate } from "./nf_modules/seqkit/main.nf" include { cut_5pRACE } from "./nf_modules/cutadapt/main.nf" include { hbv_genome } from "./nf_modules/minimap2/main.nf" @@ -196,9 +201,9 @@ include { rna_count } from "./nf_modules/rna_count/main.nf" */ workflow { - //######################## BASECALLING ######################## + if(params.skipBC) { // we take fastq files as input and skip basecalling concatenate(barcodes) } @@ -208,10 +213,12 @@ workflow { if(params.gpu_mode) { basecall_fast5_gpu(input) concatenate(basecall_fast5_gpu.out.pass) + pycoqc(basecall_fast5_gpu.sequencing_summary) } else { basecall_fast5_cpu(input) concatenate(basecall_fast5_cpu.out.pass) + pycoqc(basecall_fast5_cpu.sequencing_summary) } } @@ -245,5 +252,5 @@ workflow { //#################### VARIANTS D'EPISSAGE #################### rna_count(junctions_nanosplicer.out.identified_SPvariants, start_position_individuals.out.classification_of_reads) - +*/ } diff --git a/src/nextflow.config b/src/nextflow.config index 9a1b44edd58f2c2d4c21434b46c203359ba001ac..a875c043d3caf61e7add727548c82a8ab4561165 100755 --- a/src/nextflow.config +++ b/src/nextflow.config @@ -72,37 +72,42 @@ profiles { } } } + pollux { - singularity.enabled = true - singularity.cacheDir = "./bin/" - singularity.runOptions = "--bind /data,/home" - process { - errorStrategy = 'finish' - memory = '32GB' - withLabel: big_mem_mono_cpus { - cpus = 1 - } - withLabel: big_mem_multi_cpus { - cpus = 16 - } - withLabel: small_mem_mono_cpus { - cpus = 1 - memory = '2GB' - } - withLabel: small_mem_multi_cpus { - cpus = 8 - memory = '2GB' - } - withLabel: mid_mem_mono_cpus { - cpus = 1 - memory = '8GB' - } - withLabel: mid_mem_multi_cpus { - cpus = 8 - memory = '8GB' + singularity.enabled = true + singularity.cacheDir = "./bin/" + singularity.runOptions = "--bind /data,/home" + process { + errorStrategy = 'finish' + memory = '256GB' + withLabel: big_mem_mono_cpus { + cpus = 1 + } + withLabel: big_mem_multi_cpus { + cpus = 16 + } + withLabel: small_mem_mono_cpus { + cpus = 1 + memory = '2GB' + } + withLabel: small_mem_multi_cpus { + cpus = 8 + memory = '2GB' + } + withLabel: mid_mem_mono_cpus { + cpus = 1 + memory = '8GB' + } + withLabel: mid_mem_multi_cpus { + cpus = 8 + memory = '8GB' + } + withLabel: gpus { + maxForks = 1 + containerOptions = '--nv' + } } } - } singularity { singularity.enabled = true diff --git a/src/nf_modules/ont-guppy/main.nf b/src/nf_modules/ont-guppy/main.nf index ff9ba5c3bcf49cc2fc9e97a09f8802dc8c31328c..f5f89f0b89d965fd88a54d80c20576fe0ffecd28 100644 --- a/src/nf_modules/ont-guppy/main.nf +++ b/src/nf_modules/ont-guppy/main.nf @@ -1,6 +1,7 @@ version = "6.4.6" container_url = "xgrand/ont-guppy:${version}" +params.config_file = "" params.basecalling_out = "" params.flowcell = "FLO-MIN106" params.kit = "SQK-PBK004" @@ -51,7 +52,8 @@ guppy_basecaller --compress_fastq \ --min_qscore ${params.min_qscore} \ --gpu_runners_per_device ${params.gpu_runners_per_device} \ --num_callers ${params.num_callers} \ - --chunks_per_runner ${params.chunks_per_runner} + --chunks_per_runner ${params.chunks_per_runner} \ + ${params.config_file} """ } diff --git a/src/nf_modules/pycoqc/main.nf b/src/nf_modules/pycoqc/main.nf new file mode 100644 index 0000000000000000000000000000000000000000..1951dbfe59678b14a922fff4b61790a219256262 --- /dev/null +++ b/src/nf_modules/pycoqc/main.nf @@ -0,0 +1,21 @@ +version = "2.5.2" +container_url = "xgrand/pycoqc:${version}" + +process pycoqc { + container = "${container_url}" + label "small_mem_mono_cpus" + + if (params.basecalling_out != "") { + publishDir "results/${params.basecalling_out}", mode: 'copy' + } + + input: + path(txt) + + output: + path("*.html") + + """ + pycoQC -f ${txt} -o quality_control.html) + """ +} \ No newline at end of file