Skip to content
Snippets Groups Projects
Commit 331062ce authored by bow's avatar bow
Browse files

Merge branch 'feature-raxml_extension' into 'develop'

Feature raxml extension

See #80

See merge request !31
parents 14790fa3 74f96c80
No related branches found
No related tags found
No related merge requests found
package nl.lumc.sasc.biopet.extensions
import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction
import nl.lumc.sasc.biopet.core.config.Configurable
import org.broadinstitute.gatk.utils.commandline.{ Input, Output, Argument }
import java.io.File
class Raxml(val root: Configurable) extends BiopetCommandLineFunction {
override val defaultThreads = 4
override def versionCommand = executable + " -v"
override val versionRegex = """.*version \w* .*""".r
@Input(doc = "Input phy/fasta file", required = true)
var input: File = _
@Argument(doc = "Model", required = true)
var m: String = _
@Argument(doc = "Parsimony seed", required = false)
var p: Option[Int] = config("p")
@Argument(doc = "Bootstrapping seed", required = false)
var b: Option[Int] = config("b")
@Argument(doc = "Number of runs", required = false)
var N: Option[Int] = config("N")
@Argument(doc = "Name of output files", required = true)
var n: String = _
@Argument(doc = "Name of output files", required = true)
var f: String = "d"
@Argument(doc = "Output directory", required = false)
var w: String = jobLocalDir.getAbsolutePath
@Input(required = false)
var t: File = _
@Input(required = false)
var z: File = _
@Output(doc = "Output files", required = false)
private var out: List[File] = Nil
executable = config("exe", default = "raxmlHPC")
override def afterGraph {
super.afterGraph
f match {
case "d" if b.isEmpty => out +:= getBestTree
case "d" if b.isDefined => out +:= getBootstrap
}
}
def getBestTree: File = new File(w + File.separator + "RAxML_bestTree." + n)
def getBootstrap: File = new File(w + File.separator + "RAxML_bootstrap." + n)
def cmdLine = required(executable) +
required("-m", m) +
required("-s", input) +
optional("-p", p) +
optional("-b", b) +
optional("-N", N) +
optional("-w", w) +
optional("-f", f) +
optional("-t", t) +
optional("-z", z) +
(if (threads > 1) required("-T", threads) else "")
}
\ No newline at end of file
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