-
Notifications
You must be signed in to change notification settings - Fork 2
/
polish_assemblies.nf
43 lines (31 loc) · 1.4 KB
/
polish_assemblies.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
//Workflow for additional polishing
//include { PILON_POLISH } from "../../modules/local/pilon_polish"
include { PILON_ITER } from "../../modules/local/pilon_polisher.nf"
include { MINIMAP2_INDEX } from "../../modules/local/minimap2_index.nf"
include { MINIMAP2_MAP } from "../../modules/local/minimap2_map.nf"
include { SAM_TO_BAM } from "../../modules/local/sam_to_bam.nf"
include { MEDAKA_POLISH } from "../../modules/local/medaka_polish.nf"
workflow POLISH_ASSEMBLIES{
take:
sample_data // tuple val(meta), path reads
assembled_data // tuple val(meta), path contigs
main:
versions = Channel.empty()
ch_sample_assem = sample_data.join(assembled_data)
if(params.platform == params.opt_platforms.illumina){
PILON_ITER(ch_sample_assem)
versions = versions.mix(PILON_ITER.out.versions)
ch_fasta_reads = PILON_ITER.out.pilon_fasta
}else if(params.platform == params.opt_platforms.ont){
MEDAKA_POLISH(ch_sample_assem, Channel.value(params.nanopore_chemistry))
versions = versions.mix(MEDAKA_POLISH.out.versions)
ch_fasta_reads = MEDAKA_POLISH.out.medaka_polished
}else{
log.warn "No additional polishing with Pilon or Medaka available for ${params.platform}."
// TODO verify pacbio works
ch_fasta_reads = assembled_data.join(sample_data)
}
emit:
assemblies = ch_fasta_reads
versions = versions
}