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)