# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['route_distances',
 'route_distances.lstm',
 'route_distances.ted',
 'route_distances.tools',
 'route_distances.utils']

package_data = \
{'': ['*']}

install_requires = \
['apted>=1.0.3,<2.0.0',
 'optuna>=2.5.0,<3.0.0',
 'pandas>=1.5.0,<2.0.0',
 'pydantic>=1.8.0,<2.0.0',
 'python-dateutil>=2.8.2,<3.0.0',
 'pytorch-lightning>=1.6.0,<2.0.0',
 'pytorch-tree-lstm>=0.1.3,<0.2.0',
 'rdkit>=2022.3.3,<2023.0.0',
 'scikit-learn>0.21.0',
 'tables>=3.6.0,<4.0.0',
 'torch>=1.7.1,<2.0.0']

entry_points = \
{'console_scripts': ['cluster_aizynth_output = '
                     'route_distances.tools.cluster_aizynth_output:main',
                     'prepare_aizynthfinder_output = '
                     'route_distances.tools.prepare_aizynthfinder_output:main',
                     'train_lstm_model = '
                     'route_distances.tools.train_lstm_model:main']}

setup_kwargs = {
    'name': 'route-distances',
    'version': '1.1.0',
    'description': 'Models for calculating distances between synthesis routes',
    'long_description': "# route-distances\n\n[![License](https://img.shields.io/github/license/MolecularAI/route-distances)](https://github.com/MolecularAI/route-distances/blob/master/LICENSE)\n[![Tests](https://github.com/MolecularAI/route-distances/workflows/tests/badge.svg)](https://github.com/MolecularAI/route-distances/actions?workflow=tests)\n[![codecov](https://codecov.io/gh/MolecularAI/route-distances/branch/master/graph/badge.svg)](https://codecov.io/gh/MolecularAI/route-distances)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black) \n\nThis repository contains tools and routines to calculate distances between synthesis routes and to cluster them.\n\nThis repository is mainly intended for developers and researchers. If you want a fully functional tool that is easy to use,\nplease consider looking into the *AiZynthFinder* project.\n\n## Prerequisites\n\nBefore you begin, ensure you have met the following requirements:\n\n* Linux, Windows or macOS platforms are supported - as long as the dependencies are supported on these platforms.\n\n* You have installed [anaconda](https://www.anaconda.com/) or [miniconda](https://docs.conda.io/en/latest/miniconda.html) with python 3.8 to 3.9\n\nThe tool has been developed on a Linux platform, but the software has been tested on Windows 10 and macOS Catalina.\n\n## Installation\n\n### For users\n\nSetup your python environment and then run\n\n    pip install route_distances\n\n\n### For developers\n\nFirst clone the repository using Git.\n\nThen execute the following commands in the root of the repository \n\n    conda env create -f conda-env.yml\n    conda activate routes-env\n    poetry install\n    \nthe `route_distances` package is now installed in editable mode.\n\n## Usage\n\nThe tool will install the `cluster_aizynth_output` that is used\nto calculate distances and clusters for AiZynthFinder output\n\n    cluster_aizynth_output --files finder_output1.hdf5 finder_output2.hdf5 --output finder_distances.hdf5 --nclusters 0 --model ted\n    \nThis will perform TED calculations and add a column `distance_matrix` with the distances and column `cluster_labels` with the cluster labels for each route to the output file.\n\n\nAn ML model for fast predictions can be found here: [https://zenodo.org/record/4925903](https://zenodo.org/record/4925903).\n\nThis can be used with the `cluster_aizynth_output` tool\n\n    cluster_aizynth_output --files finder_output1.hdf5 finder_output2.hdf5 --output finder_distances.hdf5 --nclusters 0 --model chembl_10k_route_distance_model.ckpt\n\nFor further details, please consult the [documentation](https://molecularai.github.io/route-distances/).\n\n\n## Development\n\n### Testing\n\nTests uses the ``pytest`` package, and is installed by `poetry`\n\nRun the tests using:\n\n    pytest -v\n\n    \n ### Documentation generation\n\nThe documentation is generated by Sphinx from hand-written tutorials and docstrings\n\nThe HTML documentation can be generated by\n\n    invoke build-docs\n\n## Contributing\n\nWe welcome contributions, in the form of issues or pull requests.\n\nIf you have a question or want to report a bug, please submit an issue.\n\n\nTo contribute with code to the project, follow these steps:\n\n1. Fork this repository.\n2. Create a branch: `git checkout -b <branch_name>`.\n3. Make your changes and commit them: `git commit -m '<commit_message>'`\n4. Push to the remote branch: `git push`\n5. Create the pull request.\n\nPlease use ``black`` package for formatting, and follow ``pep8`` style guide.\n\n\n## Contributors\n\n* Samuel Genheden\n\nThe contributors have limited time for support questions, but please do not hesitate to submit an issue (see above).\n\n## License\n\nThe software is licensed under the MIT license (see LICENSE file), and is free and provided as-is.\n\n## References\n\n1. Genheden S, Engkvist O, Bjerrum E (2021) Clustering of synthetic routes using tree edit distance. J. Chem. Inf. Model. 61:3899–3907 [https://doi.org/10.1021/acs.jcim.1c00232](https://doi.org/10.1021/acs.jcim.1c00232)\n2. Genheden S, Engkvist O, Bjerrum E (2022) Fast prediction of distances between synthetic routes with deep learning. Mach. Learn. Sci. Technol. 3:015018 [https://doi.org/10.1088/2632-2153/ac4a91](https://doi.org/10.1088/2632-2153/ac4a91)\n",
    'author': 'Genheden, Samuel',
    'author_email': 'samuel.genheden@astrazeneca.com',
    'maintainer': None,
    'maintainer_email': None,
    'url': 'https://github.com/MolecularAI/route-distances/',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'entry_points': entry_points,
    'python_requires': '>=3.8,<3.10',
}


setup(**setup_kwargs)
