kkonganti@1: // Help text for fastp within CPIPES. kkonganti@1: kkonganti@1: def fastpHelp(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: 'fastp_run': [ kkonganti@1: clihelp: 'Run fastp tool. Default: ' + kkonganti@1: (params.fastp_run ?: false), kkonganti@1: cliflag: null, kkonganti@1: clivalue: null kkonganti@1: ], kkonganti@1: 'fastp_failed_out': [ kkonganti@1: clihelp: 'Specify whether to store reads that cannot pass the filters. ' + kkonganti@1: "Default: ${params.fastp_failed_out}", kkonganti@1: cliflag: null, kkonganti@1: clivalue: null kkonganti@1: ], kkonganti@1: 'fastp_merged_out': [ kkonganti@1: clihelp: 'Specify whether to store merged output or not. ' + kkonganti@1: "Default: ${params.fastp_merged_out}", kkonganti@1: cliflag: null, kkonganti@1: clivalue: null kkonganti@1: ], kkonganti@1: 'fastp_overlapped_out': [ kkonganti@1: clihelp: 'For each read pair, output the overlapped region if it has no mismatched base. ' + kkonganti@1: "Default: ${params.fastp_overlapped_out}", kkonganti@1: cliflag: '--overlapped_out', kkonganti@1: clivalue: (params.fastp_overlapped_out ?: '') kkonganti@1: ], kkonganti@1: 'fastp_6': [ kkonganti@1: clihelp: "Indicate that the input is using phred64 scoring (it'll be converted to phred33, " + kkonganti@1: 'so the output will still be phred33). ' + kkonganti@1: "Default: ${params.fastp_6}", kkonganti@1: cliflag: '-6', kkonganti@1: clivalue: (params.fastp_6 ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_reads_to_process': [ kkonganti@1: clihelp: 'Specify how many reads/pairs are to be processed. Default value 0 means ' + kkonganti@1: 'process all reads. ' + kkonganti@1: "Default: ${params.fastp_reads_to_process}", kkonganti@1: cliflag: '--reads_to_process', kkonganti@1: clivalue: (params.fastp_reads_to_process ?: '') kkonganti@1: ], kkonganti@1: 'fastp_fix_mgi_id': [ kkonganti@1: clihelp: 'The MGI FASTQ ID format is not compatible with many BAM operation tools, ' + kkonganti@1: 'enable this option to fix it. ' + kkonganti@1: "Default: ${params.fastp_fix_mgi_id}", kkonganti@1: cliflag: '--fix_mgi_id', kkonganti@1: clivalue: (params.fastp_fix_mgi_id ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_A': [ kkonganti@1: clihelp: 'Disable adapter trimming. On by default. ' + kkonganti@1: "Default: ${params.fastp_A}", kkonganti@1: cliflag: '-A', kkonganti@1: clivalue: (params.fastp_A ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_adapter_fasta': [ kkonganti@1: clihelp: 'Specify a FASTA file to trim both read1 and read2 (if PE) by all the sequences ' + kkonganti@1: 'in this FASTA file. ' + kkonganti@1: "Default: ${params.fastp_adapter_fasta}", kkonganti@1: cliflag: '--adapter_fasta', kkonganti@1: clivalue: (params.fastp_adapter_fasta ?: '') kkonganti@1: ], kkonganti@1: 'fastp_f': [ kkonganti@1: clihelp: 'Trim how many bases in front of read1. ' + kkonganti@1: "Default: ${params.fastp_f}", kkonganti@1: cliflag: '-f', kkonganti@1: clivalue: (params.fastp_f ?: '') kkonganti@1: ], kkonganti@1: 'fastp_t': [ kkonganti@1: clihelp: 'Trim how many bases at the end of read1. ' + kkonganti@1: "Default: ${params.fastp_t}", kkonganti@1: cliflag: '-t', kkonganti@1: clivalue: (params.fastp_t ?: '') kkonganti@1: ], kkonganti@1: 'fastp_b': [ kkonganti@1: clihelp: 'Max length of read1 after trimming. ' + kkonganti@1: "Default: ${params.fastp_b}", kkonganti@1: cliflag: '-b', kkonganti@1: clivalue: (params.fastp_b ?: '') kkonganti@1: ], kkonganti@1: 'fastp_F': [ kkonganti@1: clihelp: 'Trim how many bases in front of read2. ' + kkonganti@1: "Default: ${params.fastp_F}", kkonganti@1: cliflag: '-F', kkonganti@1: clivalue: (params.fastp_F ?: '') kkonganti@1: ], kkonganti@1: 'fastp_T': [ kkonganti@1: clihelp: 'Trim how many bases at the end of read2. ' + kkonganti@1: "Default: ${params.fastp_T}", kkonganti@1: cliflag: '-T', kkonganti@1: clivalue: (params.fastp_T ?: '') kkonganti@1: ], kkonganti@1: 'fastp_B': [ kkonganti@1: clihelp: 'Max length of read2 after trimming. ' + kkonganti@1: "Default: ${params.fastp_B}", kkonganti@1: cliflag: '-B', kkonganti@1: clivalue: (params.fastp_B ?: '') kkonganti@1: ], kkonganti@1: 'fastp_dedup': [ kkonganti@1: clihelp: 'Enable deduplication to drop the duplicated reads/pairs. ' + kkonganti@1: "Default: ${params.fastp_dedup}", kkonganti@1: cliflag: '--dedup', kkonganti@1: clivalue: (params.fastp_dedup ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_dup_calc_accuracy': [ kkonganti@1: clihelp: 'Accuracy level to calculate duplication (1~6), higher level uses more memory ' + kkonganti@1: '(1G, 2G, 4G, 8G, 16G, 24G). Default 1 for no-dedup mode, and 3 for dedup mode. ' + kkonganti@1: "Default: ${params.fastp_dup_calc_accuracy}", kkonganti@1: cliflag: '--dup_calc_accuracy', kkonganti@1: clivalue: (params.fastp_dup_calc_accuracy ?: '') kkonganti@1: ], kkonganti@1: 'fastp_poly_g_min_len': [ kkonganti@1: clihelp: 'The minimum length to detect polyG in the read tail. ' + kkonganti@1: "Default: ${params.fastp_poly_g_min_len}", kkonganti@1: cliflag: '--poly_g_min_len', kkonganti@1: clivalue: (params.fastp_poly_g_min_len ?: '') kkonganti@1: ], kkonganti@1: 'fastp_G': [ kkonganti@1: clihelp: 'Disable polyG tail trimming. ' + kkonganti@1: "Default: ${params.fastp_G}", kkonganti@1: cliflag: '-G', kkonganti@1: clivalue: (params.fastp_G ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_x': [ kkonganti@1: clihelp: "Enable polyX trimming in 3' ends. " + kkonganti@1: "Default: ${params.fastp_x}", kkonganti@1: cliflag: 'x=', kkonganti@1: clivalue: (params.fastp_x ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_poly_x_min_len': [ kkonganti@1: clihelp: 'The minimum length to detect polyX in the read tail. ' + kkonganti@1: "Default: ${params.fastp_poly_x_min_len}", kkonganti@1: cliflag: '--poly_x_min_len', kkonganti@1: clivalue: (params.fastp_poly_x_min_len ?: '') kkonganti@1: ], kkonganti@1: 'fastp_cut_front': [ kkonganti@1: clihelp: "Move a sliding window from front (5') to tail, drop the bases in the window " + kkonganti@1: 'if its mean quality < threshold, stop otherwise. ' + kkonganti@1: "Default: ${params.fastp_cut_front}", kkonganti@1: cliflag: '--cut_front', kkonganti@1: clivalue: (params.fastp_cut_front ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_cut_tail': [ kkonganti@1: clihelp: "Move a sliding window from tail (3') to front, drop the bases in the window " + kkonganti@1: 'if its mean quality < threshold, stop otherwise. ' + kkonganti@1: "Default: ${params.fastp_cut_tail}", kkonganti@1: cliflag: '--cut_tail', kkonganti@1: clivalue: (params.fastp_cut_tail ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_cut_right': [ kkonganti@1: clihelp: "Move a sliding window from tail, drop the bases in the window and the right part " + kkonganti@1: 'if its mean quality < threshold, and then stop. ' + kkonganti@1: "Default: ${params.fastp_cut_right}", kkonganti@1: cliflag: '--cut_right', kkonganti@1: clivalue: (params.fastp_cut_right ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_W': [ kkonganti@1: clihelp: "Sliding window size shared by --fastp_cut_front, --fastp_cut_tail and " + kkonganti@1: '--fastp_cut_right. ' + kkonganti@1: "Default: ${params.fastp_W}", kkonganti@1: cliflag: '--cut_window_size', kkonganti@1: clivalue: (params.fastp_W ?: '') kkonganti@1: ], kkonganti@1: 'fastp_M': [ kkonganti@1: clihelp: "The mean quality requirement shared by --fastp_cut_front, --fastp_cut_tail and " + kkonganti@1: '--fastp_cut_right. ' + kkonganti@1: "Default: ${params.fastp_M}", kkonganti@1: cliflag: '--cut_mean_quality', kkonganti@1: clivalue: (params.fastp_M ?: '') kkonganti@1: ], kkonganti@1: 'fastp_q': [ kkonganti@1: clihelp: 'The quality value below which a base should is not qualified. ' + kkonganti@1: "Default: ${params.fastp_q}", kkonganti@1: cliflag: '-q', kkonganti@1: clivalue: (params.fastp_q ?: '') kkonganti@1: ], kkonganti@1: 'fastp_u': [ kkonganti@1: clihelp: 'What percent of bases are allowed to be unqualified. ' + kkonganti@1: "Default: ${params.fastp_u}", kkonganti@1: cliflag: '-u', kkonganti@1: clivalue: (params.fastp_u ?: '') kkonganti@1: ], kkonganti@1: 'fastp_n': [ kkonganti@1: clihelp: "How many N's can a read have. " + kkonganti@1: "Default: ${params.fastp_n}", kkonganti@1: cliflag: '-n', kkonganti@1: clivalue: (params.fastp_n ?: '') kkonganti@1: ], kkonganti@1: 'fastp_e': [ kkonganti@1: clihelp: "If the full reads' average quality is below this value, then it is discarded. " + kkonganti@1: "Default: ${params.fastp_e}", kkonganti@1: cliflag: '-e', kkonganti@1: clivalue: (params.fastp_e ?: '') kkonganti@1: ], kkonganti@1: 'fastp_l': [ kkonganti@1: clihelp: 'Reads shorter than this length will be discarded. ' + kkonganti@1: "Default: ${params.fastp_l}", kkonganti@1: cliflag: '-l', kkonganti@1: clivalue: (params.fastp_l ?: '') kkonganti@1: ], kkonganti@1: 'fastp_max_len': [ kkonganti@1: clihelp: 'Reads longer than this length will be discarded. ' + kkonganti@1: "Default: ${params.fastp_max_len}", kkonganti@1: cliflag: '--length_limit', kkonganti@1: clivalue: (params.fastp_max_len ?: '') kkonganti@1: ], kkonganti@1: 'fastp_y': [ kkonganti@1: clihelp: 'Enable low complexity filter. The complexity is defined as the percentage ' + kkonganti@1: 'of bases that are different from its next base (base[i] != base[i+1]). ' + kkonganti@1: "Default: ${params.fastp_y}", kkonganti@1: cliflag: '-y', kkonganti@1: clivalue: (params.fastp_y ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_Y': [ kkonganti@1: clihelp: 'The threshold for low complexity filter (0~100). Ex: A value of 30 means ' + kkonganti@1: '30% complexity is required. ' + kkonganti@1: "Default: ${params.fastp_Y}", kkonganti@1: cliflag: '-Y', kkonganti@1: clivalue: (params.fastp_Y ?: '') kkonganti@1: ], kkonganti@1: 'fastp_U': [ kkonganti@1: clihelp: 'Enable Unique Molecular Identifier (UMI) pre-processing. ' + kkonganti@1: "Default: ${params.fastp_U}", kkonganti@1: cliflag: '-U', kkonganti@1: clivalue: (params.fastp_U ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_umi_loc': [ kkonganti@1: clihelp: 'Specify the location of UMI, can be one of ' + kkonganti@1: 'index1/index2/read1/read2/per_index/per_read. ' + kkonganti@1: "Default: ${params.fastp_umi_loc}", kkonganti@1: cliflag: '--umi_loc', kkonganti@1: clivalue: (params.fastp_umi_loc ?: '') kkonganti@1: ], kkonganti@1: 'fastp_umi_len': [ kkonganti@1: clihelp: 'If the UMI is in read1 or read2, its length should be provided. ' + kkonganti@1: "Default: ${params.fastp_umi_len}", kkonganti@1: cliflag: '--umi_len', kkonganti@1: clivalue: (params.fastp_umi_len ?: '') kkonganti@1: ], kkonganti@1: 'fastp_umi_prefix': [ kkonganti@1: clihelp: 'If specified, an underline will be used to connect prefix and UMI ' + kkonganti@1: '(i.e. prefix=UMI, UMI=AATTCG, final=UMI_AATTCG). ' + kkonganti@1: "Default: ${params.fastp_umi_prefix}", kkonganti@1: cliflag: '--umi_prefix', kkonganti@1: clivalue: (params.fastp_umi_prefix ?: '') kkonganti@1: ], kkonganti@1: 'fastp_umi_skip': [ kkonganti@1: clihelp: 'If the UMI is in read1 or read2, fastp can skip several bases following the UMI. ' + kkonganti@1: "Default: ${params.fastp_umi_skip}", kkonganti@1: cliflag: '--umi_skip', kkonganti@1: clivalue: (params.fastp_umi_skip ?: '') kkonganti@1: ], kkonganti@1: 'fastp_p': [ kkonganti@1: clihelp: 'Enable overrepresented sequence analysis. ' + kkonganti@1: "Default: ${params.fastp_p}", kkonganti@1: cliflag: '-p', kkonganti@1: clivalue: (params.fastp_p ? ' ' : '') kkonganti@1: ], kkonganti@1: 'fastp_P': [ kkonganti@1: clihelp: 'One in this many number of reads will be computed for overrepresentation analysis ' + kkonganti@1: '(1~10000), smaller is slower. ' + kkonganti@1: "Default: ${params.fastp_P}", kkonganti@1: cliflag: '-P', kkonganti@1: clivalue: (params.fastp_P ?: '') 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: }