"""A setuptools based setup module.
See:
https://packaging.python.org/en/latest/distributing.html
https://github.com/pypa/sampleproject
"""

# Always prefer setuptools over distutils
from setuptools import setup, find_packages
# To use a consistent encoding
from codecs import open
from os import path

here = path.abspath(path.dirname(__file__))

# Get the long description from the README file
with open(path.join(here, 'README.md'), encoding='utf-8') as f:
    long_description = f.read()

setup(
    name='gothresher',

    # Versions should comply with PEP440.  For a discussion on single-sourcing
    # the version across setup.py and the project code, see
    # https://packaging.python.org/en/latest/single_source_version.html
    version='1.0.25',

    description='GOThresher removes annotation bias from GAF files based on GO term information content, GO evidence, annotation source, number of proteins annotated from a given source, and date. GOThresher accepts one or more GAF files as input. The motivation for GOThresher lies in the observation that protein function annotations are biased due to high throughput experimental studies. Removing such annotation biases can help present a more balanced picture of protein annotations for a given organism or set of proteins.',
    # long_description=long_description,

    # The project's main homepage.
    url='https://github.com/FriedbergLab/GOThresher',

    # Author details
    author='Parnal Joshi',
    author_email='parnal@iastate.edu',

    # Choose your license
    license='GPLv3',
    
    # Test suite
    # test_suite="tests.test_gothresher",

    # See https://pypi.python.org/pypi?%3Aaction=list_classifiers
    classifiers=[
       # Pick your license as you wish (should match "license" above)
        'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',

        # Specify the Python versions you support here. In particular, ensure
        # that you indicate whether you support Python 2, Python 3 or both.
        'Programming Language :: Python :: 3',
        'Operating System :: OS Independent',
    ],

    # What does your project relate to?
    keywords='GO Annotation',

    # You can just specify the packages manually here if your project is
    # simple. Or you can use find_packages().
    packages=find_packages(exclude=['contrib', 'docs', 'tests']),
    include_package_data=True,

    # List run-time dependencies here.  These will be installed by pip when
    # your project is installed. For an analysis of "install_requires" vs pip's
    # requirements files see:
    # https://packaging.python.org/en/latest/requirements.html
    install_requires=['networkx', 'matplotlib', 'numpy', 'Biopython', 'xlsxwriter'],

    # package_dir={'': 'gothresher'},
    entry_points={
        'console_scripts': [
            'gothresher = gothresher.gothresher:main',
            'gothresher_prep = gothresher.gothresher_prep:main',
        ]
    },

    # To provide executable scripts, use entry points in preference to the
    # "scripts" keyword. Entry points provide cross-platform support and allow
    # pip to create the appropriate form of executable for the target platform.
    #entry_points={
    #    'console_scripts': [
    #        'gothresher = gothresher:main',
    #        'gothresher_prep = gothresher_prep:main',

    #    ],
    #},
)