diff mbox series

[bug#74346] gnu: Add python-pybio.

Message ID 0209ff8f7b80433fe8ab131a7de32a5ea049bbf3.1731519632.git.navid.afkhami@mdc-berlin.de
State New
Headers show
Series [bug#74346] gnu: Add python-pybio. | expand

Commit Message

Navid Afkhami Nov. 13, 2024, 5:40 p.m. UTC
* gnu/packages/bioinformatics.scm (python-pybio): New variable.

Change-Id: I8f5c9cb6c7bb03cbc95386e67d46b1bdd78e01f2
---
 gnu/packages/bioinformatics.scm | 51 +++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)


base-commit: 07cd046c209f192032b425d2ee44f6025bff63a1

Comments

Ricardo Wurmus Nov. 13, 2024, 6:13 p.m. UTC | #1
Applied, thanks!
diff mbox series

Patch

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 599d22c51e..ddcb56d0c9 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3223,6 +3223,57 @@  (define-public python-pybedtools
     ;; licensed lgpl2.1+
     (license (list license:expat license:lgpl2.1+))))
 
+(define-public python-pybio
+  (let ((commit "c91fddc483da535d5097364405d76ad9b1bde07f")
+        (revision "1"))
+    (package
+      (name "python-pybio")
+      (version (git-version "0.3.12" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/grexor/pybio")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0s3n1bqp25zf5pzfsj0x1kqr6i2a6iffpb8hkjwhyvjqrxf5d9rk"))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list
+        #:tests? #f ;There are no automated tests
+        #:phases #~(modify-phases %standard-phases
+                     (add-before 'check 'set-home
+                       ;; The sanity check requires a HOME directory
+                       (lambda _
+                         (setenv "HOME" "/tmp")))
+                     (add-after 'unpack 'adjust-requirements
+                       (lambda _
+                         (substitute* "setup.py"
+                           (("bs4")
+                            "beautifulsoup4"))))
+                     (add-after 'unpack 'build-reproducibly
+                       (lambda _
+                         (setenv "GUIX_BUILD" "yes")
+                         (substitute* "pybio/__init__.py"
+                           (("^pybio.core.genomes.init\\(\\)" m)
+                            (string-append m
+                             " if not os.getenv('GUIX_BUILD') else None"))))))))
+      (propagated-inputs (list python-beautifulsoup4 python-numpy
+                               python-psutil python-pysam python-requests))
+      (native-inputs (list python-pytest))
+      (home-page "https://github.com/grexor/pybio")
+      (synopsis "Basic genomics toolset")
+      (description
+       "This tool provides a Python framework to streamline genomics operations.
+It offers a direct interface to Ensembl genome assemblies and annotations, while
+also accommodating custom genomes via FASTA/GTF inputs.  The primary objective
+of pybio is to simplify genome management.  It achieves this by providing
+automatic download of Ensembl genome assemblies and annotation, provides
+Python genomic feature search and sequence retrieval from the managed
+genomes, STAR indexing and mapping and more.")
+      (license license:gpl3+))))
+
 (define-public python-ega-download-client
   (package
     (name "python-ega-download-client")