diff --git a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/Gentrap.scala b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/Gentrap.scala
index 4ece0c105f3a8697a7744bd061dc4ad560367814..56e61a164cd2bc0106dc0c620d16f2eb73271f30 100644
--- a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/Gentrap.scala
+++ b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/Gentrap.scala
@@ -30,6 +30,7 @@ import nl.lumc.sasc.biopet.core.summary._
 import nl.lumc.sasc.biopet.extensions.{ HtseqCount, Ln }
 import nl.lumc.sasc.biopet.extensions.picard.{ CollectRnaSeqMetrics, SortSam, MergeSamFiles }
 import nl.lumc.sasc.biopet.extensions.samtools.SamtoolsView
+import nl.lumc.sasc.biopet.pipelines.bammetrics.BamMetrics
 import nl.lumc.sasc.biopet.pipelines.mapping.Mapping
 import nl.lumc.sasc.biopet.pipelines.gentrap.extensions.{ CustomVarScan, Pdflatex, RawBaseCounter }
 import nl.lumc.sasc.biopet.pipelines.gentrap.scripts.{ AggrBaseCount, PdfReportTemplateWriter, PlotHeatmap }
@@ -640,6 +641,16 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi
         job
       }
 
+    /** General metrics job, only when library > 1 */
+    private lazy val bamMetricsModule: Option[BamMetrics] = (libraries.size > 1)
+      .option {
+        val mod = new BamMetrics(qscript)
+        mod.inputBam = alnFile
+        mod.outputDir = new File(sampleDir, "metrics")
+        mod.sampleId = Option(sampleId)
+        mod
+      }
+
     /** Picard CollectRnaSeqMetrics job, only when library > 1 */
     private lazy val collectRnaSeqMetricsJob: Option[CollectRnaSeqMetrics] = (libraries.size > 1)
       .option {
@@ -701,6 +712,14 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi
         case Some(j)  => add(j); addSummarizable(j, "rna_metrics")
         case None     => ;
       }
+      bamMetricsModule match {
+        case Some(m)  =>
+          m.init()
+          m.biopetScript()
+          addAll(m.functions)
+          addSummaryQScript(m)
+        case None     => ;
+      }
       // add strand-specific jobs if defined
       alnPlusStrandJobs.foreach(_.addAllJobs())
       alnMinusStrandJobs.foreach(_.addAllJobs())