Mercurial > repos > galaxytrakr > hfp_bettercallsal_awsbatch
comparison 1.0.0/workflows/bettercallsal.nf @ 0:801b85b03a17 draft default tip
planemo upload
| author | galaxytrakr |
|---|---|
| date | Thu, 28 May 2026 20:31:42 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:801b85b03a17 |
|---|---|
| 1 // Define any required imports for this specific workflow | |
| 2 import java.nio.file.Paths | |
| 3 import java.util.zip.GZIPInputStream | |
| 4 import java.io.FileInputStream | |
| 5 import nextflow.file.FileHelper | |
| 6 | |
| 7 | |
| 8 // Include any necessary methods | |
| 9 include { \ | |
| 10 summaryOfParams; stopNow; fastqEntryPointHelp; sendMail; conciseHelp; \ | |
| 11 addPadding; wrapUpHelp } from "${params.routines}" | |
| 12 include { bbmergeHelp } from "${params.toolshelp}${params.fs}bbmerge" | |
| 13 include { fastpHelp } from "${params.toolshelp}${params.fs}fastp" | |
| 14 include { mashscreenHelp } from "${params.toolshelp}${params.fs}mashscreen" | |
| 15 include { tuspyHelp } from "${params.toolshelp}${params.fs}tuspy" | |
| 16 include { sourmashsketchHelp } from "${params.toolshelp}${params.fs}sourmashsketch" | |
| 17 include { sourmashgatherHelp } from "${params.toolshelp}${params.fs}sourmashgather" | |
| 18 include { sourmashsearchHelp } from "${params.toolshelp}${params.fs}sourmashsearch" | |
| 19 include { sfhpyHelp } from "${params.toolshelp}${params.fs}sfhpy" | |
| 20 include { kmaindexHelp } from "${params.toolshelp}${params.fs}kmaindex" | |
| 21 include { kmaalignHelp } from "${params.toolshelp}${params.fs}kmaalign" | |
| 22 include { megahitHelp } from "${params.toolshelp}${params.fs}megahit" | |
| 23 include { mlstHelp } from "${params.toolshelp}${params.fs}mlst" | |
| 24 include { abricateHelp } from "${params.toolshelp}${params.fs}abricate" | |
| 25 include { salmonidxHelp } from "${params.toolshelp}${params.fs}salmonidx" | |
| 26 include { gsrpyHelp } from "${params.toolshelp}${params.fs}gsrpy" | |
| 27 | |
| 28 // Exit if help requested before any subworkflows | |
| 29 if (params.help) { | |
| 30 log.info help() | |
| 31 exit 0 | |
| 32 } | |
| 33 | |
| 34 | |
| 35 // Include any necessary modules and subworkflows | |
| 36 include { PROCESS_FASTQ } from "${params.subworkflows}${params.fs}process_fastq" | |
| 37 include { CAT_CAT } from "${params.modules}${params.fs}cat_cat${params.fs}main" | |
| 38 include { FASTQC } from "${params.modules}${params.fs}fastqc${params.fs}main" | |
| 39 include { BBTOOLS_BBMERGE } from "${params.modules}${params.fs}bbtools${params.fs}bbmerge${params.fs}main" | |
| 40 include { FASTP } from "${params.modules}${params.fs}fastp${params.fs}main" | |
| 41 include { MASH_SCREEN } from "${params.modules}${params.fs}mash${params.fs}screen${params.fs}main" | |
| 42 include { TOP_UNIQUE_SEROVARS } from "${params.modules}${params.fs}top_unique_serovars${params.fs}main" | |
| 43 include { SOURMASH_SKETCH } from "${params.modules}${params.fs}sourmash${params.fs}sketch${params.fs}main" | |
| 44 include { SOURMASH_GATHER } from "${params.modules}${params.fs}sourmash${params.fs}gather${params.fs}main" | |
| 45 include { SOURMASH_SEARCH } from "${params.modules}${params.fs}sourmash${params.fs}search${params.fs}main" | |
| 46 include { KMA_INDEX } from "${params.modules}${params.fs}kma${params.fs}index${params.fs}main" | |
| 47 include { KMA_ALIGN } from "${params.modules}${params.fs}kma${params.fs}align${params.fs}main" | |
| 48 include { OTF_GENOME } from "${params.modules}${params.fs}otf_genome${params.fs}main" | |
| 49 include { MEGAHIT_ASSEMBLE } from "${params.modules}${params.fs}megahit${params.fs}assemble${params.fs}main" | |
| 50 include { MLST } from "${params.modules}${params.fs}mlst${params.fs}main" | |
| 51 include { ABRICATE_RUN } from "${params.modules}${params.fs}abricate${params.fs}run${params.fs}main" | |
| 52 include { ABRICATE_SUMMARY } from "${params.modules}${params.fs}abricate${params.fs}summary${params.fs}main" | |
| 53 include { TABLE_SUMMARY } from "${params.modules}${params.fs}cat${params.fs}tables${params.fs}main" | |
| 54 include { SALMON_INDEX } from "${params.modules}${params.fs}salmon${params.fs}index${params.fs}main" | |
| 55 include { SALMON_QUANT } from "${params.modules}${params.fs}salmon${params.fs}quant${params.fs}main" | |
| 56 include { SOURMASH_COMPARE } from "${params.modules}${params.fs}custom${params.fs}sourmash${params.fs}compare${params.fs}main" | |
| 57 include { BCS_DISTANCE_MATRIX } from "${params.modules}${params.fs}bcs_distance_matrix${params.fs}main" | |
| 58 include { BCS_RESULTS } from "${params.modules}${params.fs}bcs_results${params.fs}main" | |
| 59 include { DUMP_SOFTWARE_VERSIONS } from "${params.modules}${params.fs}custom${params.fs}dump_software_versions${params.fs}main" | |
| 60 include { MULTIQC } from "${params.modules}${params.fs}multiqc${params.fs}main" | |
| 61 | |
| 62 /* | |
| 63 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 64 INPUTS AND ANY CHECKS FOR THE BETTERCALLSAL WORKFLOW | |
| 65 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 66 */ | |
| 67 | |
| 68 def reads_platform = 0 | |
| 69 def salmon_idx_decoys = file ( "${params.salmonidx_decoys}" ) | |
| 70 def abricate_dbs = [ 'ncbiamrplus', 'resfinder', 'megares', 'argannot' ] | |
| 71 | |
| 72 reads_platform += (params.input ? 1 : 0) | |
| 73 | |
| 74 if (reads_platform < 1 || reads_platform == 0) { | |
| 75 stopNow("Please mention at least one absolute path to input folder which contains\n" + | |
| 76 "FASTQ files sequenced using the --input option.\n" + | |
| 77 "Ex: --input (Illumina or Generic short reads in FASTQ format)") | |
| 78 } | |
| 79 | |
| 80 checkMetadataExists(params.mash_sketch, 'MASH sketch') | |
| 81 checkMetadataExists(params.tuspy_ps, 'ACC2SERO pickle') | |
| 82 checkMetadataExists(params.gsrpy_snp_clus_metadata, 'PDG reference target cluster metadata') | |
| 83 | |
| 84 /* | |
| 85 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 86 RUN THE BETTERCALLSAL WORKFLOW | |
| 87 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 88 */ | |
| 89 | |
| 90 workflow BETTERCALLSAL { | |
| 91 main: | |
| 92 log.info summaryOfParams() | |
| 93 | |
| 94 PROCESS_FASTQ() | |
| 95 | |
| 96 PROCESS_FASTQ | |
| 97 .out | |
| 98 .versions | |
| 99 .set { software_versions } | |
| 100 | |
| 101 PROCESS_FASTQ | |
| 102 .out | |
| 103 .processed_reads | |
| 104 .set { ch_processed_reads } | |
| 105 | |
| 106 if (params.bbmerge_run && !params.fq_single_end) { | |
| 107 ch_processed_reads | |
| 108 .map { meta, fastq -> | |
| 109 meta.adapters = (params.bbmerge_adapters ?: params.dummyfile) | |
| 110 [ meta, fastq ] | |
| 111 } | |
| 112 .set { ch_processed_reads } | |
| 113 | |
| 114 BBTOOLS_BBMERGE( ch_processed_reads ) | |
| 115 | |
| 116 BBTOOLS_BBMERGE | |
| 117 .out | |
| 118 .fastq | |
| 119 .map { meta, fastq -> [ meta, [ fastq ] ] } | |
| 120 .set { ch_processed_reads } | |
| 121 | |
| 122 software_versions | |
| 123 .mix ( BBTOOLS_BBMERGE.out.versions ) | |
| 124 .set { software_versions } | |
| 125 } | |
| 126 | |
| 127 if (params.fastp_run) { | |
| 128 FASTP ( ch_processed_reads ) | |
| 129 | |
| 130 FASTP | |
| 131 .out | |
| 132 .passed_reads | |
| 133 .set { ch_processed_reads } | |
| 134 | |
| 135 FASTP | |
| 136 .out | |
| 137 .json | |
| 138 .map { meta, json -> [ json ] } | |
| 139 .collect() | |
| 140 .set { ch_multiqc } | |
| 141 | |
| 142 software_versions | |
| 143 .mix ( FASTP.out.versions ) | |
| 144 .set { software_versions } | |
| 145 } else { | |
| 146 FASTQC ( ch_processed_reads ) | |
| 147 | |
| 148 FASTQC | |
| 149 .out | |
| 150 .zip | |
| 151 .map { meta, zip -> [ zip ] } | |
| 152 .collect() | |
| 153 .set { ch_multiqc } | |
| 154 | |
| 155 software_versions | |
| 156 .mix ( FASTQC.out.versions ) | |
| 157 .set { software_versions } | |
| 158 } | |
| 159 | |
| 160 if (params.bcs_concat_pe && !params.fq_single_end && !params.bbmerge_run) { | |
| 161 CAT_CAT ( ch_processed_reads ) | |
| 162 | |
| 163 CAT_CAT | |
| 164 .out | |
| 165 .concatenated_reads | |
| 166 .set { ch_processed_reads } | |
| 167 | |
| 168 software_versions | |
| 169 .mix ( CAT_CAT.out.versions ) | |
| 170 .set { software_versions } | |
| 171 } | |
| 172 | |
| 173 ch_processed_reads | |
| 174 .map { meta, fastq -> | |
| 175 meta.sequence_sketch = params.mash_sketch | |
| 176 meta.get_kma_hit_accs = true | |
| 177 meta.single_end = true | |
| 178 meta.salmon_decoys = params.dummyfile | |
| 179 meta.salmon_lib_type = (params.salmonalign_libtype ?: false) | |
| 180 [ meta, fastq ] | |
| 181 } | |
| 182 .filter { meta, fastq -> | |
| 183 fq_file = ( fastq.getClass().toString() =~ /ArrayList/ ? fastq : [ fastq ] ) | |
| 184 fq_gzip = new GZIPInputStream( new FileInputStream( fq_file[0].toString() ) ) | |
| 185 fq_gzip.read() != -1 | |
| 186 } | |
| 187 .set { ch_processed_reads } | |
| 188 | |
| 189 MASH_SCREEN ( ch_processed_reads ) | |
| 190 | |
| 191 TOP_UNIQUE_SEROVARS ( MASH_SCREEN.out.screened ) | |
| 192 | |
| 193 TOP_UNIQUE_SEROVARS.out.genomes_fasta | |
| 194 .set { ch_genomes_fasta } | |
| 195 | |
| 196 TOP_UNIQUE_SEROVARS.out.failed | |
| 197 .set { ch_bcs_calls_failed } | |
| 198 | |
| 199 if (params.sourmashgather_run || params.sourmashsearch_run) { | |
| 200 SOURMASH_SKETCH ( | |
| 201 ch_processed_reads | |
| 202 .join ( ch_genomes_fasta ) | |
| 203 ) | |
| 204 | |
| 205 if (params.sourmashgather_run) { | |
| 206 SOURMASH_GATHER ( | |
| 207 SOURMASH_SKETCH.out.signatures, | |
| 208 [], [], [], [] | |
| 209 ) | |
| 210 | |
| 211 SOURMASH_GATHER | |
| 212 .out | |
| 213 .genomes_fasta | |
| 214 .set { ch_genomes_fasta } | |
| 215 | |
| 216 ch_bcs_calls_failed | |
| 217 .concat ( SOURMASH_GATHER.out.failed ) | |
| 218 .set { ch_bcs_calls_failed } | |
| 219 | |
| 220 software_versions | |
| 221 .mix ( SOURMASH_GATHER.out.versions.ifEmpty(null) ) | |
| 222 .set { software_versions } | |
| 223 } | |
| 224 | |
| 225 if (params.sourmashsearch_run) { | |
| 226 SOURMASH_SEARCH ( | |
| 227 SOURMASH_SKETCH.out.signatures, | |
| 228 [] | |
| 229 ) | |
| 230 | |
| 231 SOURMASH_SEARCH | |
| 232 .out | |
| 233 .genomes_fasta | |
| 234 .set { ch_genomes_fasta } | |
| 235 | |
| 236 ch_bcs_calls_failed | |
| 237 .concat ( SOURMASH_SEARCH.out.failed ) | |
| 238 .set { ch_bcs_calls_failed } | |
| 239 | |
| 240 software_versions | |
| 241 .mix ( SOURMASH_SEARCH.out.versions.ifEmpty(null) ) | |
| 242 .set { software_versions } | |
| 243 } | |
| 244 } | |
| 245 | |
| 246 KMA_INDEX ( ch_genomes_fasta ) | |
| 247 | |
| 248 KMA_ALIGN ( | |
| 249 ch_processed_reads | |
| 250 .join ( KMA_INDEX.out.idx ) | |
| 251 ) | |
| 252 | |
| 253 OTF_GENOME ( | |
| 254 KMA_ALIGN.out.hits | |
| 255 .join ( KMA_ALIGN.out.frags ) | |
| 256 ) | |
| 257 | |
| 258 OTF_GENOME.out.failed | |
| 259 .concat ( ch_bcs_calls_failed ) | |
| 260 .collectFile( name: 'BCS_NO_CALLS.txt' ) | |
| 261 .set { ch_bcs_no_calls } | |
| 262 | |
| 263 SALMON_INDEX ( OTF_GENOME.out.genomes_fasta ) | |
| 264 | |
| 265 SALMON_QUANT ( | |
| 266 ch_processed_reads | |
| 267 .join ( SALMON_INDEX.out.idx ) | |
| 268 ) | |
| 269 | |
| 270 SALMON_QUANT | |
| 271 .out | |
| 272 .results | |
| 273 .groupTuple(by: [0]) | |
| 274 .map { it -> tuple ( it[1].flatten() ) } | |
| 275 .mix ( ch_bcs_no_calls ) | |
| 276 .collect() | |
| 277 .set { ch_salmon_res_dirs } | |
| 278 | |
| 279 if (params.sourmashsketch_run) { | |
| 280 SOURMASH_SKETCH | |
| 281 .out | |
| 282 .signatures | |
| 283 .groupTuple(by: [0]) | |
| 284 .map { meta, qsigs, dsigs -> [ qsigs ] } | |
| 285 .collect() | |
| 286 .flatten() | |
| 287 .collect() | |
| 288 .set { ch_query_sigs } | |
| 289 | |
| 290 KMA_ALIGN | |
| 291 .out | |
| 292 .hits | |
| 293 .map { meta, hits -> [ hits ] } | |
| 294 .collect() | |
| 295 .flatten() | |
| 296 .collectFile(name: 'accessions.txt') | |
| 297 .set { ch_otf_genomes } | |
| 298 | |
| 299 if (params.megahit_run) { | |
| 300 | |
| 301 MEGAHIT_ASSEMBLE ( OTF_GENOME.out.reads_extracted ) | |
| 302 | |
| 303 MEGAHIT_ASSEMBLE | |
| 304 .out | |
| 305 .assembly | |
| 306 .set { ch_asm_filtered_contigs } | |
| 307 | |
| 308 MLST ( ch_asm_filtered_contigs ) | |
| 309 | |
| 310 MLST.out.tsv | |
| 311 .map { meta, tsv -> [ 'mlst', tsv] } | |
| 312 .groupTuple(by: [0]) | |
| 313 .map { it -> tuple ( it[0], it[1].flatten() ) } | |
| 314 .set { ch_mqc_custom_tbl } | |
| 315 | |
| 316 ABRICATE_RUN ( | |
| 317 ch_asm_filtered_contigs, | |
| 318 abricate_dbs | |
| 319 ) | |
| 320 | |
| 321 ABRICATE_RUN | |
| 322 .out | |
| 323 .abricated | |
| 324 .map { meta, abres -> [ abricate_dbs, abres ] } | |
| 325 .groupTuple(by: [0]) | |
| 326 .map { it -> tuple ( it[0], it[1].flatten() ) } | |
| 327 .set { ch_abricated } | |
| 328 | |
| 329 ABRICATE_SUMMARY ( ch_abricated ) | |
| 330 | |
| 331 ch_mqc_custom_tbl | |
| 332 .concat ( | |
| 333 ABRICATE_SUMMARY.out.ncbiamrplus.map { it -> tuple ( it[0], it[1] )}, | |
| 334 ABRICATE_SUMMARY.out.resfinder.map { it -> tuple ( it[0], it[1] )}, | |
| 335 ABRICATE_SUMMARY.out.megares.map { it -> tuple ( it[0], it[1] )}, | |
| 336 ABRICATE_SUMMARY.out.argannot.map { it -> tuple ( it[0], it[1] )}, | |
| 337 ) | |
| 338 .groupTuple(by: [0]) | |
| 339 .map { it -> [ it[0], it[1].flatten() ]} | |
| 340 .set { ch_mqc_custom_tbl } | |
| 341 | |
| 342 TABLE_SUMMARY ( ch_mqc_custom_tbl ) | |
| 343 | |
| 344 ch_multiqc | |
| 345 .concat ( TABLE_SUMMARY.out.mqc_yml ) | |
| 346 .set { ch_multiqc } | |
| 347 | |
| 348 software_versions | |
| 349 .mix ( | |
| 350 MEGAHIT_ASSEMBLE.out.versions.ifEmpty(null), | |
| 351 MLST.out.versions.ifEmpty(null), | |
| 352 ABRICATE_RUN.out.versions.ifEmpty(null), | |
| 353 ABRICATE_SUMMARY.out.versions.ifEmpty(null), | |
| 354 TABLE_SUMMARY.out.versions.ifEmpty(null) | |
| 355 ) | |
| 356 .set { software_versions } | |
| 357 } | |
| 358 | |
| 359 SOURMASH_COMPARE ( ch_query_sigs, ch_otf_genomes ) | |
| 360 | |
| 361 BCS_DISTANCE_MATRIX ( | |
| 362 SOURMASH_COMPARE.out.matrix, | |
| 363 SOURMASH_COMPARE.out.labels | |
| 364 ) | |
| 365 | |
| 366 ch_multiqc | |
| 367 .concat ( BCS_DISTANCE_MATRIX.out.mqc_yml ) | |
| 368 .set { ch_multiqc } | |
| 369 | |
| 370 software_versions | |
| 371 .mix ( | |
| 372 SOURMASH_SKETCH.out.versions.ifEmpty(null), | |
| 373 SOURMASH_COMPARE.out.versions.ifEmpty(null), | |
| 374 BCS_DISTANCE_MATRIX.out.versions.ifEmpty(null), | |
| 375 ) | |
| 376 .set { software_versions } | |
| 377 } | |
| 378 | |
| 379 BCS_RESULTS ( ch_salmon_res_dirs ) | |
| 380 | |
| 381 DUMP_SOFTWARE_VERSIONS ( | |
| 382 software_versions | |
| 383 .mix ( | |
| 384 MASH_SCREEN.out.versions, | |
| 385 TOP_UNIQUE_SEROVARS.out.versions, | |
| 386 KMA_INDEX.out.versions, | |
| 387 KMA_ALIGN.out.versions, | |
| 388 OTF_GENOME.out.versions.ifEmpty(null), | |
| 389 SALMON_INDEX.out.versions, | |
| 390 SALMON_QUANT.out.versions, | |
| 391 BCS_RESULTS.out.versions | |
| 392 ) | |
| 393 .unique() | |
| 394 .collectFile(name: 'collected_versions.yml') | |
| 395 ) | |
| 396 | |
| 397 if (params.multiqc_run) { | |
| 398 DUMP_SOFTWARE_VERSIONS | |
| 399 .out | |
| 400 .mqc_yml | |
| 401 .concat ( | |
| 402 ch_multiqc, | |
| 403 BCS_RESULTS.out.mqc_yml, | |
| 404 BCS_RESULTS.out.mqc_json | |
| 405 ) | |
| 406 .collect() | |
| 407 .set { ch_multiqc } | |
| 408 | |
| 409 MULTIQC ( ch_multiqc ) | |
| 410 } | |
| 411 | |
| 412 } | |
| 413 | |
| 414 /* | |
| 415 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 416 ON COMPLETE, SHOW GORY DETAILS OF ALL PARAMS WHICH WILL BE HELPFUL TO DEBUG | |
| 417 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 418 */ | |
| 419 | |
| 420 workflow.onComplete { | |
| 421 if (workflow.success) { | |
| 422 sendMail() | |
| 423 } | |
| 424 } | |
| 425 | |
| 426 workflow.onError { | |
| 427 sendMail() | |
| 428 } | |
| 429 | |
| 430 /* | |
| 431 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 432 METHOD TO CHECK METADATA EXISTENCE | |
| 433 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 434 */ | |
| 435 | |
| 436 def checkMetadataExists(file_path, msg) { | |
| 437 file_path_obj = file( file_path ) | |
| 438 | |
| 439 if (!file_path_obj.exists() || file_path_obj.size() == 0) { | |
| 440 stopNow("Please check if your ${msg} file\n" + | |
| 441 "[ ${file_path} ]\nexists and is not of size 0.") | |
| 442 } | |
| 443 } | |
| 444 | |
| 445 /* | |
| 446 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 447 HELP TEXT METHODS FOR BETTERCALLSAL WORKFLOW | |
| 448 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 449 */ | |
| 450 | |
| 451 def help() { | |
| 452 | |
| 453 Map helptext = [:] | |
| 454 Map bcsConcatHelp = [:] | |
| 455 Map fastpAdapterHelp = [:] | |
| 456 Map nH = [:] | |
| 457 def uHelp = (params.help.getClass().toString() =~ /String/ ? params.help.tokenize(',').join(' ') : '') | |
| 458 | |
| 459 Map defaultHelp = [ | |
| 460 '--help bbmerge' : 'Show bbmerge.sh CLI options', | |
| 461 '--help fastp' : 'Show fastp CLI options', | |
| 462 '--help mash' : 'Show mash `screen` CLI options', | |
| 463 '--help tuspy' : 'Show get_top_unique_mash_hit_genomes.py CLI options', | |
| 464 '--help sourmashsketch' : 'Show sourmash `sketch` CLI options', | |
| 465 '--help sourmashgather' : 'Show sourmash `gather` CLI options', | |
| 466 '--help sourmashsearch' : 'Show sourmash `search` CLI options', | |
| 467 '--help sfhpy' : 'Show sourmash_filter_hits.py CLI options', | |
| 468 '--help kmaindex' : 'Show kma `index` CLI options', | |
| 469 '--help kmaalign' : 'Show kma CLI options', | |
| 470 '--help megahit' : 'Show megahit CLI options', | |
| 471 '--help mlst' : 'Show mlst CLI options', | |
| 472 '--help abricate' : 'Show abricate CLI options', | |
| 473 '--help salmon' : 'Show salmon `index` CLI options', | |
| 474 '--help gsrpy' : 'Show gen_salmon_res_table.py CLI options\n' | |
| 475 ] | |
| 476 | |
| 477 bcsConcatHelp['--bcs_concat_pe'] = "Concatenate paired-end files. " + | |
| 478 "Default: ${params.bcs_concat_pe}" | |
| 479 | |
| 480 fastpAdapterHelp['--fastp_use_custom_adapaters'] = "Use custom adapter FASTA with fastp on top of " + | |
| 481 "built-in adapter sequence auto-detection. Enabling this option will attempt to find and remove " + | |
| 482 "all possible Illumina adapter and primer sequences but will make the workflow run slow. " + | |
| 483 "Default: ${params.fastp_use_custom_adapters}" | |
| 484 | |
| 485 if (params.help.getClass().toString() =~ /Boolean/ || uHelp.size() == 0) { | |
| 486 println conciseHelp('fastp,mash') | |
| 487 helptext.putAll(defaultHelp) | |
| 488 } else { | |
| 489 params.help.tokenize(',').each { h -> | |
| 490 if (defaultHelp.keySet().findAll{ it =~ /(?i)\b${h}\b/ }.size() == 0) { | |
| 491 println conciseHelp('fastp,mash') | |
| 492 stopNow("Tool [ ${h} ] is not a part of ${params.pipeline} pipeline.") | |
| 493 } | |
| 494 } | |
| 495 | |
| 496 helptext.putAll( | |
| 497 fastqEntryPointHelp() + | |
| 498 bcsConcatHelp + | |
| 499 (uHelp =~ /(?i)\bbbmerge/ ? bbmergeHelp(params).text : nH) + | |
| 500 (uHelp =~ /(?i)\bfastp/ ? fastpHelp(params).text + fastpAdapterHelp : nH) + | |
| 501 (uHelp =~ /(?i)\bmash/ ? mashscreenHelp(params).text : nH) + | |
| 502 (uHelp =~ /(?i)\btuspy/ ? tuspyHelp(params).text : nH) + | |
| 503 (uHelp =~ /(?i)\bsourmashsketch/ ? sourmashsketchHelp(params).text : nH) + | |
| 504 (uHelp =~ /(?i)\bsourmashgather/ ? sourmashgatherHelp(params).text : nH) + | |
| 505 (uHelp =~ /(?i)\bsourmashsearch/ ? sourmashsearchHelp(params).text : nH) + | |
| 506 (uHelp =~ /(?i)\bsfhpy/ ? sfhpyHelp(params).text : nH) + | |
| 507 (uHelp =~ /(?i)\bkmaindex/ ? kmaindexHelp(params).text : nH) + | |
| 508 (uHelp =~ /(?i)\bkmaalign/ ? kmaalignHelp(params).text : nH) + | |
| 509 (uHelp =~ /(?i)\bmegahit/ ? megahitHelp(params).text : nH) + | |
| 510 (uHelp =~ /(?i)\bmlst/ ? mlstHelp(params).text : nH) + | |
| 511 (uHelp =~ /(?i)\babricate/ ? abricateHelp(params).text : nH) + | |
| 512 (uHelp =~ /(?i)\bsalmon/ ? salmonidxHelp(params).text : nH) + | |
| 513 (uHelp =~ /(?i)\bgsrpy/ ? gsrpyHelp(params).text : nH) + | |
| 514 wrapUpHelp() | |
| 515 ) | |
| 516 } | |
| 517 | |
| 518 return addPadding(helptext) | |
| 519 } |
