/*
 * -------------------------------------------------
 *  Nextflow config file for reference genome
 * -------------------------------------------------
 * Defines reference genomes, without using iGenome paths
 * Can be used by any config that customises the base
 * path using $params.genomes_base / --genomes_base
 */

params {
  genomes {
    'GRCh37' {
      ac_loci                 = "${params.genomes_base}/1000G_phase3_20130502_SNP_maf0.3.loci"
      ac_loci_gc              = "${params.genomes_base}/1000G_phase3_20130502_SNP_maf0.3.loci.gc"
      bwa                     = "${params.genomes_base}/human_g1k_v37_decoy.fasta.{amb,ann,bwt,pac,sa}"
      chr_dir                 = "${params.genomes_base}/Chromosomes"
      chr_length              = "${params.genomes_base}/human_g1k_v37_decoy.len"
      dbsnp                   = "${params.genomes_base}/dbsnp_138.b37.vcf"
      dbsnp_index             = "${params.genomes_base}/dbsnp_138.b37.vcf.idx"
      dict                    = "${params.genomes_base}/human_g1k_v37_decoy.dict"
      fasta                   = "${params.genomes_base}/human_g1k_v37_decoy.fasta"
      fasta_fai               = "${params.genomes_base}/human_g1k_v37_decoy.fasta.fai"
      germline_resource       = "${params.genomes_base}/gnomAD.r2.1.1.GRCh37.PASS.AC.AF.only.vcf.gz"
      germline_resource_index = "${params.genomes_base}/gnomAD.r2.1.1.GRCh37.PASS.AC.AF.only.vcf.gz.tbi"
      intervals               = "${params.genomes_base}/wgs_calling_regions_Sarek.list"
      known_indels            = "${params.genomes_base}/{1000G_phase1,Mills_and_1000G_gold_standard}.indels.b37.vcf"
      known_indels_index      = "${params.genomes_base}/{1000G_phase1,Mills_and_1000G_gold_standard}.indels.b37.vcf.idx"
      mappability             = "${params.genomes_base}/out100m2_hg19.gem"
      snpeff_db               = 'GRCh37.75'
      species                 = 'homo_sapiens'
      vep_cache_version       = '99'
    }
    'GRCh38' {
      ac_loci                 = "${params.genomes_base}/1000G_phase3_GRCh38_maf0.3.loci"
      ac_loci_gc              = "${params.genomes_base}/1000G_phase3_GRCh38_maf0.3.loci.gc"
      bwa                     = "${params.genomes_base}/Homo_sapiens_assembly38.fasta.64.{alt,amb,ann,bwt,pac,sa}"
      chr_dir                 = "${params.genomes_base}/Chromosomes"
      chr_length              = "${params.genomes_base}/Homo_sapiens_assembly38.len"
      dbsnp                   = "${params.genomes_base}/dbsnp_146.hg38.vcf.gz"
      dbsnp_index             = "${params.genomes_base}/dbsnp_146.hg38.vcf.gz.tbi"
      dict                    = "${params.genomes_base}/Homo_sapiens_assembly38.dict"
      fasta                   = "${params.genomes_base}/Homo_sapiens_assembly38.fasta"
      fasta_fai               = "${params.genomes_base}/Homo_sapiens_assembly38.fasta.fai"
      germline_resource       = "${params.genomes_base}/gnomAD.r2.1.1.GRCh38.PASS.AC.AF.only.vcf.gz"
      germline_resource_index = "${params.genomes_base}/gnomAD.r2.1.1.GRCh38.PASS.AC.AF.only.vcf.gz.tbi"
      intervals               = "${params.genomes_base}/wgs_calling_regions.hg38.bed"
      known_indels            = "${params.genomes_base}/{Mills_and_1000G_gold_standard.indels.hg38,beta/Homo_sapiens_assembly38.known_indels}.vcf.gz"
      known_indels_index      = "${params.genomes_base}/{Mills_and_1000G_gold_standard.indels.hg38,beta/Homo_sapiens_assembly38.known_indels}.vcf.gz.tbi"
      mappability             = "${params.genomes_base}/out100m2_hg38.gem"
      snpeff_db               = 'GRCh38.86'
      species                 = 'homo_sapiens'
      vep_cache_version       = '99'
    }
    'minimalGRCh37' {
      fasta                   = "${params.genomes_base}/human_g1k_v37_decoy.small.fasta"
    }
    'smallGRCh37' {
      dbsnp                   = "${params.genomes_base}/dbsnp_138.b37.small.vcf.gz"
      fasta                   = "${params.genomes_base}/human_g1k_v37_decoy.small.fasta"
      germline_resource       = "${params.genomes_base}/gnomAD.r2.1.1.GRCh37.small.PASS.AC.AF.only.vcf.gz"
      intervals               = "${params.genomes_base}/small.intervals"
      known_indels            = "${params.genomes_base}/Mills_1000G_gold_standard_and_1000G_phase1.indels.b37.small.vcf.gz"
      snpeff_db               = 'GRCh37.87'
      species                 = 'homo_sapiens'
      vep_cache_version       = '99'
    }
    'smallerGRCh37' {
      fasta                   = "${params.genomes_base}/human_g1k_v37_decoy.small.fasta"
      known_indels            = "${params.genomes_base}/dbsnp_138.b37.small.vcf.gz"
    }
    'smallGRCh38' {
      dbsnp                   = "${params.genomes_base}/dbsnp_146_hg38_chr20_tso-only.vcf.gz"
      fasta                   = "${params.genomes_base}/Homo_sapiens_assembly38_chr20.fasta"
      known_indels            = "${params.genomes_base}/Mills_and_1000G_gold_standard_indels_hg38_chr20.vcf.gz"
      snpeff_db               = 'GRCh38.86'
      species                 = 'homo_sapiens'
      vep_cache_version       = '99'
    }
    'custom' {
      fasta                   = null
    }
  }
}
