forked from nboley/idr
-
Notifications
You must be signed in to change notification settings - Fork 5
/
setup.py
63 lines (50 loc) · 2.77 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
import os, sys
import numpy
from setuptools import setup, Extension, find_packages
try:
from Cython.Build import cythonize
extensions = cythonize([
Extension("idr.inv_cdf",
["idr/inv_cdf.pyx", ],
include_dirs=[numpy.get_include()]),
])
except ImportError:
extensions = [
Extension("idr.inv_cdf",
["idr/inv_cdf.c", ],
include_dirs=[numpy.get_include()]),
]
def main():
if sys.version_info.major <= 2:
raise ValueError( "IDR requires Python version 3 or higher" )
import idr
setup(
name = "idr",
version = idr.__version__,
author = "Nathan Boley",
author_email = "[email protected]",
ext_modules = extensions,
install_requires = [ 'scipy>=0.13.0', 'numpy' ],
extras_require={'PLOT': 'matplotlib'},
packages= ['idr',],
scripts = ['./bin/idr',],
description = ("IDR is a method for measuring the reproducibility of " +
"replicated ChIP-seq type experiments and providing a " +
"stable measure of the reproducibility of identified " +
"peaks."),
license = "GPL3",
keywords = "IDR",
url = "https://github.com/nboley/idr",
long_description="""
The IDR (Irreproducible Discovery Rate) framework is a unified approach to measure the reproducibility of findings identified from replicate experiments and provide highly stable thresholds based on reproducibility. Unlike the usual scalar measures of reproducibility, the IDR approach creates a curve, which quantitatively assesses when the findings are no longer consistent across replicates. In layman's terms, the IDR method compares a pair of ranked lists of identifications (such as ChIP-seq peaks). These ranked lists should not be pre-thresholded i.e. they should provide identifications across the entire spectrum of high confidence/enrichment (signal) and low confidence/enrichment (noise). The IDR method then fits the bivariate rank distributions over the replicates in order to separate signal from noise based on a defined confidence of rank consistency and reproducibility of identifications i.e the IDR threshold.
The method was developed by Qunhua Li and Peter Bickel's group and is extensively used by the ENCODE and modENCODE projects and is part of their ChIP-seq guidelines and standards.
""",
classifiers=[
"Programming Language :: Python :: 3",
"Development Status :: 5 - Production/Stable",
"Topic :: Scientific/Engineering :: Bio-Informatics",
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
],
)
if __name__ == '__main__':
main()