Subject: [PATCH 1/2] gnu: Add python-bioframe.

From: Mădălin Ionel Patrașcu<[email-masked]>
Date: Fri, 5 Mar 2021 15:19:29 +0100

* gnu/packages/bioinformatics.scm (python-bioframe): New variable.
---
 gnu/packages/bioinformatics.scm | 46 +++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d617736e57..fb357b8b6c 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -120,6 +120,7 @@
   #:use-module (gnu packages popt)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-compression)
   #:use-module (gnu packages python-science)
@@ -923,6 +924,51 @@ Python.")
        `(("python2-pathlib" ,python2-pathlib)
          ,@(package-native-inputs pybedtools))))))
 
+(define-public python-bioframe
+  (package
+    (name "python-bioframe")
+    (version "0.2.0")
+    ;;pypi sources does not contain requirements.txt
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/open2c/bioframe")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0w5xrb93cf3hx3d1lw48a0l1ranghpj260b05b1rpk58wwwcsqfh"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-click" ,python-click)
+       ("python-numpy" ,python-numpy)
+       ("python-pandas" ,python-pandas)
+       ("python-requests" ,python-requests)))
+    (native-inputs
+     `(("python-dask" ,python-dask)             ;;for unittest.loader
+       ("python-matplotlib" ,python-matplotlib) ;;for unittest.loader
+       ("python-numba" ,python-numba)           ;;for unittest.loader
+       ("python-pypairix" ,python-pypairix)     ;;for unittest.loader
+       ("python-pytest" ,python-pytest)
+       ("python-wheel" ,python-wheel)))
+    (home-page "https://github.com/open2c/bioframe")
+    (synopsis
+     "Framework for genomic data analysis using Pandas dataframes")
+    (description
+     "This package is a library to enable flexible and scalable operations on
+genomic interval dataframes in python.  @code{python-bioframe} enables access
+to a rich set of dataframe operations.  Working in python enables rapid
+visualization (e.g. matplotlib, seaborn) and iteration of genomic analyses.
+The philosophy underlying @code{python-bioframe} is to enable flexible
+operations: instead of creating a function for every possible use-case, we
+instead encourage users to compose functions to achieve their goals.  As a
+rough rule of thumb, if a function requires three steps and is crucial for
+genomic interval arithmetic we have included it; conversely if it can be
+performed in a single line by composing two of the core functions, we have not
+included it.")
+    (license license:expat)))
+
 (define-public python-biom-format
   (package
     (name "python-biom-format")
-- 
2.30.1