-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathsetup.py
80 lines (68 loc) · 2.53 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
""" torsionfit: A toolkit for Bayesian torsion parameterization for molecular mechanics forcefields.
This project provides tools for using Bayesian parameterization techniques and Markov chain Monte Carlo
to fit molecular mechanics torsion Fourier terms to quantum chemical data.
"""
from __future__ import print_function
import os
from os.path import relpath, join
import numpy
import versioneer
from setuptools import setup, Extension, find_packages
DOCLINES = __doc__.split("\n")
########################
CLASSIFIERS = """\
Development Status :: 3 - Alpha
Intended Audience :: Science/Research
Intended Audience :: Developers
License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Programming Language :: Python
Topic :: Scientific/Engineering :: Bio-Informatics
Topic :: Scientific/Engineering :: Chemistry
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Operating System :: Unix
Operating System :: MacOS
"""
################################################################################
# USEFUL SUBROUTINES
################################################################################
def find_package_data(data_root, package_root):
files = []
for root, dirnames, filenames in os.walk(data_root):
for fn in filenames:
files.append(relpath(join(root, fn), package_root))
return files
def package_files(directory):
paths = []
for (path, directories, filenames) in os.walk(directory):
for filename in filenames:
paths.append(os.path.join('..', path, filename))
return paths
################################################################################
# SETUP
################################################################################
setup(
name='torsionfit',
author='Chaya Stern',
author_email='chaya.stern@choderalab.org',
description=DOCLINES[0],
long_description="\n".join(DOCLINES[2:]),
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
license='LGPL',
url='https://github.com/choderalab/torsions',
platforms=['Linux', 'Mac OS-X', 'Unix', 'Windows'],
classifiers=CLASSIFIERS.splitlines(),
packages=['torsionfit', 'torsionfit.tests', 'torsionfit.qmscan', 'torsionfit.backends', 'torsionfit.database'],
package_data={'': package_files('torsionfit/tests/reference'), 'torsionfit.qmscan': ['*.yml']},
zip_safe=False,
install_requires=[
'numpy',
'mdtraj',
'pymc',
'pandas',
'cclib',
'openmm',
'parmed'
],
)