diff --git a/Snakefile b/Snakefile index a559229fed6bb47eea119b975bd8f9a65425f163..96ac5055917b619eb5cea30fb77595412be9076c 100644 --- a/Snakefile +++ b/Snakefile @@ -18,7 +18,7 @@ import os.path # * calculate a segmentation into potential SVs using Mosaicatcher -METHODS = ["simpleCalls"] +METHODS = ["simpleCalls", "biAllelic"] rule all: input: @@ -335,6 +335,15 @@ rule mosaiClassifier_calc_probs: script: "utils/mosaiClassifier.snakemake.R" +rule mosaiClassifier_make_call_biallelic: + input: + probs = "sv_probabilities/{sample}/{windows}.{bpdens}/probabilities.Rdata" + output: + "sv_calls/{sample}/{windows}.{bpdens}/biAllelic.txt" + script: + "utils/mosaiClassifier_call_biallelic.snakemake.R" + + ################################################################################ # Strand states & phasing # diff --git a/utils/mosaiClassifier_call_biallelic.snakemake.R b/utils/mosaiClassifier_call_biallelic.snakemake.R new file mode 100644 index 0000000000000000000000000000000000000000..5d35730ef2497a539f89e2fd857b2e93902b450c --- /dev/null +++ b/utils/mosaiClassifier_call_biallelic.snakemake.R @@ -0,0 +1,11 @@ +library(data.table) +source("utils/mosaiClassifier/makeSVcalls.R") + +probs = readRDS(snakemake@input[["probs"]]) +llr = as.numeric(snakemake@params[["llr"]]) + +probs <- mosaiClassifierPostProcessing(probs) +probs <- forceBiallelic(probs) +tab <- makeSVCallSimple(probs) + +write.table(tab, file = snakemake@output[[1]], sep = "\t", quote=F, row.names = F, col.names = T)