Skip to content
Snippets Groups Projects
Commit 7188f415 authored by Wai Yi Leung's avatar Wai Yi Leung
Browse files

Merge branch 'patch-flexiprep_fastqc' into 'develop'

Patch flexiprep fastqc

Found another bug because of incorrect type usage, which makes the pipeline output paths like `/my/path/Some(file.txt)` when it should be `/my/path/file.txt`. This pull request should fix it.

See merge request !91
parents 901811a4 db7d3643
No related branches found
No related tags found
No related merge requests found
......@@ -31,10 +31,10 @@ class Fastqc(val root: Configurable) extends BiopetCommandLineFunction {
var adapters: Option[File] = None
@Input(doc = "Fastq file", shortName = "FQ")
var fastqfile: File = _
var fastqfile: File = null
@Output(doc = "Output", shortName = "out")
var output: File = _
var output: File = null
executable = config("exe", default = "fastqc")
var java_exe: String = config("exe", default = "java", submodule = "java", freeVar = false)
......@@ -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 _ => None
}
config("contaminants", default = defaultContams)
case wrapped @ Some(_) => wrapped
defaultAdapters.collect { case adp => config("adapters", default = adp) }
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment