From 1db238641aa1385f709c597b382ed327f8994f82 Mon Sep 17 00:00:00 2001
From: bow <bow@bow.web.id>
Date: Mon, 9 Feb 2015 15:22:08 +0100
Subject: [PATCH] Fix bug caused by incorrect type usage

---
 .../lumc/sasc/biopet/extensions/Fastqc.scala  | 24 ++++++++++++++-----
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Fastqc.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Fastqc.scala
index 5994d5b66..5d8862e7c 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Fastqc.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Fastqc.scala
@@ -50,19 +50,31 @@ class Fastqc(val root: Configurable) extends BiopetCommandLineFunction {
 
   override def afterGraph {
     this.checkExecutable
+
+    val fastqcDir = executable.substring(0, executable.lastIndexOf("/"))
+
     contaminants = contaminants match {
+      // user-defined contaminants file take precedence
+      case userDefinedValue @ Some(_) => userDefinedValue
+      // otherwise, use default contaminants file (depending on FastQC version)
       case None =>
-        val fastqcDir = executable.substring(0, executable.lastIndexOf("/"))
         val defaultContams = getVersion match {
-          case "v0.11.2" => Option(new File(fastqcDir + "/Configuration/contaminant_list.txt"))
-          case _         => Option(new File(fastqcDir + "/Contaminants/contaminant_list.txt"))
+          case "v0.11.2" => new File(fastqcDir + "/Configuration/contaminant_list.txt")
+          case _         => new File(fastqcDir + "/Contaminants/contaminant_list.txt")
         }
+        config("contaminants", default = defaultContams)
+    }
+
+    adapters = adapters match {
+      // user-defined contaminants file take precedence
+      case userDefinedValue @ Some(_) => userDefinedValue
+      // otherwise, check if adapters are already present (depending on FastQC version)
+      case None =>
         val defaultAdapters = getVersion match {
-          case "v0.11.2" => Option(new File(fastqcDir + "/Configuration/adapter_list.txt"))
+          case "v0.11.2" => Some(new File(fastqcDir + "/Configuration/adapter_list.txt"))
           case _         => None
         }
-        config("contaminants", default = defaultContams)
-      case wrapped @ Some(_) => wrapped
+        defaultAdapters.collect { case adp => config("adapters", default = adp) }
     }
   }
 
-- 
GitLab