From 3ef511a0f0036d7d0cbe13ce3f59e97119aedea7 Mon Sep 17 00:00:00 2001 From: Peter van 't Hof <p.j.van_t_hof@lumc.nl> Date: Tue, 21 Jun 2016 11:04:23 +0200 Subject: [PATCH] Added testing for aligner in gentrap --- .../pipelines/gentrap/GentrapTest.scala | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala b/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala index a981f4e48..34e093691 100644 --- a/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala +++ b/gentrap/src/test/scala/nl/lumc/sasc/biopet/pipelines/gentrap/GentrapTest.scala @@ -14,19 +14,21 @@ */ package nl.lumc.sasc.biopet.pipelines.gentrap -import java.io.{ File, FileOutputStream } +import java.io.{File, FileOutputStream} import com.google.common.io.Files import nl.lumc.sasc.biopet.extensions._ +import nl.lumc.sasc.biopet.extensions.gmap.Gsnap +import nl.lumc.sasc.biopet.extensions.hisat.Hisat2 import nl.lumc.sasc.biopet.extensions.tools.BaseCounter import nl.lumc.sasc.biopet.utils.ConfigUtils import nl.lumc.sasc.biopet.utils.config.Config import org.broadinstitute.gatk.queue.QSettings import org.scalatest.Matchers import org.scalatest.testng.TestNGSuite -import org.testng.annotations.{ DataProvider, Test } +import org.testng.annotations.{DataProvider, Test} -abstract class GentrapTestAbstract(val expressionMeasure: String) extends TestNGSuite with Matchers { +abstract class GentrapTestAbstract(val expressionMeasure: String, val aligner: Option[String]) extends TestNGSuite with Matchers { def initPipeline(map: Map[String, Any]): Gentrap = { new Gentrap() { @@ -105,10 +107,9 @@ abstract class GentrapTestAbstract(val expressionMeasure: String) extends TestNG val settings = Map( "output_dir" -> GentrapTest.outputDir, "gsnap" -> Map("db" -> "test", "dir" -> "test"), - "aligner" -> "gsnap", "expression_measures" -> expMeasures, "strand_protocol" -> strandProtocol - ) + ) ++ aligner.map("aligner" -> _) val config = ConfigUtils.mergeMaps(settings ++ sampleConfig, Map(GentrapTest.executables.toSeq: _*)) val gentrap: Gentrap = initPipeline(config) @@ -139,16 +140,29 @@ abstract class GentrapTestAbstract(val expressionMeasure: String) extends TestNG assert(gentrap.functions.exists(_.isInstanceOf[Cufflinks])) assert(gentrap.functions.exists(_.isInstanceOf[Ln])) } + + val classMap = Map( + "gsnap" -> classOf[Gsnap], + "tophat" -> classOf[Tophat], + "star" -> classOf[Star], + "star-2pass" -> classOf[Star], + "hisat2" -> classOf[Hisat2] + ) + + val alignerClass = classMap.get(aligner.getOrElse("gsnap")) + + alignerClass.foreach(c => assert(gentrap.functions.exists(c.isInstance(_)))) + classMap.values.filterNot(Some(_) == alignerClass).foreach(x => assert(!gentrap.functions.exists(x.isInstance(_)))) } } -class GentrapFragmentsPerGeneTest extends GentrapTestAbstract("fragments_per_gene") -//class GentrapFragmentsPerExonTest extends GentrapTestAbstract("fragments_per_exon") -class GentrapBaseCountsTest extends GentrapTestAbstract("base_counts") -class GentrapCufflinksStrictTest extends GentrapTestAbstract("cufflinks_strict") -class GentrapCufflinksGuidedTest extends GentrapTestAbstract("cufflinks_guided") -class GentrapCufflinksBlindTest extends GentrapTestAbstract("cufflinks_blind") +class GentrapFragmentsPerGeneTest extends GentrapTestAbstract("fragments_per_gene", None) +//class GentrapFragmentsPerExonTest extends GentrapTestAbstract("fragments_per_exon", None) +class GentrapBaseCountsTest extends GentrapTestAbstract("base_counts", Some("gsnap")) +class GentrapCufflinksStrictTest extends GentrapTestAbstract("cufflinks_strict", None) +class GentrapCufflinksGuidedTest extends GentrapTestAbstract("cufflinks_guided", None) +class GentrapCufflinksBlindTest extends GentrapTestAbstract("cufflinks_blind", None) object GentrapTest { val outputDir = Files.createTempDir() -- GitLab