diff options
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
| -rw-r--r-- | gnu/packages/bioinformatics.scm | 229 |
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 |
