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