summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-05-05 15:37:10 +0200
committerRicardo Wurmus <rekado@elephly.net>2023-05-05 15:39:29 +0200
commit25623a3b34f89e7c3f882b30cd679358d4c8d02b (patch)
tree8f6b50d5138413b9acd81276e5626c9a7809307b /gnu
parent931650212a31e2c7c80e490e084e79754ea6c0a7 (diff)
downloadguix-25623a3b34f89e7c3f882b30cd679358d4c8d02b.tar.gz
gnu: Add python-qnorm.
* gnu/packages/python-xyz.scm (python-qnorm): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f3bebc9881..38af693ab6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11123,6 +11123,42 @@ provides convenient short API for print out of values, tracebacks, and
 falling into the Python interpreter.")
     (license license:asl2.0)))
 
+(define-public python-qnorm
+  (package
+    (name "python-qnorm")
+    (version "0.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "qnorm" version))
+              (sha256
+               (base32
+                "1iykxrvlg32h78d3cr0137x93w8krcwc8gdqyfj55id917pz7ck1"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #false ;there are none
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-pyproject-format
+            (lambda _
+              (substitute* "pyproject.toml"
+                (("url = .*") (string-append "version = \"" #$version "\""))
+                (("python_requires.*") "")
+                (("packages =.*") "")
+                (("install_requires") "dependencies")
+                (("\"Maarten van der Sande <maartenvandersande@hotmail.com>\"")
+                 "{ name = \"Maarten van der Sande\", email = \"maartenvandersande@hotmail.com\"}")
+                (("license = \"MIT\"") "license = { file = \"LICENSE\"}")))))))
+    (propagated-inputs (list python-numba python-numpy python-pandas))
+    (home-page "https://github.com/Maarten-vd-Sande/qnorm")
+    (synopsis "Quantile normalization")
+    (description "This tool implements quantile normalization. It properly
+resolves rank ties, which is important when ties happen frequently, such as
+when working with discrete numbers (integers) in count tables.  This
+implementation should be relatively fast, and can use multiple cores to sort
+the columns and tie-resolvement is accelerated by numba.")
+    (license license:expat)))
+
 (define-public python-xlib
   (package
     (name "python-xlib")