diff --git a/public/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala b/public/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala
index 575b20b3e9fe58ab5c1caca50aeb1308b6066bdf..30d1546691e7562de417e8024b9ad6fdf99b4d0c 100644
--- a/public/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala
+++ b/public/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala
@@ -28,7 +28,7 @@ import org.scalatest.Matchers
 import org.scalatest.testng.TestNGSuite
 import org.testng.annotations.{ AfterClass, DataProvider, Test }
 
-class GentrapTest extends TestNGSuite with Matchers {
+abstract class GentrapTestAbstract(val expressionMeasure: String) extends TestNGSuite with Matchers {
 
   def initPipeline(map: Map[String, Any]): Gentrap = {
     new Gentrap() {
@@ -70,7 +70,7 @@ class GentrapTest extends TestNGSuite with Matchers {
       .toMap
     )
 
-  private lazy val validExpressionMeasures = Set(
+   val validExpressionMeasures = Set(
     "fragments_per_gene", "fragments_per_exon", "bases_per_gene", "bases_per_exon",
     "cufflinks_strict", "cufflinks_guided", "cufflinks_blind")
 
@@ -96,7 +96,7 @@ class GentrapTest extends TestNGSuite with Matchers {
 
     for {
       sampleConfig <- sampleConfigs.toArray
-      expressionMeasure <- expressionMeasures
+      //expressionMeasure <- expressionMeasures
       strandProtocol <- strandProtocols
     } yield Array(sampleConfig, List(expressionMeasure), strandProtocol)
   }
@@ -175,6 +175,14 @@ class GentrapTest extends TestNGSuite with Matchers {
   }
 }
 
+class GentrapFragmentsPerGeneTest extends GentrapTestAbstract("fragments_per_gene")
+class GentrapFragmentsPerExonTest extends GentrapTestAbstract("fragments_per_exon")
+class GentrapBasesPerGeneTest extends GentrapTestAbstract("bases_per_gene")
+class GentrapBasesPerExonTest extends GentrapTestAbstract("bases_per_exon")
+class GentrapCufflinksStrictTest extends GentrapTestAbstract("cufflinks_strict")
+class GentrapCufflinksGuidedTest extends GentrapTestAbstract("cufflinks_guided")
+class GentrapCufflinksBlindTest extends GentrapTestAbstract("cufflinks_blind")
+
 object GentrapTest {
   val outputDir = Files.createTempDir()
   new File(outputDir, "input").mkdirs()
diff --git a/public/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala b/public/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala
index 4d051300a0ad5aed1946aa8a367c26c1fba15165..2ef18c8f67e1ea784f8aa6d42d5daa688a4675a6 100644
--- a/public/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala
+++ b/public/mapping/src/main/scala/nl/lumc/sasc/biopet/pipelines/mapping/Mapping.scala
@@ -141,8 +141,8 @@ class Mapping(val root: Configurable) extends QScript with SummaryQScript with S
 
     paired = input_R2.isDefined
 
-    if (readgroupId == null) readgroupId = sampleId.get + "-" + libId.get
-    else if (readgroupId == null) readgroupId = config("readgroup_id")
+    if (readgroupId == null)
+      readgroupId = config("readgroup_id", default = sampleId.get + "-" + libId.get)
 
     if (outputName == null) outputName = readgroupId
 
diff --git a/public/mapping/src/test/scala/nl/lumc/sasc/biopet/pipelines/mapping/MappingTest.scala b/public/mapping/src/test/scala/nl/lumc/sasc/biopet/pipelines/mapping/MappingTest.scala
index 9b6c87a20e12be17d15adb529cf3c5f85b02c88f..c9a601acfb5d7994a0e1ea48b3485972403476f3 100644
--- a/public/mapping/src/test/scala/nl/lumc/sasc/biopet/pipelines/mapping/MappingTest.scala
+++ b/public/mapping/src/test/scala/nl/lumc/sasc/biopet/pipelines/mapping/MappingTest.scala
@@ -15,28 +15,24 @@
  */
 package nl.lumc.sasc.biopet.pipelines.mapping
 
-import java.io.{ File, FileOutputStream }
+import java.io.{File, FileOutputStream}
 
 import com.google.common.io.Files
-import nl.lumc.sasc.biopet.utils.config.Config
-import nl.lumc.sasc.biopet.extensions._
-import nl.lumc.sasc.biopet.extensions.bwa.{ BwaAln, BwaMem, BwaSampe, BwaSamse }
-import nl.lumc.sasc.biopet.extensions.picard.{ AddOrReplaceReadGroups, MarkDuplicates, MergeSamFiles, SortSam }
 import nl.lumc.sasc.biopet.pipelines.flexiprep.Fastqc
-import nl.lumc.sasc.biopet.extensions.tools.{ FastqSync, SeqStat }
 import nl.lumc.sasc.biopet.utils.ConfigUtils
+import nl.lumc.sasc.biopet.utils.config.Config
 import org.apache.commons.io.FileUtils
 import org.broadinstitute.gatk.queue.QSettings
 import org.scalatest.Matchers
 import org.scalatest.testng.TestNGSuite
-import org.testng.annotations.{ AfterClass, DataProvider, Test }
+import org.testng.annotations.{AfterClass, DataProvider, Test}
 
 /**
  * Test class for [[Mapping]]
  *
  * Created by pjvan_thof on 2/12/15.
  */
-class MappingTest extends TestNGSuite with Matchers {
+abstract class AbstractTestMapping(val aligner: String) extends TestNGSuite with Matchers {
   def initPipeline(map: Map[String, Any]): Mapping = {
     new Mapping {
       override def configName = "mapping"
@@ -48,15 +44,13 @@ class MappingTest extends TestNGSuite with Matchers {
 
   @DataProvider(name = "mappingOptions")
   def mappingOptions = {
-    val aligners = Array("bwa-mem", "bwa-aln", "star", "star-2pass", "bowtie", "stampy", "gsnap", "tophat")
     val paired = Array(true, false)
-    val chunks = Array(1, 5, 10, 100)
+    val chunks = Array(1, 5)
     val skipMarkDuplicates = Array(true, false)
     val skipFlexipreps = Array(true, false)
     val zipped = Array(true, false)
 
     for (
-      aligner <- aligners;
       pair <- paired;
       chunk <- chunks;
       skipMarkDuplicate <- skipMarkDuplicates;
@@ -99,7 +93,17 @@ class MappingTest extends TestNGSuite with Matchers {
   }
 }
 
+class MappingBwaMemTest extends AbstractTestMapping("bwa-mem")
+class MappingBwaAlnTest extends AbstractTestMapping("bwa-aln")
+class MappingStarTest extends AbstractTestMapping("star")
+class MappingStar2PassTest extends AbstractTestMapping("star-2pass")
+class MappingBowtieTest extends AbstractTestMapping("bowtie")
+class MappingStampyTest extends AbstractTestMapping("stampy")
+class MappingGsnapTest extends AbstractTestMapping("gsnap")
+class MappingTophatTest extends AbstractTestMapping("tophat")
+
 object MappingTest {
+
   val outputDir = Files.createTempDir()
   new File(outputDir, "input").mkdirs()