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