-
Notifications
You must be signed in to change notification settings - Fork 31
/
setup.py
123 lines (108 loc) · 4.14 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
123
#!/usr/bin/env python
from setuptools import setup
import sys
# Do not pollute innocent user's site-package with our unit tests.
# Detect the setup mode to control whether the unit test package is installed.
# Is there a better way to do this?
install_unit_tests = False
for a in sys.argv:
if a == "test" or a == "develop":
install_unit_tests = True
if install_unit_tests:
packages_to_install = ['snppipeline', 'test']
else:
packages_to_install = ['snppipeline']
# Control which 3rd party packages should be installed
# depending on the python version
install_requires = [
'jobrunner>=1.3.0',
#'PyVCF>=0.6.7',
'PyVCF3~=1.0.3',
'setuptools', # needed during execution to load pkg_resources
'psutil',
'Biopython',
'packaging',
]
# Below needed for Python 2.6
if sys.version_info < (2,7,):
install_requires.append('argparse')
install_requires.append('ordereddict')
install_requires.append('counter')
test_requires = [
'testfixtures',
]
if sys.version_info < (2,7,):
test_requires.append('unittest2')
if sys.version_info < (2,7,):
test_suite = 'unittest2.collector'
else:
test_suite = 'test'
setup(
name='snp-pipeline',
version='2.2.1',
description='Script and functions for SNP matrix construction',
author='Hugh A. Rand',
author_email='[email protected]',
url='https://github.com/CFSAN-Biostatistics/snp-pipeline',
packages=packages_to_install,
long_description="""
snp-pipeline is a pipeline for the production of SNP matrices from
sequence data used in the phylogenetic analysis of pathogenic
organisms sequenced from samples of interest to food safety.
""",
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: BSD License',
'Natural Language :: English',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python',
'Topic :: Scientific/Engineering :: Bio-Informatics'
],
entry_points={'console_scripts': ['cfsan_snp_pipeline = snppipeline.cfsan_snp_pipeline:main',
] },
scripts=[
'scripts/run_snp_pipeline.sh',
'scripts/prepReference.sh',
'scripts/alignSampleToReference.sh',
'scripts/prepSamples.sh',
'scripts/snp_filter.py',
'scripts/create_snp_list.py',
'scripts/call_consensus.py',
'scripts/create_snp_matrix.py',
'scripts/create_snp_reference_seq.py',
'scripts/copy_snppipeline_data.py',
'scripts/collectSampleMetrics.sh',
'scripts/combineSampleMetrics.sh',
'scripts/mergeVcf.sh',
'scripts/calculate_snp_distances.py',
],
# Include the test data files listed below in the distribution.
# The package_data parameter only works for binary distributions.
# The same list of files is in MANIFEST.in for sdist distributions.
package_data={
'snppipeline' : ['data/configuration/snppipeline.conf',
'data/lambdaVirusInputs/reference/*',
'data/lambdaVirusInputs/samples/*/*',
'data/lambdaVirusExpectedResults/samples/*/*',
'data/lambdaVirusExpectedResults/*.*',
'data/agonaInputs/reference/*',
'data/agonaInputs/sampleList',
'data/agonaInputs/sha256sumCheck',
'data/agonaExpectedResults/*.*',
'data/agonaExpectedResults/samples/*/*',
'data/listeriaInputs/reference/*',
'data/listeriaInputs/sampleList',
'data/listeriaInputs/sha256sumCheck',
'data/listeriaExpectedResults/*.*',
'data/listeriaExpectedResults/samples/*/*',
]
},
keywords=['bioinformatics', 'NGS', 'SNP'],
license='BSD',
install_requires=install_requires,
# package (aka directory) containing unit test modules
test_suite=test_suite,
tests_require=test_requires,
)