summaryrefslogtreecommitdiff
path: root/gnu/packages/bioinformatics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r--gnu/packages/bioinformatics.scm229
1 files changed, 135 insertions, 94 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 8968325e83..ccee9d1f60 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1945,6 +1945,42 @@ matplotlib Axes objects, making them easy to style and incorporate into
multi-panel figures.")
(license license:expat)))
+(define-public python-peaks2utr
+ (package
+ (name "python-peaks2utr")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "peaks2utr" version))
+ (sha256
+ (base32
+ "1idp9cgwqxvryf4qqrc1xjsamfqn3jmr56kmjp2h1ysmckwmhw4v"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; These two tests fail because file names are not URLs.
+ '(list "-k" "not test_annotation.py")))
+ (propagated-inputs
+ (list python-asgiref
+ python-gffutils
+ python-importlib-resources
+ macs
+ python-numpy
+ python-psutil
+ python-pybedtools
+ python-pysam
+ python-requests
+ python-tqdm
+ python-typing-extensions
+ python-zipp))
+ (home-page "https://github.com/haessar/peaks2utr")
+ (synopsis "Python CLI for annotating three prime UTR")
+ (description
+ "This package provides a robust, parallelized Python CLI for annotating
+three prime UTR.")
+ (license license:gpl3+)))
+
(define-public python-pegasusio
(package
(name "python-pegasusio")
@@ -3751,6 +3787,13 @@ UCSC genome browser.")
"-xf" (assoc-ref inputs "test-data"))
;; This one requires bowtie-build
(delete-file "plastid/test/functional/test_crossmap.py")))
+ (add-after 'unpack 'patch-for-python-3.10
+ (lambda _
+ ;; Some classes were moved from collections to collections.abc
+ ;; in Python 3.10.
+ (substitute* "plastid/readers/bigbed.pyx"
+ ((", Iterable")
+ "\nfrom collections.abc import Iterable"))))
(add-before 'check 'build-extensions
(lambda _
;; Cython extensions have to be built before running the tests.
@@ -7023,7 +7066,7 @@ experiments.")
(define-public macs
(package
(name "macs")
- (version "2.2.7.1")
+ (version "2.2.9.1")
(source (origin
;; The PyPi tarball does not contain tests.
(method git-fetch)
@@ -7033,7 +7076,7 @@ experiments.")
(file-name (git-file-name name version))
(sha256
(base32
- "08zsgh65xbpv1md2s3wqmrk9g2mz6izmn59ryw5lbac54120p291"))
+ "10vwc09fq4nvbd39hax1949mvq2wvkgz0k3p2zqmqwq8hv9r5l0j"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
@@ -7048,21 +7091,17 @@ experiments.")
;; Python 3.10 is in fact more recent than 3.6.
(substitute* "setup.py"
(("float\\(sys.version\\[:3\\]\\)<3.6") "False"))))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'set-HOME
- (lambda _ (setenv "HOME" "/tmp")))
- (replace 'check
- (lambda* (#:key tests? inputs outputs #:allow-other-keys)
- (when tests?
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-v")))))))
- (inputs
- (list python-numpy))
+ (lambda _ (setenv "HOME" "/tmp"))))))
+ ;; Propagate these for use of macs as a library.
+ (propagated-inputs
+ (list python-cython python-numpy))
(native-inputs
- (list python-cython python-pytest))
+ (list python-pytest))
(home-page "https://github.com/macs3-project/MACS")
(synopsis "Model based analysis for ChIP-Seq data")
(description
@@ -16197,10 +16236,10 @@ includes operations like compartment, insulation or peak calling.")
(list
#:phases
'(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "-m" "pytest" "-v")))))))
+ (add-after 'unpack 'remove-invalid-syntax
+ (lambda _
+ (substitute* "setup.py"
+ ((".\\*\"") "\"")))))))
(propagated-inputs
(list python-cooler
python-intervaltree
@@ -17777,8 +17816,10 @@ pycisTarget and SCENIC.")
(list python-bokeh
python-dask
python-distributed
+ python-lz4
python-numpy
python-pandas
+ python-pyarrow
python-scikit-learn
python-scipy
python-tornado-6))
@@ -18381,6 +18422,7 @@ Cflags: -I${includedir}~%"
(description "The wavefront alignment (WFA) algorithm is an exact
gap-affine algorithm that takes advantage of homologous regions between the
sequences to accelerate the alignment process.")
+ (properties `((tunable? . #t)))
(license license:expat)))
(define-public vcflib
@@ -19134,7 +19176,7 @@ coordinates between different assemblies.")
(define-public python-cgatcore
(package
(name "python-cgatcore")
- (version "0.6.14")
+ (version "0.6.15")
;; The version of pypi does not include test data.
(source (origin
(method git-fetch)
@@ -19144,7 +19186,7 @@ coordinates between different assemblies.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fjjaski39j8b7v21wldmbwwsfhicngajah7n4skafi56kdck33p"))))
+ "103hpdnkqr3a34blbicshk56j36g652s0g1zi9isppc5dngn0s18"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -19214,77 +19256,77 @@ large-scale data-analysis.")
"1dvh23fx52m59y6304xi2j2pl2hiqadlqg8jyv2pm14j1hy71ych"))))
(build-system perl-build-system)
(arguments
- `(#:modules ((guix build perl-build-system)
+ (list
+ #:modules '((guix build perl-build-system)
(guix build utils)
(srfi srfi-26))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'hardcode-references
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((bedtools (assoc-ref inputs "bedtools"))
- (r (assoc-ref inputs "r-minimal")))
- (substitute* '("scripts/python/getEigenVectors.py"
- "scripts/python/matrix2EigenVectors.py")
- (("bedtools intersect")
- (string-append bedtools "/bin/bedtools intersect")))
- (substitute* "lib/cworld/dekker.pm"
- (("bedtools --version")
- (string-append bedtools "/bin/bedtools --version")))
- (substitute* '("scripts/perl/correlateMatrices.pl"
- "scripts/perl/matrix2scaling.pl"
- "scripts/perl/matrix2distance.pl"
- "scripts/perl/coverageCorrect.pl"
- "scripts/perl/matrix2anchorPlot.pl"
- "scripts/python/matrix2EigenVectors.py"
- "scripts/python/matrix2insulation-lite.py"
- "scripts/perl/matrix2compartment.pl"
- "scripts/perl/anchorPurge.pl"
- "scripts/perl/applyCorrection.pl"
- "scripts/perl/compareInsulation.pl"
- "scripts/perl/fillMissingData.pl"
- "scripts/perl/matrix2loess.pl"
- "scripts/python/getEigenVectors.py"
- "scripts/perl/aggregateBED.pl"
- "scripts/perl/collapseMatrix.pl"
- "scripts/perl/matrix2direction.pl"
- "scripts/perl/singletonRemoval.pl"
- "lib/cworld/dekker.pm"
- "scripts/perl/matrix2insulation.pl")
- (("(`|\")Rscript" _ pre)
- (string-append pre r "/bin/Rscript"))))))
- (add-after 'install 'install-scripts
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (share (string-append out "/share/cworld-dekker")))
- (mkdir-p share)
- (copy-recursively "scripts" share)
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'hardcode-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((bedtools #$(this-package-input "bedtools"))
+ (r #$(this-package-input "r-minimal")))
+ (substitute* '("scripts/python/getEigenVectors.py"
+ "scripts/python/matrix2EigenVectors.py")
+ (("bedtools intersect")
+ (string-append bedtools "/bin/bedtools intersect")))
+ (substitute* "lib/cworld/dekker.pm"
+ (("bedtools --version")
+ (string-append bedtools "/bin/bedtools --version")))
+ (substitute* '("scripts/perl/correlateMatrices.pl"
+ "scripts/perl/matrix2scaling.pl"
+ "scripts/perl/matrix2distance.pl"
+ "scripts/perl/coverageCorrect.pl"
+ "scripts/perl/matrix2anchorPlot.pl"
+ "scripts/python/matrix2EigenVectors.py"
+ "scripts/python/matrix2insulation-lite.py"
+ "scripts/perl/matrix2compartment.pl"
+ "scripts/perl/anchorPurge.pl"
+ "scripts/perl/applyCorrection.pl"
+ "scripts/perl/compareInsulation.pl"
+ "scripts/perl/fillMissingData.pl"
+ "scripts/perl/matrix2loess.pl"
+ "scripts/python/getEigenVectors.py"
+ "scripts/perl/aggregateBED.pl"
+ "scripts/perl/collapseMatrix.pl"
+ "scripts/perl/matrix2direction.pl"
+ "scripts/perl/singletonRemoval.pl"
+ "lib/cworld/dekker.pm"
+ "scripts/perl/matrix2insulation.pl")
+ (("(`|\")Rscript" _ pre)
+ (string-append pre r "/bin/Rscript"))))))
+ (add-after 'install 'install-scripts
+ (lambda _
+ (let ((share (string-append #$output "/share/cworld-dekker")))
+ (mkdir-p share)
+ (copy-recursively "scripts" share)
- ;; Make all scripts executable and wrap them.
- (let ((r (find-files share "\\.R$"))
- (py (find-files share "\\.py$"))
- (pl (find-files share "\\.pl$"))
- (wrap (lambda* (script var #:optional (extra ""))
- (let ((path (string-append (getenv var)
- extra)))
- (wrap-program script
- `(,var ":" prefix (,path)))))))
- (for-each (cut chmod <> #o555) (append r py pl))
- (for-each (cut wrap <> "PERL5LIB"
- (string-append ":" out
- "/lib/perl5/site_perl"))
- pl)
- (for-each (cut wrap <> "GUIX_PYTHONPATH") py))))))))
+ ;; Make all scripts executable and wrap them.
+ (let ((r (find-files share "\\.R$"))
+ (py (find-files share "\\.py$"))
+ (pl (find-files share "\\.pl$"))
+ (wrap (lambda* (script var #:optional (extra ""))
+ (let ((path (string-append (getenv var)
+ extra)))
+ (wrap-program script
+ `(,var ":" prefix (,path)))))))
+ (for-each (cut chmod <> #o555) (append r py pl))
+ (for-each (cut wrap <> "PERL5LIB"
+ (string-append ":" #$output
+ "/lib/perl5/site_perl"))
+ pl)
+ (for-each (cut wrap <> "GUIX_PYTHONPATH") py))))))))
(inputs
- `(("libgd" ,gd)
- ("perl-gd" ,perl-gd)
- ("bedtools" ,bedtools)
- ("python" ,python-wrapper)
- ("python-scipy" ,python-scipy)
- ("python-numpy" ,python-numpy)
- ("python-matplotlib" ,python-matplotlib)
- ("python-h5py" ,python-h5py)
- ("python-scikit-learn" ,python-scikit-learn)
- ("r-minimal" ,r-minimal)))
+ (list gd
+ perl-gd
+ bedtools
+ python-wrapper
+ python-scipy
+ python-numpy
+ python-matplotlib
+ python-h5py
+ python-scikit-learn
+ r-minimal))
(native-inputs
(list perl-module-build))
(home-page "https://github.com/dekkerlab/cworld-dekker")
@@ -19814,7 +19856,7 @@ sequences")
(inputs
(list zlib))
(home-page "https://github.com/ACEnglish/bwapy")
- (synopsis "Python bindings to bwa alinger")
+ (synopsis "Python bindings to bwa aligner")
(description "This package provides Python bindings to the bwa mem
aligner.")
;; These Python bindings are licensed under Mozilla Public License 2.0,
@@ -20424,7 +20466,7 @@ based on the pairwise alignment of hidden Markov models (HMMs).")
(define-public wfmash
(package
(name "wfmash")
- (version "0.8.1")
+ (version "0.10.5")
(source
(origin
(method url-fetch)
@@ -20432,7 +20474,7 @@ based on the pairwise alignment of hidden Markov models (HMMs).")
version "/wfmash-v" version ".tar.gz"))
(sha256
(base32
- "031cm1arpfckvihb28vlk69mirpnmlag81zcscfba1bac58wvr7c"))
+ "1jsvnnh14h3ir4l13qhmglhd25kzwvni9apgvr1lbikqwgrpkiq4"))
(snippet
#~(begin
(use-modules (guix build utils))
@@ -20443,14 +20485,12 @@ based on the pairwise alignment of hidden Markov models (HMMs).")
"<atomic_queue/atomic_queue.h>"))
;; Remove compiler optimizations.
(substitute* (find-files "." "CMakeLists\\.txt")
- (("-mcx16 ") "")
- (("-march=native ") ""))
- ;; Allow building on architectures other than x86_64.
- (substitute* "src/common/dset64.hpp"
- (("!__x86_64__") "0"))))))
+ (("-march=native ") ""))))))
(build-system cmake-build-system)
(arguments
(list
+ #:configure-flags
+ #~(list "-DWFA_PNG_AND_TSV=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
@@ -20563,7 +20603,8 @@ based on the pairwise alignment of hidden Markov models (HMMs).")
jemalloc
zlib))
(native-inputs
- (list samtools))
+ (list pkg-config
+ samtools))
(synopsis "Base-accurate DNA sequence aligner")
(description "@code{wfmash} is a DNA sequence read mapper based on mash
distances and the wavefront alignment algorithm. It is a fork of MashMap that