From 54dacb9a7c2414eddb53701c778202126442fb22 Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Thu, 17 Oct 2024 16:13:05 +0200 Subject: [PATCH 1/9] Change email fields to coherent with AViTi data Ref: #114 --- assets/begin_template.txt | 2 +- assets/final_email_template.txt | 2 +- conf/functions.config | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/begin_template.txt b/assets/begin_template.txt index 69415f3..719c716 100644 --- a/assets/begin_template.txt +++ b/assets/begin_template.txt @@ -1,7 +1,7 @@ ---------------------------------------------------------------------------------- ================================================== ------------------------------- get-nf workflow ---------------------------- - I L L U M I N A - N F P I P E L I N E + S H O R T R E A D S - N F P I P E L I N E V$version ================================================== ---------------------------------------------------------------------------------- diff --git a/assets/final_email_template.txt b/assets/final_email_template.txt index f31632f..1edfcc2 100644 --- a/assets/final_email_template.txt +++ b/assets/final_email_template.txt @@ -1,7 +1,7 @@ ---------------------------------------------------------------------------------- ================================================== ------------------------------- get-nf workflow ---------------------------- - I L L U M I N A - N F P I P E L I N E + S H O R T R E A D S - N F P I P E L I N E V$version ================================================== ---------------------------------------------------------------------------------- diff --git a/conf/functions.config b/conf/functions.config index 7c8b722..67f0543 100644 --- a/conf/functions.config +++ b/conf/functions.config @@ -103,7 +103,7 @@ def sendBeginMail(formatted_date) { def pipeline_project = pipeline_info[1] def pipeline_techno = pipeline_project.split('-')[1] - def begin_subject = "[" + pipeline_techno + "] [" + pipeline_group + "] " + params.inputdir.split('/')[-1] + def begin_subject = "[" + params.sequencer + "] [" + pipeline_group + "] " + params.inputdir.split('/')[-1] def begin_email_fields = [:] begin_email_fields['version'] = workflow.manifest.version begin_email_fields['wfRunName'] = workflow.runName @@ -140,7 +140,7 @@ def sendFinalMail(formatted_date, summary) { def pipeline_project = pipeline_info[1] def pipeline_techno = pipeline_project.split('-')[1] - def subject = "[" + pipeline_techno + "] [" + pipeline_group + "] " + params.inputdir.split('/')[-1] + def subject = "[" + params.sequencer + "] [" + pipeline_group + "] " + params.inputdir.split('/')[-1] if (workflow.success) { subject += " : Successful" } else { -- GitLab From 9e2e7ba05b903e988d49b173d96d45099d9278c4 Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Thu, 17 Oct 2024 16:14:43 +0200 Subject: [PATCH 2/9] Resource factor are now correct in cas of simplex sequencing And deals with subset with AViTi data Ref: #113 --- nextflow.config | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nextflow.config b/nextflow.config index 1a5d1b7..a736cab 100644 --- a/nextflow.config +++ b/nextflow.config @@ -31,6 +31,7 @@ params { large_sampling_threshold = 200 // 200 samples run is high multiplexed miseq_subset_seq = "50000" // in reads must be a string nova_subset_seq = "50000000" // in reads + aviti_subset_seq = "50000000" // in reads large_indexing_nova_subset_seq = "500000" // in reads coverage = 0 // coverage in X len_r1 = 150 @@ -112,7 +113,8 @@ def n_read_files = Files.walk(Paths.get(params.inputdir.toString()), 3) // on retire les 2 fichiers undetermined def n_samples = ( n_read_files - 2 ) / 2 System.out.println "\nNombre d'échantillons trouvés sur cette lane : $n_samples" -params.resource_factor = java.lang.Math.round(0.1 * n_samples) +def factor = java.lang.Math.round(0.1 * n_samples) +params.resource_factor = factor > 1 ? factor : 1 import java.text.SimpleDateFormat SimpleDateFormat uniqueness_format = new SimpleDateFormat("yyyyMMddHHmmss") @@ -125,12 +127,15 @@ params { outdir = inputdir + "/nextflow/" + run_name + "/" + outdir_prefix + "_" + nf_uniqueness subset_seq = miseq_subset_seq - if ( sequencer =~ /NovaSeq.*/ ) { + if ( sequencer =~ /NovaSeq.*/ || sequencer =~ /AVITI.*/ ) { if ( n_samples >= large_sampling_threshold ) { nova_subset_seq = large_indexing_nova_subset_seq } subset_seq = nova_subset_seq } + if ( DTM_mode ) { + subset_seq = "1000000000" + } } // ======================================== -- GitLab From 83d0333bd4d11fefbc50bc2b968930976a74961c Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Thu, 17 Oct 2024 16:19:22 +0200 Subject: [PATCH 3/9] Detect Amplicon data_nature --- workflow/short_reads_qc.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/short_reads_qc.nf b/workflow/short_reads_qc.nf index f393c3d..79115bb 100644 --- a/workflow/short_reads_qc.nf +++ b/workflow/short_reads_qc.nf @@ -182,7 +182,7 @@ workflow SHORT_READS_QC { ) ch_versions = ch_versions.mix(RNA_QC.out.versions) - } else if (params.data_nature =~ "16S|Amplicon|METAGENOMIC|METATRANSCRIPTOMIC") { + } else if (params.data_nature =~ "16S|AMPLICON|METAGENOMIC|METATRANSCRIPTOMIC") { DIVERSITY_QC(fastq .collect{it[1]} .flatten() -- GitLab From 9872e44f1e3075c3364f81046c3ffd0810139ee3 Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Fri, 18 Oct 2024 13:57:58 +0200 Subject: [PATCH 4/9] AllOther Undetermined sequences have the rigth amount Ref: #115 --- bin/demuxStatsFromXML.R | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bin/demuxStatsFromXML.R b/bin/demuxStatsFromXML.R index 3c5c1ff..b526179 100755 --- a/bin/demuxStatsFromXML.R +++ b/bin/demuxStatsFromXML.R @@ -178,7 +178,7 @@ tabDemuxSum<-read.table(opt$demuxSum, skip=linesToSkip, col.names=c("Index", "Co tabUndetermined<-tabDemuxSum[which(tabDemuxSum$Count >= bcCount.threshold),] -cat("\tRésumé des inforamtions extraites :\n") +cat("\tRésumé des informations extraites :\n") cat(paste0("\tNombre d'index indéterminés retrouvés :\t", dim(tabUndetermined)[1], "\n")) if(nrow(tabUndetermined) > 0) { head(tabUndetermined) } @@ -194,7 +194,6 @@ if (dim(tabUndetermined)[1] != 0) { df.tabUndetermined.tmp<-data.frame("default", "Undetermined", tabUndetermined[i, "Index"], tabUndetermined[i, "Count"], NA, NA) df.tabUndetermined<-concat_df(df.tabUndetermined, df.tabUndetermined.tmp, vec.names) } - df2<-concat_df(df2, df.tabUndetermined, vec.names) cat("\tLes index indéterminés ont été ajouté au data.table.\n") } else { @@ -207,7 +206,7 @@ cat("\nQuelques calculs sur les données avant de les exporter.\n") cat("\tActualisation du nombre d'index 'AllOthers'.\n") undertermined.count<-sum(as.numeric(tabUndetermined[,"Count"])) df2[which(df2$Barcode == "unknown"), "bcCount"]<-as.numeric(df2[which(df2$Barcode == "unknown"), "bcCount"])-undertermined.count - +df2[which(df2$Barcode == "unknown"), "bcPerfect"]<-0 # C'est la somme de tous les undermined récupéré depuis le XML # Calcul pourcentages de chaque barcode cat("\tCalcul du pourcentage sur le nombre de fragments total.\n") totalOfFragments<-sum(as.numeric(df2$bcCount)) -- GitLab From 04fca066a7f41a6702c7cdca05a74da005284e7d Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Fri, 18 Oct 2024 14:02:43 +0200 Subject: [PATCH 5/9] Emit versions channels in DNA module Ref: #116 --- modules/local/module_dna.nf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/local/module_dna.nf b/modules/local/module_dna.nf index 66fc4e2..7355e77 100644 --- a/modules/local/module_dna.nf +++ b/modules/local/module_dna.nf @@ -13,7 +13,7 @@ process BWA_ALIGNMENT { output: tuple val(sample), path("*.log"), emit: log tuple val(sample), path("*.sam"), emit: sam - path("versions.yml"), versions + path("versions.yml"), emit: versions script: def reference = params.reference_genome ?: params.reference_transcriptome @@ -38,7 +38,7 @@ process SAMTOOLS_VIEW { output: tuple val(sample), path("*.bam"), emit: bam - path("versions.yml"), versions + path("versions.yml"), emit: versions script: def analyse_type = task.ext.analyse_type ?: params.default_label @@ -63,7 +63,7 @@ process SAMTOOLS_SORT { output: tuple val(sample), path("*.log"), emit: log tuple val(sample), path("*.bam"), emit: bam - path("versions.yml"), versions + path("versions.yml"), emit: versions //path("*.bam"), emit: bam script: // Pourquoi unmerged ??? https://forgemia.inra.fr/genotoul-bioinfo/ng6/-/blob/master/workflows/components/bwa.py#L97 @@ -89,7 +89,7 @@ process SAMTOOLS_FLAGSTATS { output: tuple val(sample), path("*.log"), emit: log tuple val(sample), path("*.txt"), emit: txt - path("versions.yml"), versions + path("versions.yml"), emit: versions script: def analyse_type = task.ext.analyse_type ?: params.default_label -- GitLab From 6465b1cba0890d39c75dc23c185e7e68df616b88 Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Fri, 18 Oct 2024 14:56:34 +0200 Subject: [PATCH 6/9] elembio demultiplexStat run correctly Ref: #112 --- bin/demuxStatsElement.R | 16 +++++++++------- modules/local/module_core_element.nf | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/bin/demuxStatsElement.R b/bin/demuxStatsElement.R index 7e25e17..c622209 100755 --- a/bin/demuxStatsElement.R +++ b/bin/demuxStatsElement.R @@ -60,7 +60,7 @@ unassigned <- opt$unassigned runManifestJson <- opt$runManifest lane <- opt$lane threshold <- opt$threshold -demultiplexStat <- paste0(launchDir,"/demultiplexStat.csv") +demultiplexStat <- paste0(launchDir,"/demultiplexStat_", lane,".csv") demultiplex_stat <- data.frame( Project = character(), Sample = character(), @@ -88,8 +88,7 @@ for (i in 1:nrow(assigned_filtered)) { sample <- assigned_filtered[i, 2] bc1 <- assigned_filtered[i, 3] bc2 <- assigned_filtered[i, 4] - bcCount <- assigned_filtered[i, 5] - perc <- assigned_filtered[i, 6] + bcCount <- assigned_filtered[i, 5]*2 project <- run_manifest$Samples %>% filter(SampleName == sample) %>% @@ -100,7 +99,7 @@ for (i in 1:nrow(assigned_filtered)) { Sample = sample, Barcode = paste(bc1, bc2, sep = "-"), bcCount = bcCount, - percOfFrag = perc, + percOfFrag = NA, stringsAsFactors = FALSE ) @@ -118,8 +117,7 @@ for (i in 1:nrow(unassigned_filtered)) { sample <- "Undetermined" bc1 <- unassigned_filtered[i, 1] bc2 <- unassigned_filtered[i, 2] - bcCount <- unassigned_filtered[i, 4] - perc <- unassigned_filtered[i, 3] + bcCount <- unassigned_filtered[i, 4]*2 project <- "DefaultProject" @@ -128,7 +126,7 @@ for (i in 1:nrow(unassigned_filtered)) { Sample = sample, Barcode = paste(bc1, bc2, sep = "-"), bcCount = bcCount, - percOfFrag = perc, + percOfFrag = NA, stringsAsFactors = FALSE ) @@ -138,6 +136,10 @@ for (i in 1:nrow(unassigned_filtered)) { } cat("\n") +# Calcul perfOfFrag +totalFrag <- sum(demultiplex_stat$bcCount) +demultiplex_stat$percOfFrag <- (100 * demultiplex_stat$bcCount) / totalFrag + # Filtrer les lignes selon le seuil de bcCount initial_nrow <- nrow(demultiplex_stat) demultiplex_stat <- demultiplex_stat %>% diff --git a/modules/local/module_core_element.nf b/modules/local/module_core_element.nf index c1e26a2..a8ff5da 100644 --- a/modules/local/module_core_element.nf +++ b/modules/local/module_core_element.nf @@ -12,7 +12,7 @@ process DEMUX_STATS { path unassigned output: - path "demultiplexStat.csv", emit: csv + path "demultiplexStat_*.csv", emit: csv script: def threshold = task.ext.threshold ?: '' -- GitLab From 6f02b72898668665c08e7f4d95bee9513237b98e Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Mon, 21 Oct 2024 14:44:24 +0200 Subject: [PATCH 7/9] Move every NGL process into new subworkflow - Better ergonomy - Better readability of procvess names Ref: #117 --- conf/base.config | 8 ++- sub-workflows/local/core_element.nf | 21 ++----- sub-workflows/local/core_illumina.nf | 12 ---- sub-workflows/local/ngl.nf | 82 ++++++++++++++++++++++++++++ workflow/short_reads_qc.nf | 73 ++++++++++++------------- 5 files changed, 128 insertions(+), 68 deletions(-) create mode 100644 sub-workflows/local/ngl.nf diff --git a/conf/base.config b/conf/base.config index 965385f..49d7135 100644 --- a/conf/base.config +++ b/conf/base.config @@ -255,6 +255,12 @@ process { // SHARED MODULES //========================================= process { + withName: CREATE_ANALYSIS { + def techno = params.sequencer =~ "MiSeq|NovaSeq" ? 'illumina' : params.sequencer =~ "AVITI" ? 'elembio' : 'other' + ext.args = "--techno $techno " + ext.args += params.project_hash ? "--projectDir '${params.project}-${params.project_hash}'" : '' + } + withName: CREATE_READSETS { ext.args = [ params.run_name ? "--poolName '${params.run_name}'" : '', @@ -262,7 +268,7 @@ process { ].join(' ') } - withName: TREATMENT_DEMUX_RUN { + withName: ILLUMINA_TREATMENT_DEMUX_RUN { ext.args = [ "--lane '${params.lane}'", ].join(' ') diff --git a/sub-workflows/local/core_element.nf b/sub-workflows/local/core_element.nf index 6207685..9cb970d 100644 --- a/sub-workflows/local/core_element.nf +++ b/sub-workflows/local/core_element.nf @@ -12,11 +12,6 @@ include { DEMUX_STATS } from "$baseDir/modules/local/module_core_element.nf" -include { - TREATMENT_DEMUXSTAT_ELEMENT as TREATMENT_DEMUX_RUN; - TREATMENT_DEMUXSTAT_ELEMENT as TREATMENT_DEMUX_READSETS; -} from "$baseDir/modules/local/module_NGL-Bi.nf" - // ------------------------------------------------- // LOCAL PARAMS // ------------------------------------------------- @@ -27,21 +22,15 @@ include { // ------------------------------------------------- workflow CORE_ELEMENT { - take: - runManifestJson - assigned - unassigned - nglBiRunCode - readsetsFile + take: + runManifestJson + assigned + unassigned main: // ----------- DemultiplexStat DEMUX_STATS(runManifestJson, assigned, unassigned) - // ----------- NGL-Bi - TREATMENT_DEMUX_RUN(nglBiRunCode, DEMUX_STATS.out.csv) - TREATMENT_DEMUX_READSETS(readsetsFile, DEMUX_STATS.out.csv) - - emit: + emit: demuxStat = DEMUX_STATS.out.csv } \ No newline at end of file diff --git a/sub-workflows/local/core_illumina.nf b/sub-workflows/local/core_illumina.nf index bb1c476..4fd8542 100644 --- a/sub-workflows/local/core_illumina.nf +++ b/sub-workflows/local/core_illumina.nf @@ -15,10 +15,6 @@ include { ILLUMINA_FILTER; } from "$baseDir/modules/local/module_core.nf" -include { - TREATMENT_DEMUXSTAT_ILLUMINA as TREATMENT_DEMUX_RUN; - TREATMENT_DEMUXSTAT_ILLUMINA as TREATMENT_DEMUX_READSETS; -} from "$baseDir/modules/local/module_NGL-Bi.nf" // ------------------------------------------------- // LOCAL PARAMS @@ -35,8 +31,6 @@ workflow CORE_ILLUMINA { demuxStatXML demuxSummary fastq - nglBiRunCode - readsetsFile main: ch_versions = Channel.empty() @@ -55,12 +49,6 @@ workflow CORE_ILLUMINA { ch_versions = ch_versions.mix(ILLUMINA_FILTER.out.versions) } - if (params.insert_to_ngl){ - // Add demultiplexStat treatments - TREATMENT_DEMUX_RUN(nglBiRunCode, DEMUX_STATS.out.demultiplexStatsTSV, params.lane) - TREATMENT_DEMUX_READSETS(readsetsFile, DEMUX_STATS.out.demultiplexStatsTSV, '') - } - emit: fastq = fastq_good demuxStat = DEMUX_STATS.out.demultiplexStatsTSV diff --git a/sub-workflows/local/ngl.nf b/sub-workflows/local/ngl.nf new file mode 100644 index 0000000..d5102d5 --- /dev/null +++ b/sub-workflows/local/ngl.nf @@ -0,0 +1,82 @@ +// ------------------------------------------------- +// NGL +// ------------------------------------------------- +/* + * Tout process en lien avec NGL (Bi ou SQ) + * + * +*/ + +// ------------------------------------------------- +// MODULES +// ------------------------------------------------- +include { BEGIN_NGLBI as BEGIN } from "${params.shared_modules}/workflows/begin_nglbi.nf" +include { COPY_TO_SAVE } from "${params.shared_modules}/workflows/copy_to_save.nf" +include { MD5SUM as MD5SUM_FASTQ; + md5sum as MD5SUM_INDEX } from "${params.shared_modules}/md5sum.nf" +include { READSET_FILE_FROM_FILE as ADD_RS_INDEX_FILES } from "${params.shared_modules}/ngl_bi.nf" addParams(ext: 'INDEX') +include { READSET_FILE_FROM_FILE as ADD_RS_RAW_FILES } from "${params.shared_modules}/ngl_bi.nf" addParams(ext: 'RAW') +include { UPDATE_NGLBI_STATE_FROM_FILE as UPDATE_STATE_FQC; + CREATE_ANALYSIS } from "${params.shared_modules}/ngl_bi.nf" + +include { FILE_RENAME as RENAME_FASTQ; + FILE_RENAME as RENAME_INDEX } from "$baseDir/modules/local/module_NGL-Bi.nf" +// ------------------------------------------------- +// WORKFLOW +// ------------------------------------------------- +workflow NGL { + take: + sequencer_name + run_name + bi_run_code + sq_xp_code + fastq + index_files + multiqc_html + project + project_hash + is_single_cell + + main: + // First steps + BEGIN(bi_run_code, sq_xp_code, '', sequencer_name) + + nglBiRunCode = BEGIN.out.nglBiRunCode + readsets_created = BEGIN.out.readsets_created + ready = BEGIN.out.ready + + bi_run_code = nglBiRunCode.collect().map { it.toString() } + + // Compute results + if (is_single_cell) { + RENAME_INDEX(index_files.map{it[1]}.collect(), readsets_created, sq_xp_code, 'fastq_index') + MD5SUM_INDEX(RENAME_INDEX.out.fastq.collect(), run_name+'_fastq_index') + ADD_RS_INDEX_FILES(readsets_created, MD5SUM_INDEX.out, 'INDEX', ready) + } + + RENAME_FASTQ(fastq.map{it[1]}.collect(), readsets_created, sq_xp_code, 'fastq_read') + fq = RENAME_FASTQ.out.fastq + .flatMap() + .map { it -> [[type: 'fastq', barcode:run_name], it]} + + MD5SUM_FASTQ(fq.groupTuple()) + + ADD_RS_RAW_FILES(readsets_created, MD5SUM_FASTQ.out.md5sum.map{it -> it[1]}, 'RAW', ready) + UPDATE_STATE_FQC(readsets_created, 'F-QC', multiqc_html) + techno = sequencer_name =~ "MiSeq|NovaSeq" ? 'illumina' : sequencer_name =~ "AVITI" ? 'elembio' : 'other' + COPY_TO_SAVE( + nglBiRunCode, + readsets_created, + multiqc_html.map{it -> [[type:'report'], it]}, + project, + project_hash, + fq, + MD5SUM_FASTQ.out.md5sum, + techno + ) + + emit: + run_code = BEGIN.out.nglBiRunCode?: Channel.empty() + readsets_file = BEGIN.out.readsets_created?: Channel.empty() + ready = BEGIN.out.ready?: Channel.empty() +} \ No newline at end of file diff --git a/workflow/short_reads_qc.nf b/workflow/short_reads_qc.nf index 79115bb..db97c09 100644 --- a/workflow/short_reads_qc.nf +++ b/workflow/short_reads_qc.nf @@ -97,6 +97,11 @@ include { DNA_QC } from "$baseDir/sub-workflows/local/dna_qc.nf" include { RNA_QC } from "$baseDir/sub-workflows/local/rna_qc.nf" include { DIVERSITY_QC } from "$baseDir/sub-workflows/local/diversity_qc.nf" include { PARSE_REPORTS } from "$baseDir/modules/local/module_DTM.nf" +include { TREATMENT_DEMUXSTAT_ILLUMINA as ILLUMINA_TREATMENT_DEMUX_RUN; + TREATMENT_DEMUXSTAT_ILLUMINA as ILLUMINA_TREATMENT_DEMUX_READSETS; + // TREATMENT_DEMUXSTAT_ELEMENT as ELEMBIO_TREATMENT_DEMUX_RUN; + // TREATMENT_DEMUXSTAT_ELEMENT as ELEMBIO_TREATMENT_DEMUX_READSETS; + } from "$baseDir/modules/local/module_NGL-Bi.nf" include { FILE_RENAME as RENAME_FASTQ; FILE_RENAME as RENAME_INDEX; } from "$baseDir/modules/local/module_NGL-Bi.nf" @@ -107,11 +112,13 @@ include { UPDATE_NGLBI_STATE_FROM_FILE as UPDATE_STATE_FQC; CREATE_ANALYSIS; } from "${params.shared_modules}/ngl_bi.nf" include { READSET_FILE_FROM_FILE as ADD_RS_INDEX_FILES } from "${params.shared_modules}/ngl_bi.nf" addParams(ext: 'INDEX') include { READSET_FILE_FROM_FILE as ADD_RS_RAW_FILES } from "${params.shared_modules}/ngl_bi.nf" addParams(ext: 'RAW') -include { md5sum as MD5SUM_FASTQ; +include { MD5SUM as MD5SUM_FASTQ; md5sum as MD5SUM_INDEX; } from "${params.shared_modules}/md5sum.nf" include { BEGIN_NGLBI as NGLBI } from "${params.shared_modules}/workflows/begin_nglbi.nf" +include { COPY_TO_SAVE } from "${params.shared_modules}/workflows/copy_to_save.nf" include { TREATMENT_MULTIQC as ADD_MULTIQC } from "${params.shared_modules}/ngl_bi_treatments.nf" +include { NGL } from "$baseDir/sub-workflows/local/ngl.nf" // ------------------------------------------------- // EMAIL ON START @@ -129,26 +136,20 @@ workflow SHORT_READS_QC { WORKFLOW_SUMMARY() - if (params.insert_to_ngl){ - NGLBI(params.bi_run_code, params.sq_xp_code, '', params.sequencer) - nglBiRunCode = NGLBI.out.nglBiRunCode - readsets_created = NGLBI.out.readsets_created - ready = NGLBI.out.ready - } else { - nglBiRunCode = Channel.empty() - readsets_created = Channel.empty() - ready = Channel.empty() - } - if (! params.skip_core_illumina && params.sequencer =~ "NovaSeq|MiSeq" ) { - CORE_ILLUMINA(ch_ss, ch_DemuxStatXML, ch_DemuxSummary, ch_read, nglBiRunCode, readsets_created) + CORE_ILLUMINA(ch_ss, ch_DemuxStatXML, ch_DemuxSummary, ch_read) fastq = CORE_ILLUMINA.out.fastq ch_versions = ch_versions.mix(CORE_ILLUMINA.out.versions) + illumina_demux_stats = CORE_ILLUMINA.out.demuxStat } else { fastq = ch_read + illumina_demux_stats = channel.empty() } if (! params.skip_core_element && params.sequencer =~ "AVITI") { - CORE_ELEMENT(ch_runManifestJSON, ch_indexAssigned, ch_indexUnassigned, nglBiRunCode, readsets_created) + CORE_ELEMENT(ch_runManifestJSON, ch_indexAssigned, ch_indexUnassigned) + elembio_demux_stats = CORE_ELEMENT.out.demuxStat + } else { + elembio_demux_stats = Channel.empty() } CORE(fastq) @@ -220,32 +221,26 @@ workflow SHORT_READS_QC { ) if (params.insert_to_ngl){ - if (params.single_cell) { - RENAME_INDEX(ch_index.map{it[1]}.collect(), readsets_created, params.sq_xp_code, 'fastq_index') - MD5SUM_INDEX(RENAME_INDEX.out.fastq.collect(), params.run_name+'_fastq_index') - ADD_RS_INDEX_FILES(readsets_created, MD5SUM_INDEX.out, 'INDEX', ready) - } - RENAME_FASTQ(fastq.map{it[1]}.collect(), readsets_created, params.sq_xp_code, 'fastq_read') - MD5SUM_FASTQ(RENAME_FASTQ.out.fastq.collect(), params.run_name+'_fastq_read') - ADD_RS_RAW_FILES(readsets_created, MD5SUM_FASTQ.out, 'RAW', ready) - UPDATE_STATE_FQC(readsets_created, 'F-QC', MULTIQC.out.html) - CREATE_ANALYSIS(nglBiRunCode, readsets_created, 1) - ADD_MULTIQC(CREATE_ANALYSIS.out.createdFile, MULTIQC.out.html, CREATE_ANALYSIS.out.ready) - } - - /* - if overlap, alors : - diversity_qc sub-workflow - - else : - if DNA, alors : - dna_qc sub-worflow - if RNA, alors : - rna_qc sub-workflow - if Methyl, alors : - methyl_qc sub-worflow - */ + NGL( + params.sequencer, + params.run_name, + params.bi_run_code, + params.sq_xp_code, + fastq, + ch_index, + MULTIQC.out.html, + params.project, + params.project_hash, + params.single_cell + ) + // Add demultiplexStat treatments + ILLUMINA_TREATMENT_DEMUX_RUN(NGL.out.run_code, illumina_demux_stats, params.lane) + ILLUMINA_TREATMENT_DEMUX_READSETS(NGL.out.readsets_file, illumina_demux_stats, '') + + // ELEMBIO_TREATMENT_DEMUX_RUN(NGL.out.run_code, elembio_demux_stats) + // ELEMBIO_TREATMENT_DEMUX_READSETS(NGL.out.readsets_file, elembio_demux_stats) + } } // ------------------------------------------------- -- GitLab From 0f17db5d97a198cc54a7a362dd5fab02f885ee84 Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Mon, 21 Oct 2024 14:49:57 +0200 Subject: [PATCH 8/9] Remove old includes related with NGL Ref: #117 --- workflow/short_reads_qc.nf | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/workflow/short_reads_qc.nf b/workflow/short_reads_qc.nf index db97c09..5031ac2 100644 --- a/workflow/short_reads_qc.nf +++ b/workflow/short_reads_qc.nf @@ -97,28 +97,16 @@ include { DNA_QC } from "$baseDir/sub-workflows/local/dna_qc.nf" include { RNA_QC } from "$baseDir/sub-workflows/local/rna_qc.nf" include { DIVERSITY_QC } from "$baseDir/sub-workflows/local/diversity_qc.nf" include { PARSE_REPORTS } from "$baseDir/modules/local/module_DTM.nf" +include { NGL } from "$baseDir/sub-workflows/local/ngl.nf" include { TREATMENT_DEMUXSTAT_ILLUMINA as ILLUMINA_TREATMENT_DEMUX_RUN; TREATMENT_DEMUXSTAT_ILLUMINA as ILLUMINA_TREATMENT_DEMUX_READSETS; // TREATMENT_DEMUXSTAT_ELEMENT as ELEMBIO_TREATMENT_DEMUX_RUN; // TREATMENT_DEMUXSTAT_ELEMENT as ELEMBIO_TREATMENT_DEMUX_READSETS; } from "$baseDir/modules/local/module_NGL-Bi.nf" -include { FILE_RENAME as RENAME_FASTQ; - FILE_RENAME as RENAME_INDEX; - } from "$baseDir/modules/local/module_NGL-Bi.nf" include { MULTIQC } from "${params.shared_modules}/multiqc.nf" include { GCBIAS as GC_BIAS } from "${params.shared_modules}/gcbias.nf" include { workflow_summary as WORKFLOW_SUMMARY } from "${params.shared_modules}/workflow_summary.nf" -include { UPDATE_NGLBI_STATE_FROM_FILE as UPDATE_STATE_FQC; - CREATE_ANALYSIS; } from "${params.shared_modules}/ngl_bi.nf" -include { READSET_FILE_FROM_FILE as ADD_RS_INDEX_FILES } from "${params.shared_modules}/ngl_bi.nf" addParams(ext: 'INDEX') -include { READSET_FILE_FROM_FILE as ADD_RS_RAW_FILES } from "${params.shared_modules}/ngl_bi.nf" addParams(ext: 'RAW') -include { MD5SUM as MD5SUM_FASTQ; - md5sum as MD5SUM_INDEX; - } from "${params.shared_modules}/md5sum.nf" -include { BEGIN_NGLBI as NGLBI } from "${params.shared_modules}/workflows/begin_nglbi.nf" -include { COPY_TO_SAVE } from "${params.shared_modules}/workflows/copy_to_save.nf" -include { TREATMENT_MULTIQC as ADD_MULTIQC } from "${params.shared_modules}/ngl_bi_treatments.nf" -include { NGL } from "$baseDir/sub-workflows/local/ngl.nf" + // ------------------------------------------------- // EMAIL ON START -- GitLab From 1b435c29dd7426882dea6afc5ba5a2a9bf6b114b Mon Sep 17 00:00:00 2001 From: jsabban <jules.sabban@inrae.fr> Date: Mon, 21 Oct 2024 14:51:42 +0200 Subject: [PATCH 9/9] Update manifest version --- conf/report.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/report.config b/conf/report.config index 5ee8982..e84365d 100644 --- a/conf/report.config +++ b/conf/report.config @@ -29,5 +29,5 @@ manifest { description = "Workflow for Illumina data quality control" mainScript = 'main.nf' nextflowVersion = '>=0.32.0' - version = '1.23.0' + version = '1.24.0' } \ No newline at end of file -- GitLab