From c6ec09ebb994e6b281a513be8465d81ed0dfc003 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 10 Nov 2022 17:56:36 +0200 Subject: gn: Add pgr-tk --- gn/packages/bioinformatics.scm | 111 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 2d1b55f..4e3c92b 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -54,6 +54,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages machine-learning) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) @@ -510,6 +511,116 @@ reads.") collapses them into a non-redundant graph structure.") (license license:expat))) +(define-public pgr-tk + (package + (name "pgr-tk") + (version "0.3.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Sema4-Research/pgr-tk") + (commit (string-append "v" version)) + (recursive? #t))) ; agc, WFA + (file-name (git-file-name name version)) + (sha256 + (base32 "160ngqbi8cbgaafq8crhfqv039mxr9jgl8hxxpwz0fh8mrh4003y")) + (snippet + #~(begin + (use-modules (guix build utils)) + (substitute* (find-files "." "Cargo.toml") + ;; Only use the major+minor version to decrease the number of + ;; special version crates. + (("(.*= \")([[:digit:]]+\\.[[:digit:]]+)\\.[[:digit:]]+(\".*)" + _ name version tail) + (string-append name version tail)) + ;; Then fix the version string for the actual package. + (("^version = \".*") + (string-append "version = \"" #$version "\"\n"))))))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + #:cargo-test-flags + (list "--release" "--" + "--skip=get_aln_segements" + "--skip=get_shmmr_dots" + "--skip=AGCFile" + "--skip=SeqIndexDB") + #:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.58) + ("rust-bgzip" ,rust-bgzip-0.2) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-clap" ,rust-clap-3.1) + ("rust-cuckoofilter" ,rust-cuckoofilter-0.5) + ("rust-flate2" ,rust-flate2-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-petgraph" ,rust-petgraph-0.6) + ("rust-pyo3" ,rust-pyo3-0.14) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-rustc-hash" ,rust-rustc-hash-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-simple-logger" ,rust-simple-logger-1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'insert-wfa-source + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "wfa-src") + "rs-wfa/WFA"))) + (add-after 'unpack 'adjust-source + (lambda _ + (substitute* '("pgr-bin/build.rs" + "pgr-db/build.rs" + "pgr-tk/build.rs") + (("git") "ls") + (("bioconda") "Guix")) + ;; Build with zlib, not zlib-ng + (substitute* '("pgr-bin/Cargo.toml" + "pgr-db/Cargo.toml") + (("zlib-ng-compat") "zlib")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion "target/release" + (install-file "libpgrtk.so" (string-append out "/lib")) + (for-each + (lambda (file) + (install-file file (string-append out "/bin"))) + (list "pgr-filter" + "pgr-mdb" + "pgr-multifilter" + "pgr-probe-match" + "pgr-shmmr-pair-count"))))))))) + (inputs (list clang python zlib)) + (native-inputs + `(("pkg-config" ,pkg-config) + ("wfa-src" + ,(origin + (method git-fetch) + (uri (git-reference + ;; forPYO3 branch, 14-03-2021 + (url "https://github.com/cschin/WFA") + (commit "1f8c8d2905ed482cd2d306a1676d60c2a45cb098"))) + (file-name "wfa-for-pgr-tk") + (sha256 + (base32 "19h1cjp2bdlcfq5c6rsbk8bc0f8zn64b471dhj4xlfxd1prv2dpk")))))) + (home-page "https://github.com/Sema4-Research/pgr-tk") + (synopsis "Pangenome Research Tool Kit") + (description + "PGR-TK provides pangenome assembly management, query and +@acronym{Minimizer Anchored Pangenome, MAP} Graph Generation. It is a project +to provide Python and Rust libraries to facilitate pangenomics analysis. +Several algorithms and data structures used for the Peregrine Genome Assembler +are useful for Pangenomics analysis as well. This repo takes those algorithms +and data structure, combining other handy 3rd party tools to expose them as a +library in Python (with Rust code for those computing parts that need +performance.)") + (license (license:non-copyleft + "file:///LICENSE" + "CC-BY-NC-SA 4.0")))) + (define-public pangenie (let ((commit "e779076827022d1416ab9fabf99a03d8f4725956") ; September 2, 2021 from phasing-tests branch (revision "2")) -- cgit v1.2.3 From 3c387a68ac8baec058352e0933f347ac4189019d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 10 Nov 2022 17:56:59 +0200 Subject: gn: Add missing imports and package licenses. --- gn/packages/bioinformatics.scm | 2 +- gn/packages/genenetwork.scm | 1 + gn/packages/ruby.scm | 54 +++++++++++++++++++++++++++--------------- 3 files changed, 37 insertions(+), 20 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 4e3c92b..5058535 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -461,7 +461,7 @@ reads.") (description "Variant detection in massively parallel sequencing data.") ;; Free for non-commercial use by academic, government, and ;; non-profit/not-for-profit institutions - (license license:non-copyleft))) + (license (license:non-copyleft "file:///LICENSE")))) (define-public edirect-gn (deprecated-package "edirect-gn" edirect)) diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index 4ce0d7f..e6750da 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages parallel) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-science) diff --git a/gn/packages/ruby.scm b/gn/packages/ruby.scm index d1df74c..79e210c 100644 --- a/gn/packages/ruby.scm +++ b/gn/packages/ruby.scm @@ -148,7 +148,8 @@ output") (description "Ruby/NTLM HTTP provides NTLM authentication over http.") (home-page "http://www.mindflowsolutions.net") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-webrobots (package @@ -171,7 +172,8 @@ output") "This library helps write robots.txt compliant web robots in Ruby. ") (home-page "https://github.com/knu/webrobots") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-mechanize ; guix maybe ready (package @@ -240,7 +242,7 @@ a history.") ") (home-page "https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-transport") - (license #f))) + (license (license:non-copyleft "will fill in later")))) (define-public ruby-elasticsearch-api (package @@ -266,7 +268,7 @@ a history.") ") (home-page "https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-api") - (license #f))) + (license (license:non-copyleft "will fill in later")))) (define-public ruby-elasticsearch (package @@ -295,7 +297,7 @@ a history.") ") (home-page "http://github.com/elasticsearch/elasticsearch-ruby") - (license #f))) + (license (license:non-copyleft "will fill in later")))) @@ -1720,7 +1722,8 @@ and HTML without having to deal with character set issues.") acts as a drop-in replacement for Rails `auto_link` ") (home-page "https://github.com/vmg/rinku") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-sidekiq (package @@ -1745,7 +1748,8 @@ and HTML without having to deal with character set issues.") (description "Simple, efficient background processing for Ruby.") (home-page "https://sidekiq.org") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-mini-scheduler (package @@ -2007,7 +2011,8 @@ and HTML without having to deal with character set issues.") (synopsis "") (description "") (home-page "") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public generate-ninja ; or 'gn' (let ((commit "dfcbc6fed0a8352696f92d67ccad54048ad182b3") @@ -2476,7 +2481,8 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo (description "The CSV library provides a complete interface to CSV files and data. It offers tools to enable you to read and write to and from Strings or IO objects, as needed.") (home-page "https://github.com/ruby/csv") - (license (list #f #f)))) + (license (list (license:non-copyleft "will fill in later") + (license:non-copyleft "will fill in later"))))) (define-public ruby-maxminddb (package @@ -2690,7 +2696,8 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo (description "HTTP Accept, Accept-Charset, Accept-Encoding, and Accept-Language for Ruby/Rack") (home-page "http://mjijackson.github.com/rack-accept") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-mustermann (package @@ -2948,7 +2955,8 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo (description "Run test/unit tests by line number. Metal!") (home-page "https://github.com/qrush/m") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-allocation-stats (package @@ -3027,7 +3035,8 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo (description "FakeWeb is a helper for faking web requests in Ruby. It works at a global level, without modifying code or writing extensive stubs.") (home-page "http://github.com/chrisk/fakeweb") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-simple-oauth (package @@ -3364,7 +3373,8 @@ Psych also knows how to serialize and de-serialize most Ruby objects to and from " Kwalify is a parser, schema validator, and data binding tool for YAML and JSON. ") (home-page "http://www.kuwata-lab.com/kwalify/") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-reek (package @@ -4375,7 +4385,8 @@ non-blocking I/O methods for Ruby without raising exceptions on EAGAIN and EINPROGRESS. ") (home-page "https://yhbt.net/kgio/") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-unicorn (package @@ -4405,7 +4416,8 @@ advantage of features in Unix/Unix-like kernels. Slow clients should only be served by placing a reverse proxy capable of fully buffering both the the request and response in between unicorn and slow clients.") (home-page "https://yhbt.net/unicorn/") - (license (list #f #f)))) + (license (list (license:non-copyleft "will fill in later") + (license:non-copyleft "will fill in later"))))) (define-public ruby-pry-rails (package @@ -4463,7 +4475,8 @@ both the the request and response in between unicorn and slow clients.") (description "CSS flipper for right-to-left processing. A Ruby port of https://github.com/ded/r2") (home-page "https://github.com/mzsanford/R2rb") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-openssl (package @@ -5146,7 +5159,8 @@ public-key signature system described in RFC 8032.") (description "Annotates Rails/ActiveRecord Models, routes, fixtures, and others based on the database schema.") (home-page "https://github.com/ctran/annotate_models") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-flamegraph (package @@ -5332,7 +5346,8 @@ specify.") (description "Port of arc90's readability project to ruby") (home-page "https://github.com/cantino/ruby-readability") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) ;; TODO: 0.3.3 never finishes the install phase with ruby-2.6 ;; TODO: Unbundle cppjieba @@ -5614,7 +5629,8 @@ with processing Chinese text.") \"test/unit/rr\". ") (home-page "https://github.com/test-unit/test-unit-rr") - (license #f))) + (license (license:non-copyleft + "will fill in later")))) (define-public ruby-aws-sdk-kinesis (package -- cgit v1.2.3 From dd9aab67b68cad7f2fa2c15626d73b1e25198dee Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 13 Nov 2022 12:57:36 +0200 Subject: gn: pgr-tk: Unbundle agc. --- gn/packages/bioinformatics.scm | 119 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 113 insertions(+), 6 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 5058535..8f98b8e 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -33,6 +33,7 @@ #:use-module (gnu packages bioinformatics) #:use-module (gnu packages boost) #:use-module (gnu packages bootstrap) + #:use-module (gnu packages c) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -511,6 +512,98 @@ reads.") collapses them into a non-redundant graph structure.") (license license:expat))) +(define-public agc-for-pgr-tk + (let ((commit "453c0afdc54b4aa00fa8e97a63f196931fdb81c4") ; April 26, 2022 + (revision "1")) + (package + (name "agc") + (version (git-version "2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cschin/agc") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1v5s79rl38dcyy5h1lykbp6clcbqq9winn533j54y49q1jp8chix")) + (snippet + #~(begin + (use-modules (guix build utils)) + ;; Copy the two radul files we can't find a replacement for: + ;; https://github.com/refresh-bio/RADULS + (mkdir "keep-libs") + (rename-file "libs/raduls.h" "keep-libs/raduls.h") + (rename-file "libs/libraduls.a" "keep-libs/libraduls.a") + (delete-file-recursively "libs") + (rename-file "keep-libs" "libs") + + (delete-file-recursively "py_agc_api/pybind11-2.8.1") + (substitute* '("makefile" "makefile.release") + (("-mavx") "") + (("-m64") "") + (("\\$\\(AGC_LIBS_DIR)\\/mimalloc/\\$\\(LIB_ALLOC\\)") + "$(pkg-config --cflags --libs mimalloc) /usr/lib/libmimalloc.so") + (("\\$\\(AGC_LIBS_DIR)\\/\\$\\(LIB_ZLIB\\)") + "$(pkg-config --cflags --libs zlib) /usr/lib/libz.so") + (("\\$\\(AGC_LIBS_DIR)\\/\\$\\(LIB_ZSTD\\)") + "$(pkg-config --cflags --libs libzstd) /usr/lib/libzstd.so") + (("^PYBIND11_LIB = .*") "PYBIND11_LIB = /usr/include/pybind11") + (("\\$\\(PYBIND11_LIB\\)/include") "$(PYBIND11_LIB)")) + (substitute* (find-files "src" "\\.(h|cpp)$") + (("../../libs/ketopt.h") "ketopt.h") + (("../../libs/zlib.h") "zlib.h") + (("../../libs/zstd.h") "zstd.h")))))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No configure script. + (add-after 'unpack 'adjust-sources + (lambda* (#:key inputs #:allow-other-keys) + (let ((mimalloc (assoc-ref inputs "mimalloc"))) + (substitute* '("makefile" "makefile.release") + (("/usr/include/pybind11") + (search-input-directory inputs "/include/pybind11")) + (("/usr/lib/libmimalloc.so") + (search-input-file inputs "/lib/libmimalloc.so")) + (("/usr/lib/libz.so") + (search-input-file inputs "/lib/libz.so")) + (("/usr/lib/libzstd.so") + (search-input-file inputs "/lib/libzstd.so")) + (("pkg-config") ,(pkg-config-for-target)))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (include (string-append out "/include/"))) + (install-file "agc" (string-append out "/bin")) + (install-file "libagc.so" (string-append out "/lib")) + (mkdir-p (string-append include "app")) + (mkdir-p (string-append include "core")) + (mkdir-p (string-append include "lib-cxx")) + (with-directory-excursion "src" + (for-each + (lambda (file) + (copy-file file (string-append include file))) + (find-files "." "\\.h$"))))))))) + (native-inputs + (list minimap2 ; for ketopt.h + pkg-config)) + (inputs + (list mimalloc + python + pybind11 + zlib + (list zstd "lib"))) + (home-page "https://github.com/cschin/agc") + (synopsis "Assembled Genomes Compressor") + (description + "@acronym{Assembled Genomes Compressor, AGC} is a tool designed to +compress collections of de-novo assembled genomes. It can be used for various +types of datasets: short genomes (viruses) as well as long (humans).") + (license license:expat)))) + (define-public pgr-tk (package (name "pgr-tk") @@ -520,11 +613,10 @@ collapses them into a non-redundant graph structure.") (method git-fetch) (uri (git-reference (url "https://github.com/Sema4-Research/pgr-tk") - (commit (string-append "v" version)) - (recursive? #t))) ; agc, WFA + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "160ngqbi8cbgaafq8crhfqv039mxr9jgl8hxxpwz0fh8mrh4003y")) + (base32 "0vm1k63v91zd0pfbg2zmwskajylz8xg83m63qxwaiwny5f4y6f1j")) (snippet #~(begin (use-modules (guix build utils)) @@ -570,7 +662,7 @@ collapses them into a non-redundant graph structure.") (copy-recursively (assoc-ref inputs "wfa-src") "rs-wfa/WFA"))) (add-after 'unpack 'adjust-source - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* '("pgr-bin/build.rs" "pgr-db/build.rs" "pgr-tk/build.rs") @@ -579,7 +671,17 @@ collapses them into a non-redundant graph structure.") ;; Build with zlib, not zlib-ng (substitute* '("pgr-bin/Cargo.toml" "pgr-db/Cargo.toml") - (("zlib-ng-compat") "zlib")))) + (("zlib-ng-compat") "zlib")) + ;; Don't look for agc to be bundled. + (substitute* "pgr-db/wrapper.h" + (("../agc/src/lib-cxx/agc-api.h") "lib-cxx/agc-api.h")) + (substitute* "pgr-db/build.rs" + ((".*panic!\\(\"Error.*") "")) + (mkdir-p "target/release") + (symlink (search-input-file inputs "/bin/agc") + "target/release/agc") + (symlink (search-input-file inputs "/lib/libagc.so") + "target/release/libagc"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -593,7 +695,12 @@ collapses them into a non-redundant graph structure.") "pgr-multifilter" "pgr-probe-match" "pgr-shmmr-pair-count"))))))))) - (inputs (list clang python zlib)) + (inputs + (list agc-for-pgr-tk + clang + python + zlib + (list zstd "lib"))) (native-inputs `(("pkg-config" ,pkg-config) ("wfa-src" -- cgit v1.2.3 From cc8ee17a6e63cf20adc9374735a1322dd9c7f88e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Nov 2022 14:56:36 +0200 Subject: gn: Add graph-genotyper and dependent packages --- gn/packages/bioinformatics.scm | 133 ++++++++++++++++++++++++++++++++++++++++ gn/packages/crates-io.scm | 135 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 267 insertions(+), 1 deletion(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 8f98b8e..76b93d9 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -512,6 +512,34 @@ reads.") collapses them into a non-redundant graph structure.") (license license:expat))) +(define-public gafpack + (let ((commit "ad31875b6914d964c6fd72d1bf334f0843538fb6") ; November 10, 2022 + (revision "1")) + (package + (name "gafpack") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekg/gafpack") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0di2psh0ls7jlbnqs7k71p55f73pn23a09k1h3ril7gwjcrzr3rk")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + #:cargo-inputs + (("rust-clap" ,rust-clap-4) + ("rust-gfa" ,rust-gfa-0.10)))) + (home-page "https://github.com/ekg/gafpack") + (synopsis "Convert variation graph alignments to coverage maps over nodes") + (description + "Gafpack converts alignments to pangenome variation graphs to coverage +maps useful in haplotype-based genotyping.") + (license license:expat)))) + (define-public agc-for-pgr-tk (let ((commit "453c0afdc54b4aa00fa8e97a63f196931fdb81c4") ; April 26, 2022 (revision "1")) @@ -728,6 +756,61 @@ performance.)") "file:///LICENSE" "CC-BY-NC-SA 4.0")))) +(define-public graph-genotyper + (let ((commit "e7cc6b43a5b1f389d76bf9aac7f2ee02f92caeaf") ; October 17, 2022 + (revision "13")) + (package + (name "graph-genotyper") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davidebolo1993/graph_genotyper") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l8yjpkqamiqr1q5i7vr5z04aba7skpbcwyc9dx5fiklvljjfhcx")))) + (build-system copy-build-system) + (arguments + `(#:install-plan + '(("genotype.py" "bin/") + ("genotype.sh" "bin/")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-genotype + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-script (string-append out "/bin/genotype.sh") + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) + `("PATH" ":" prefix + ,(map (lambda (file-name) + (string-append (assoc-ref inputs file-name) "/bin")) + (list "gafpack" + "odgi" + "python" + "samtools" + "vg")))))))))) + (inputs + (list gafpack + guile-3.0 + odgi + python + python-numpy + python-pandas + python-scipy + samtools + vg)) + (home-page "https://bitbucket.org/jana_ebler") + (synopsis "Genotyping based on k-mers and pangenome graphs") + (description + "This package provides a genotyper for various types of genetic variants +(such as SNPs, indels and structural variants). Genotypes are computed based on +read k-mer counts and a panel of known haplotypes. A description of the method +can be found @url{https://www.biorxiv.org/content/10.1101/2020.11.11.378133v1, +here}.") + (license (license:non-copyleft + "No license listed"))))) + (define-public pangenie (let ((commit "e779076827022d1416ab9fabf99a03d8f4725956") ; September 2, 2021 from phasing-tests branch (revision "2")) @@ -1811,6 +1894,56 @@ available to other researchers.") (delete-file "scanpy/tests/test_pca.py") #t))))))))) +;; TODO: Unbundle everything +(define-public odgi + (package + (name "odgi") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/pangenome/odgi/releases" + "/download/v" version + "/odgi-v" version ".tar.gz")) + (sha256 + (base32 "175083pb9hp0vn9a00hbxlayyk5a5j8p52yq5qfmbnfvndisbmbv")) + (snippet + #~(begin + (use-modules (guix build utils)) + (substitute* "CMakeLists.txt" + (("-march=native") "") + (("-msse4\\.2") "")) + (delete-file-recursively "deps/pybind11") + (delete-file-recursively "deps/sdsl-lite"))))) + (build-system cmake-build-system) + (native-inputs + (list pkg-config)) + (inputs + (list jemalloc + libdivsufsort + pybind11 + python + sdsl-lite)) + (home-page "https://github.com/vgteam/odgi") + (synopsis "Optimized Dynamic Genome/Graph Implementation") + (description "@acronym{Optimized Dynamic Genome/Graph Implementation, odgi} +provides an efficient and succinct dynamic DNA sequence graph model, as well as +a host of algorithms that allow the use of such graphs in bioinformatic +analyses. + +Careful encoding of graph entities allows odgi to efficiently compute and +transform pangenomes with minimal overheads. @command{odgi} implements a +dynamic data structure that leveraged multi-core CPUs and can be updated on the +fly. + +The edges and path steps are recorded as deltas between the current node id and +the target node id, where the node id corresponds to the rank in the global +array of nodes. Graphs built from biological data sets tend to have local +partial order and, when sorted, the deltas be small. This allows them to be +compressed with a variable length integer representation, resulting in a small +in-memory footprint at the cost of packing and unpacking.") + (properties '((tunable? . #t))) + (license license:expat))) + (define-public vg (package (name "vg") diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm index 847b2ef..8b7bc4c 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -7,7 +7,8 @@ #:use-module (guix build-system cargo) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-io) - #:use-module (gnu packages maths)) + #:use-module (gnu packages maths) + #:use-module (gnu packages python)) (define-public rust-bgzip-0.2 (package @@ -65,6 +66,25 @@ for massive key sets}. It generates an @acronym{MPHF, minimal perfect hash functions} for a collection of hashable objects.") (license license:expat))) +(define-public rust-clap-lex-0.3 + (package + (name "rust-clap-lex") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (crate-uri "clap-lex" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a4dzbnlxiamfsn0pnkhn7n9bdfjh66j9fxm6mmr7d227vvrhh8d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6)))) + (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex") + (synopsis "Minimal, flexible command line parser") + (description "Minimal, flexible command line parser") + (license (list license:expat license:asl2.0)))) + (define-public rust-cuckoofilter-0.5 (package (name "rust-cuckoofilter") @@ -352,6 +372,51 @@ Python code from a Rust binary is also supported.") (description "This package provides succinct data structures for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-terminal-size-0.2 + (package + (name "rust-terminal-size") + (version "0.2.2") + (source (origin + (method url-fetch) + (uri (crate-uri "terminal-size" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yhza8sc6jkka6j0nq5sl749ckx1jagvxp3b38yhh4px6k291jj0")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + ;#:cargo-inputs + ;(("rust-rustix" ,rust-rustix-0.35) + ; ("rust-windows-sys" ,rust-windows-sys-0.42)) + )) + (home-page "https://github.com/eminence/terminal-size") + (synopsis "Gets the size of your Linux or Windows terminal") + (description "Gets the size of your Linux or Windows terminal") + (license (list license:expat license:asl2.0)))) + +(define-public rust-unic-emoji-char-0.9 + (package + (name "rust-unic-emoji-char") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (crate-uri "unic-emoji-char" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ka9fr7s6lv0z43r9xphg9injn35pfxf9g9q18ki0wl9d0g241qb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unic-char-property" ,rust-unic-char-property-0.9) + ("rust-unic-char-range" ,rust-unic-char-range-0.9) + ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9)))) + (home-page "https://github.com/open-i18n/rust-unic/") + (synopsis "UNIC â Unicode Emoji â Emoji Character Properties") + (description "UNIC â Unicode Emoji â Emoji Character Properties") + (license (list license:expat license:asl2.0)))) + (define-public rust-clap-for-jrep (package (name "rust-clap") @@ -499,6 +564,48 @@ or any combination.") Argument Parser") (license (list license:expat license:asl2.0)))) +(define-public rust-clap-4 + (package + (name "rust-clap") + (version "4.0.9") + (source (origin + (method url-fetch) + (uri (crate-uri "clap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1w0dxqzrh449s9l2k8g66pdsff02599bwi5mh0gny3227kcpsq1h")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atty" ,rust-atty-0.2) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-clap-derive" ,rust-clap-derive-4) + ("rust-clap-lex" ,rust-clap-lex-0.3) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-strsim" ,rust-strsim-0.10) + ("rust-termcolor" ,rust-termcolor-1) + ("rust-terminal-size" ,rust-terminal-size-0.2) + ("rust-unicase" ,rust-unicase-2) + ("rust-unicode-width" ,rust-unicode-width-0.1)) + #:cargo-development-inputs + (("rust-humantime" ,rust-humantime-2) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-shlex" ,rust-shlex-1) + ("rust-snapbox" ,rust-snapbox-0.4) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-trycmd" ,rust-trycmd-0.13) + ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)))) + (home-page "https://github.com/clap-rs/clap") + (synopsis + "A simple to use, efficient, and full-featured Command Line Argument Parser") + (description + "This package provides a simple to use, efficient, and full-featured Command Line + Argument Parser") + (license (list license:expat license:asl2.0)))) + ;; ready to upstream, WITH rust-clap-derive ;; replace fields with those from upstream. (define-public rust-clap-derive-3.1 @@ -527,6 +634,32 @@ or any combination.") "Parse command line argument by defining a struct, derive crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-clap-derive-4 + (package + (name "rust-clap-derive") + (version "4.0.9") + (source (origin + (method url-fetch) + (uri (crate-uri "clap-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02zhbbmyz3dpy9ml6xfp7i8p3ffj1djvkdnkg6gr6d0s5r4hg8x4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-heck" ,rust-heck-0.4) + ("rust-proc-macro-error" ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/clap-rs/clap/tree/master/clap_derive") + (synopsis + "Parse command line argument by defining a struct, derive crate.") + (description + "Parse command line argument by defining a struct, derive crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-textwrap-0.15 (package (name "rust-textwrap") -- cgit v1.2.3 From a8481f8fda599be8af4c14663cc57e538f8117c3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 30 Nov 2022 10:54:03 +0200 Subject: gn: Remove upstreamed packages --- gn/packages/bioinformatics.scm | 4 +- gn/packages/crates-io.scm | 151 ----------------------------------------- 2 files changed, 2 insertions(+), 153 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 76b93d9..19cc1ff 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -489,7 +489,7 @@ reads.") (arguments `(#:install-source? #f #:cargo-inputs - (("rust-clap" ,rust-clap-3.1) + (("rust-clap" ,rust-clap-3) ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-regex" ,rust-regex-1) ("rust-handlegraph" ,rust-handlegraph-0.7) @@ -670,7 +670,7 @@ types of datasets: short genomes (viruses) as well as long (humans).") (("rust-bindgen" ,rust-bindgen-0.58) ("rust-bgzip" ,rust-bgzip-0.2) ("rust-byteorder" ,rust-byteorder-1) - ("rust-clap" ,rust-clap-3.1) + ("rust-clap" ,rust-clap-3) ("rust-cuckoofilter" ,rust-cuckoofilter-0.5) ("rust-flate2" ,rust-flate2-1) ("rust-libc" ,rust-libc-0.2) diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm index 60b6229..342aca4 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -372,51 +372,6 @@ Python code from a Rust binary is also supported.") (description "This package provides succinct data structures for Rust.") (license (list license:expat license:asl2.0)))) -(define-public rust-terminal-size-0.2 - (package - (name "rust-terminal-size") - (version "0.2.2") - (source (origin - (method url-fetch) - (uri (crate-uri "terminal-size" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0yhza8sc6jkka6j0nq5sl749ckx1jagvxp3b38yhh4px6k291jj0")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - ;#:cargo-inputs - ;(("rust-rustix" ,rust-rustix-0.35) - ; ("rust-windows-sys" ,rust-windows-sys-0.42)) - )) - (home-page "https://github.com/eminence/terminal-size") - (synopsis "Gets the size of your Linux or Windows terminal") - (description "Gets the size of your Linux or Windows terminal") - (license (list license:expat license:asl2.0)))) - -(define-public rust-unic-emoji-char-0.9 - (package - (name "rust-unic-emoji-char") - (version "0.9.0") - (source (origin - (method url-fetch) - (uri (crate-uri "unic-emoji-char" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0ka9fr7s6lv0z43r9xphg9injn35pfxf9g9q18ki0wl9d0g241qb")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-unic-char-property" ,rust-unic-char-property-0.9) - ("rust-unic-char-range" ,rust-unic-char-range-0.9) - ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9)))) - (home-page "https://github.com/open-i18n/rust-unic/") - (synopsis "UNIC â Unicode Emoji â Emoji Character Properties") - (description "UNIC â Unicode Emoji â Emoji Character Properties") - (license (list license:expat license:asl2.0)))) - (define-public rust-clap-for-jrep (package (name "rust-clap") @@ -520,50 +475,6 @@ or any combination.") (description "Rust CLI tools for manipulation of Jupyter Notebooks.") (license #f)))) ; There is no license. -;; replace fields with those from upstream -(define-public rust-clap-3.1 - (package - (name "rust-clap") - (version "3.1.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "clap" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "08q1hkksfixybnrwrpm44xq028wbn9yr2hnzrax9hihyq8v39jfq")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-atty" ,rust-atty-0.2) - ("rust-backtrace" ,rust-backtrace-0.3) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-clap-derive" ,rust-clap-derive-3.1) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-os-str-bytes" ,rust-os-str-bytes-6) - ("rust-regex" ,rust-regex-1) - ("rust-strsim" ,rust-strsim-0.10) - ("rust-termcolor" ,rust-termcolor-1) - ("rust-terminal-size" ,rust-terminal-size-0.1) - ("rust-textwrap" ,rust-textwrap-0.15) - ("rust-unicase" ,rust-unicase-2) - ("rust-yaml-rust" ,rust-yaml-rust-0.4)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-regex" ,rust-regex-1) - ("rust-rustversion" ,rust-rustversion-1) - ("rust-trybuild" ,rust-trybuild-1) - ("rust-trycmd" ,rust-trycmd-0.12)))) - (home-page "https://github.com/clap-rs/clap") - (synopsis - "A simple to use, efficient, and full-featured Command Line Argument Parser") - (description - "This package provides a simple to use, efficient, and full-featured Command Line - Argument Parser") - (license (list license:expat license:asl2.0)))) - (define-public rust-clap-4 (package (name "rust-clap") @@ -608,34 +519,6 @@ or any combination.") Argument Parser") (license (list license:expat license:asl2.0)))) -;; ready to upstream, WITH rust-clap-derive -;; replace fields with those from upstream. -(define-public rust-clap-derive-3.1 - (package - (name "rust-clap-derive") - (version "3.1.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "clap-derive" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "05mz2y6k73wc1gvv9r4mllfqslzvlwkvx77lk7769ag1xlwd15fs")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-heck" ,rust-heck-0.4) - ("rust-proc-macro-error" ,rust-proc-macro-error-1) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/clap-rs/clap/tree/master/clap_derive") - (synopsis - "Parse command line argument by defining a struct, derive crate.") - (description - "Parse command line argument by defining a struct, derive crate.") - (license (list license:expat license:asl2.0)))) - (define-public rust-clap-derive-4 (package (name "rust-clap-derive") @@ -662,40 +545,6 @@ or any combination.") "Parse command line argument by defining a struct, derive crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-textwrap-0.15 - (package - (name "rust-textwrap") - (version "0.15.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "textwrap" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t ; Not all inputs packaged - ;#:tests? #f ; Skip tests for now - #:cargo-inputs - (("rust-hyphenation" ,rust-hyphenation-0.8) - ("rust-smawk" ,rust-smawk-0.3) - ("rust-terminal-size" ,rust-terminal-size-0.1) - ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1) - ("rust-unicode-width" ,rust-unicode-width-0.1)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ;("rust-lipsum" ,rust-lipsum-0.8) - ("rust-termion" ,rust-termion-1) - ;("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9) - ("rust-version-sync" ,rust-version-sync-0.9)))) - (home-page "https://github.com/mgeisler/textwrap") - (synopsis - "Powerful library for word wrapping, indenting, and dedenting strings") - (description - "Powerful library for word wrapping, indenting, and dedenting strings") - (license license:expat))) - (define-public rust-trycmd-0.12 (package (name "rust-trycmd") -- cgit v1.2.3 From 9fb27d3e8cd7f4ce1040bbf815b5c9031dbce3b0 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Thu, 8 Dec 2022 22:24:28 +0000 Subject: Minor fixes aiming for genenetwork1 --- gn/packages/bioinformatics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 19cc1ff..3cd1e1c 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -2406,7 +2406,7 @@ The Genome Browser itself does not draw conclusions; rather, it collates all relevant information in one location, leaving the exploration and interpretation to the user.") (license (list - license:bsd-0 ; kent/src/{utils,lib,inc,tabStorm,parasol,hg/ausoSql,hg/autoXml} + ;; license:bsd-0 ; kent/src/{utils,lib,inc,tabStorm,parasol,hg/ausoSql,hg/autoXml} license:bsd-3 ; these two for bundled htslib-1.3 license:expat (license:non-copyleft -- cgit v1.2.3 From 0bf0d2684677bc40c0759cb1640659bf03f882ae Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Mar 2023 13:24:10 +0200 Subject: Add python-pytest-runner-4. * gn/packages/python.scm (python-pytest-runner-4): New variable. * gn/packages/bioinformatics.scm (python-pytest-runner-2): MOve to python.scm --- gn/packages/bioinformatics.scm | 11 ----------- gn/packages/python.scm | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+), 11 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 3cd1e1c..b58d97e 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -1791,17 +1791,6 @@ reads, also called read-based phasing or haplotype assembly. It is especially suitable for long reads, but works also well with short reads.") (license license:expat))) -(define-public python-pytest-runner-2 - (package - (inherit python-pytest-runner) - (version "2.12.2") - (source (origin - (method url-fetch) - (uri (pypi-uri "pytest-runner" version)) - (sha256 - (base32 - "11ivjj9hfphkv4yfb2g74av4yy86y8gcbf7gbif0p1hcdfnxg3w6")))))) - (define-public bh20-seq-resource (let ((commit "ae4cb3c2cf7103bbc84f52618bb755d7ce25775b") (revision "3")) diff --git a/gn/packages/python.scm b/gn/packages/python.scm index f3fa50b..169fac7 100644 --- a/gn/packages/python.scm +++ b/gn/packages/python.scm @@ -1324,6 +1324,29 @@ sorted order.") ("python-requests" ,python-requests) ,@(package-native-inputs python-pytest))))) +(define-public python-pytest-runner-4 + (package + (inherit python-pytest-runner) + (name "python-pytest-runner") + (version "4.5.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "pytest-runner" version)) + (sha256 + (base32 + "1vzilbayx5mznsdm1r258m3616374p6kvhsbj4j6238j9djkvjyi")))))) + +(define-public python-pytest-runner-2 + (package + (inherit python-pytest-runner) + (version "2.12.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "pytest-runner" version)) + (sha256 + (base32 + "11ivjj9hfphkv4yfb2g74av4yy86y8gcbf7gbif0p1hcdfnxg3w6")))))) + (define-public python-pandas-plink (package (name "python-pandas-plink") -- cgit v1.2.3 From 3cddd10e7b3a52d1d3f8411417e3b59a1ae558c9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Mar 2023 13:25:19 +0200 Subject: bh20-seq-resource: Update to 1.0-4.2ae7191. * gn/packages/bioinformatics.scm (bh20-seq-resource): Update to 1.0-4.2ae7191. [source]: Adjust snippet for changes in source. [arguments]: Skip tests. [propagated-inputs]: Add python-shexc-0.7. Remove python-dateutil, python-flask, python-pycurl, python38-ruaml.yaml-0.15.76, clustalw, python-twint. [native-inputs]: Remove git, python-oauth2client, python-uritemplate. Replace python-pytest-4 with python-pytest-5, python-pytest-runner-2 with python-pytest-runner-4. --- gn/packages/bioinformatics.scm | 50 ++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 26 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index b58d97e..48f1c40 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -1792,8 +1792,8 @@ suitable for long reads, but works also well with short reads.") (license license:expat))) (define-public bh20-seq-resource - (let ((commit "ae4cb3c2cf7103bbc84f52618bb755d7ce25775b") - (revision "3")) + (let ((commit "2ae71911cd87ce4f2eabdff21e538267b3270d45") + (revision "4")) (package (name "bh20-seq-resource") (version (git-version "1.0" revision commit)) @@ -1804,36 +1804,34 @@ suitable for long reads, but works also well with short reads.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1k0gsz4yc8l5znanzd094g2jp40ksbpa9667zr31ayrjx6labz02")) + (base32 "1k6cc88hrcm77jwpdk2084q0zirv2vlbz3c07nmpbhk1lhqk5x0n")) (modules '((guix build utils))) (snippet '(begin - (substitute* "setup.py" - (("py-dateutil") "python-dateutil")) - #t)))) + (delete-file "gittaggers.py"))))) (build-system python-build-system) + (arguments + (list + #:tests? #f)) ; Tests can't find pytest (propagated-inputs - `(("python-arvados-python-client" ,python-arvados-python-client) - ("python-dateutil" ,python-dateutil) - ("python-flask" ,python-flask) - ("python-magic" ,python-magic) - ("python-pyyaml" ,python-pyyaml) - ("python-pycurl" ,python-pycurl) - ("python-pyshex" ,python-pyshex) - ("python-redis" ,python-redis) - ("python-ruaml.yaml" ,python38-ruaml.yaml-0.15.76) - ("clustalw" ,clustalw) - ("python-schema-salad" ,python-schema-salad) - ("python-twint" ,python-twint) - ;; and for the service - ("python" ,python) - ("gunicorn" ,gunicorn))) + (list python-arvados-python-client + python-schema-salad + python-magic + python-pyshex + python-pyshexc-0.7 + python-py-dateutil + + ;; for the web + python-flask + python-pyyaml + python-redis + + ;; and for the service + python + gunicorn)) (native-inputs - `(("git" ,(@ (gnu packages version-control) git)) - ("python-oauth2client" ,python-oauth2client) - ("python-pytest" ,python-pytest-4) - ("python-pytest-runner" ,python-pytest-runner-2) - ("python-uritemplate" ,python-uritemplate))) + (list python-pytest-4 ; < 6 + python-pytest-runner-4)) ; < 5 (home-page "https://github.com/pubseq/bh20-seq-resource") (synopsis "Tool to upload SARS-CoV-19 sequences and service to kick off analysis") -- cgit v1.2.3 From add8bb0bdf3797704a30095ef21058b11778bc27 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Mar 2023 14:22:33 +0200 Subject: bh20-seq-resource: Patch reference to minimap2. * gn/packages/bioinformatics.scm (bh20-seq-resource)[arguments]: Add phase to hardcode path to minimap2. [inputs]: Add minimap2. --- gn/packages/bioinformatics.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 48f1c40..b94f537 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -1812,7 +1812,16 @@ suitable for long reads, but works also well with short reads.") (build-system python-build-system) (arguments (list - #:tests? #f)) ; Tests can't find pytest + #:tests? #f ; Tests can't find pytest + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-program-calls + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "bh20sequploader/qc_fasta.py" + (("\"minimap2\"") + (string-append "\"" (search-input-file + inputs "/bin/minimap2") + "\"")))))))) (propagated-inputs (list python-arvados-python-client python-schema-salad @@ -1829,6 +1838,8 @@ suitable for long reads, but works also well with short reads.") ;; and for the service python gunicorn)) + (inputs + (list minimap2)) (native-inputs (list python-pytest-4 ; < 6 python-pytest-runner-4)) ; < 5 -- cgit v1.2.3 From a66e0cbedda4927d9546829e162d08d03bb667da Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Mar 2023 14:49:00 +0200 Subject: bh20-seq-resource: Add version without profile collisions. * gn/packages/bioinformatics.scm (bh20-seq-resource-for-service): New variable. * gn/services/bh20-seq-resource-container.scm (covid19-pubseq-configuration): Use it by default. --- gn/packages/bioinformatics.scm | 12 ++++++++++++ gn/services/bh20-seq-resource-container.scm | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index b94f537..0e6caf0 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -1852,6 +1852,18 @@ it to upload the genomes of SARS-CoV-2 samples to make them publicly and freely available to other researchers.") (license license:asl2.0)))) +;; This version has no profile collisions. +(define-public bh20-seq-resource-for-service + (package + ;(inherit (fix-profile-collisions-for-bh20 bh20-seq-resource)) + (inherit + ((package-input-rewriting/spec + `(("python-google-api-core" . ,(const python-google-api-core-1)) + ("python-google-auth" . ,(const python-google-auth-1)) + ("python-pyparsing" . ,(const python-pyparsing-2.4.7)))) + bh20-seq-resource)) + (properties `((hidden? . #t))))) + (define-public python-scanpy-git (let ((commit "590d42309f9ed6550d7b887039990edfc1ac7648") ; April 22, 2020 (revision "1")) diff --git a/gn/services/bh20-seq-resource-container.scm b/gn/services/bh20-seq-resource-container.scm index cb77cdb..9eae2fc 100644 --- a/gn/services/bh20-seq-resource-container.scm +++ b/gn/services/bh20-seq-resource-container.scm @@ -14,7 +14,7 @@ make-covid19-pubseq-configuration covid19-pubseq-configuration? (package covid19-pubseq-configuration-package ; package - (default bh20-seq-resource)) + (default bh20-seq-resource-for-service)) (deploy-directory covid19-pubseq-deploy-directory ; string (default "/srv/http")) (port covid19-pubseq-configuration-port ; string -- cgit v1.2.3 From 12c438b88468b2d507575af1f06dba4aa2d9e5eb Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Mon, 10 Apr 2023 10:47:31 +0100 Subject: vg: Use curl instead of curl-minimal. curl-minimal has been removed from upstream Guix. * gn/packages/bioinformatics.scm (vg)[inputs]: Use curl instead of curl-minimal. --- gn/packages/bioinformatics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 0e6caf0..bb6b191 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -2187,7 +2187,7 @@ in-memory footprint at the cost of packing and unpacking.") (inputs `(("boost" ,boost) ("cairo" ,cairo) - ("curl" ,curl-minimal) + ("curl" ,curl) ("elfutils" ,elfutils) ("fastahack" ,fastahack) ("htslib" ,htslib) -- cgit v1.2.3 From 550b45e4a9b4902a6ce938ee7b592b779c73ac7b Mon Sep 17 00:00:00 2001 From: pjotrp Date: Sun, 18 Jun 2023 15:03:03 +0200 Subject: Remove unused twint from GN2 --- gn/packages/bioinformatics.scm | 1 - gn/packages/genenetwork.scm | 2 -- gn/past/genenetwork1.scm | 1 - 3 files changed, 4 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index bb6b191..db420b7 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -23,7 +23,6 @@ #:use-module (gn packages java) #:use-module (gn packages ocaml) #:use-module (gn packages python) - #:use-module (gn packages twint) #:use-module (gnu packages algebra) #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index eb67698..acfae1c 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -51,7 +51,6 @@ #:use-module (gn packages javascript) #:use-module (gn packages python) #:use-module (gn packages statistics) - #:use-module (gn packages twint) #:use-module (gn packages web) #:use-module (gn packages python-web) #:use-module (srfi srfi-1)) @@ -241,7 +240,6 @@ ("python-simplejson" ,python-simplejson) ("python-markdown" ,python-markdown) ("python-rdflib" ,python-rdflib) - ("python-twint" ,python-twint) ("python-authlib" ,python-authlib) ("python-flask-session" ,python-flask-session) ;; TODO: Get rid of Python R bindings diff --git a/gn/past/genenetwork1.scm b/gn/past/genenetwork1.scm index c629c7e..717aff6 100644 --- a/gn/past/genenetwork1.scm +++ b/gn/past/genenetwork1.scm @@ -44,7 +44,6 @@ #:use-module (past packages python) #:use-module (past packages web) #:use-module (gn packages bioinformatics) - #:use-module (gn packages twint) #:use-module (gn packages databases) #:use-module (gn packages elixir) #:use-module (gn packages gemma) -- cgit v1.2.3