From 086a8767be7831b393c6a79a46e0bde48f29779e Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent.modolo@ens-lyon.fr> Date: Fri, 9 Jun 2023 09:56:53 +0200 Subject: [PATCH] split plot from the analysis --- src/bin/kmerclust.R | 11 ++--------- src/main.nf | 6 ++++-- src/modules/kmerclust.nf | 27 ++++++++++++++++++++++++++- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/bin/kmerclust.R b/src/bin/kmerclust.R index 786f1dd..582d80d 100644 --- a/src/bin/kmerclust.R +++ b/src/bin/kmerclust.R @@ -8,15 +8,8 @@ data <- readr::read_tsv(args[2], show_col_types = FALSE) format(object.size(data), units = "Mb") annotation <- parse_annotation(args[1]) count <- annotate_counts(annotation, data, args[3]) -save(count, file = paste0(args[3], ".Rdata")) res <- compare_models(count %>% dplyr::ungroup(), nboot = 100, bootsize = 0.1, core = as.numeric(args[4])) + +save(count, file = paste0(args[3], ".Rdata")) save(res, file = paste0(args[3], "_boot.Rdata")) -res %>% - ggplot(aes(x = name, y = BIC)) + - geom_violin() -ggsave(paste0(args[3], "_BIC.pdf")) -res %>% - ggplot(aes(x = name, y = WSS_f / BSS)) + - geom_violin() -ggsave(paste0(args[3], "_WSS_BSS.pdf")) diff --git a/src/main.nf b/src/main.nf index bbafd2e..d747c7a 100644 --- a/src/main.nf +++ b/src/main.nf @@ -8,8 +8,9 @@ params.kmer_size = 12 include { SPLIT } from "./modules/split" include { FASTKMERS } from "./modules/fastkmers" include { MERGEKMER } from "./modules/mergekmer" -include { COLLATEKMER} from "./modules/mergekmer" -include { KMERCLUST} from "./modules/kmerclust" +include { COLLATEKMER } from "./modules/mergekmer" +include { KMERCLUST } from "./modules/kmerclust" +include { KMERCLUST_PLOT } from "./modules/kmerclust" Channel.fromPath( file(params.csv) ) @@ -30,4 +31,5 @@ workflow { MERGEKMER(FASTKMERS.out.csv.groupTuple()) COLLATEKMER(MERGEKMER.out.csv.map{it -> [it[0].specie, it[1]] }.groupTuple()) KMERCLUST(COLLATEKMER.out.csv, params_csv.collect()) + KMERCLUST_PLOT(KMERCLUST.out.rdata) } diff --git a/src/modules/kmerclust.nf b/src/modules/kmerclust.nf index 31e0fa5..7a7090f 100644 --- a/src/modules/kmerclust.nf +++ b/src/modules/kmerclust.nf @@ -10,7 +10,6 @@ process KMERCLUST { path params_csv output: - tuple val(specie), path("*.pdf"), emit: pdf tuple val(specie), path("*.Rdata"), emit: rdata path "versions.yml" , emit: versions @@ -25,3 +24,29 @@ process KMERCLUST { END_VERSIONS """ } + +process KMERCLUST_PLOT { + tag "$specie" + label 'big_mem_mono_cpus' + + container "lbmc/kmerclust:0.0.2" + publishDir "results/${params.kmer_size}/${specie}/", mode: 'copy' + + input: + tuple val(specie), path(rdata) + + output: + tuple val(specie), path("*.pdf"), emit: pdf + path "versions.yml" , emit: versions + + script: + def args = task.ext.args ?: '' + """ + Rscript ${projectDir}/bin/kmerclust_plot.R ${specie} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + Rkmerclust: 0.0.1 + END_VERSIONS + """ +} -- GitLab