-
Notifications
You must be signed in to change notification settings - Fork 9
/
setup.py
92 lines (81 loc) · 4.07 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
#!/usr/bin/env python3
#
# Author: Rajendra Kumar
#
# This file is part of gcMapExplorer
# Copyright (C) 2016 Rajendra Kumar, Ludvig Lizana, Per Stenberg
#
# gcMapExplorer is a free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# gcMapExplorer is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with gcMapExplorer. If not, see <http://www.gnu.org/licenses/>.
#
#=============================================================================
# Always prefer setuptools over distutils
from setuptools import setup, find_packages
from setuptools.extension import Extension
# To use a consistent encoding
from codecs import open
from os import path
from Cython.Build import cythonize
import numpy
this_directory = path.abspath(path.dirname(__file__))
with open(path.join(this_directory, 'README.rst'), encoding='utf-8') as f:
long_description = f.read()
exec(open('gcMapExplorer/_version.py').read())
ext_modules = [
Extension("gcMapExplorer.lib.ccmapHelpers", ["gcMapExplorer/lib/ccmapHelpers.pyx"] ),
Extension("gcMapExplorer.lib.normalizeKnightRuiz", ["gcMapExplorer/lib/normalizeKnightRuiz.pyx"] ),
Extension("gcMapExplorer.lib.normalizeCore", ["gcMapExplorer/lib/normalizeCore.pyx"] ),
Extension("gcMapExplorer.lib._corrMatrixCore", ["gcMapExplorer/lib/_corrMatrixCore.pyx", "gcMapExplorer/lib/corrMatrixCoreSRC.c"] , include_dirs=[numpy.get_include()],
extra_compile_args=['-fopenmp'], extra_link_args=['-fopenmp']),
Extension("gcMapExplorer.lib.TadFinder", ["gcMapExplorer/lib/TadFinder.pyx"] ),
]
setup(
name = 'gcMapExplorer',
version = __version__,
# Required packages
install_requires = [ 'appdirs>=1.4', 'numpy>=1.6', 'scipy>=0.9', 'matplotlib>=1.1.0', 'dask>=0.7.3',
'toolz>=0.7.4', 'psutil>=5.2.0', 'h5py>=2.2.1', 'Cython>=0.23.0', 'scikit-learn>=0.19.0' ],
#ext_modules = cythonize("gcMapExplorer/lib/*.pyx", compiler_directives={'embedsignature': True}),
ext_modules = cythonize(ext_modules, compiler_directives={'embedsignature': True}),
include_dirs=[numpy.get_include()],
packages=find_packages(),
package_data = { '': ['*.ico', '*.png', '*.ui'] },
# 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': [ 'gcMapExplorer=gcMapExplorer:main.main',], },
include_package_data=True,
# metadata for upload to pypi
author = "Rajendra Kumar",
author_email = "[email protected]",
url = 'https://github.com/rjdkmr/gcMapExplorer',
description = "A platform to visualize and analyze genome contact maps",
long_description = long_description,
long_description_content_type = 'text/x-rst',
keywords = ["Hi-C", "Genome Contact Map Explorer", "Contact Map Explorer", "3D Genome Organization"],
license = 'GNU General Public License v3 (GPLv3)',
classifiers = [
'Environment :: Console',
'Environment :: X11 Applications :: Qt',
'Intended Audience :: Developers',
'Intended Audience :: End Users/Desktop',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
'Natural Language :: English',
'Operating System :: MacOS',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 3 :: Only',
'Topic :: Scientific/Engineering :: Bio-Informatics',
],
)