kkonganti@11: params { kkonganti@11: workflow_conceived_by = 'Kranti Konganti' kkonganti@11: workflow_built_by = 'Kranti Konganti' kkonganti@11: workflow_version = '0.6.1' kkonganti@12: bcs_root_dbdir = '/tool/tool-data/cfsan_bettercallsal_db/latest' kkonganti@11: bcs_db_mode = 'snp' kkonganti@11: bcs_db_mode_index = (params.bcs_db_mode ==~ /snp/ ? '_cluster' : '_serotype') kkonganti@11: bcs_thresholds = 'strict' kkonganti@11: bcs_concat_pe = true kkonganti@11: bbmerge_run = (params.bcs_concat_pe ? false : true) kkonganti@11: bbmerge_adapters = false kkonganti@11: bbmerge_reads = -1 kkonganti@11: bbmerge_ziplevel = 1 kkonganti@11: bbmerge_ordered = false kkonganti@11: bbmerge_qtrim = true kkonganti@11: bbmerge_qtrim2 = false kkonganti@11: bbmerge_trimq = 10 kkonganti@11: bbmerge_minlength = 1 kkonganti@11: bbmerge_tbo = false kkonganti@11: bbmerge_minavgquality = (params.bcs_thresholds ==~ /strict/ ? 30 : 20) kkonganti@11: bbmerge_trimpolya = true kkonganti@11: bbmerge_pfilter = (params.bcs_thresholds ==~ /strict/ ? 1 : false) kkonganti@11: bbmerge_ouq = false kkonganti@11: bbmerge_owq = true kkonganti@11: bbmerge_strict = false kkonganti@11: bbmerge_verystrict = false kkonganti@11: bbmerge_ultrastrict = (params.bcs_thresholds ==~ /strict/ ? true : false) kkonganti@11: bbmerge_maxstrict = false kkonganti@11: bbmerge_loose = false kkonganti@11: bbmerge_veryloose = false kkonganti@11: bbmerge_ultraloose = false kkonganti@11: bbmerge_maxloose = false kkonganti@11: bbmerge_fast = false kkonganti@11: bbmerge_k = 60 kkonganti@11: bbmerge_prealloc = true kkonganti@11: fastp_run = true kkonganti@11: fastp_failed_out = false kkonganti@11: fastp_merged_out = false kkonganti@11: fastp_overlapped_out = false kkonganti@11: fastp_6 = false kkonganti@11: fastp_reads_to_process = 0 kkonganti@11: fastp_fix_mgi_id = false kkonganti@11: fastp_A = false kkonganti@11: fastp_f = 0 kkonganti@11: fastp_t = 0 kkonganti@11: fastp_b = 0 kkonganti@11: fastp_F = 0 kkonganti@11: fastp_T = 0 kkonganti@11: fastp_B = 0 kkonganti@11: fastp_dedup = true kkonganti@11: fastp_dup_calc_accuracy = 6 kkonganti@11: fastp_poly_g_min_len = 10 kkonganti@11: fastp_G = true kkonganti@11: fastp_x = false kkonganti@11: fastp_poly_x_min_len = 10 kkonganti@11: fastp_cut_front = true kkonganti@11: fastp_cut_tail = false kkonganti@11: fastp_cut_right = true kkonganti@11: fastp_W = 20 kkonganti@11: fastp_M = 30 kkonganti@11: fastp_q = 30 kkonganti@11: fastp_u = 40 kkonganti@11: fastp_n = 5 kkonganti@11: fastp_e = 0 kkonganti@11: fastp_l = 35 kkonganti@11: fastp_max_len = 0 kkonganti@11: fastp_y = true kkonganti@11: fastp_Y = 30 kkonganti@11: fastp_U = false kkonganti@11: fastp_umi_loc = false kkonganti@11: fastp_umi_len = false kkonganti@11: fastp_umi_prefix = false kkonganti@11: fastp_umi_skip = false kkonganti@11: fastp_p = true kkonganti@11: fastp_P = 20 kkonganti@11: fastp_use_custom_adapters = false kkonganti@11: fastp_adapter_fasta = (params.fastp_use_custom_adapters ? "${projectDir}" kkonganti@11: + File.separator kkonganti@11: + 'assets' kkonganti@11: + File.separator kkonganti@11: + 'adaptors.fa' : false) kkonganti@11: mashscreen_run = true kkonganti@11: mash_sketch = (params.bcs_root_dbdir kkonganti@11: + File.separator kkonganti@11: + 'mash_sketch' kkonganti@11: + File.separator kkonganti@11: + 'msh.k21.1000h.' kkonganti@11: + params.bcs_db_mode kkonganti@11: + '.msh') kkonganti@11: mashscreen_w = false kkonganti@11: mashscreen_i = false kkonganti@11: mashscreen_v = false kkonganti@11: tuspy_run = true kkonganti@11: tuspy_s = false kkonganti@11: tuspy_m = false kkonganti@11: tuspy_ps = (params.bcs_root_dbdir kkonganti@11: + File.separator kkonganti@11: + 'index_metadata' kkonganti@11: + File.separator kkonganti@11: + 'per_' kkonganti@11: + params.bcs_db_mode kkonganti@11: + params.bcs_db_mode_index kkonganti@11: + '.ACC2SERO.pickle') kkonganti@11: tuspy_gd = (params.bcs_root_dbdir kkonganti@11: + File.separator kkonganti@11: + 'scaffold_genomes') kkonganti@11: tuspy_gds = '_scaffolded_genomic.fna.gz' kkonganti@11: tuspy_n = 10 kkonganti@11: sourmashsketch_run = true kkonganti@11: sourmashsketch_mode = 'dna' kkonganti@11: sourmashsketch_file = false kkonganti@11: sourmashsketch_f = false kkonganti@11: sourmashsketch_merge = false kkonganti@11: sourmashsketch_name = false kkonganti@11: sourmashsketch_p = 'abund,scaled=1000,k=51,k=61,k=71' kkonganti@11: sourmashsketch_singleton = true kkonganti@11: sourmashsketch_randomize = false kkonganti@11: sourmashgather_run = (params.sourmashsketch_run ?: false) kkonganti@11: sourmashgather_n = false kkonganti@11: sourmashgather_thr_bp = false kkonganti@11: sourmashgather_ignoreabn = false kkonganti@11: sourmashgather_prefetch = false kkonganti@11: sourmashgather_noprefetch = false kkonganti@11: sourmashgather_ani_ci = true kkonganti@11: sourmashgather_k = 71 kkonganti@11: sourmashgather_protein = false kkonganti@11: sourmashgather_noprotein = false kkonganti@11: sourmashgather_dayhoff = false kkonganti@11: sourmashgather_nodayhoff = false kkonganti@11: sourmashgather_hp = false kkonganti@11: sourmashgather_nohp = false kkonganti@11: sourmashgather_dna = true kkonganti@11: sourmashgather_nodna = false kkonganti@11: sourmashgather_scaled = false kkonganti@11: sourmashgather_inc_pat = false kkonganti@11: sourmashgather_exc_pat = false kkonganti@11: sourmashsearch_run = (params.sourmashsketch_run && !params.sourmashgather_run ?: false) kkonganti@11: sourmashsearch_n = false kkonganti@11: sourmashsearch_thr = '0' kkonganti@11: sourmashsearch_contain = false kkonganti@11: sourmashsearch_maxcontain = true kkonganti@11: sourmashsearch_ignoreabn = true kkonganti@11: sourmashsearch_ani_ci = false kkonganti@11: sourmashsearch_k = 71 kkonganti@11: sourmashsearch_protein = false kkonganti@11: sourmashsearch_noprotein = false kkonganti@11: sourmashsearch_dayhoff = false kkonganti@11: sourmashsearch_nodayhoff = false kkonganti@11: sourmashsearch_hp = false kkonganti@11: sourmashsearch_nohp = false kkonganti@11: sourmashsearch_dna = true kkonganti@11: sourmashsearch_nodna = false kkonganti@11: sourmashsearch_scaled = false kkonganti@11: sourmashsearch_inc_pat = false kkonganti@11: sourmashsearch_exc_pat = false kkonganti@11: sfhpy_run = true kkonganti@11: sfhpy_fcn = (params.sourmashsearch_run ? 'similarity' : 'f_match') kkonganti@11: sfhpy_fcv = (params.sourmashsearch_run ? 0.9 : 0.1) kkonganti@11: sfhpy_gt = true kkonganti@11: sfhpy_lt = false kkonganti@11: kmaindex_run = true kkonganti@11: kmaindex_t_db = false kkonganti@11: kmaindex_k = 31 kkonganti@11: kmaindex_m = false kkonganti@11: kmaindex_hc = false kkonganti@11: kmaindex_ML = false kkonganti@11: kmaindex_ME = false kkonganti@11: kmaindex_Sparse = false kkonganti@11: kmaindex_ht = false kkonganti@11: kmaindex_hq = false kkonganti@11: kmaindex_and = false kkonganti@11: kmaindex_nbp = false kkonganti@11: kmaalign_run = true kkonganti@11: kmaalign_ignorequals = false kkonganti@11: kmaalign_int = false kkonganti@11: kmaalign_ef = false kkonganti@11: kmaalign_vcf = false kkonganti@11: kmaalign_sam = false kkonganti@11: kmaalign_nc = true kkonganti@11: kmaalign_na = true kkonganti@11: kmaalign_nf = false kkonganti@11: kmaalign_a = false kkonganti@11: kmaalign_and = true kkonganti@11: kmaalign_oa = false kkonganti@11: kmaalign_bc = false kkonganti@11: kmaalign_bcNano = false kkonganti@11: kmaalign_bcd = false kkonganti@11: kmaalign_bcg = false kkonganti@11: kmaalign_ID = (params.bcs_thresholds ==~ /strict/ ? 10.0 : 5.0) kkonganti@11: kmaalign_md = false kkonganti@11: kmaalign_dense = false kkonganti@11: kmaalign_ref_fsa = false kkonganti@11: kmaalign_Mt1 = false kkonganti@11: kmaalign_1t1 = false kkonganti@11: kmaalign_mrs = (params.bcs_thresholds ==~ /strict/ ? 0.99 : 0.90) kkonganti@11: kmaalign_mrc = (params.bcs_thresholds ==~ /strict/ ? 0.99 : 0.90) kkonganti@11: kmaalign_mp = (params.bcs_thresholds ==~ /strict/ ? 30 : 20) kkonganti@11: kmaalign_eq = (params.bcs_thresholds ==~ /strict/ ? 30 : 20) kkonganti@11: kmaalign_mp = (params.kmaalign_ignorequals ? 0 : params.kmaalign_mp) kkonganti@11: kmaalign_eq = (params.kmaalign_ignorequals ? 0 : params.kmaalign_eq) kkonganti@11: kmaalign_mq = false kkonganti@11: kmaalign_5p = false kkonganti@11: kmaalign_3p = false kkonganti@11: kmaalign_apm = false kkonganti@11: kmaalign_cge = false kkonganti@11: kmaalign_mrs = (params.sourmashgather_run ? false : params.kmaalign_mrs) kkonganti@11: kmaalign_and = (params.sourmashgather_run ? false : true) kkonganti@11: kmaalign_ID = (params.sourmashgather_run ? false : params.kmaalign_ID) kkonganti@11: megahit_run = true kkonganti@11: megahit_min_count = false kkonganti@11: megahit_k_list = false kkonganti@11: megahit_no_mercy = false kkonganti@11: megahit_bubble_level = false kkonganti@11: megahit_merge_level = false kkonganti@11: megahit_prune_level = false kkonganti@11: megahit_prune_depth = false kkonganti@11: megahit_low_local_ratio = false kkonganti@11: megahit_max_tip_len = false kkonganti@11: megahit_no_local = false kkonganti@11: megahit_kmin_1pass = false kkonganti@11: megahit_preset = 'meta-sensitive' kkonganti@11: megahit_mem_flag = 2 kkonganti@11: megahit_min_contig_len = false kkonganti@11: mlst_run = true kkonganti@11: mlst_scheme = 'senterica_achtman_2' kkonganti@11: mlst_legacy = true kkonganti@11: mlst_minid = 95 kkonganti@11: mlst_mincov = 10 kkonganti@11: mlst_minscore = 50 kkonganti@11: abricate_run = true kkonganti@11: abricate_datadir = ("${projectDir}" kkonganti@11: + File.separator kkonganti@11: + 'assets' kkonganti@11: + File.separator kkonganti@11: + 'abricate_dbs') kkonganti@11: abricate_minid = 90 kkonganti@11: abricate_mincov = 80 kkonganti@11: abricate_summary_run = true kkonganti@11: salmonidx_run = true kkonganti@11: salmonidx_k = false kkonganti@11: salmonidx_gencode = false kkonganti@11: salmonidx_features = false kkonganti@11: salmonidx_keepDuplicates = false kkonganti@11: salmonidx_keepFixedFasta = false kkonganti@11: salmonidx_filterSize = false kkonganti@11: salmonidx_sparse = false kkonganti@11: salmonidx_n = false kkonganti@11: salmonidx_decoys = false kkonganti@11: salmonalign_libtype = 'SF' kkonganti@11: gsrpy_run = true kkonganti@11: gsrpy_url = true kkonganti@11: gsrpy_snp_clus_metadata = (params.bcs_root_dbdir kkonganti@11: + File.separator kkonganti@11: + 'download_pdg_metadata' kkonganti@11: + File.separator kkonganti@11: + getPDGRelease(params.bcs_root_dbdir) kkonganti@11: + File.separator kkonganti@11: + getPDGRelease(params.bcs_root_dbdir) kkonganti@11: + '.reference_target.cluster_list.tsv') kkonganti@11: sourmashcompare_mode = 'ani,containment' kkonganti@11: fq_filter_by_len = 0 kkonganti@11: fq_suffix = (params.fq_single_end ? '.fastq.gz' : '_R1_001.fastq.gz') kkonganti@11: fq2_suffix = '_R2_001.fastq.gz' kkonganti@11: } kkonganti@11: kkonganti@11: /* kkonganti@11: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kkonganti@11: METHOD TO GET PDG RELEASE AND SET REST OF THE METADATA FILES kkonganti@11: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kkonganti@11: */ kkonganti@11: kkonganti@11: def getPDGRelease(db_path) { kkonganti@11: db_path_obj = new File( db_path ) kkonganti@11: def pdg_release = [] kkonganti@11: kkonganti@11: db_path_obj.eachDirRecurse { kkonganti@11: it.toString() =~ /PDG/ \ kkonganti@11: ? pdg_release << it.toString().find(/PDG\d+\.\d+/) \ kkonganti@11: : null kkonganti@11: } kkonganti@11: kkonganti@11: return pdg_release.unique().join('').toString() kkonganti@11: }