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
|
#!/usr/bin/env python
"""Copy number variation toolkit for high-throughput sequencing."""
from os.path import dirname, join
from glob import glob
from setuptools import setup
setup_args = {}
# Dependencies for easy_install and pip:
install_requires = [
'biopython >= 1.62',
'matplotlib >= 1.3.1',
'numpy >= 1.9',
'pandas >= 0.23.3',
'pomegranate >= 0.9.0',
'pyfaidx >= 0.4.7',
'pysam >= 0.10.0',
'reportlab >= 3.0',
'scikit-learn',
'scipy >= 0.15.0',
# TODO: This is not a direct dependency of CNVkit. It is required for the correct operation of the `pomegranate`
# TODO: library in Python 3.9. Once the issue is resolved in `pomegranate`, this can be removed. See also
# TODO: https://github.com/etal/cnvkit/issues/606 and https://github.com/jmschrei/pomegranate/issues/909.
'networkx >= 2.4',
# TODO: Similarly: https://github.com/etal/cnvkit/issues/589
'joblib < 1.0',
]
DIR = (dirname(__file__) or '.')
with open(join(DIR, 'cnvlib', '_version.py')) as handle:
VERSION = handle.readline().split('=')[-1].strip().replace('"','')
setup_args.update(
name='CNVkit',
version=VERSION,
description=__doc__,
author='Eric Talevich',
author_email='[email protected]',
url='http://github.com/etal/cnvkit',
packages=[
'cnvlib',
'cnvlib.segmentation',
'skgenome',
'skgenome.tabio',
],
scripts=[join(DIR, 'cnvkit')] glob(join(DIR, 'scripts/*')),
install_requires=install_requires,
classifiers=[
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Science/Research",
"Intended Audience :: Healthcare Industry",
"License :: OSI Approved :: Apache Software License",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX",
"Operating System :: POSIX :: Linux",
"Operating System :: Unix",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Bio-Informatics",
"Topic :: Scientific/Engineering :: Medical Science Apps.",
"Topic :: Scientific/Engineering :: Visualization",
],
)
setup(**setup_args)
|