-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathmain.nf
More file actions
100 lines (80 loc) · 3.08 KB
/
main.nf
File metadata and controls
100 lines (80 loc) · 3.08 KB
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/usr/bin/env nextflow
//
// MODULE IMPORT BLOCK
//
include { PRETEXTMAP as PRETEXTMAP_STANDRD } from '../../../modules/nf-core/pretextmap/main'
include { PRETEXTMAP as PRETEXTMAP_HIGHRES } from '../../../modules/nf-core/pretextmap/main'
include { PRETEXTSNAPSHOT as SNAPSHOT_SRES } from '../../../modules/nf-core/pretextsnapshot/main'
include { CRAM_GENERATE_CSV } from '../../../modules/local/cram/generate_csv/main'
include { HIC_MINIMAP2 } from '../../../subworkflows/local/hic_minimap2/main'
include { HIC_BWAMEM2 } from '../../../subworkflows/local/hic_bwamem2/main'
workflow GENERATE_MAPS {
take:
reference_tuple // Channel [ val(meta), path(file) ]
hic_reads_path // Channel [ val(meta), path(directory) ]
ch_reference_fai // Channel [ val(meta), path(file) ]
main:
ch_versions = channel.empty()
//
// MODULE: generate a cram csv file containing the required parametres for CRAM_FILTER_ALIGN_BWAMEM2_FIXMATE_SORT
//
CRAM_GENERATE_CSV (
hic_reads_path
)
ch_versions = ch_versions.mix( CRAM_GENERATE_CSV.out.versions )
//
// SUBWORKFLOW: mapping hic reads using minimap2
//
HIC_MINIMAP2 (
reference_tuple.filter{ meta, _fasta -> meta.aligner == 'minimap2' },
CRAM_GENERATE_CSV.out.csv,
ch_reference_fai
)
ch_versions = ch_versions.mix( HIC_MINIMAP2.out.versions )
//
// SUBWORKFLOW: mapping hic reads using bwamem2
//
HIC_BWAMEM2 (
reference_tuple.filter{ meta, _fasta -> meta.aligner == 'bwamem2' },
CRAM_GENERATE_CSV.out.csv,
ch_reference_fai
)
ch_versions = ch_versions.mix( HIC_BWAMEM2.out.versions )
ch_aligned_bams = HIC_MINIMAP2.out.mergedbam.mix( HIC_BWAMEM2.out.mergedbam )
.map{ meta, bam ->
tuple(
meta + [ sz: bam.size() ],
bam
)
}
//
// MODULE: GENERATE PRETEXT MAP FROM MAPPED BAM FOR LOW RES
//
PRETEXTMAP_STANDRD (
ch_aligned_bams,
reference_tuple.join( ch_reference_fai ).collect()
)
ch_versions = ch_versions.mix( PRETEXTMAP_STANDRD.out.versions )
if (params.run_hires) {
PRETEXTMAP_HIGHRES (
ch_aligned_bams,
reference_tuple.join( ch_reference_fai ).collect()
)
hires_pretext = PRETEXTMAP_HIGHRES.out.pretext
ch_versions = ch_versions.mix( PRETEXTMAP_HIGHRES.out.versions )
} else {
hires_pretext = channel.empty()
}
//
// MODULE: GENERATE PNG FROM STANDARD PRETEXT
//
SNAPSHOT_SRES (
PRETEXTMAP_STANDRD.out.pretext
)
ch_versions = ch_versions.mix( SNAPSHOT_SRES.out.versions )
emit:
standrd_pretext = PRETEXTMAP_STANDRD.out.pretext
standrd_snpshot = SNAPSHOT_SRES.out.image
highres_pretext = hires_pretext
versions = ch_versions
}