diff --git a/src/bolero.nf b/src/bolero.nf index 35afde56bf6e89b05d28d82408c888e3ccea5ad7..d4192a41c658f36cda5f9c17d4d19f78f2293e61 100755 --- a/src/bolero.nf +++ b/src/bolero.nf @@ -92,7 +92,8 @@ params.num_callers = 16 params.chunks_per_runner = 512 params.chunk_size = 1900 params.config_file = "" -params.kit_barcoding = "EXP-PBC001" +params.kit_barcoding = "" +//"EXP-PBC001" /* Params out */ @@ -106,6 +107,7 @@ params.minimap2_genome_out = "05_minimap2/" params.start_position_counts_out = "06_start_positions/" params.nanosplicer_out = "07_nanosplicer/" params.rna_count_out = "08_RNA_count/" +params.rna_qc_out = "09_quality_control/" /* **************************************************************** @@ -230,12 +232,13 @@ workflow { concatenate(tuples_barcode) } else{ - concatenate(basecall_fast5_gpu.out.pass) + tuple_sample = ["Sample", basecall_fast5_gpu.out.pass] + concatenate(tuple_sample) } control_basecalling(basecall_fast5_gpu.out.sequencing_summary) } else { - basecall_fast5_cpu(input) + //basecall_fast5_cpu(input) if(params.kit_barcoding != ""){ barcoding_cpu(pass) barcoding_cpu.out.barcodes @@ -245,16 +248,19 @@ workflow { concatenate(tuples_barcode) } else{ - concatenate(pass) + pass + .map{it -> ["Sample", it]} + .set{tuple_sample} + concatenate(tuple_sample) } - //control_basecalling(basecall_fast5_cpu.out.sequencing_summary) + control_basecalling(ss) } } //####################### PREPROCESSING ####################### - + //Filtration (seqkit_grep looks for the 5'RACE and the gsp patterns in the reads to keep only mature ARNs) seqkit_grep(concatenate.out.merged_fastq, params.adapt, params.gsp) @@ -266,14 +272,7 @@ workflow { hbv_genome(cut_5pRACE.out.fastq_cutadapt, genome.collect()) sort_index_bam(hbv_genome.out.bam) - - sort_index_bam.out.indexed_bam - .flatten() - .filter(~/.*bam$/) - .collect() - .set{bam_path} - - //control_bam(ss, bam_path) + control_bam(ss.collect(), sort_index_bam.out.indexed_bam) //###################### START POSITIONS ####################### diff --git a/src/nf_modules/pycoqc/main.nf b/src/nf_modules/pycoqc/main.nf index de9db1f18c24137e9ed39103b2f11a27405c7757..a1d2dc8ab08e2feb4cc0278595264e59116eefaa 100644 --- a/src/nf_modules/pycoqc/main.nf +++ b/src/nf_modules/pycoqc/main.nf @@ -1,12 +1,13 @@ version = "2.5.2" container_url = "xgrand/pycoqc:${version}" +params.rna_qc_out = "" process control_basecalling { container = "${container_url}" label "small_mem_mono_cpus" - if (params.basecalling_out != "") { - publishDir "results/${params.basecalling_out}", mode: 'copy' + if (params.rna_qc_out != "") { + publishDir "results/${params.rna_qc_out}QC_basecalling/", mode: 'copy' } input: @@ -16,7 +17,7 @@ process control_basecalling { path("*.html") """ - pycoQC -f ${txt} -o Control_basecalling.html + pycoQC -f ${txt} -o QC_basecalling.html """ } @@ -24,20 +25,18 @@ process control_bam { container = "${container_url}" label "small_mem_mono_cpus" - if (params.basecalling_out != "") { - publishDir "results/${params.basecalling_out}", mode: 'copy' + if (params.rna_qc_out != "") { + publishDir "results/${params.rna_qc_out}QC_mapping/", mode: 'copy' } input: path(txt) - path(path_bam) + tuple val(barcode), path(bam), path(bai) output: - path("*.txt") + path("*.html") """ - mkdir bam/ - mv ${path_bam} bam/ - pycoQC -f ${txt} -a bam/ -o Control_mapping.html + pycoQC -f ${txt} -a ${bam} -o ${barcode}_QC_mapping.html """ } \ No newline at end of file