2023-06-08 22:55:57 +00:00
|
|
|
#!/usr/bin/env nextflow
|
|
|
|
|
2023-09-23 21:43:02 +00:00
|
|
|
include { CLIQUESNV } from './modules/cliquesnv'
|
2023-09-23 20:34:27 +00:00
|
|
|
include { EFETCH } from './modules/efetch'
|
2023-09-23 21:24:57 +00:00
|
|
|
include { HAPLINK_HAPLOTYPES as HAPLINK_ML_HAPLOTYPES } from './modules/haplink/haplotypes'
|
|
|
|
include { HAPLINK_HAPLOTYPES as HAPLINK_RAW_HAPLOTYPES } from './modules/haplink/haplotypes'
|
2023-09-23 21:26:25 +00:00
|
|
|
include { HAPLINK_SEQUENCES } from './modules/haplink/sequences'
|
2023-09-23 20:21:26 +00:00
|
|
|
include { HAPLINK_VARIANTS } from './modules/haplink/variants'
|
2023-09-25 23:47:48 +00:00
|
|
|
include { PREDICTHAPLO } from './modules/predicthaplo'
|
2023-09-23 21:05:02 +00:00
|
|
|
include { MINIMAP2 } from './modules/minimap2'
|
2023-09-23 20:44:08 +00:00
|
|
|
include { NANOFILT } form './modules/nanofilt'
|
2023-09-23 21:09:21 +00:00
|
|
|
include { SHORAH_AMPLICON } from './modules/shorah/amplicon'
|
2023-09-23 21:12:40 +00:00
|
|
|
include { SHORAH_SHOTGUN } from './modules/shorah/shotgun'
|
2023-08-09 21:09:55 +00:00
|
|
|
include { VIQUAS } from './modules/viquas'
|
|
|
|
|
2023-06-08 22:55:57 +00:00
|
|
|
workflow {
|
|
|
|
|
|
|
|
Channel
|
|
|
|
.fromPath("*.fastq.gz")
|
|
|
|
.map { file -> tuple(file.simpleName, file) }
|
|
|
|
.set { ch_input }
|
|
|
|
|
2023-09-23 20:38:55 +00:00
|
|
|
EFETCH('NC_036618.1')
|
2023-06-08 22:55:57 +00:00
|
|
|
EFETCH
|
|
|
|
.out
|
|
|
|
.set { ch_reference }
|
|
|
|
|
|
|
|
NANOFILT( ch_input )
|
|
|
|
NANOFILT
|
|
|
|
.out
|
|
|
|
.set { ch_reads }
|
|
|
|
|
|
|
|
MINIMAP2( ch_reads, ch_reference )
|
|
|
|
MINIMAP2
|
|
|
|
.out
|
|
|
|
.set { ch_alignments }
|
|
|
|
|
2023-09-25 23:44:50 +00:00
|
|
|
CLIQUESNV(
|
|
|
|
ch_alignments,
|
|
|
|
'snv-pacbio'
|
|
|
|
)
|
|
|
|
|
2023-06-08 22:55:57 +00:00
|
|
|
HAPLINK_VARIANTS( ch_alignments, ch_reference )
|
|
|
|
HAPLINK_VARIANTS
|
|
|
|
.out
|
|
|
|
.set { ch_variants }
|
|
|
|
|
|
|
|
ch_alignments
|
|
|
|
.join( ch_variants )
|
|
|
|
.set { ch_haplotype_calling }
|
|
|
|
|
|
|
|
|
|
|
|
HAPLINK_RAW_HAPLOTYPES(
|
|
|
|
ch_haplotype_calling,
|
|
|
|
ch_reference
|
|
|
|
)
|
|
|
|
HAPLINK_RAW_HAPLOTYPES
|
|
|
|
.out
|
2023-09-23 21:30:24 +00:00
|
|
|
.map{ [ it[0], 'HAPLINK_RAW_HAPLOTYPES', it[1] ] }
|
2023-06-08 22:55:57 +00:00
|
|
|
.set{ ch_raw_haplotypes }
|
|
|
|
|
|
|
|
HAPLINK_ML_HAPLOTYPES(
|
|
|
|
ch_haplotype_calling,
|
|
|
|
ch_reference
|
|
|
|
)
|
|
|
|
HAPLINK_ML_HAPLOTYPES
|
|
|
|
.out
|
2023-09-23 21:30:24 +00:00
|
|
|
.map{ [ it[0], 'HAPLINK_ML_HAPLOTYPES', it[1] ] }
|
2023-06-08 22:55:57 +00:00
|
|
|
.set{ ch_ml_haplotypes }
|
|
|
|
|
|
|
|
ch_raw_haplotypes
|
|
|
|
.mix(ch_ml_haplotypes)
|
|
|
|
.set{ ch_all_haplotypes }
|
|
|
|
|
|
|
|
HAPLINK_SEQUENCES(
|
|
|
|
ch_all_haplotypes,
|
|
|
|
ch_reference
|
|
|
|
)
|
2023-08-09 21:09:55 +00:00
|
|
|
|
2023-09-25 23:47:48 +00:00
|
|
|
PREDICTHAPLO(
|
|
|
|
ch_alignments,
|
|
|
|
ch_reference
|
|
|
|
)
|
|
|
|
|
2023-08-09 21:09:55 +00:00
|
|
|
VIQUAS(
|
|
|
|
ch_alignments,
|
|
|
|
ch_reference
|
|
|
|
)
|
2023-06-08 22:55:57 +00:00
|
|
|
}
|