kkonganti@11: // Help text for mash sketch within CPIPES. kkonganti@11: kkonganti@11: def mashsketchHelp(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: 'mashsketch_run': [ kkonganti@11: clihelp: 'Run `mash screen` tool. Default: ' + kkonganti@11: (params.mashsketch_run ?: false), kkonganti@11: cliflag: null, kkonganti@11: clivalue: null kkonganti@11: ], kkonganti@11: 'mashsketch_l': [ kkonganti@11: clihelp: 'List input. Lines in each specify paths to sequence files, ' + kkonganti@11: 'one per line. ' + kkonganti@11: "Default: ${params.mashsketch_l}", kkonganti@11: cliflag: '-l', kkonganti@11: clivalue: (params.mashsketch_l ? ' ' : '') kkonganti@11: ], kkonganti@11: 'mashsketch_I': [ kkonganti@11: clihelp: ' ID field for sketch of reads (instead of first sequence ID). ' + kkonganti@11: "Default: ${params.mashsketch_I}", kkonganti@11: cliflag: '-I', kkonganti@11: clivalue: (params.mashsketch_I ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_C': [ kkonganti@11: clihelp: ' Comment for a sketch of reads (instead of first sequence comment). ' + kkonganti@11: "Default: ${params.mashsketch_C}", kkonganti@11: cliflag: '-C', kkonganti@11: clivalue: (params.mashsketch_C ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_k': [ kkonganti@11: clihelp: ' K-mer size. Hashes will be based on strings of this many ' + kkonganti@11: 'nucleotides. Canonical nucleotides are used by default (see ' + kkonganti@11: 'Alphabet options below). (1-32) ' + kkonganti@11: "Default: ${params.mashsketch_k}", kkonganti@11: cliflag: '-k', kkonganti@11: clivalue: (params.mashsketch_k ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_s': [ kkonganti@11: clihelp: ' Sketch size. Each sketch will have at most this many non-redundant ' + kkonganti@11: 'min-hashes. ' + kkonganti@11: "Default: ${params.mashsketch_s}", kkonganti@11: cliflag: '-s', kkonganti@11: clivalue: (params.mashsketch_s ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_i': [ kkonganti@11: clihelp: 'Sketch individual sequences, rather than whole files, e.g. for ' + kkonganti@11: 'multi-fastas of single-chromosome genomes or pair-wise gene ' + kkonganti@11: 'comparisons. ' + kkonganti@11: "Default: ${params.mashsketch_i}", kkonganti@11: cliflag: '-i', kkonganti@11: clivalue: (params.mashsketch_i ? ' ' : '') kkonganti@11: ], kkonganti@11: 'mashsketch_S': [ kkonganti@11: clihelp: ' Seed to provide to the hash function. (0-4294967296) [42] ' + kkonganti@11: "Default: ${params.mashsketch_S}", kkonganti@11: cliflag: '-S', kkonganti@11: clivalue: (params.mashsketch_S ?: '') kkonganti@11: ], kkonganti@11: kkonganti@11: 'mashsketch_w': [ kkonganti@11: clihelp: ' Probability threshold for warning about low k-mer size. (0-1) ' + kkonganti@11: "Default: ${params.mashsketch_w}", kkonganti@11: cliflag: '-w', kkonganti@11: clivalue: (params.mashsketch_w ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_r': [ kkonganti@11: clihelp: 'Input is a read set. See Reads options below. Incompatible with ' + kkonganti@11: '--mashsketch_i. ' + kkonganti@11: "Default: ${params.mashsketch_r}", kkonganti@11: cliflag: '-r', kkonganti@11: clivalue: (params.mashsketch_r ? ' ' : '') kkonganti@11: ], kkonganti@11: 'mashsketch_b': [ kkonganti@11: clihelp: ' Use a Bloom filter of this size (raw bytes or with K/M/G/T) to ' + kkonganti@11: 'filter out unique k-mers. This is useful if exact filtering with ' + kkonganti@11: '--mashsketch_m uses too much memory. However, some unique k-mers may pass ' + kkonganti@11: 'erroneously, and copies cannot be counted beyond 2. Implies --mashsketch_r. ' + kkonganti@11: "Default: ${params.mashsketch_b}", kkonganti@11: cliflag: '-b', kkonganti@11: clivalue: (params.mashsketch_b ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_m': [ kkonganti@11: clihelp: ' Minimum copies of each k-mer required to pass noise filter for ' + kkonganti@11: 'reads. Implies --mashsketch_r. ' + kkonganti@11: "Default: ${params.mashsketch_r}", kkonganti@11: cliflag: '-m', kkonganti@11: clivalue: (params.mashsketch_m ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_c': [ kkonganti@11: clihelp: ' Target coverage. Sketching will conclude if this coverage is ' + kkonganti@11: 'reached before the end of the input file (estimated by average ' + kkonganti@11: 'k-mer multiplicity). Implies --mashsketch_r. ' + kkonganti@11: "Default: ${params.mashsketch_c}", kkonganti@11: cliflag: '-c', kkonganti@11: clivalue: (params.mashsketch_c ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_g': [ kkonganti@11: clihelp: ' Genome size (raw bases or with K/M/G/T). If specified, will be used ' + kkonganti@11: 'for p-value calculation instead of an estimated size from k-mer ' + kkonganti@11: 'content. Implies --mashsketch_r. ' + kkonganti@11: "Default: ${params.mashsketch_g}", kkonganti@11: cliflag: '-g', kkonganti@11: clivalue: (params.mashsketch_g ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_n': [ kkonganti@11: clihelp: 'Preserve strand (by default, strand is ignored by using canonical ' + kkonganti@11: 'DNA k-mers, which are alphabetical minima of forward-reverse ' + kkonganti@11: 'pairs). Implied if an alphabet is specified with --mashsketch_a ' + kkonganti@11: 'or --mashsketch_z. ' + kkonganti@11: "Default: ${params.mashsketch_n}", kkonganti@11: cliflag: '-n', kkonganti@11: clivalue: (params.mashsketch_n ? ' ' : '') kkonganti@11: ], kkonganti@11: 'mashsketch_a': [ kkonganti@11: clihelp: 'Use amino acid alphabet (A-Z, except BJOUXZ). Implies ' + kkonganti@11: '--mashsketch_n --mashsketch_k 9. ' + kkonganti@11: "Default: ${params.mashsketch_a}", kkonganti@11: cliflag: '-a', kkonganti@11: clivalue: (params.mashsketch_a ? ' ' : '') kkonganti@11: ], kkonganti@11: 'mashsketch_z': [ kkonganti@11: clihelp: ' Alphabet to base hashes on (case ignored by default; ' + kkonganti@11: 'see --mashsketch_Z). K-mers with other characters will be ' + kkonganti@11: 'ignored. Implies --mashsketch_n. ' + kkonganti@11: "Default: ${params.mashsketch_z}", kkonganti@11: cliflag: '-z', kkonganti@11: clivalue: (params.mashsketch_z ?: '') kkonganti@11: ], kkonganti@11: 'mashsketch_Z': [ kkonganti@11: clihelp: 'Preserve case in k-mers and alphabet (case is ignored by default). ' + kkonganti@11: 'Sequence letters whose case is not in the current alphabet will be ' + kkonganti@11: 'skipped when sketching. ' + kkonganti@11: "Default: ${params.mashsketch_Z}", kkonganti@11: cliflag: '-Z', kkonganti@11: clivalue: (params.mashsketch_Z ?: '') 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: }