diff --git a/generate-indexes/src/main/scala/nl/lumc/sasc/biopet/pipelines/generateindexes/GenerateIndexes.scala b/generate-indexes/src/main/scala/nl/lumc/sasc/biopet/pipelines/generateindexes/GenerateIndexes.scala index 1f39db6b2079bb8b0d6f2c51ddce08ab6d5fafd6..99f2ea834ad882f764af51716d19edfe000b38ef 100644 --- a/generate-indexes/src/main/scala/nl/lumc/sasc/biopet/pipelines/generateindexes/GenerateIndexes.scala +++ b/generate-indexes/src/main/scala/nl/lumc/sasc/biopet/pipelines/generateindexes/GenerateIndexes.scala @@ -15,13 +15,13 @@ */ package nl.lumc.sasc.biopet.pipelines.generateindexes -import java.io.{File, PrintWriter} +import java.io.{ File, PrintWriter } import java.util import nl.lumc.sasc.biopet.core.extensions.Md5sum -import nl.lumc.sasc.biopet.core.{BiopetQScript, PipelineCommand} +import nl.lumc.sasc.biopet.core.{ BiopetQScript, PipelineCommand } import nl.lumc.sasc.biopet.extensions._ -import nl.lumc.sasc.biopet.extensions.bowtie.{Bowtie2Build, BowtieBuild} +import nl.lumc.sasc.biopet.extensions.bowtie.{ Bowtie2Build, BowtieBuild } import nl.lumc.sasc.biopet.extensions.bwa.BwaIndex import nl.lumc.sasc.biopet.extensions.gatk.CombineVariants import nl.lumc.sasc.biopet.extensions.gmap.GmapBuild @@ -61,9 +61,9 @@ class GenerateIndexes(val root: Configurable) extends QScript with BiopetQScript val genomeConfig = ConfigUtils.any2map(c) val fastaUris = genomeConfig.getOrElse("fasta_uri", throw new IllegalArgumentException(s"No fasta_uri found for $speciesName - $genomeName")) match { - case a: Traversable[_] => a.map(_.toString).toArray + case a: Traversable[_] => a.map(_.toString).toArray case a: util.ArrayList[_] => a.map(_.toString).toArray - case a => Array(a.toString) + case a => Array(a.toString) } val genomeDir = new File(speciesDir, genomeName) @@ -197,17 +197,20 @@ class GenerateIndexes(val root: Configurable) extends QScript with BiopetQScript } val gtfFile: Option[File] = genomeConfig.get("gtf_uri").map { gtfUri => + val outputFile = new File(annotationDir, new File(gtfUri.toString).getName.stripSuffix(".gz")) val curl = new Curl(this) curl.url = gtfUri.toString - curl.output = new File(annotationDir, new File(curl.url).getName) - add(curl) + if (gtfUri.toString.endsWith(".gz")) add(curl | Zcat(this) > outputFile) + else add(curl > outputFile) outputConfig += "annotation_gtf" -> curl.output - curl.output + outputFile } val refFlatFile: Option[File] = gtfFile.map { gtf => val refFlat = new File(gtf + ".refFlat") //TODO: gtf to refFlat conversion + + outputConfig += "ribosome_refflat" -> refFlat refFlat }