-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsetup.py
122 lines (111 loc) · 3.67 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import sys
import os
# import ez_setup
# ez_setup.use_setuptools()
import setuptools
from distutils.extension import Extension
try:
USE_CYTHON = os.environ['USE_CYTHON']
USE_CYTHON = True
except KeyError:
USE_CYTHON = False
ext = '.pyx' if USE_CYTHON else '.c'
extensions = [
Extension("mgkit.utils._sequence", ["mgkit/utils/_sequence" + ext])
]
if USE_CYTHON:
from Cython.Build import cythonize
extensions = cythonize(extensions)
__VERSION__ = "0.5.8"
from setuptools import setup, find_packages
install_requires = [
'numpy>=1.19.2',
'pandas>=1.1.3',
'tqdm>=4.0',
'semidbm>=0.5.1',
'pymongo>=3.1.1',
'pyarrow>=2.0.0',
'scipy>=1.5.2',
'matplotlib>=2',
'msgpack-python>=0.5.6',
'statsmodels>=0.12',
'networkx',
'future',
'requests',
'PyVCF>=0.6.0',
'click>=6',
#support for enum backported from Python 3.4
'enum34;python_version<"3.4"',
]
# Build of documentation fails on RTD when pytables is
# required
on_rtd = os.environ.get('READTHEDOCS') == 'True'
if not on_rtd:
install_requires.append('tables>=3.4.2')
#install_requires.append('HTSeq>=0.9.1')
install_requires.append('pysam>=0.14')
with open('README.rst') as file:
long_description = file.read()
setup(
name="mgkit",
version=__VERSION__,
packages=find_packages(
exclude=['tests']
),
#content of readme file to be used on PyPI as home page
long_description=long_description,
# package_dir={'mgkit': 'mgkit'},
install_requires=install_requires,
scripts=[
# 'bin/snp_analysis.py',
'scripts/download-taxonomy.sh',
'scripts/download-uniprot-taxa.sh',
'scripts/download-ncbi-taxa.sh',
'scripts/sort-gff.sh',
],
setup_requires=['pytest-runner'],
tests_require=[
'pytest>=3.5',
'pytest-datadir',
'pytest-console-scripts'
],
entry_points={
'console_scripts': [
'filter-gff = mgkit.workflow.filter_gff:main',
'add-gff-info = mgkit.workflow.add_gff_info:main',
'get-gff-info = mgkit.workflow.extract_gff_info:main',
'hmmer2gff = mgkit.workflow.hmmer2gff:main',
'blast2gff = mgkit.workflow.blast2gff:main',
'snp_parser = mgkit.workflow.snp_parser:main',
'fastq-utils = mgkit.workflow.fastq_utils:main',
'taxon-utils = mgkit.workflow.taxon_utils:main',
'json2gff = mgkit.workflow.json2gff:main',
'fasta-utils = mgkit.workflow.fasta_utils:main',
'sampling-utils = mgkit.workflow.sampling_utils:main',
'edit-gff = mgkit.workflow.edit_gff:main',
'pnps-gen = mgkit.workflow.pnps_gen:main',
'alg-utils = mgkit.workflow.alg_utils:main',
'count-utils = mgkit.workflow.count_utils:main',
'dict-utils = mgkit.workflow.dict_utils:main',
],
},
author="Francesco Rubino",
author_email="rubino.francesco@gmail.com",
description="Metagenomics Framework",
license="GPL2+",
keywords="metagenomics library biology bioinformatics snps gff fasta",
url="https://github.com/frubino/mgkit",
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Bio-Informatics',
],
ext_modules=extensions,
)