diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Bgzip.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Bgzip.scala
new file mode 100644
index 0000000000000000000000000000000000000000..2429702c83aa40193f25be6e6fe0f4b8b05fb62e
--- /dev/null
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Bgzip.scala
@@ -0,0 +1,40 @@
+/**
+ * Biopet is built on top of GATK Queue for building bioinformatic
+ * pipelines. It is mainly intended to support LUMC SHARK cluster which is running
+ * SGE. But other types of HPC that are supported by GATK Queue (such as PBS)
+ * should also be able to execute Biopet tools and pipelines.
+ *
+ * Copyright 2014 Sequencing Analysis Support Core - Leiden University Medical Center
+ *
+ * Contact us at: sasc@lumc.nl
+ *
+ * A dual licensing mode is applied. The source code within this project that are
+ * not part of GATK Queue is freely available for non-commercial use under an AGPL
+ * license; For commercial users or users who do not want to follow the AGPL
+ * license, please contact us to obtain a separate license.
+ */
+package nl.lumc.sasc.biopet.extensions
+
+import java.io.File
+
+import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction
+import nl.lumc.sasc.biopet.core.config.Configurable
+import org.broadinstitute.gatk.utils.commandline.{ Input, Output }
+
+/** Wrapper for the bgzip command */
+class Bgzip(val root: Configurable) extends BiopetCommandLineFunction {
+
+  @Input(doc = "Input files", required = true)
+  var input: List[File] = Nil
+
+  @Output(doc = "Compressed output file", required = true)
+  var output: File = null
+
+  var f: Boolean = config("f", default = false)
+  executable = config("exe", default = "bgzip")
+
+  def cmdLine = required(executable) +
+    conditional(f, "-f") +
+    " -c " + repeat(input) +
+    " > " + required(output)
+}