#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from .module import CulebrONT
from pathlib import Path
from .global_variables import GIT_URL, DOCS, DATATEST_URL_FILES, APPTAINER_URL_FILES
from ._version import version as __version__
from ._version import version_tuple

logo = Path(__file__).parent.resolve().joinpath('culebront_logo.png').as_posix()

__doc__ = """Today, assembly a genome using long reads from Oxford Nanopore Technologies is really interesting in 
particular to solve repeats and structural variants in prokaryotic as well as in eukaryotic genomes. Assemblies are 
increasing contiguity and accuracy. The daily increase of data sequences obtained and the fact that more and more 
tools are being released or updated every week, many species are having their genomes assembled and that’s is great … 
“But which assembly tool could give the best results for your favorite organism?” CulebrONT can help you! CulebrONT 
is an open-source, scalable, modular and traceable Snakemake pipeline, able to launch multiple assembly tools in 
parallel, giving you the possibility of circularise, polish, and correct assemblies, checking quality. CulebrONT can 
help to choose the best assembly between all possibilities. """

description_tools = f"""
    Welcome to CulebrONT version: {__version__} ! Created on November 2019
    @author: Julie Orjuela (IRD), Aurore Comte (IRD), Sebastien Ravel (CIRAD), Florian Charriat (INRAE),
    Bao Tram Vi (IRD), François Sabot (IRD) and Sebastien Cunnac (IRD)
    @email: julie.orjuela@ird.fr, aurore.comte@ird.fr

    #     .-+.
    #   `odNNh
    #   +NNd:
    #  .Nh.   ---:`
    #  -Nm`  ````./
    #   oNm/ ```-o-
    #    .yNmo/+/.     .oooooo.               oooo             .o8                  .oooooo.   ooooo      ooo ooooooooooooo
    #    `-+ydNmo.    d8P'  `Y8b              `888            "888                 d8P'  `Y8b  `888b.     `8' 8'   888   `8
    #  `/s+../oNNN:  888          oooo  oooo   888   .ooooo.   888oooo.  oooo d8b 888      888  8 `88b.    8       888
    #  +s/     `hNm  888          `888  `888   888  d88' `88b  d88' `88b `888""8P 888      888  8   `88b.  8       888
    #  os:  ////hNN` 888           888   888   888  888ooo888  888   888  888     888      888  8     `88b.8       888
    #  -so- .//sNNs  `88b    ooo   888   888   888  888    .o  888   888  888     `88b    d88'  8       `888       888
    #   `/oo:.yNd/    `Y8bood8P'   `V88V"V8P' o888o `Y8bod8P'  `Y8bod8P' d888b     `Y8bood8P'  o8o        `8      o888o
    #     -yooo+.
    #   `yNs.`-/oo:
    #   dNo` ....+s+
    #   :shmdddhhy+:

    Please cite our github: GIT_URL
    Licencied under CeCill-C (http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html)
    and GPLv3 Intellectual property belongs to IRD, CIRAD and authors.
    Documentation avail at: DOCS"""


dico_tool = {
    "soft_path": Path(__file__).resolve().parent.as_posix(),
    "url": GIT_URL,
    "docs": DOCS,
    "description_tool": description_tools,
    "apptainer_url_files": APPTAINER_URL_FILES,
    "datatest_url_files": DATATEST_URL_FILES,
    "snakefile": Path(__file__).resolve().parent.joinpath("snakefiles", "Snakefile"),
    "snakemake_scripts": Path(__file__).resolve().parent.joinpath("snakemake_scripts"),
    "slurm_mode_choice": ['env-modules', 'apptainer'],
    "local_mode_choice": ['env-modules', 'apptainer']
}
