diff --git a/Snakefile b/Snakefile
index 88b12a47d887f6e72ceac9f77c7b37e93f40a6ee..f343d64ca602c19304afe80bf5d1afd25a5b488e 100644
--- a/Snakefile
+++ b/Snakefile
@@ -253,6 +253,31 @@ rule mosaic_count_fixed:
         > {log} 2>&1
         """
 
+rule mosaic_count_variable:
+    input:
+        bam = lambda wc: expand("bam/" + wc.sample + "/{bam}.bam", bam = BAM_PER_SAMPLE[wc.sample]),
+        bai = lambda wc: expand("bam/" + wc.sample + "/{bam}.bam.bai", bam = BAM_PER_SAMPLE[wc.sample]),
+        bed = lambda wc: config["variable_bins"][str(wc.window)],
+        excl = "log/exclude_file"
+    output:
+        counts = "counts/{sample}/{window}_variable.txt.gz",
+        info   = "counts/{sample}/{window}_variable.info"
+    log:
+        "log/{sample}/mosaic_count_variable.{window}.txt"
+    params:
+        mc_command = config["mosaicatcher"]
+    shell:
+        """
+        echo "NOTE: Exclude file not used in variable-width bins"
+        {params.mc_command} count \
+            --verbose \
+            -o {output.counts} \
+            -i {output.info} \
+            -b {input.bed} \
+            {input.bam} \
+        > {log} 2>&1
+        """
+
 
 ################################################################################
 # Segmentation                                                                 #