1
0
Fork 0
mirror of https://github.com/MillironX/taxprofiler.git synced 2024-11-23 14:39:54 +00:00

feat: introduce sample batches for krakenuniq

This commit is contained in:
Moritz E. Beber 2023-03-30 16:49:22 +02:00
parent b299a25bc7
commit 70dd7cade9
2 changed files with 15 additions and 10 deletions

View file

@ -125,6 +125,7 @@ params {
krakenuniq_ram_chunk_size = '16G' krakenuniq_ram_chunk_size = '16G'
krakenuniq_save_reads = false // added directly to module in profiling.nf krakenuniq_save_reads = false // added directly to module in profiling.nf
krakenuniq_save_readclassifications = false // added directly to module in profiling.nf krakenuniq_save_readclassifications = false // added directly to module in profiling.nf
krakenuniq_batch_size = 20
// Bracken // Bracken
run_bracken = false run_bracken = false

View file

@ -320,9 +320,13 @@ workflow PROFILING {
[[id: db_meta.db_name, single_end: meta.single_end], reads, db_meta, db] [[id: db_meta.db_name, single_end: meta.single_end], reads, db_meta, db]
} }
.groupTuple(by: [0,2,3]) .groupTuple(by: [0,2,3])
.flatMap { single_meta, reads, db_meta, db ->
def batches = reads.collate(params.krakenuniq_batch_size)
return batches.colect { batch -> [ single_meta + db_meta, batch.flatten(), db ]}
}
.multiMap { .multiMap {
single_meta, reads, db_meta, db -> meta, reads, db ->
reads: [ single_meta + db_meta, reads.flatten() ] reads: [ meta, reads ]
db: db db: db
} }
// Hardcode to _always_ produce the report file (which is our basic output, and goes into) // Hardcode to _always_ produce the report file (which is our basic output, and goes into)