forked from nanoporetech/sloika
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
69 lines (60 loc) · 2.38 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
import re
from glob import glob
import numpy as np
import os
import subprocess
from setuptools import setup, find_packages
from Cython.Build import cythonize
try:
root_dir = os.environ['ROOT_DIR']
except KeyError:
root_dir = '.'
try:
scripts_dir = os.environ['SCRIPTS_DIR']
except KeyError:
scripts_dir = 'scripts'
cmd = os.path.join(scripts_dir, 'show-version.sh')
version, err = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE).communicate()
version = version.decode('utf-8')
version_py_name = os.path.join(root_dir, 'sloika', 'version.py')
version_py_contents = u"__version__ = '%s'\n" % version
open(version_py_name, 'w').write(version_py_contents)
requirements_file = os.path.join(root_dir, 'requirements.txt')
with open(requirements_file) as f:
install_requires = f.read().splitlines()
package_dir = os.path.join(root_dir, 'sloika')
setup(
name='sloika',
version=version,
description='Neural network model training for Nanopore base calling',
maintainer='Tim Massingham',
maintainer_email='tim.massingham@nanoporetech.com',
url='http://www.nanoporetech.com',
long_description="""Sloika is a library to support training and developing new base calling models
for Oxford Nanopore Technologies' sequencing platforms.
Sloika is built on top of Theano package for computational graphs and is
compatible with python 3.4 or above.""",
classifiers=[
'Development Status :: 3 - Alpha',
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)',
'Natural Language :: English',
'Operating System :: Unix',
'Programming Language :: Python :: 3 :: Only',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
'Topic :: Scientific/Engineering :: Bio-Informatics',
'Topic :: Scientific/Engineering :: Mathematics'
],
packages=find_packages(exclude=["*.test", "*.test.*", "test.*", "test", "bin"]),
package_data={'configs': 'data/configs/*'},
exclude_package_data={'': ['*.hdf', '*.c', '*.h']},
ext_modules=cythonize(os.path.join(package_dir, "viterbi_helpers.pyx")),
include_dirs=[np.get_include()],
tests_require=[],
install_requires=install_requires,
dependency_links=[],
zip_safe=False,
scripts=[x for x in glob('bin/*.py')],
)