forked from aitgon/vtam
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
executable file
·140 lines (120 loc) · 4.53 KB
/
Copy pathsetup.py
File metadata and controls
executable file
·140 lines (120 loc) · 4.53 KB
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# -*- coding: UTF-8 -*-
__author__ = "Aitor Gonzalez, Thomas Dechatre, Reda Mekdad, Emese Meglecz"
__copyright__ = "Copyright 2018-2020, Aitor Gonzalez, Emese Meglecz"
__email__ = "aitor.gonzalez@univ-amu.fr, emese.meglecz@univ-amu.fr"
__license__ = "MIT"
import codecs
import configparser
from setuptools import setup
from setuptools import find_packages
import os
import sys
config = configparser.RawConfigParser()
config.read(os.path.join('.', 'setup.cfg'))
author = config['metadata']['author']
email = config['metadata']['email']
license = config['metadata']['license']
if sys.version_info < (3, 6):
print("At least Python 3.6 is required.\n", file=sys.stderr)
exit(1)
try:
from setuptools import setup, find_packages
except ImportError:
print("Please install setuptools before installing VTAM.",
file=sys.stderr)
exit(1)
here = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(here, 'README.rst'), encoding='utf-8') as fin:
long_description = fin.read()
CLASSIFIERS = """\
Development Status :: 4 - Beta
Environment :: Console
Intended Audience :: Science/Research
License :: OSI Approved :: MIT License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3 :: Only
Topic :: Scientific/Engineering :: Bio-Informatics
Operating System :: POSIX :: Linux
Operating System :: Microsoft :: Windows :: Windows 10
"""
# Create list of package data files
def data_files_to_list(directory):
paths = []
for (path, directories, filenames) in os.walk(directory):
for filename in filenames:
paths.append(os.path.join('..', path, filename))
return paths
data_file_list = data_files_to_list('vtam/data')
data_example_file_list = data_files_to_list('vtam/data/example')
def read(rel_path):
here = os.path.abspath(os.path.dirname(__file__))
with codecs.open(os.path.join(here, rel_path), 'r') as fp:
return fp.read()
def get_version(rel_path):
for line in read(rel_path).splitlines():
if line.startswith('__version__'):
delim = '"' if '"' in line else "'"
return line.split(delim)[1]
else:
raise RuntimeError("Unable to find version string.")
if sys.version_info < (3, 7):
print("At least Python 3.7 is required.\n", file=sys.stderr)
exit(1)
try:
from setuptools import setup, find_packages
except ImportError:
print("Please install setuptools before installing VTAM.",
file=sys.stderr)
exit(1)
here = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(here, 'README.rst'), encoding='utf-8') as fin:
long_description = fin.read()
CLASSIFIERS = """\
Development Status :: 4 - Beta
Environment :: Console
Intended Audience :: Science/Research
License :: OSI Approved :: MIT License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3 :: Only
Topic :: Scientific/Engineering :: Bio-Informatics
Topic :: Software Development
Operating System :: POSIX :: Linux
Operating System :: Microsoft :: Windows :: Windows 10
"""
# Create list of package data files
def data_files_to_list(directory):
paths = []
for (path, directories, filenames) in os.walk(directory):
for filename in filenames:
paths.append(os.path.join('..', path, filename))
return paths
data_file_list = data_files_to_list('vtam/data')
# data_test_list = data_files_to_list('vtam/tests')
setup(
name='vtam',
version=get_version("vtam/__init__.py"),
description="VTAM - Validation and Taxonomic Assignation of Metabarcoding Data "
"is a metabarcoding pipeline. The analyses start from high throughput "
"sequencing (HTS) data of amplicons of one or several metabarcoding "
"markers and produce an amplicon sequence variant (ASV) "
"table of validated variants assigned to taxonomic groups.",
author=author,
author_email=email,
url="https://vtam.readthedocs.io",
license=license,
long_description=long_description,
classifiers=[_f for _f in CLASSIFIERS.split('\n') if _f],
packages=find_packages(),
package_dir={'vtam': 'vtam'},
package_data={'vtam': data_file_list},
install_requires=['biopython', 'cutadapt', 'jinja2', 'pandas', 'progressbar', 'pyyaml', 'sqlalchemy', 'snakemake', 'termcolor', 'wopmars'],
entry_points={
'console_scripts': ['vtam=vtam:main']
},
)