Skip to content

Commit

Permalink
add yml and modify config
Browse files Browse the repository at this point in the history
  • Loading branch information
valerianilucrezia committed Jan 15, 2025
1 parent 06d77a6 commit 9235e0a
Show file tree
Hide file tree
Showing 11 changed files with 161 additions and 78 deletions.
25 changes: 16 additions & 9 deletions modules/local/CNAqc/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,17 @@ process CNAQC {
container = 'docker://lvaleriani/cnaqc:version1.0'

input:

tuple val(meta), path(cna_rds), path(snv_rds)

output:
tuple val(meta), path("*_qc.rds"), emit: qc_rds
tuple val(meta), path("*_data_plot.rds"), path("*_qc_plot.rds"), emit: plot_rds
tuple val(meta), path("*_data.pdf"), emit: plot_pdf_data
tuple val(meta), path("*_qc.pdf"), emit: plot_pdf_qc
path "versions.yml", emit: versions

tuple val(meta), path("*_qc.rds"), emit: qc_rds
tuple val(meta), path("*_data_plot.rds"), path("*_qc_plot.rds"), emit: plot_rds
tuple val(meta), path("*_data.pdf"), emit: plot_pdf_data
tuple val(meta), path("*_qc.pdf"), emit: plot_pdf_qc

script:

def args = task.ext.args
def prefix = task.ext.prefix ?: "${meta.id}"
def matching_strategy = args!='' && args.matching_strategy ? "$args.matching_strategy" : ""
Expand All @@ -39,8 +38,7 @@ process CNAQC {

"""
#!/usr/bin/env Rscript
library(tidyverse)
library(dplyr)
library(CNAqc)
SNV = readRDS("$snv_rds")
Expand Down Expand Up @@ -92,7 +90,6 @@ process CNAQC {
nrow = 2
)
pl_exp = patchwork::wrap_plots(
CNAqc::plot_gw_counts(tmp_x),
CNAqc::plot_gw_vaf(tmp_x, N = 10000),
Expand All @@ -119,5 +116,15 @@ process CNAQC {
ggplot2::ggsave(plot = pl_exp, filename = paste0("$prefix", "_data.pdf"), width = 210, height = 297, units="mm", dpi = 200)
ggplot2::ggsave(plot = pl_qc, filename = paste0("$prefix", "_qc.pdf"), width = 210, height = 297, units="mm", dpi = 200)
# version export
f <- file("versions.yml","w")
dplyr_version <- sessionInfo()\$otherPkgs\$dplyr\$Version
cnaqc_version <- sessionInfo()\$otherPkgs\$CNAqc\$Version
writeLines(paste0('"', "$task.process", '"', ":"), f)
writeLines(paste(" CNAqc:", cnaqc_version), f)
writeLines(paste(" dplyr:", dplyr_version), f)
close(f)
"""
}
22 changes: 15 additions & 7 deletions modules/local/CNAqc2tsv/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,24 @@ process RDS_PROCESSING {
container = 'docker://lvaleriani/cnaqc:version1.0'

input:
tuple val(meta), path(rds_join), val(tumour_samples)
tuple val(meta), path(rds_join), val(tumour_samples)

output:
tuple val(meta), path("*_joint_table.tsv"), val(tumour_samples), emit: tsv
tuple val(meta), path("*_joint_table.tsv"), val(tumour_samples), emit: tsv
path "versions.yml", emit: versions


script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"

"""
#!/usr/bin/env Rscript
library(dplyr)
library(CNAqc)
library(tidyr)
source("$moduleDir/utils.R")
multi_cnaqc = readRDS(file = "$rds_join")
mutations_multisample <- get_sample(m_cnaqc_obj = multi_cnaqc,sample = get_sample_name(multi_cnaqc),
which_obj = "original")
Expand All @@ -41,5 +40,14 @@ process RDS_PROCESSING {
write.table(joint_table, file = paste0("$prefix","_joint_table.tsv"), append = F, quote = F, sep = "\t", row.names = FALSE)
# version export
f <- file("versions.yml","w")
dplyr_version <- sessionInfo()\$otherPkgs\$dplyr\$Version
cnaqc_version <- sessionInfo()\$otherPkgs\$CNAqc\$Version
writeLines(paste0('"', "$task.process", '"', ":"), f)
writeLines(paste(" dplyr:", dplyr_version), f)
writeLines(paste(" CNAqc:", cnaqc_version), f)
close(f)
"""
}
24 changes: 17 additions & 7 deletions modules/local/annotate_driver/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,22 @@ process ANNOTATE_DRIVER {
container = 'docker://lvaleriani/cnaqc:version1.0'

input:

tuple val(meta), path(rds), path(driver_list)

output:
tuple val(meta), path("*.rds"), emit: rds
tuple val(meta), path("*.rds"), emit: rds
path "versions.yml", emit: versions


script:

def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"

"""
#!/usr/bin/env Rscript
library(dplyr)
library(readr)
library(tidyr)
data = readRDS("$rds")
SNV = data[["$meta.tumour_sample"]]
Expand Down Expand Up @@ -66,8 +65,19 @@ process ANNOTATE_DRIVER {
select(-tmp_s2) %>%
mutate(is_driver = ifelse(is.na(is_driver), FALSE, is_driver))
data[["$meta.tumour_sample"]]\$mutations = x
saveRDS(object = data, file = paste0("$prefix", "_driver.rds"))
# version export
f <- file("versions.yml","w")
readr_version <- sessionInfo()\$otherPkgs\$readr\$Version
dplyr_version <- sessionInfo()\$otherPkgs\$dplyr\$Version
tidyr_version <- sessionInfo()\$otherPkgs\$tidyr\$Version
writeLines(paste0('"', "$task.process", '"', ":"), f)
writeLines(paste(" readr:", readr_version), f)
writeLines(paste(" dplyr:", dplyr_version), f)
writeLines(paste(" tidyr:", tidyr_version), f)
close(f)
"""
}
21 changes: 16 additions & 5 deletions modules/local/cna2CNAqc/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@ process CNA_PROCESSING {
container "docker://lvaleriani/cnaqc:version1.0"

input:
tuple val(meta), path(cna_segs), path(cna_extra)
tuple val(meta), path(cna_segs), path(cna_extra)

output:
tuple val(meta), path("*.rds"), emit: rds
tuple val(meta), path("*.rds"), emit: rds
path "versions.yml", emit: versions

when:
task.ext.when == null || task.ext.when
task.ext.when == null || task.ext.when

script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"

"""
#!/usr/bin/env Rscript
Expand All @@ -31,5 +32,15 @@ process CNA_PROCESSING {
}
saveRDS(object = CNA, file = paste0("$prefix", "_cna.rds"))
# version export
f <- file("versions.yml","w")
readr_version <- sessionInfo()\$otherPkgs\$readr\$Version
dplyr_version <- sessionInfo()\$otherPkgs\$dplyr\$Version
writeLines(paste0('"', "$task.process", '"', ":"), f)
writeLines(paste(" readr:", readr_version), f)
writeLines(paste(" dplyr:", dplyr_version), f)
close(f)
"""
}
33 changes: 14 additions & 19 deletions modules/local/cna2CNAqc/parser_CNA.R
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
library(tidyverse)
library(dplyr)
library(readr)

parse_Sequenza = function(segments_file, extra_file){
#segments_file = paste0(run, '/', sample, '.smoothedSegs.txt') #_segments.txt')
#purity_file = paste0(run, '/', sample, '_confints_CP.txt')

# Extract the segments information
segments = readr::read_tsv(segments_file, col_types = readr::cols()) %>%
dplyr::rename(
chr = chromosome,
from = start.pos,
to = end.pos,
Major = A,
minor = B) %>%
dplyr::select(chr, from, to, Major, minor, dplyr::everything())
dplyr::rename(
chr = chromosome,
from = start.pos,
to = end.pos,
Major = A,
minor = B) %>%
dplyr::select(chr, from, to, Major, minor, dplyr::everything())

solutions = readr::read_tsv(extra_file, col_types = readr::cols())
purity = solutions$cellularity[2]
Expand All @@ -22,21 +20,18 @@ parse_Sequenza = function(segments_file, extra_file){


parse_ASCAT = function(segments_file, extra_file){
#segments_file = paste0(run, '/', sample, '.segments.txt')
#purity_file = paste0(run, '/', sample, '.purityploidy.txt')

# Extract the segments information
segments = readr::read_tsv(segments_file, col_types = readr::cols()) %>%
dplyr::mutate(chr = paste0("chr",chr)) %>%
dplyr::rename(
from = startpos,
to = endpos,
Major = nMajor,
minor = nMinor) %>%
from = startpos,
to = endpos,
Major = nMajor,
minor = nMinor) %>%
dplyr::select(chr, from, to, Major, minor)

solutions = readr::read_tsv(extra_file, col_types = readr::cols())
purity = solutions$AberrantCellFraction
ploidy = solutions$Ploidy

return(list(segments = segments, purity = purity, ploidy = ploidy))
}
18 changes: 13 additions & 5 deletions modules/local/get_positions/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,31 @@ process GET_POSITIONS_ALL {
tuple val(meta), path(rds_list, stageAs: '*.rds')

output:
tuple val(meta), path("*_all_positions.rds"), emit: all_pos
path "versions.yml", emit: versions

tuple val(meta), path("*_all_positions.rds"), emit: all_pos

script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"

"""
#!/usr/bin/env Rscript
library(dplyr)
library(tidyverse)
positions = lapply(strsplit("$rds_list", " ")[[1]], FUN = function(rds){
df = readRDS(rds)
df = df[[1]]\$mutations %>% dplyr::mutate(id = paste(chr, from, to, sep = ":")) %>% dplyr::select(chr, from, to, ref, alt, id)
})
all = positions %>% dplyr::bind_rows() %>% dplyr::distinct() %>% dplyr::select(-id)
saveRDS(object = all, file = paste0("$prefix", "_all_positions.rds"))
#write.table(file = paste0("$prefix", "_all_positions.bed"), all, quote = F, sep = "\t", row.names = F, col.names = T)
# version export
f <- file("versions.yml","w")
dplyr_version <- sessionInfo()\$otherPkgs\$dplyr\$Version
writeLines(paste0('"', "$task.process", '"', ":"), f)
writeLines(paste(" dplyr:", dplyr_version), f)
close(f)
"""
}
23 changes: 16 additions & 7 deletions modules/local/get_positions/main_rel.nf
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,20 @@ process GET_POSITIONS_REL {
container = 'docker://lvaleriani/cnaqc:dev1'

input:
tuple val(meta), path(rds), path(all_pos)
tuple val(meta), path(rds), path(all_pos)

output:
tuple val(meta), path("*_positions_missing"), emit: bed
tuple val(meta), path("*_positions_missing"), emit: bed
path "versions.yml", emit: versions


script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"

"""
#!/usr/bin/env Rscript
library(tidyverse)
library(dplyr)
all_positions = readRDS("$all_pos") %>%
dplyr::mutate(id = paste(chr, from, to, sep = ":"))
Expand All @@ -27,8 +28,16 @@ process GET_POSITIONS_REL {
missed = all_positions %>% filter(!(id %in% positions\$id)) %>%
dplyr::filter(chr %in% c(paste0('chr', seq(1,22)), 'chrX', 'chrY')) %>%
select(chr, from)
dplyr::select(chr, from)
write.table(file = paste0("$meta.tumour_sample", "_positions_missing"), missed, quote = F, sep = "\t", row.names = F, col.names = F)
# version export
f <- file("versions.yml","w")
dplyr_version <- sessionInfo()\$otherPkgs\$dplyr\$Version
writeLines(paste0('"', "$task.process", '"', ":"), f)
writeLines(paste(" dplyr:", dplyr_version), f)
close(f)
"""
}
21 changes: 15 additions & 6 deletions modules/local/join_CNAqc/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@ process JOIN_CNAQC {
container = 'docker://lvaleriani/cnaqc:version1.0'

input:
tuple val(meta), path(rds_list, stageAs: '*.rds'), val(tumour_samples)
tuple val(meta), path(rds_list, stageAs: '*.rds'), val(tumour_samples)

output:

tuple val(meta), path("*ALL.rds"), val(tumour_samples), emit: rds_all, optional: true
tuple val(meta), path("*PASS.rds"), val(tumour_samples), emit: rds_pass, optional: true
tuple val(meta), path("*ALL.rds"), val(tumour_samples), emit: rds_all, optional: true
tuple val(meta), path("*PASS.rds"), val(tumour_samples), emit: rds_pass, optional: true
path "versions.yml", emit: versions

script:

def args = task.ext.args
def prefix = task.ext.prefix ?: "${meta.id}" ?: ''
def qc_filter = args!='' && args.qc_filter ? "$args.qc_filter" : ""
Expand All @@ -20,7 +19,7 @@ process JOIN_CNAQC {
"""
#!/usr/bin/env Rscript
library(tidyverse)
library(dplyr)
library(CNAqc)
samples = substr("$tumour_samples", 2, nchar("$tumour_samples")-1)
Expand All @@ -47,5 +46,15 @@ process JOIN_CNAQC {
saveRDS(object = out_all, file = paste0("$prefix", "_multi_cnaqc_ALL.rds"))
saveRDS(object = out_PASS, file = paste0("$prefix", "_multi_cnaqc_PASS.rds"))
# version export
f <- file("versions.yml","w")
dplyr_version <- sessionInfo()\$otherPkgs\$dplyr\$Version
cnaqc_version <- sessionInfo()\$otherPkgs\$CNAqc\$Version
writeLines(paste0('"', "$task.process", '"', ":"), f)
writeLines(paste(" CNAqc:", cnaqc_version), f)
writeLines(paste(" dplyr:", dplyr_version), f)
close(f)
"""
}
Loading

0 comments on commit 9235e0a

Please sign in to comment.