/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Nextflow config file for databases links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Defines pointers to the DBS publicly available that store models parametrisations
    and data.
----------------------------------------------------------------------------------------
*/
params {

    // AlphaFold2 links
    bfd               = 'https://storage.googleapis.com/alphafold-databases/casp14_versions/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt.tar.gz'
    small_bfd         = 'https://storage.googleapis.com/alphafold-databases/reduced_dbs/bfd-first_non_consensus_sequences.fasta.gz'
    alphafold2_params = 'https://storage.googleapis.com/alphafold/alphafold_params_2022-03-02.tar'
    mgnify            = 'https://storage.googleapis.com/alphafold-databases/casp14_versions/mgy_clusters_2018_12.fa.gz'
    pdb70             = 'http://wwwuser.gwdg.de/~compbiol/data/hhsuite/databases/hhsuite_dbs/old-releases/pdb70_from_mmcif_200916.tar.gz'
    pdb_mmcif         = 'rsync.rcsb.org::ftp_data/structures/divided/mmCIF/' //'rsync.rcsb.org::ftp_data/structures/divided/mmCIF/' ftp.pdbj.org::ftp_data/structures/divided/mmCIF/ rsync.ebi.ac.uk::pub/databases/pdb/data/structures/divided/mmCIF/
    pdb_obsolete      = 'ftp://ftp.wwpdb.org/pub/pdb/data/status/obsolete.dat'
    uniclust30        = 'https://storage.googleapis.com/alphafold-databases/casp14_versions/uniclust30_2018_08_hhsuite.tar.gz'
    uniref90          = 'ftp://ftp.uniprot.org/pub/databases/uniprot/uniref/uniref90/uniref90.fasta.gz'
    pdb_seqres        = 'ftp://ftp.wwpdb.org/pub/pdb/derived_data/pdb_seqres.txt'
    uniprot_sprot     = 'ftp://ftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz'
    uniprot_trembl    = 'ftp://ftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_trembl.fasta.gz'

    // Alphafold paths
    bfd_path               = "${params.alphafold2_db}/bfd/*"
    small_bfd_path         = "${params.alphafold2_db}/small_bfd/*"
    alphafold2_params_path = "${params.alphafold2_db}/alphafold_params_*/*"
    mgnify_path            = "${params.alphafold2_db}/mgnify/*"
    pdb70_path             = "${params.alphafold2_db}/pdb70/**"
    pdb_mmcif_path         = "${params.alphafold2_db}/pdb_mmcif/**"
    uniclust30_path        = "${params.alphafold2_db}/uniclust30/**"
    uniref90_path          = "${params.alphafold2_db}/uniref90/*"
    pdb_seqres_path        = "${params.alphafold2_db}/pdb_seqres/*"
    uniprot_path           = "${params.alphafold2_db}/uniprot/*"

    // Colabfold links
    colabfold_db_link = 'http://wwwuser.gwdg.de/~compbiol/colabfold/colabfold_envdb_202108.tar.gz'
    uniref30          = 'https://wwwuser.gwdg.de/~compbiol/colabfold/uniref30_2202.tar.gz'

    // Colabfold paths
    colabfold_db_path                = "${params.colabfold_db}/colabfold_envdb_202108"
    uniref30_path                    = "${params.colabfold_db}/uniref30_2202"
    colabfold_alphafold2_params_tags = [
        "AlphaFold2-multimer-v1" : "alphafold_params_colab_2021-10-27",
        "AlphaFold2-multimer-v2" : "alphafold_params_colab_2022-03-02",
        "AlphaFold2-ptm"         : "alphafold_params_2021-07-14"
    ]
}
