From 64e4dbbe4aeae8e6a3f71ca8b2e50a798a6b7f78 Mon Sep 17 00:00:00 2001 From: Praneeth Bhatt Date: Mon, 26 Aug 2024 18:20:43 -0400 Subject: [PATCH] added Cython to requirements to use pyximport --- requirements.txt | 3 ++- src/icikt/__init__.py | 12 +++++++++--- src/icikt/__main__.py | 13 +++++++------ src/icikt/methods.py | 7 ++++--- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/requirements.txt b/requirements.txt index c029b5b..a306f47 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ numpy >= 1.24.1 scipy >= 1.4.1 -docopt >= 0.6.2 \ No newline at end of file +docopt >= 0.6.2 +Cython >= 3.0.0 \ No newline at end of file diff --git a/src/icikt/__init__.py b/src/icikt/__init__.py index f101e16..4de5e6c 100644 --- a/src/icikt/__init__.py +++ b/src/icikt/__init__.py @@ -9,9 +9,15 @@ from os import path as _path __version__ = _gv(_path.join(_path.dirname(__file__), _path.pardir)) - from icikt.methods import icikt from icikt.methods import iciktArray from icikt.left_censorship import leftCensorTest -from icikt.utility import setupMissingMatrix - +# from icikt.utility import setupMissingMatrix +# +# +# # try: +# # from icikt import c_kendall_dis +# # except ImportError: +# # # from icikt import kendall_dis as _kendall_dis +# # from icikt import kendall_dis as c_kendall_dis +# from icikt import c_kendall_dis \ No newline at end of file diff --git a/src/icikt/__main__.py b/src/icikt/__main__.py index fe97110..4c84f3b 100644 --- a/src/icikt/__main__.py +++ b/src/icikt/__main__.py @@ -24,9 +24,10 @@ """ -from icikt.methods import iciktArray -from icikt.left_censorship import leftCensorTest -from icikt.__init__ import __version__ as ver +# from icikt.methods import iciktArray +# from icikt.left_censorship import leftCensorTest +# from icikt import __version__ as ver +import icikt import multiprocessing import docopt import numpy as np @@ -38,7 +39,7 @@ def main(): args = docopt.docopt(__doc__) if args["--version"]: - print(ver) + print(icikt.__version__) if args["leftCensor"]: @@ -69,7 +70,7 @@ def main(): sys.exit(1) try: - results = leftCensorTest(args[""], globalNA=args["--replace"], sampleClasses=args["--samples"]) + results = icikt.leftCensorTest(args[""], globalNA=args["--replace"], sampleClasses=args["--samples"]) print(results) except Exception as e: print(e) @@ -122,7 +123,7 @@ def main(): sys.exit(1) try: - out, corr, pVal, tMax = iciktArray(dataArray=args[""], globalNA=args["--replace"], perspective=args["--mode"], scaleMax=args["--scale"], diagGood=args["--diag"], chunkSize=int(args["--chunk"]), includeOnly=args['--include']) + out, corr, pVal, tMax = icikt.iciktArray(dataArray=args[""], globalNA=args["--replace"], perspective=args["--mode"], scaleMax=args["--scale"], diagGood=args["--diag"], chunkSize=int(args["--chunk"]), includeOnly=args['--include']) if args["--output"] is not None: np.savetxt(args["--output"]+'outArray.csv', out, delimiter=',') diff --git a/src/icikt/methods.py b/src/icikt/methods.py index 54004d8..236dd64 100644 --- a/src/icikt/methods.py +++ b/src/icikt/methods.py @@ -18,11 +18,12 @@ from scipy.stats import distributions from icikt.utility import setupMissingMatrix +import pyximport +pyximport.install() try: from icikt import c_kendall_dis except ImportError: - # from icikt import kendall_dis as _kendall_dis - from icikt.kendall_dis import kendall_dis as c_kendall_dis + from icikt import kendall_dis as c_kendall_dis def initialize_global_data(data): @@ -129,7 +130,7 @@ def normtestFinish(z: float) -> tuple: x, y = x[perm], y[perm] x = np.r_[True, x[1:] != x[:-1]].cumsum(dtype=np.intp) - dis = _kendall_dis.kendall_dis(x, y) # discordant pairs + dis = c_kendall_dis.kendall_dis(x, y) # discordant pairs obs = np.r_[True, (x[1:] != x[:-1]) | (y[1:] != y[:-1]), True] cnt = np.diff(np.nonzero(obs)[0]).astype('int64', copy=False)