From 27db07f0d450c67e35f84bba6d17466c84da5672 Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Mon, 24 Aug 2015 18:37:12 +0200
Subject: [PATCH] Added auto detect on large indexes for bowtie

---
 .../main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala   | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala
index 9acf9a1dd..088123a76 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/Bowtie.scala
@@ -58,16 +58,21 @@ class Bowtie(val root: Configurable) extends BiopetCommandLineFunction with Refe
   var strata: Boolean = config("strata", default = false)
   var maqerr: Option[Int] = config("maqerr")
   var maxins: Option[Int] = config("maxins")
+  var largeIndex: Boolean = config("large-index", default = false)
 
   override def beforeGraph() {
     super.beforeGraph()
     if (reference == null) reference = referenceFasta()
+    val basename = reference.getName.stripSuffix(".fasta").stripSuffix(".fa")
+    if (reference.getParentFile.list().toList.filter(_.startsWith(basename)).exists(_.endsWith(".ebwtl")))
+      largeIndex = config("large-index", default = true)
   }
 
   /** return commandline to execute */
   def cmdLine = required(executable) +
     optional("--threads", threads) +
     conditional(sam, "--sam") +
+    conditional(largeIndex, "--large-index") +
     conditional(best, "--best") +
     conditional(strata, "--strata") +
     optional("--sam-RG", sam_RG) +
-- 
GitLab