comparison CSP2/subworkflows/fetchData/main.nf @ 27:792274118b2e

"planemo upload"
author rliterman
date Wed, 04 Dec 2024 12:50:59 -0500
parents 5c609acba34e
children 893a6993efe3
comparison
equal deleted inserted replaced
26:6f85641ecd48 27:792274118b2e
19 findReads = file("${projectDir}/bin/fetchReads.py") 19 findReads = file("${projectDir}/bin/fetchReads.py")
20 userSNPDiffs = file("${projectDir}/bin/userSNPDiffs.py") 20 userSNPDiffs = file("${projectDir}/bin/userSNPDiffs.py")
21 21
22 // Set SKESA cores to 4 or fewer 22 // Set SKESA cores to 4 or fewer
23 skesa_cpus = (params.cores as Integer) >= 4 ? 4 : params.cores as Integer 23 skesa_cpus = (params.cores as Integer) >= 4 ? 4 : params.cores as Integer
24 println "params.cores: ${params.cores}"
25 println "skesa_cpus: ${skesa_cpus}"
26 24
27 workflow { 25 workflow {
28 main: 26 main:
29 input_data = fetchData() 27 input_data = fetchData()
30 query_data = input_data.query_data 28 query_data = input_data.query_data
272 ch_fasta = Channel.from(fasta_dir.readLines()).filter{ file -> file =~ /\.(fa|fasta|fna)$/}.map{it-> file(it)} 270 ch_fasta = Channel.from(fasta_dir.readLines()).filter{ file -> file =~ /\.(fa|fasta|fna)$/}.map{it-> file(it)}
273 } 271 }
274 } else{ 272 } else{
275 error "$fasta_dir is not a valid directory or file..." 273 error "$fasta_dir is not a valid directory or file..."
276 } 274 }
275
277 fasta_data = ch_fasta 276 fasta_data = ch_fasta
278 .filter { file(it).exists() } 277 .map { filePath ->
278 if (!file(filePath).exists()) { error "$filePath is not a valid directory or file..." }
279 return filePath }
279 .map { filePath -> 280 .map { filePath ->
280 def fileName = file(filePath).getBaseName() 281 def fileName = file(filePath).getBaseName()
281 def sampleName = fileName.replaceAll(trim_this, "") 282 def sampleName = fileName.replaceAll(trim_this, "")
282 tuple(sampleName, filePath)} 283 tuple(sampleName, filePath)
284 }
283 } 285 }
284 } 286 }
285 workflow processSNPDiffs{ 287 workflow processSNPDiffs{
286 288
287 emit: 289 emit:
313 } else{ 315 } else{
314 error "$snpdiffs_dir is not a valid directory or file..." 316 error "$snpdiffs_dir is not a valid directory or file..."
315 } 317 }
316 318
317 snpdiffs_data = ch_snpdiffs 319 snpdiffs_data = ch_snpdiffs
318 .filter { file(it).exists() } 320 .map { filePath ->
319 .collect() | getSNPDiffsData | splitCsv | collect | flatten | collate(19) 321 if (!file(filePath).exists()) { error "$filePath is not a valid directory or file..." }
322 return filePath }
323 .collect() | getSNPDiffsData | splitCsv | collect | flatten | collate(19)
320 324
321 // (1) SNPDiffs_File, (2) Query_ID, (3) Query_Assembly, (4) Query_Contig_Count, (5) Query_Assembly_Bases, 325 // (1) SNPDiffs_File, (2) Query_ID, (3) Query_Assembly, (4) Query_Contig_Count, (5) Query_Assembly_Bases,
322 // (6) Query_N50, (7) Query_N90, (8) Query_L50, (9) Query_L90, (10) Query_SHA256, 326 // (6) Query_N50, (7) Query_N90, (8) Query_L50, (9) Query_L90, (10) Query_SHA256,
323 // (11) Reference_ID, (12) Reference_Assembly, (13) Reference_Contig_Count, (14) Reference_Assembly_Bases, 327 // (11) Reference_ID, (12) Reference_Assembly, (13) Reference_Contig_Count, (14) Reference_Assembly_Bases,
324 // (15) Reference_N50, (16) Reference_N90, (17) Reference_L50, (18) Reference_L90, (19) Reference_SHA256 328 // (15) Reference_N50, (16) Reference_N90, (17) Reference_L50, (18) Reference_L90, (19) Reference_SHA256
493 497
494 // Return assembly data 498 // Return assembly data
495 assembled_data = assembly_output.map{it->tuple(it[0],it[3])} 499 assembled_data = assembly_output.map{it->tuple(it[0],it[3])}
496 } 500 }
497 process skesaAssemble{ 501 process skesaAssemble{
498 // label 'skesaMem' 502 //label 'skesaMem'
499 503
500 cpus = skesa_cpus
501
502 input: 504 input:
503 tuple val(sample_name),val(read_type),val(read_location) 505 tuple val(sample_name),val(read_type),val(read_location)
504 506
505 output: 507 output:
506 stdout 508 stdout