diff --git a/shiva/src/test/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaVariantcallingTest.scala b/shiva/src/test/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaVariantcallingTest.scala index b7ac20b05e5d3225906d7b77d489a8f2e9a847f8..6541eb8437a6e382aade86fa35c32997c892e451 100644 --- a/shiva/src/test/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaVariantcallingTest.scala +++ b/shiva/src/test/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaVariantcallingTest.scala @@ -11,7 +11,7 @@ import com.google.common.io.Files import nl.lumc.sasc.biopet.core.BiopetPipe import nl.lumc.sasc.biopet.extensions.Freebayes import nl.lumc.sasc.biopet.extensions.bcftools.{BcftoolsCall, BcftoolsMerge} -import nl.lumc.sasc.biopet.extensions.gatk.{CombineVariants, HaplotypeCaller, UnifiedGenotyper} +import nl.lumc.sasc.biopet.extensions.gatk.{CombineVariants, GenotypeConcordance, HaplotypeCaller, UnifiedGenotyper} import nl.lumc.sasc.biopet.utils.config.Config import nl.lumc.sasc.biopet.extensions.tools.{MpileupToVcf, VcfFilter, VcfStats} import nl.lumc.sasc.biopet.extensions.vt.{VtDecompose, VtNormalize} @@ -48,6 +48,7 @@ trait ShivaVariantcallingTestTrait extends TestNGSuite with Matchers { def haplotypeCaller: Boolean = false def freebayes: Boolean = false def varscanCnsSinglesample: Boolean = false + def referenceVcf: Option[File] = None def normalize = false def decompose = false @@ -87,7 +88,7 @@ trait ShivaVariantcallingTestTrait extends TestNGSuite with Matchers { "variantcallers" -> callers.toList, "execute_vt_normalize" -> normalize, "execute_vt_decompose" -> decompose - ) + ) ++ referenceVcf.map("reference_vcf" -> _) val pipeline = initPipeline(map) pipeline.inputBams = (for (n <- 1 to bams) yield n.toString -> ShivaVariantcallingTest.inputTouch("bam_" + n + ".bam")).toMap @@ -116,6 +117,7 @@ trait ShivaVariantcallingTestTrait extends TestNGSuite with Matchers { pipeline.functions.count(_.isInstanceOf[VcfStats]) shouldBe (1 + callers.size) pipeline.functions.count(_.isInstanceOf[VtNormalize]) shouldBe (if (normalize) callers.size else 0) pipeline.functions.count(_.isInstanceOf[VtDecompose]) shouldBe (if (decompose) callers.size else 0) + pipeline.functions.count(_.isInstanceOf[GenotypeConcordance]) shouldBe (if (referenceVcf.isDefined) 1 else 0) } } } @@ -176,7 +178,10 @@ class ShivaVariantcallingNormalizeDecomposeTest extends ShivaVariantcallingTestT override def normalize = true override def decompose = true } - +class ShivaVariantcallingUReferenceVcfTest extends ShivaVariantcallingTestTrait { + override def unifiedGenotyper: Boolean = true + override def referenceVcf = Some(new File("ref.vcf")) +} object ShivaVariantcallingTest { val outputDir = Files.createTempDir()