Commit cb7a051c authored by Peter van 't Hof's avatar Peter van 't Hof
Browse files

Merge branch 'release-0.7.0' into 'master'

Release 0.7.0



See merge request !449
parents 23c1ccea bf548a42
/**
* Biopet is built on top of GATK Queue for building bioinformatic
* pipelines. It is mainly intended to support LUMC SHARK cluster which is running
* SGE. But other types of HPC that are supported by GATK Queue (such as PBS)
* should also be able to execute Biopet tools and pipelines.
*
* Copyright 2014 Sequencing Analysis Support Core - Leiden University Medical Center
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
package nl.lumc.sasc.biopet.extensions
import java.io.File
import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction
import nl.lumc.sasc.biopet.utils.config.Configurable
import org.broadinstitute.gatk.utils.commandline.{ Input, Output }
/**
* Created by pjvan_thof on 17-5-16.
*/
class GtfToGenePred(val root: Configurable) extends BiopetCommandLineFunction {
executable = config("exe", default = "gtfToGenePred", freeVar = false)
@Input
var inputGtfs: List[File] = Nil
@Output
var outputGenePred: File = _
@Output
var infoOut: Option[File] = None
var genePredExt: Boolean = config("gene _pred _ext", default = false)
var allErrors: Boolean = config("all_errors", default = false)
var impliedStopAfterCds: Boolean = config("implied_stop_after_cds", default = false)
var simple: Boolean = config("simple", default = false)
var geneNameAsName2: Boolean = config("gene _name_as_name2", default = false)
def cmdLine = executable +
conditional(genePredExt, "-genePredExt") +
conditional(allErrors, "-allErrors") +
optional("-infoOut", infoOut) +
conditional(allErrors, "-allErrors") +
conditional(impliedStopAfterCds, "-impliedStopAfterCds") +
conditional(simple, "-simple") +
conditional(geneNameAsName2, "-geneNameAsName2") +
repeat(inputGtfs) +
(if (outputAsStsout) required("/dev/stdout") else required(outputGenePred))
}
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......@@ -33,7 +32,7 @@ class Pysvtools(val root: Configurable) extends BiopetCommandLineFunction {
@Argument(doc = "Set flanking amount")
var flanking: Option[Int] = config("flanking")
var exclusionRegions: List[File] = config("exclusion_regions")
var exclusionRegions: List[File] = config("exclusion_regions", default = Nil)
var translocationsOnly: Boolean = config("translocations_only", default = false)
@Output(doc = "Unzipped file", required = true)
......@@ -64,7 +63,7 @@ class Pysvtools(val root: Configurable) extends BiopetCommandLineFunction {
/** return commandline to execute */
def cmdLine = required(executable) +
repeat("-c", input) +
repeat("-c", exclusionRegions) +
optional("-f", flanking) +
"-i " + repeat(input) +
"-o " + required(tsvoutput) +
......
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......@@ -49,6 +48,9 @@ class RunGubbins(val root: Configurable) extends BiopetCommandLineFunction {
var verbose: Boolean = config("verbose", default = false)
var noCleanup: Boolean = config("no_cleanup", default = false)
@Output
var outputFiles: List[File] = Nil
/** Set correct output files */
override def beforeGraph(): Unit = {
super.beforeGraph()
......
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......
/**
* Biopet is built on top of GATK Queue for building bioinformatic
* pipelines. It is mainly intended to support LUMC SHARK cluster which is running
* SGE. But other types of HPC that are supported by GATK Queue (such as PBS)
* should also be able to execute Biopet tools and pipelines.
*
* Copyright 2014 Sequencing Analysis Support Core - Leiden University Medical Center
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
package nl.lumc.sasc.biopet.extensions
import java.io.File
import nl.lumc.sasc.biopet.core.{ Version, Reference, BiopetCommandLineFunction }
import nl.lumc.sasc.biopet.utils.config.Configurable
import org.broadinstitute.gatk.utils.commandline.{ Output, Input }
import scala.util.matching.Regex
/**
* Created by pjvan_thof on 3/25/16.
*/
class Snptest(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version {
@Input(required = true)
var inputGenotypes: List[File] = Nil
@Input(required = true)
var inputSampleFiles: List[File] = Nil
@Output(required = false)
var logFile: Option[File] = None
@Output(required = false)
var outputFile: Option[File] = None
@Output(required = false)
var outputDatabaseFile: Option[File] = None
var assumeChromosome: Option[String] = config("assume_chromosome")
var genotypeField: Option[String] = config("genotype_field")
var genotypeProbabilityScale: Option[String] = config("genotype_probability_scale")
var haploidGenotypeCoding: Option[String] = config("haploid_genotype_coding")
var missingCode: Option[String] = config("missing_code")
var totalProbLimit: Option[Double] = config("total_prob_limit")
var tableName: Option[String] = config("table_name")
var useLongColumnNamingScheme: Boolean = config("use_long_column_naming_scheme", default = false)
var excludeSamples: List[String] = config("exclude_samples", default = Nil)
@Input(required = false)
val excludeSnp: Option[File] = config("exclude_snp")
var missThresh: Option[Double] = config("miss_thresh")
var baselinePhenotype: Option[String] = config("baseline_phenotype")
var bayesian: List[String] = config("bayesian", default = Nil)
var callThresh: Option[Double] = config("call_thresh")
var frequentist: List[String] = config("frequentist", default = Nil)
var fullParameterEstimates: Boolean = config("full_parameter_estimates", default = false)
var method: Option[String] = config("method")
var pheno: Option[String] = config("pheno")
var summaryStatsOnly: Boolean = config("summary_stats_only", default = false)
var covAll: Boolean = config("cov_all", default = false)
var covAllContinuous: Boolean = config("cov_all_continuous", default = false)
var covAllDiscrete: Boolean = config("cov_all_discrete", default = false)
var covNames: List[String] = config("cov_names", default = Nil)
var sexColumn: Option[String] = config("sex_column")
var stratifyOn: Option[String] = config("stratify_on")
var conditionOn: List[String] = config("condition_on", default = Nil)
var priorAdd: List[String] = config("prior_add", default = Nil)
var priorCov: List[String] = config("prior_cov", default = Nil)
var priorDom: List[String] = config("prior_dom", default = Nil)
var priorGen: List[String] = config("prior_gen", default = Nil)
var priorHet: List[String] = config("prior_het", default = Nil)
var priorRec: List[String] = config("prior_rec", default = Nil)
var tDf: Option[String] = config("t_df")
var tPrior: Boolean = config("t_prior", default = false)
var priorMqtQ: Option[String] = config("prior_mqt_Q")
var priorQtVb: Option[String] = config("prior_qt_V_b")
var priorQtVq: Option[String] = config("prior_qt_V_q")
var priorQtA: Option[String] = config("prior_qt_a")
var priorQtB: Option[String] = config("prior_qt_b")
var priorQtMeanB: Option[String] = config("prior_qt_mean_b")
var priorQtMeanQ: Option[String] = config("prior_qt_mean_q")
var meanBf: List[String] = config("mean_bf", default = Nil)
var analysisDescription: Option[String] = config("analysis_description")
var chunk: Option[Int] = config("chunk")
var debug: Boolean = config("debug", default = false)
var hwe: Boolean = config("hwe", default = false)
var lowerSampleLimit: Option[Int] = config("lower_sample_limit")
var overlap: Boolean = config("overlap", default = false)
var printids: Boolean = config("printids", default = false)
var quantileNormalisePhenotypes: Boolean = config("quantile_normalise_phenotypes", default = false)
var range: List[String] = config("range", default = Nil)
var renorm: Boolean = config("renorm", default = false)
var snpid: List[String] = config("snpid", default = Nil)
var useRawCovariates: Boolean = config("use_raw_covariates", default = false)
var useRawPhenotypes: Boolean = config("use_raw_phenotypes", default = false)
var noClobber: Boolean = config("no_clobber", default = false)
executable = config("exe", default = "snptest")
def versionCommand: String = executable + " -help"
def versionRegex: Regex = "Welcome to SNPTEST (.*)".r
override def beforeGraph(): Unit = {
super.beforeGraph()
require(inputGenotypes.length == inputSampleFiles.length)
}
def cmdLine: String = {
val data = inputGenotypes.zip(inputSampleFiles).flatMap(x => List(x._1, x._2))
required(executable) +
optional("-assume_chromosome", assumeChromosome) +
multiArg("-data", data, groupSize = 2) +
optional("-genotype_field", genotypeField) +
optional("-genotype_probability_scale", genotypeProbabilityScale) +
optional("-haploid_genotype_coding", haploidGenotypeCoding) +
optional("-missing_code", missingCode) +
optional("-total_prob_limit", totalProbLimit) +
optional("-log", logFile) +
optional("-o", outputFile) +
optional("-odb", outputDatabaseFile) +
optional("-table_name", tableName) +
conditional(useLongColumnNamingScheme, "-use_long_column_naming_scheme") +
multiArg("-exclude_samples", excludeSamples) +
optional("-exclude_snp", excludeSnp) +
optional("-miss_thresh", missThresh) +
optional("-baseline_phenotype", baselinePhenotype) +
multiArg("-bayesian", bayesian) +
optional("-call_thresh", callThresh) +
multiArg("-frequentist", frequentist) +
conditional(fullParameterEstimates, "-full_parameter_estimates") +
optional("-method", method) +
optional("-pheno", pheno) +
conditional(summaryStatsOnly, "-summary_stats_only") +
conditional(covAll, "-cov_all") +
conditional(covAllContinuous, "-cov_all_continuous") +
conditional(covAllDiscrete, "-cov_all_discrete") +
multiArg("-cov_names", covNames) +
optional("-sex_column", sexColumn) +
optional("-stratify_on", stratifyOn) +
multiArg("-condition_on", conditionOn) +
multiArg("-prior_add", priorAdd, groupSize = 4, maxGroups = 1) +
multiArg("-prior_cov", priorCov, groupSize = 2, maxGroups = 1) +
multiArg("-prior_dom", priorDom, groupSize = 4, maxGroups = 1) +
multiArg("-prior_gen", priorGen, groupSize = 6, maxGroups = 1) +
multiArg("-prior_het", priorHet, groupSize = 4, maxGroups = 1) +
multiArg("-prior_rec", priorRec, groupSize = 4, maxGroups = 1) +
optional("-t_df", tDf) +
conditional(tPrior, "-t_prior") +
optional("-prior_mqt_Q", priorMqtQ) +
optional("-prior_qt_V_b", priorQtVb) +
optional("-prior_qt_V_q", priorQtVq) +
optional("-prior_qt_a", priorQtA) +
optional("-prior_qt_b", priorQtB) +
optional("-prior_qt_mean_b", priorQtMeanB) +
optional("-prior_qt_mean_q", priorQtMeanQ) +
multiArg("-mean_bf", meanBf, groupSize = 2, maxGroups = 1) +
optional("-analysis_description", analysisDescription) +
optional("-analysis_name", analysisName) +
optional("-chunk", chunk) +
conditional(debug, "-debug") +
conditional(hwe, "-hwe") +
optional("-lower_sample_limit", lowerSampleLimit) +
conditional(overlap, "-overlap") +
conditional(printids, "-printids") +
conditional(quantileNormalisePhenotypes, "quantile_normalise_phenotypes") +
multiArg("-range", range, groupSize = 2) +
conditional(renorm, "-renorm") +
multiArg("-snpid", snpid) +
conditional(useRawCovariates, "-use_raw_covariates") +
conditional(useRawPhenotypes, "-use_raw_phenotypes") +
conditional(noClobber, "-no_clobber")
}
}
......@@ -8,8 +8,7 @@
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project that are
* not part of GATK Queue is freely available for non-commercial use under an AGPL
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
......
/**
* Biopet is built on top of GATK Queue for building bioinformatic
* pipelines. It is mainly intended to support LUMC SHARK cluster which is running
* SGE. But other types of HPC that are supported by GATK Queue (such as PBS)
* should also be able to execute Biopet tools and pipelines.
*
* Copyright 2014 Sequencing Analysis Support Core - Leiden University Medical Center
*
* Contact us at: sasc@lumc.nl
*
* A dual licensing mode is applied. The source code within this project is freely available for non-commercial use under an AGPL
* license; For commercial users or users who do not want to follow the AGPL
* license, please contact us to obtain a separate license.
*/
package nl.lumc.sasc.biopet.extensions
import java.io.File
import nl.lumc.sasc.biopet.utils.config.Configurable
import nl.lumc.sasc.biopet.core.{ Version, BiopetCommandLineFunction, Reference }
import org.broadinstitute.gatk.utils.commandline.{ Argument, Input, Output }
/**
* Extension for STAR
*/
class Star(val root: Configurable) extends BiopetCommandLineFunction with Reference with Version {
@Input(doc = "The reference file for the bam files.", required = false)
var reference: File = null
@Input(doc = "Fastq file R1", required = false)
var R1: File = _
@Input(doc = "Fastq file R2", required = false)
var R2: File = _
@Output(doc = "Output SAM file", required = false)
var outputSam: File = _
@Output(doc = "Output tab file", required = false)
var outputTab: File = _
@Input(doc = "sjdbFileChrStartEnd file", required = false)
var sjdbFileChrStartEnd: List[File] = Nil
@Output(doc = "Output genome file", required = false)
var outputGenome: File = _
@Output(doc = "Output SA file", required = false)
var outputSA: File = _
@Output(doc = "Output SAindex file", required = false)
var outputSAindex: File = _
executable = config("exe", "STAR")
def versionCommand = executable + " --version"
def versionRegex = """(.*)""".r
@Argument(doc = "Output Directory")
var outputDir: File = _
var genomeDir: File = null
var runmode: String = _
var outFileNamePrefix: String = _
var runThreadN: Option[Int] = config("runthreadn")
var runDirPerm: Option[String] = config("rundirperm")
var runRNGseed: Option[Int] = config("runrngseed")
var genomeLoad: Option[String] = config("genomeload")
var genomeFastaFiles: Option[String] = config("genomefastafiles")
/** can be a list of strings **/
var genomeChrBinNbits: Option[Int] = config("genomechrbinnbits")
var genomeSAindexNbases: Option[Int] = config("genomesaindexnbases")
var genomeSAsparseD: Option[Int] = config("genomesasparsed")
@Input(required = false)
var sjdbGTFfile: Option[File] = config("sjdbgtfile")
var sjdbGTFchrPrefix: Option[String] = config("sjdbgtfchrprefix")
var sjdbGTFfeatureExon: Option[String] = config("sjdbgtffeatureexon")
var sjdbGTFtagExonParentTranscript: Option[String] = config("sjdbgtftagexonparenttranscript")
var sjdbGTFtagExonParentGene: Option[String] = config("sjdbgtftagexonparentgene")
var sjdbOverhang: Option[Int] = config("sjdboverhang")
var sjdbScore: Option[Int] = config("sjdbscore")
var sjdbInsertSave: Option[String] = config("sjdbinsertsave")
var readFilesCommand: Option[String] = config("readfilescommand")
var readMapNumber: Option[Int] = config("readmapnumber")
var readMatesLengthsIn: Option[String] = config("readmateslengthsin")
var readNameSeparator: Option[String] = config("readnameseparator")
var clip3pNbases: Option[Int] = config("clip3pnbases")
var clip5pNbases: Option[Int] = config("clip5pnbases")
var clip3pAdapterSeq: Option[String] = config("clip3adapterseq")
var clip3pAdapterMMp: Option[String] = config("clip3adaptermmp")
var clip3pAfterAdapterNbases: Option[Int] = config("clip3afteradapternbases")
var limitGenomeGenerateRAM: Option[Int] = config("limitgenomegenerateram")
var limitIObufferSize: Option[Int] = config("limitiobuffersize")
var limitOutSAMoneReadBytes: Option[Int] = config("limitoutsamonereadbytes")
var limitOutSJoneRead: Option[Int] = config("limitoutsjoneread")
var limitOutSJcollapsed: Option[Int] = config("limitoutsjcollapsed")
var limitBAMsortRAM: Option[Int] = config("limitbamsortram")
var limitSjdbInsertNsj: Option[Int] = config("limitsjdbinsertnsj")
var outTmpDir: Option[String] = config("outtmpdir")
var outStd: Option[String] = config("outstd")
var outReadsUnmapped: Option[String] = config("outreadsunmapped")
var outQSconversionAdd: Option[Int] = config("outqsconversionadd")
var outMultimapperOrder: Option[String] = config("outmultimapperorder")
var outSAMtype: Option[String] = config("outsamtype")
var outSAMmode: Option[String] = config("outsammode")
var outSAMstrandField: Option[String] = config("outsamstrandfield")
var outSAMattributes: Option[String] = config("outsamattributes")
var outSAMattrIHstart: Option[Int] = config("outsamattrihstart")
var outSAMunmapped: Option[String] = config("outsamunmapped")
var outSAMorder: Option[String] = config("outsamorder")
var outSAMprimaryFlag: Option[String] = config("outsamprimaryflag")
var outSAMreadID: Option[String] = config("outsamreadid")
var outSAMmapqUnique: Option[Int] = config("outsammapqunique")
var outSAMflagOR: Option[Int] = config("outsamflagor")
var outSAMflagAND: Option[Int] = config("outsamflagand")
var outSAMattrRGline: Option[String] = config("outsamattrrgline")
var outSAMheaderHD: Option[String] = config("outsamheaderhd")
var outSAMheaderPG: Option[String] = config("outsamheaderpg")
var outSAMheaderCommentFile: Option[String] = config("outsamheadercommentfile")
var outSAMfilter: Option[String] = config("outsamfilter")
var outSAMmultNmax: Option[Int] = config("outsammultnmax")
var outBAMcompression: Option[Int] = config("outbamcompression")
var outBAMsortingThreadN: Option[Int] = config("outbamsortingthreadn")
var bamRemoveDuplicatesType: Option[String] = config("bamremoveduplicatestype")
var bamRemoveDuplicatesMate2basesN: Option[Int] = config("bamremoveduplicatesmate2basesn")
var outWigType: Option[String] = config("outwigtype")
var outWigStrand: Option[String] = config("outwigstrand")
var outWigReferencesPrefix: Option[String] = config("outwigreferencesprefix")
var outWigNorm: Option[String] = config("outwignorm")
var outFilterType: Option[String] = config("outfiltertype")
var outFilterMultimapScoreRange: Option[Int] = config("outfiltermultimapscorerange")
var outFilterMultimapNmax: Option[Int] = config("outfiltermultimapnmax")
var outFilterMismatchNmax: Option[Int] = config("outfiltermismatchnmax")
var outFilterMismatchNoverLmax: Option[Int] = config("outfiltermismatchnoverlmax")
var outFilterMismatchNoverReadLmax: Option[Int] = config("outfiltermismatchnoverreadlmax")
var outFilterScoreMin: Option[Int] = config("outfilterscoremin")
var outFilterScoreMinOverLread: Option[Float] = config("outfilterscoreminoverlread")
var outFilterMatchNmin: Option[Int] = config("outfiltermatchnmin")
var outFilterMatchNminOverLread: Option[Int] = config("outfiltermatchnminoverload")
var outFilterIntronMotifs: Option[String] = config("outfilterintronmotifs")
var outSJfilterReads: Option[String] = config("outsjfilterreads")
var outSJfilterOverhangMin: List[String] = config("outsjfilteroverhandmin", default = Nil)
var outSJfilterCountUniqueMin: List[String] = config("outsjfiltercountuniquemin", default = Nil)
var outSJfilterCountTotalMin: List[String] = config("outsjfiltercounttotalmin", default = Nil)
var outSJfilterDistToOtherSJmin: List[String] = config("outsjfilterdisttoothersjmin", default = Nil)
var outSJfilterIntronMaxVsReadN: List[String] = config("outsjfilterintronmaxvsreadn", default = Nil)
var scoreGap: Option[Int] = config("scoregap")
var scoreGapNoncan: Option[Int] = config("scoregapnoncan")
var scoreGapGCAG: Option[Int] = config("scoregapgcag")
var scoreGapATAC: Option[Int] = config("scoregapatac")
var scoreGenomicLengthLog2scale: Option[Float] = config("scoregenomiclengthlog2scale")
var scoreDelOpen: Option[Int] = config("scoredelopen")
var scoreDelBase: Option[Int] = config("scoredelbase")
var scoreInsOpen: Option[Int] = config("scoreinsopen")
var scoreInsBase: Option[Int] = config("scoreinsbase")
var scoreStitchSJshift: Option[Int] = config("scorestitchsjshift")
var seedSearchStartLmax: Option[Int] = config("seedsearchstartlmax")
var seedSearchStartLmaxOverLread: Option[Float] = config("seedsearchstartlmaxoverlread")
var seedSearchLmax: Option[Int] = config("seedsearchlmax")
var seedMultimapNmax: Option[Int] = config("seedmultimapnmax")
var seedPerReadNmax: Option[Int] = config("seedperreadnmax")