-
Notifications
You must be signed in to change notification settings - Fork 10
/
short-reads-only.nf
69 lines (59 loc) · 2.17 KB
/
short-reads-only.nf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
* DEFINITION OF MULTI-SAMPLE (BATCH) MODE
*/
/*
* Include modules
*/
include { spades } from '../modules/local/ShortReads/spades_sreads.nf'
include { unicycler } from '../modules/local/ShortReads/unicycler_sreads.nf'
include { shovill } from '../modules/local/ShortReads/shovill_sreads.nf'
include { megahit } from '../modules/local/ShortReads/megahit_sreads.nf'
workflow SHORTREADS_ONLY {
take:
input_tuple
main:
// Define default output channes
// default must be a empty channel that
// will be overwritten if assembler is used
def SHORTREADS_OUTPUTS = [:]
SHORTREADS_OUTPUTS['SPADES'] = Channel.empty()
SHORTREADS_OUTPUTS['UNICYCLER'] = Channel.empty()
SHORTREADS_OUTPUTS['SHOVILL'] = Channel.empty()
SHORTREADS_OUTPUTS['MEGAHIT'] = Channel.empty()
ch_versions_sr = Channel.empty()
// SPAdes
if (!params.skip_spades) {
spades(input_tuple)
SHORTREADS_OUTPUTS['SPADES'] = spades.out[1]
ch_versions_sr = ch_versions_sr.mix(spades.out.versions.first())
}
// Unicycler
if (!params.skip_unicycler) {
unicycler(input_tuple)
SHORTREADS_OUTPUTS['UNICYCLER'] = unicycler.out[1]
ch_versions_sr = ch_versions_sr.mix(unicycler.out.versions.first())
}
// Shovill
if (!params.skip_shovill) {
shovill(input_tuple.combine(Channel.from('spades', 'skesa', 'megahit')))
SHORTREADS_OUTPUTS['SHOVILL'] = shovill.out[1]
ch_versions_sr = ch_versions_sr.mix(shovill.out.versions.first())
}
// Megahit
if (!params.skip_megahit) {
megahit(input_tuple)
SHORTREADS_OUTPUTS['MEGAHIT'] = megahit.out[1]
ch_versions_sr = ch_versions_sr.mix(megahit.out.versions.first())
}
// Gather assemblies for qc
SHORTREADS_OUTPUTS['ALL_RESULTS'] = SHORTREADS_OUTPUTS['SPADES']
.mix(
SHORTREADS_OUTPUTS['UNICYCLER'],
SHORTREADS_OUTPUTS['SHOVILL'],
SHORTREADS_OUTPUTS['MEGAHIT']
)
.combine(input_tuple, by: 0)
emit:
results = SHORTREADS_OUTPUTS['ALL_RESULTS']
versions = ch_versions_sr
}