// Test data to be used by Bactopia tests
// Modeled after nf-core/modules setup

params {
    test_data {
        // Sequence accessions 
        'accessions' {
            gcf = "GCF_000292685"
            gcfs = ["GCF_002849995", "GCF_000292685", "GCF_002849975"]
            srx = "SRX1390609"
            srxs = ["SRX1390609", "SRX1390608", "SRX849002"]
        }

        // datasets
        'datasets' {
            'amrdb' {
                amrfinder = "${params.test_data_dir}/datasets/amrdb/amrfinderdb.tar.gz"
            }
            'ariba' {
                card = "${params.test_data_dir}/datasets/ariba/card.tar.gz"
                vfdb_core = "${params.test_data_dir}/datasets/ariba/vfdb_core.tar.gz"
            }
            bakta = "${params.test_data_dir}/datasets/bakta/bakta"
            bakta_tarball = "${params.test_data_dir}/datasets/bakta/bakta-full.tar.gz"
            'blast' {
                genes = "${params.test_data_dir}/datasets/blast/genes"
                proteins = "${params.test_data_dir}/datasets/blast/proteins"
                primers = "${params.test_data_dir}/datasets/blast/primers"
            }
            eggnog = "${params.test_data_dir}/datasets/eggnog"
            eggnog_tarball = "${params.test_data_dir}/datasets/eggnog/eggnog.tar.gz"
            gtdb = "${params.test_data_dir}/datasets/gtdb/gtdbtk"
            gtdb_tarball = "${params.test_data_dir}/datasets/gtdb/gtdbtk.tar.gz"
            kraken2 = "${params.test_data_dir}/datasets/kraken2"
            kraken2_tarball = "${params.test_data_dir}/datasets/kraken2/kraken2.tar.gz"
            mapping = "${params.test_data_dir}/datasets/mapping-sequences"
            mash = "${params.test_data_dir}/datasets/sketcher/mash-refseq88.k21.msh"
            midas = "${params.test_data_dir}/datasets/midas/midas"
            midas_tarball = "${params.test_data_dir}/datasets/midas/midas.tar.gz"
            minmer = "${params.test_data_dir}/datasets/minmer"
            mlst = "${params.test_data_dir}/datasets/mlst/mlst.tar.gz"
            refseq_genomes = "${params.test_data_dir}/datasets/variants/refseq-genomes.msh"
            refseq_msh = "${params.test_data_dir}/datasets/minmer/mash-refseq-k21.msh"
            scrubber = "${params.test_data_dir}/datasets/sra-human-scrubber/human_filter.db"
            sourmash = "${params.test_data_dir}/datasets/sketcher/gtdb-rs207.genomic-reps.dna.k31.lca.json.gz"
        }

        // Empty files
        'empty' {
            adapters = "${params.test_data_dir}/empty/EMPTY_ADAPTERS"
            fna = "${params.test_data_dir}/empty/EMPTY.fna.gz"
            fastq = "${params.test_data_dir}/empty/EMPTY.fastq.gz"
            phix = "${params.test_data_dir}/empty/EMPTY_PHIX"
            proteins = "${params.test_data_dir}/empty/EMPTY_PROTEINS"
            prodigal_tf = "${params.test_data_dir}/empty/EMPTY_TF"
            r1 = "${params.test_data_dir}/empty/EMPTY_R1.fastq.gz"
            r2  = "${params.test_data_dir}/empty/EMPTY_R2.fastq.gz"
        }

        // Test data by species
        'species' {
            // Candidatus Portiera aleyrodidarum
            // Should be used as default test data for species agnostic tools
            'portiera' {
                'genome' {
                    name = "GCF_000292685"
                    length = "358242"
                    meta = "${params.test_data_dir}/species/portiera/genome/GCF_000292685-meta.tsv"
                    bed = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.bed"
                    blastdb = "${params.test_data_dir}/species/portiera/genome/SRX1390622-blastdb.tar.gz"
                    aln_gz = "${params.test_data_dir}/species/portiera/genome/genome.aln.gz"
                    faa = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.faa"
                    faa_gz = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.faa.gz"
                    faa_single_gz = "${params.test_data_dir}/species/portiera/genome/GCF_000292685-single.faa.gz"
                    ffn = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.ffn"
                    ffn_gz = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.ffn.gz"
                    fna = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.fna"
                    fna_gz = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.fna.gz"
                    gbk = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.gbk"
                    gbk_gz = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.gbk.gz"
                    gff = "${params.test_data_dir}/species/portiera/genome/gff/GCF_000292685.gff"
                    gene_presence_absence = "${params.test_data_dir}/species/portiera/genome/gene_presence_absence.csv"
                    gene_traits = "${params.test_data_dir}/species/portiera/genome/gene_traits.csv"
                    gff_gz = "${params.test_data_dir}/species/portiera/genome/gff/GCF_000292685.gff.gz"
                    gff2_gz = "${params.test_data_dir}/species/portiera/genome/gff/GCF_000298385.gff.gz"
                    gff3_gz = "${params.test_data_dir}/species/portiera/genome/gff/GCF_002849995.gff.gz"
                    gff4_gz = "${params.test_data_dir}/species/portiera/genome/gff/GCF_000300075.gff.gz"
                    gff5_gz = "${params.test_data_dir}/species/portiera/genome/gff/GCF_902713755.gff.gz"
                    msh = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.msh"
                    genome_size = "${params.test_data_dir}/species/portiera/genome/GCF_000292685-genome-size.txt"
                    total_contigs = "${params.test_data_dir}/species/portiera/genome/total_contigs_1"
                    single_gene = "${params.test_data_dir}/species/portiera/genome/single-gene.ffn"
                    single_gene_gz = "${params.test_data_dir}/species/portiera/genome/single-gene.ffn.gz"
                    single_protein = "${params.test_data_dir}/species/portiera/genome/single-gene.faa"
                    single_protein_gz = "${params.test_data_dir}/species/portiera/genome/single-gene.faa.gz"
                }
                'illumina' {
                    name = "portiera"
                    msh = "${params.test_data_dir}/species/portiera/illumina/SRR2838702.msh"
                    sig = "${params.test_data_dir}/species/portiera/illumina/SRR2838702.sig"
                    r1 = "${params.test_data_dir}/species/portiera/illumina/SRR2838702_R1.fastq.gz"
                    r1_low_depth = "${params.test_data_dir}/species/portiera/illumina/SRR2838702_R1-1x.fastq.gz"
                    r1_low_read_count = "${params.test_data_dir}/species/portiera/illumina/SRR2838702_R1-1-read.fastq.gz"
                    r2 = "${params.test_data_dir}/species/portiera/illumina/SRR2838702_R2.fastq.gz"
                    r2_low_depth = "${params.test_data_dir}/species/portiera/illumina/SRR2838702_R2-1x.fastq.gz"
                    r2_low_proportion = "${params.test_data_dir}/species/portiera/illumina/SRR2838702_R2-low-proportion.fastq.gz"
                    r2_low_read_count = "${params.test_data_dir}/species/portiera/illumina/SRR2838702_R2-1-read.fastq.gz"
                    se = "${params.test_data_dir}/species/portiera/illumina/SRR2838702SE.fastq.gz"
                    se_low_depth = "${params.test_data_dir}/species/portiera/illumina/SRR2838702SE-1x.fastq.gz"
                    se_low_read_count = "${params.test_data_dir}/species/portiera/illumina/SRR2838702SE-1-read.fastq.gz"
                }
                'nanopore' {
                    name = 'ERR3772599'
                    se = "${params.test_data_dir}/species/portiera/nanopore/ERR3772599.fastq.gz"
                }
            }
            'bacillus_anthracis' {
                'genome' {
                    name = 'GCF_000008445'
                    length = '5503926'
                    fna_gz = "${params.test_data_dir}/species/bacillus_anthracis/genome/GCF_000008445.fna.gz"
                }
            }
            'escherichia_coli' {
                'genome' {
                    name = 'GCF_001695515'
                    length = '5866200'
                    fna_gz = "${params.test_data_dir}/species/escherichia_coli/genome/GCF_001695515.fna.gz"
                }
            }
            'escherichia_coli_mcr1' {
                'genome' {
                    name = 'GCF_001682305'
                    length = '4617703'
                    fna_gz = "${params.test_data_dir}/species/escherichia_coli/genome/GCF_001682305.fna.gz"
                }
            }
            'glaesserella_parasuis' {
                'genome' {
                    name = 'GCF_002777395'
                    length = '2479163'
                    fna_gz = "${params.test_data_dir}/species/glaesserella_parasuis/genome/GCF_002777395.fna.gz"
                }
            }
            'haemophilus_influenzae' {
                'genome' {
                    name = 'GCF_900478275'
                    length = '1890469'
                    fna_gz = "${params.test_data_dir}/species/haemophilus_influenzae/genome/GCF_900478275.fna.gz"
                    gbk_gz = "${params.test_data_dir}/species/haemophilus_influenzae/genome/GCF_900478275.gbk.gz"
                    msa_gz = "${params.test_data_dir}/species/haemophilus_influenzae/genome/genome_msa.fa.gz"
                    nwk = "${params.test_data_dir}/species/haemophilus_influenzae/genome/genome_msa.nwk"
                    is1016 = "${params.test_data_dir}/species/haemophilus_influenzae/genome/is1016.fasta"
                }
                'nthi' {
                    name = 'GCA_000027305'
                    length = '1830138'
                    fna_gz = "${params.test_data_dir}/species/haemophilus_influenzae/nthi/GCA_000027305.fna.gz"
                }
            }
            'klebsiella_pneumoniae' {
                'genome' {
                    name = 'GCF_000009885'
                    length = '5472672'
                    fna_gz = "${params.test_data_dir}/species/klebsiella_pneumoniae/genome/GCF_000009885.fna.gz"
                }
            }
            'legionella_pneumophila' {
                'genome' {
                    name = 'GCF_000048645'
                    length = '3635495'
                    fna_gz = "${params.test_data_dir}/species/legionella_pneumophila/genome/GCF_000048645.fna.gz"
                }
            }
            'listeria_monocytogenes' {
                'genome' {
                    name = 'GCF_002285835'
                    length = '3148183'
                    fna_gz = "${params.test_data_dir}/species/listeria_monocytogenes/genome/GCF_002285835.fna.gz"
                }
            }
            'neisseria_meningitidis' {
                'genome' {
                    name = 'GCF_003355215'
                    length = '2314390'
                    fna_gz = "${params.test_data_dir}/species/neisseria_meningitidis/genome/GCF_003355215.fna.gz"
                }
            }
            'neisseria_gonorrhoeae' {
                'genome' {
                    name = 'GCF_001047255'
                    length = '2168698'
                    fna_gz = "${params.test_data_dir}/species/neisseria_gonorrhoeae/genome/GCF_001047255.fna.gz"
                }
            }
            'pseudomonas_aeruginosa' {
                'genome' {
                    name = 'GCF_000006765'
                    length = '6264404'
                    fna_gz = "${params.test_data_dir}/species/pseudomonas_aeruginosa/genome/GCF_000006765.fna.gz"
                }
            }
            'salmonella_enterica' {
                'genome' {
                    name = 'GCF_016028495'
                    length = '4968720'
                    fna_gz = "${params.test_data_dir}/species/salmonella_enterica/genome/GCF_016028495.fna.gz"
                }
            }
            'shigella_boydii' {
                'genome' {
                    name = 'GCF_016726285'
                    length = '4548972'
                    fna_gz = "${params.test_data_dir}/species/shigella_boydii/genome/GCF_016726285.fna.gz"
                }
                'illumina' {
                    name = ''
                    r1 = "${params.test_data_dir}/species/shigella_boydii/illumina/XXXXXX_R1.fastq.gz"
                    r2 = "${params.test_data_dir}/species/shigella_boydii/illumina/XXXXXX_R2.fastq.gz"
                    se = "${params.test_data_dir}/species/shigella_boydii/illumina/XXXXXXSE.fastq.gz"
                }
                'nanopore' {
                    name = ''
                    se = "${params.test_data_dir}/species/shigella_boydii/nanopore/XXXXXX.fastq.gz"
                }
            }
            'shigella_dysenteriae' {
                'genome' {
                    name = 'GCF_002949675'
                    length = '4578459'
                    fna_gz = "${params.test_data_dir}/species/shigella_dysenteriae/genome/GCF_002949675.fna.gz"
                }
                'illumina' {
                    name = 'ERR6005894'
                    r1 = "${params.test_data_dir}/species/shigella_dysenteriae/illumina/ERR6005894_R1.fastq.gz"
                    r2 = "${params.test_data_dir}/species/shigella_dysenteriae/illumina/ERR6005894_R2.fastq.gz"
                    se = "${params.test_data_dir}/species/shigella_dysenteriae/illumina/ERR6005894SE.fastq.gz"
                }
                'nanopore' {
                    name = 'SRR13039589'
                    se = "${params.test_data_dir}/species/shigella_dysenteriae/nanopore/SRR13039589.fastq.gz"
                }
            }
            'staphylococcus_aureus' {
                'genome' {
                    name = 'GCF_000017085'
                    length = '2903081'
                    fna = "${params.test_data_dir}/species/staphylococcus_aureus/genome/GCF_000017085.fna"
                    fna_gz = "${params.test_data_dir}/species/staphylococcus_aureus/genome/GCF_000017085.fna.gz"
                }
            }
            'streptococcus_pyogenes' {
                'genome' {
                    name = 'GCF_006364235'
                    length = '1914862'
                    fna_gz = "${params.test_data_dir}/species/streptococcus_pyogenes/genome/GCF_006364235.fna.gz"
                }
            }
            'streptococcus_pneumoniae' {
                'genome' {
                    name = 'GCF_001457635'
                    length = '2110968'
                    fna_gz = "${params.test_data_dir}/species/streptococcus_pneumoniae/genome/GCF_001457635.fna.gz"
                }
                'illumina' {
                    name = 'ERR1438863'
                    r1 = "${params.test_data_dir}/species/streptococcus_pneumoniae/illumina/ERR1438863_R1.fastq.gz"
                    r2 = "${params.test_data_dir}/species/streptococcus_pneumoniae/illumina/ERR1438863_R2.fastq.gz"
                }
            }
            'streptococcus_suis' {
                'genome' {
                    name = 'GCF_002285535'
                    length = '2066888'
                    fna_gz = "${params.test_data_dir}/species/streptococcus_suis/genome/GCF_002285535.fna.gz"

                }
            }
        }
    }
}
