#!/usr/bin/env nextflow include { validateParameters; fromSamplesheet } from 'plugin/nf-validation' include { CLIQUESNV } from './modules/cliquesnv' include { EFETCH } from './modules/efetch' include { FASTERQ_DUMP } from './modules/fasterq_dump' include { HAPLINK_HAPLOTYPES as HAPLINK_ML_HAPLOTYPES } from './modules/haplink/haplotypes' include { HAPLINK_HAPLOTYPES as HAPLINK_RAW_HAPLOTYPES } from './modules/haplink/haplotypes' include { HAPLINK_SEQUENCES } from './modules/haplink/sequences' include { HAPLINK_VARIANTS } from './modules/haplink/variants' include { MINIMAP2 } from './modules/minimap2' include { NANOFILT } from './modules/nanofilt' include { QUASIRECOMB } from './modules/quasirecomb' include { SHORAH_AMPLICON } from './modules/shorah/amplicon' include { SHORAH_SHOTGUN } from './modules/shorah/shotgun' include { VIQUAS } from './modules/viquas' workflow { validateParameters() Channel .fromSamplesheet("input") .set { ch_sras } FASTERQ_DUMP( ch_sras ) FASTERQ_DUMP .out .set { ch_input } EFETCH("${params.reference}") EFETCH .out .set { ch_reference } NANOFILT( ch_input ) NANOFILT .out .set { ch_reads } MINIMAP2( ch_reads, ch_reference ) MINIMAP2 .out .set { ch_alignments } CLIQUESNV( ch_alignments, 'snv-pacbio' ) 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 .map{ [ it[0], 'HAPLINK_RAW_HAPLOTYPES', it[1] ] } .set{ ch_raw_haplotypes } HAPLINK_ML_HAPLOTYPES( ch_haplotype_calling, ch_reference ) HAPLINK_ML_HAPLOTYPES .out .map{ [ it[0], 'HAPLINK_ML_HAPLOTYPES', it[1] ] } .set{ ch_ml_haplotypes } ch_raw_haplotypes .mix(ch_ml_haplotypes) .set{ ch_all_haplotypes } HAPLINK_SEQUENCES( ch_all_haplotypes, ch_reference ) QUASIRECOMB( ch_alignments ) SHORAH_AMPLICON( ch_alignments, ch_reference ) SHORAH_SHOTGUN( ch_alignments, ch_reference ) VIQUAS( ch_alignments, ch_reference ) }