kkonganti@11: // Help text for bbmerge within CPIPES. kkonganti@11: kkonganti@11: def bbmergeHelp(params) { kkonganti@11: kkonganti@11: Map tool = [:] kkonganti@11: Map toolspecs = [:] kkonganti@11: tool.text = [:] kkonganti@11: tool.helpparams = [:] kkonganti@11: kkonganti@11: toolspecs = [ kkonganti@11: 'bbmerge_run': [ kkonganti@11: clihelp: 'Run BBMerge tool. Default: ' + kkonganti@11: (params.bbmerge_run ?: false), kkonganti@11: cliflag: null, kkonganti@11: clivalue: null kkonganti@11: ], kkonganti@11: 'bbmerge_reads': [ kkonganti@11: clihelp: 'Quit after this many read pairs (-1 means all) ' + kkonganti@11: "Default: ${params.bbmerge_reads}", kkonganti@11: cliflag: 'reads=', kkonganti@11: clivalue: (params.bbmerge_reads ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_adapters': [ kkonganti@11: clihelp: 'Absolute UNIX path pointing to the adapters file in ' + kkonganti@11: "FASTA format. Default: ${params.bbmerge_adapters}", kkonganti@11: cliflag: 'adapters=', kkonganti@11: clivalue: (params.bbmerge_adapters ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_ziplevel': [ kkonganti@11: clihelp: 'Set to 1 (lowest) through 9 (max) to change compression ' + kkonganti@11: "level; lower compression is faster. Default: ${params.bbmerge_ziplevel}", kkonganti@11: cliflag: 'ziplevel=', kkonganti@11: clivalue: (params.bbmerge_ziplevel ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_ordered': [ kkonganti@11: clihelp: 'Output reads in the same order as input. ' + kkonganti@11: "Default: ${params.bbmerge_ordered}", kkonganti@11: cliflag: 'ordered=', kkonganti@11: clivalue: (params.bbmerge_ordered ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_qtrim': [ kkonganti@11: clihelp: 'Trim read ends to remove bases with quality below --bbmerge_minq. ' + kkonganti@11: 'Trims BEFORE merging. Values: t (trim both ends), ' + kkonganti@11: 'f (neither end), r (right end only), l (left end only). ' + kkonganti@11: "Default: ${params.bbmerge_qtrim}", kkonganti@11: cliflag: 'qtrim=', kkonganti@11: clivalue: (params.bbmerge_qtrim ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_qtrim2': [ kkonganti@11: clihelp: 'May be specified instead of --bbmerge_qtrim to perform trimming ' + kkonganti@11: 'only if merging is unsuccesful. then retry merging. ' + kkonganti@11: "Default: ${params.bbmerge_qtrim2}", kkonganti@11: cliflag: 'qtrim2=', kkonganti@11: clivalue: (params.bbmerge_qtrim2 ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_trimq': [ kkonganti@11: clihelp: 'Trim quality threshold. This may be comma-delimited list (ascending) ' + kkonganti@11: "to try multiple values. Default: ${params.bbmerge_trimq}", kkonganti@11: cliflag: 'trimq=', kkonganti@11: clivalue: (params.bbmerge_trimq ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_minlength': [ kkonganti@11: clihelp: '(ml) Reads shorter than this after trimming, but before ' + kkonganti@11: 'merging, will be discarded. Pairs will be discarded only' + kkonganti@11: "if both are shorter. Default: ${params.bbmerge_minlength}", kkonganti@11: cliflag: 'minlength=', kkonganti@11: clivalue: (params.bbmerge_minlength ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_tbo': [ kkonganti@11: clihelp: '(trimbyoverlap). Trim overlapping reads to remove right ' + kkonganti@11: "most (3') non-overlaping portion instead of joining " + kkonganti@11: "Default: ${params.bbmerge_tbo}", kkonganti@11: cliflag: 'tbo=', kkonganti@11: clivalue: (params.bbmerge_tbo ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_minavgquality': [ kkonganti@11: clihelp: '(maq). Reads with average quality below this after trimming will ' + kkonganti@11: "not be attempted to merge. Default: ${params.bbmerge_minavgquality}", kkonganti@11: cliflag: 'minavgquality=', kkonganti@11: clivalue: (params.bbmerge_minavgquality ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_trimpolya': [ kkonganti@11: clihelp: 'Trim trailing poly-A tail from adapter output. Only affects ' + kkonganti@11: 'outadapter. This also trims poly-A followed by poly-G, which ' + kkonganti@11: "occurs on NextSeq. Default: ${params.bbmerge_trimpolya}", kkonganti@11: cliflag: 'trimpolya=', kkonganti@11: clivalue: (params.bbmerge_trimpolya ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_pfilter': [ kkonganti@11: clihelp: 'Ban improbable overlaps. Higher is more strict. 0 will ' + kkonganti@11: 'disable the filter; 1 will allow only perfect overlaps. ' + kkonganti@11: "Default: ${params.bbmerge_pfilter}", kkonganti@11: cliflag: 'pfilter=', kkonganti@11: clivalue: (params.bbmerge_pfilter ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_ouq': [ kkonganti@11: clihelp: 'Calculate best overlap using quality values. ' + kkonganti@11: "Default: ${params.bbmerge_ouq}", kkonganti@11: cliflag: 'ouq', kkonganti@11: clivalue: (params.bbmerge_ouq ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_owq': [ kkonganti@11: clihelp: 'Calculate best overlap without using quality values. ' + kkonganti@11: "Default: ${params.bbmerge_owq}", kkonganti@11: cliflag: 'owq=', kkonganti@11: clivalue: (params.bbmerge_owq ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_strict': [ kkonganti@11: clihelp: 'Decrease false positive rate and merging rate. ' + kkonganti@11: "Default: ${params.bbmerge_strict}", kkonganti@11: cliflag: 'strict=', kkonganti@11: clivalue: (params.bbmerge_strict ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_verystrict': [ kkonganti@11: clihelp: 'Greatly decrease false positive rate and merging rate. ' + kkonganti@11: "Default: ${params.bbmerge_verystrict}", kkonganti@11: cliflag: 'verystrict=', kkonganti@11: clivalue: (params.bbmerge_verystrict ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_ultrastrict': [ kkonganti@11: clihelp: 'Decrease false positive rate and merging rate even more. ' + kkonganti@11: "Default: ${params.bbmerge_ultrastrict}", kkonganti@11: cliflag: 'ultrastrict=', kkonganti@11: clivalue: (params.bbmerge_ultrastrict ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_maxstrict': [ kkonganti@11: clihelp: 'Maxiamally decrease false positive rate and merging rate. ' + kkonganti@11: "Default: ${params.bbmerge_maxstrict}", kkonganti@11: cliflag: 'maxstrict=', kkonganti@11: clivalue: (params.bbmerge_maxstrict ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_loose': [ kkonganti@11: clihelp: 'Increase false positive rate and merging rate. ' + kkonganti@11: "Default: ${params.bbmerge_loose}", kkonganti@11: cliflag: 'loose=', kkonganti@11: clivalue: (params.bbmerge_loose ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_veryloose': [ kkonganti@11: clihelp: 'Greatly increase false positive rate and merging rate. ' + kkonganti@11: "Default: ${params.bbmerge_veryloose}", kkonganti@11: cliflag: 'veryloose=', kkonganti@11: clivalue: (params.bbmerge_veryloose ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_ultraloose': [ kkonganti@11: clihelp: 'Increase false positive rate and merging rate even more. ' + kkonganti@11: "Default: ${params.bbmerge_ultraloose}", kkonganti@11: cliflag: 'ultraloose=', kkonganti@11: clivalue: (params.bbmerge_ultraloose ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_maxloose': [ kkonganti@11: clihelp: 'Maximally increase false positive rate and merging rate. ' + kkonganti@11: "Default: ${params.bbmerge_maxloose}", kkonganti@11: cliflag: 'maxloose=', kkonganti@11: clivalue: (params.bbmerge_maxloose ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_fast': [ kkonganti@11: clihelp: 'Fastest possible preset. ' + kkonganti@11: "Default: ${params.bbmerge_fast}", kkonganti@11: cliflag: 'fast=', kkonganti@11: clivalue: (params.bbmerge_fast ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_k': [ kkonganti@11: clihelp: 'Kmer length. 31 (or less) is fastest and uses the least ' + kkonganti@11: 'memory, but higher values may be more accurate. ' + kkonganti@11: '60 tends to work well for 150bp reads. ' + kkonganti@11: "Default: ${params.bbmerge_k}", kkonganti@11: cliflag: 'k=', kkonganti@11: clivalue: (params.bbmerge_k ?: '') kkonganti@11: ], kkonganti@11: 'bbmerge_prealloc': [ kkonganti@11: clihelp: 'Pre-allocate memory rather than dynamically growing. ' + kkonganti@11: 'Faster and more memory-efficient for large datasets. ' + kkonganti@11: 'A float fraction (0-1) may be specified, default 1. ' + kkonganti@11: "Default: ${params.bbmerge_prealloc}", kkonganti@11: cliflag: 'prealloc=', kkonganti@11: clivalue: (params.bbmerge_prealloc ?: '') kkonganti@11: ] kkonganti@11: ] kkonganti@11: kkonganti@11: toolspecs.each { kkonganti@11: k, v -> tool.text['--' + k] = "${v.clihelp}" kkonganti@11: tool.helpparams[k] = [ cliflag: "${v.cliflag}", clivalue: v.clivalue ] kkonganti@11: } kkonganti@11: kkonganti@11: return tool kkonganti@11: }