diff options
| -rw-r--r-- | gn/packages/bioinformatics.scm | 620 | ||||
| -rw-r--r-- | gn/packages/check.scm | 53 | ||||
| -rw-r--r-- | gn/packages/file-systems.scm | 31 | ||||
| -rw-r--r-- | gn/packages/jupyterhub.scm | 2 | ||||
| -rw-r--r-- | gn/packages/machine-learning.scm | 2 | ||||
| -rw-r--r-- | gn/packages/python-build.scm | 68 | ||||
| -rw-r--r-- | gn/packages/python-xyz.scm | 136 | ||||
| -rw-r--r-- | gn/packages/python.scm | 30 | ||||
| -rw-r--r-- | gn/packages/r-shiny.scm | 306 | ||||
| -rw-r--r-- | gn/packages/rust-crates.scm | 525 | ||||
| -rw-r--r-- | gn/packages/twint.scm | 44 | ||||
| -rw-r--r-- | gn/packages/virtualization.scm | 1 | ||||
| -rw-r--r-- | gn/services/jumpsem-container.scm | 27 | ||||
| -rw-r--r-- | gn/services/jumpshiny-container.scm | 25 | ||||
| -rw-r--r-- | vcflib-use-system-fastahack-smithwaterman.patch | 107 |
15 files changed, 1822 insertions, 155 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index f7b70e2..2037d3b 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -15,6 +15,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system ocaml) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system r) #:use-module (guix build-system trivial) @@ -92,6 +93,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages vim) #:use-module (gnu packages web) + #:use-module (gnu packages zig) #:use-module (past packages python27)) (define-public contra @@ -573,7 +575,7 @@ reads.") (define-public gfaffix (package (name "gfaffix") - (version "0.1.5") + (version "0.2.1") (source (origin (method git-fetch) @@ -582,20 +584,12 @@ reads.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "181jxl8ldj39jgscyqzhz4l4k5kxj1j9hvzi8dxj59h2zzznb0kb")))) + (base32 "0yn8i70ww3x544qm4fwr33vklsxf3fvivpfpv46prkfz9hsmd9ps")))) (build-system cargo-build-system) (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-clap" ,rust-clap-3) - ("rust-rustc-hash" ,rust-rustc-hash-1) - ("rust-regex" ,rust-regex-1) - ("rust-handlegraph" ,rust-handlegraph-0.7.0-alpha.9) - ("rust-gfa" ,rust-gfa-0.10) - ("rust-quick-csv", rust-quick-csv-0.1) - ("rust-rayon" ,rust-rayon-1) - ("rust-log" ,rust-log-0.4) - ("rust-env-logger" ,rust-env-logger-0.7)))) + `(#:install-source? #f)) + (inputs (cargo-inputs 'gfaffix + #:module '(gn packages rust-crates))) (home-page "https://github.com/marschall-lab/GFAffix") (synopsis "Identify walk-preserving shared affixes in variation graphs") (description @@ -1968,27 +1962,15 @@ here}.") (define-public mummer (package (name "mummer") - (version "4.0.0rc1") + (version "4.0.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mummer4/mummer/releases/" "download/v" version "/mummer-" version ".tar.gz")) (sha256 - (base32 "07bxw1vax1sai3g5xjn6sqngddlbnlabpqy373vw4fb55pdnl045")))) + (base32 "0gix9qay0bcv515q9xag9arhq3wal77vf5g5whiy7cm004ksw85w")))) (build-system gnu-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'configure 'skip-test_md5-tests - (lambda _ - ;; There seems to be a bug with how these tests are called. - (substitute* "Makefile" - (("tests/mummer.sh") "") - (("tests/nucmer.sh") "") - (("tests/genome.sh") "") - (("tests/sam.sh") ""))))))) (inputs (list gnuplot perl)) @@ -2338,6 +2320,79 @@ in-memory footprint at the cost of packing and unpacking.") odgi-x86-64-v4))) (properties `((tunable? . #f))))) +;; new wfa2-lib v2.3.6 with cstdint fix, pkg-config and tests +(define-public wfa2-lib + (package + (name "wfa2-lib") + (version "2.3.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/smarco/WFA2-lib") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hfgq09r0ndrsa2jwy9wkg8p7xzgvclbj5ysp73bawwkgwpgfhy4")))) + (build-system cmake-build-system) + (native-inputs + (list pkg-config time)) ; time for testing + (arguments + (list + #:configure-flags + #~(list "-DCMAKE_BUILD_TYPE=RelWithDebInfo"))) + (home-page "https://github.com/smarco/WFA2-lib") + (synopsis "Wavefront alignment algorithm library") + (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 + (package + (name "vcflib") + (version "1.0.15") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vcflib/vcflib") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04gwnwvr10z6kc0f4n25a5dhw4jl4i2mqfxyy1kxmqbl1dw1b20k")) + (patches + (list (search-patch "vcflib-use-system-fastahack-smithwaterman.patch"))))) + (build-system cmake-build-system) + (inputs + (list + fastahack + htslib + pandoc ; for man pages + perl + python + python-pytest + pybind11 + ruby ; for man pages + smithwaterman + tabixpp + time ; for tests + wfa2-lib + xz + zig-0.15)) ; older versions of zig will not work + (native-inputs + (list pkg-config)) + (home-page "https://github.com/vcflib/vcflib/") + (synopsis "Library for parsing and manipulating VCF files") + (description "Vcflib provides methods to manipulate and interpret +sequence variation as it can be described by VCF. It is both an API for parsing +and operating on records of genomic variation as it can be described by the VCF +format, and a collection of command-line utilities for executing complex +manipulations on VCF files.") + (license license:expat))) + (define-public vg (package (name "vg") @@ -2589,52 +2644,189 @@ multiple sequence alignment.") license:zlib ; deps/sonLib/externalTools/cutest license:boost1.0)))) ; catch.hpp -(define-public wfmash-0.14 +(define-public vg-gn (package - (inherit wfmash) - (version "0.14.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/waveygang/wfmash/releases/download/v" - version "/wfmash-v" version ".tar.gz")) - (sha256 - (base32 - "1mk3jschn3hdr45glds65g3hxk7v6nc3plkvxmfbd5pr4kyzlf13")) - (snippet - #~(begin - (use-modules (guix build utils)) - ;; Unbundle atomic-queue. - (delete-file-recursively "src/common/atomic_queue") - (substitute* "src/align/include/computeAlignments.hpp" - (("\"common/atomic_queue/atomic_queue.h\"") - "<atomic_queue/atomic_queue.h>")) - ;; Remove compiler optimizations. - (substitute* (find-files "." "CMakeLists\\.txt") - (("-march=native ") "")))))) + (inherit vg) + (name "vg-gn") (arguments - (substitute-keyword-arguments (package-arguments wfmash) - ((#:tests? tests? #f) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (replace 'build-check-prerequisites - (lambda _ - (let ((wfa2-lib #$(string-append "../wfmash-v" - version - "/src/common/wflign/deps/WFA2-lib"))) - (substitute* (string-append wfa2-lib "/Makefile") - ;; Remove architecture-specific flags. - (("-march=x86-64-v3") "")) - (substitute* (string-append wfa2-lib "/tests/wfa.utest.sh") - ;; Fix time command. - (("\\\\time -v") "time")) - ;; Build wfa2-lib. - (invoke "make" "-C" wfa2-lib - #$(string-append "CC=" (cc-for-target)))))))))) + (list + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + ;; Add subdirectory include paths for system packages + (let ((extra-includes + (string-join + (list (search-input-directory inputs "/include/vcflib") + (search-input-directory inputs "/include/fastahack") + (search-input-directory inputs "/include/cairo") + (search-input-directory inputs "/include/raptor2")) + ":"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-append extra-includes + ":" (or (getenv "CPLUS_INCLUDE_PATH") ""))) + (setenv "C_INCLUDE_PATH" + (string-append extra-includes + ":" (or (getenv "C_INCLUDE_PATH") "")))) + (substitute* "Makefile" + ;; PKG_CONFIG_DEPS - use external vcflib and fastahack + (("cairo libzstd") + "cairo htslib libzstd libdw libelf protobuf raptor2 sdsl-lite tabixpp vcflib fastahack libdeflate") + + (("-Wl,-B.*") "\n") + + (("\\$\\(CWD\\)/\\$\\(LIB_DIR\\)/libtabixpp\\.a") "$(LIB_DIR)/libtabixpp.a") + ((" \\$\\(LIB_DIR\\)/libtabixpp\\.a") + (string-append " " (search-input-file inputs "/lib/libtabixpp.so"))) + (("\\$\\(LIB_DIR\\)/pkgconfig/tabixpp\\.pc") + (string-append " " (search-input-file inputs "/lib/pkgconfig/tabixpp.pc"))) + + (("\\$\\(CWD\\)/\\$\\(LIB_DIR\\)/libhts\\.a") "$(LIB_DIR)/libhts.a") + ((" \\$\\(LIB_DIR\\)/libhts\\.a") + (string-append " " (search-input-file inputs "/lib/libhts.so"))) + (("\\$\\(LIB_DIR\\)/pkgconfig/htslib\\.pc") + (string-append " " (search-input-file inputs "/lib/pkgconfig/htslib.pc"))) + + (("\\$\\(CWD\\)/\\$\\(LIB_DIR\\)/libdeflate\\.a") "$(LIB_DIR)/libdeflate.a") + ((" \\$\\(LIB_DIR\\)/libdeflate\\.a") + (string-append " " (search-input-file inputs "/lib/libdeflate.so"))) + + ;; Use external vcflib + ((" \\$\\(LIB_DIR\\)/libvcflib.a") + (string-append " " (search-input-file inputs "/lib/libvcflib.so"))) + ((" \\$\\(BIN_DIR\\)/vcf2tsv") + (string-append " " (search-input-file inputs "/bin/vcf2tsv"))) + + ((" \\$\\(FASTAHACK_DIR\\)/fastahack") + (string-append " " (search-input-file inputs "/bin/fastahack"))) + (("\\+= \\$\\(OBJ_DIR\\)/Fasta\\.o") "+=") + ;; Add fastahack to linker flags + (("-lvcflib") "-lvcflib -lfastahack -lsmithwaterman -lcairo") + + ((" \\$\\(LIB_DIR\\)/libsnappy.a") + (string-append " " (search-input-file inputs "/lib/libsnappy.so"))) + + (("-ldwfl -ldw -ldwelf -lelf -lebl") "-ldw -lelf") + ((" \\$\\(LIB_DIR\\)/libelf.a") + (string-append " " (search-input-file inputs "/lib/libelf.so"))) + ((" \\$\\(LIB_DIR\\)/libdw.a") + (string-append " " (search-input-file inputs "/lib/libdw.so"))) + + ((" \\$\\(LIB_DIR\\)/%divsufsort.a") + (string-append " " (dirname + (search-input-file inputs "/lib/libdivsufsort.so")) + "%divsufsort.so")) + ((" \\$\\(LIB_DIR\\)/libdivsufsort.a") + (string-append " " (search-input-file inputs "/lib/libdivsufsort.so"))) + ((" \\$\\(LIB_DIR\\)/%divsufsort64.a") + (string-append " " (dirname + (search-input-file inputs "/lib/libdivsufsort64.so")) + "%divsufsort64.so")) + ((" \\$\\(LIB_DIR\\)/libdivsufsort64.a") + (string-append " " (search-input-file inputs "/lib/libdivsufsort64.so"))) + + ((" \\$\\(LIB_DIR\\)/libjemalloc.a") + (string-append " " (search-input-file inputs "/lib/libjemalloc.a"))) + + ((" \\$\\(INC_DIR\\)/sparsehash") + (string-append " " (search-input-directory inputs "/include/sparsehash"))) + + ((" \\$\\(INC_DIR\\)/raptor2") + (string-append " " (search-input-directory inputs "/include/raptor2"))) + ((" \\$\\(LIB_DIR\\)/libraptor2.a") + (string-append " " (search-input-file inputs "/lib/libraptor2.so"))) + ((" \\$\\(BIN_DIR\\)/rapper") + (string-append " " (search-input-file inputs "/bin/rapper")))) + (mkdir "deps/libbdsg/bdsg/obj") + (mkdir "deps/libbdsg/lib") + (substitute* "deps/libbdsg/Makefile" + (("\\[ ! -e \\$\\(OBJ_DIR\\) \\][^\n]*") "") + (("\\[ ! -e \\$\\(LIB_DIR\\) \\][^\n]*") "")))) + (add-after 'unpack 'link-with-some-shared-libraries + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("deps/mmmultimap/CMakeLists.txt" + "deps/xg/CMakeLists.txt" + "deps/xg/deps/mmmulti/CMakeLists.txt") + (("\".*libsdsl\\.a\"") "\"-lsdsl\"") + (("\".*libdivsufsort\\.a\"") "\"-ldivsufsort\"") + (("\".*libdivsufsort64\\.a\"") "\"-ldivsufsort64\"") + (("\\$\\{sdsl-lite_INCLUDE\\}") + (search-input-directory inputs "/include/sdsl")) + (("\\$\\{sdsl-lite-divsufsort_INCLUDE\\}") + (dirname + (search-input-file inputs "/include/divsufsort.h")))))) + (add-after 'unpack 'dont-build-shared-vgio + (lambda _ + (substitute* "deps/libvgio/CMakeLists.txt" + (("TARGETS vgio vgio_static") "TARGETS vgio_static")))) + (add-after 'unpack 'adjust-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash-tap (assoc-ref inputs "bash-tap"))) + (substitute* (find-files "test/t") + (("BASH_TAP_ROOT.*") + (string-append "BASH_TAP_ROOT=" bash-tap "/bin\n")) + ((".*bash-tap-bootstrap") + (string-append ". " bash-tap "/bin/bash-tap-bootstrap"))) + (substitute* "test/t/02_vg_construct.t" + (("../deps/fastahack/fastahack") (which "fastahack")) + (("../bin/vcf2tsv") "bin/vcf2tsv")) + (substitute* "test/t/02_vg_construct.t" + ((".*self-inconsistent.*") "is $(true) \"\" \"\"\n")) + (substitute* "test/t/07_vg_map.t" + (("identity\\) 1 \"") "identity) 1.0 \"")) + (substitute* '("test/t/07_vg_map.t" + "test/t/33_vg_mpmap.t") + ((".*node id.*") "is $(true) \"\" \"\"\n")) + (substitute* "test/t/48_vg_convert.t" + (("true \"vg.*") "true \"true\"\n")) + (substitute* "test/t/50_vg_giraffe.t" + ((".*A long read can.*") "is $(true) \"\" \"\"\n") + ((".*A long read has.*") "is $(true) \"\" \"\"\n") + ((".*Long read minimizer.*") "is $(true) \"\" \"\"\n")) + (substitute* "Makefile" + ((".*test-docs.*") ""))))) + (add-after 'build 'build-manpages + (lambda* (#:key make-flags #:allow-other-keys) + (substitute* "doc/vgmanmd.py" + (("'vg'") "'./bin/vg'")) + (apply invoke "make" "man" make-flags))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "bin/vg" (string-append out "/bin")) + (install-file "lib/libhandlegraph.so" (string-append out "/lib")) + (for-each + (lambda (file) + (install-file file (string-append out "/share/man/man1"))) + (find-files "doc/man" "\\.1$")))))) + #:tests? #f)) (inputs - (modify-inputs (package-inputs wfmash) - (prepend jemalloc) - (delete "libdeflate"))))) + (list boost + cairo + curl + elfutils + fastahack + htslib + jansson + jemalloc + libdeflate + libdivsufsort + ncurses + openmpi + protobuf + raptor2 + sdsl-lite + smithwaterman + snappy + sparsehash + tabixpp + vcflib + zlib + (list zstd "lib"))))) (define-public pggb (package @@ -2702,7 +2894,7 @@ multiple sequence alignment.") "smoothxg" "time" "vcfbub" - "vg" + "vg-gn" "wfmash")))))) (list (string-append out "/bin/pggb") (string-append out "/bin/partition-before-pggb") @@ -2737,8 +2929,8 @@ multiple sequence alignment.") smoothxg time vcfbub - vg - wfmash-0.14)) + vg-gn + wfmash)) (home-page "https://doi.org/10.1101/2023.04.05.535718") (synopsis "PanGenome Graph Builder") (description "@command{pggb} builds @@ -4486,80 +4678,6 @@ invariant (monomorphic) sites, which are essential for the correct computation of π and dxy in the face of missing data (i.e. always).") (license license:expat))) -(define-public wfa2-lib - (let ((commit "af6be887614e8bb4e2b6e8c4e500705a978bd513") ; 14 April 2022 - (revision "1")) - (package - (name "wfa2-lib") - (version (git-version "2.1" revision commit)) ; As seen in ./VERSION - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/smarco/WFA2-lib") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "09gsmks4dzmfscklb60m6gcsvsd9r6jywf10633dpcsfsdcvmzaw")) - (snippet - #~(begin - (use-modules ((guix build utils))) - (substitute* "Makefile" - (("^CC=") "CC:=") - (("^CPP=") "CPP:=") - (("-march=native") "")))))) - (build-system gnu-build-system) - (arguments - (list - #:tests? #f ; No tests. - #:parallel-build? #f ; Race condition in Makefile. - #:modules '((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26)) - #:make-flags - #~(list (string-append "CC=" #$(cc-for-target)) - (string-append "CPP=" #$(cxx-for-target))) - #:phases - #~(modify-phases %standard-phases - (delete 'configure) ; No configure script. - ;; -flto breaks align_benchmark. - (replace 'build - (lambda* (#:key (make-flags '()) #:allow-other-keys) - (apply invoke "make" "all" make-flags))) - (replace 'install - (lambda _ - (for-each - (cut install-file <> (string-append #$output "/bin")) - (find-files "bin")) - (for-each - (cut install-file <> (string-append #$output "/lib")) - (find-files "lib")) - (for-each - (lambda (file) - (mkdir-p (string-append #$output "/include/wfa2-lib/" (dirname file))) - (copy-file file (string-append #$output "/include/wfa2-lib/" file))) - (find-files "." "\\.(h|hpp)$"))))))) - (home-page "https://github.com/smarco/WFA2-lib") - (synopsis "Wavefront alignment algorithm library") - (description "The @acronym{wavefront alignment, WFA} algorithm is an exact -gap-affine algorithm that takes advantage of homologous regions between the -sequences to accelerate the alignment process. Unlike to traditional dynamic -programming algorithms that run in quadratic time, the WFA runs in time -@code{O(ns+s^2)}, proportional to the sequence length @code{n} and the alignment -score @code{s}, using @code{O(s^2)} memory. Moreover, the WFA algorithm -exhibits simple computational patterns that the modern compilers can -automatically vectorize for different architectures without adapting the code.") - (properties '((tunable? . #t))) - (license license:expat)))) - -(define-public wfa2-lib-static - (package - (inherit (static-package wfa2-lib)) - (name "wfa2-lib-static") - (arguments - (substitute-keyword-arguments (package-arguments wfa2-lib) - ((#:make-flags flags ''()) - #~(cons "CC_FLAGS+=-static" #$flags)))))) - (define-public r-rrbgen (package (name "r-rrbgen") @@ -4785,3 +4903,211 @@ reads, and it is one of the best haplotype-resolved assemblers for the trio-binning assembly given parental short reads. For a human genome, hifiasm can produce the telomere-to-telomere assembly in one day.") (license license:expat))) + +(define-public parasail + (package + (name "parasail") + (version "2.6.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jeffdaily/parasail") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pnw8x266b4qggv9hn4sng9z6zcq0rg7h6slcq3ka3snybzn61r8")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + (substitute* "tests/test_verify_traces.c" + (("ref_trace_table = parasail") + "ref_trace_table = (int8_t*)parasail") + ((", trace_table,") + ", (int8_t*)trace_table,"))))))) + (native-inputs + (list autoconf + automake + libtool)) + (home-page "https://github.com/jeffdaily/parasail") + (synopsis "Pairwise sequence alignment library") + (description "parasail is a SIMD C (C99) library containing +implementations of the Smith-Waterman (local), +Needleman-Wunsch (global), and various semi-global pairwise sequence +alignment algorithms. Here, semi-global means insertions before the +start or after the end of either the query or target sequence are +optionally not penalized. parasail implements most known algorithms +for vectorized pairwise sequence alignment, including diagonal +[Wozniak, 1997], blocked [Rognes and Seeberg, 2000], striped [Farrar, +2007], and prefix scan [Daily, 2015]. Therefore, parasail is a +reference implementation for these algorithms in addition to providing +an implementation of the best-performing algorithm(s) to date on +today's most advanced CPUs.") + (license license:bsd-2))) + +(define-public python-parasail + (package + (name "python-parasail") + (version "1.3.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "parasail" version)) + (sha256 + (base32 "03qvnswvzv6pv5lzlnd05rbjphhl29qiasbyvnpmmvz3z9fh79yn")))) + (build-system pyproject-build-system) + (arguments + (list #:test-backend #~'unittest + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'insert-libparasail + (lambda* (#:key inputs #:allow-other-keys) + (copy-file (search-input-file inputs "/lib/libparasail.so") + "parasail/libparasail.so")))))) + (inputs + (list parasail)) + (native-inputs + (list python-setuptools python-wheel)) + (propagated-inputs + (list python-numpy)) + (home-page "https://github.com/jeffdaily/parasail-python") + (synopsis "Parasail Python bindings") + (description "This package provides Python bindings for the +parasail C library.") + (license license:bsd-2))) + +(define-public liftoff + (package + (name "liftoff") + (version "1.6.3") + (source + ;; The PyPI tarball is missing the tests. + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/agshumate/Liftoff") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18840vdv75nsq0fw5hzvrp7l0k6ciamlzkhgxxhnjh23ghih71dx")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-version-requirements + (lambda _ + (substitute* "setup.py" + (("==") ">="))))))) + (inputs + (list python-biopython + python-gffutils + python-interlap + python-networkx + python-numpy + python-parasail + python-pyfaidx + python-pysam + python-ujson)) + (native-inputs + (list minimap2 + python-pytest + python-setuptools + python-wheel)) + (home-page "https://github.com/ashumate/Liftoff") + (synopsis "GFF3/GTF lift over pipeline") + (description "Liftoff is a tool that accurately maps annotations +in GFF or GTF between assemblies of the same, or closely-related +species. Unlike current coordinate lift-over tools which require a +pre-generated “chain” file as input, Liftoff is a standalone tool that +takes two genome assemblies and a reference annotation as input and +outputs an annotation of the target genome. Liftoff uses minimap2 to +align the gene sequences from a reference genome to the target genome. +Rather than aligning whole genomes, aligning only the gene sequences +allows genes to be lifted over even if there are many structural +differences between the two genomes. For each gene, Liftoff finds the +alignments of the exons that maximize sequence identity while +preserving the transcript and gene structure. If two genes incorrectly +map to overlapping loci, Liftoff determines which gene is most-likely +mis-mapped, and attempts to re-map it. Liftoff can also find +additional gene copies present in the target assembly that are not +annotated in the reference.") + (license license:gpl3+))) + +(define-public r-gggenes + (package + (name "r-gggenes") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "gggenes" version)) + (sha256 + (base32 "0400qhppx8kg70f6bbya3k6lhdgjj3dllgfgg6s509kbp5qsjbcd")))) + (properties `((upstream-name . "gggenes"))) + (build-system r-build-system) + (propagated-inputs (list r-cli r-ggfittext r-ggplot2 r-lifecycle r-rlang)) + (native-inputs (list r-knitr r-spelling r-testthat)) + (home-page "https://wilkox.org/gggenes/") + (synopsis "Draw Gene Arrow Maps in 'ggplot2'") + (description + "This package provides a ggplot2 extension for drawing gene arrow maps.") + (license license:gpl2))) + + +(define-public r-dendextendrcpp + (package + (name "r-dendextendrcpp") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/talgalili/dendextendRcpp/archive/refs/tags/" + version version ".tar.gz")) + (sha256 + (base32 + "1vhqy8licl2pkzar4aag0q5fhnb3fdch8acyjh9445ia42z01z9c")))) + (build-system r-build-system) + (arguments + (list #:tests? #f)) ;; tests fail and seem to require data + (propagated-inputs + (list r-rcpp + r-rcpparmadillo)) + (home-page "https://github.com/talgalili/dendextendRcpp") + (synopsis "A dendrogram object in R are is a list structure with attributes in its nodes and leaves.") + (description "A dendrogram object in R are is a list structure with attributes in its nodes and leaves.") + (license license:gpl3))) + +(define-public r-dendextend + (package + (name "r-dendextend") + (version "1.19.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "dendextend" version)) + (sha256 + (base32 "0097bmdv960khjkf3gvbdrazx4ns8i9221m9h68vnq541h61ag5y")))) + (properties `((upstream-name . "dendextend"))) + (build-system r-build-system) + (propagated-inputs (list r-ggplot2 r-magrittr r-viridis)) + (native-inputs (list r-ape + r-cluster + r-data-table + r-dendextendrcpp + r-fpc + r-knitr + r-pvclust + r-testthat)) + (home-page "https://talgalili.github.io/dendextend/") + (synopsis "Extending 'dendrogram' Functionality in R") + (description + "Offers a set of functions for extending dendrogram objects in R, letting you +visualize and compare trees of hierarchical clusterings'. You can (1) Adjust a +tree's graphical parameters - the color, size, type, etc of its branches, nodes +and labels. (2) Visually and statistically compare different dendrograms to one +another.") + (license (list license:gpl2 license:gpl3)))) diff --git a/gn/packages/check.scm b/gn/packages/check.scm index 960e78e..01f1508 100644 --- a/gn/packages/check.scm +++ b/gn/packages/check.scm @@ -1,9 +1,12 @@ (define-module (gn packages check) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages check) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (past packages python27)) @@ -30,6 +33,34 @@ It will honor all the options you pass to the Nose coverage plugin, especially -cover-package.") (license license:expat))) +(define-public python-traceback2 + (package + (name "python-traceback2") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "traceback2" version)) + (sha256 + (base32 + "0c1h3jas1jp1fdbn9z2mrgn3jj0hw1x3yhnkxp7jw34q15xcdb05")))) + (build-system python-build-system) + (arguments + `(;; python-traceback2 and python-unittest2 depend on one another. + #:tests? #f)) + (native-inputs + (list python-pbr)) + (propagated-inputs + (list python-linecache2 python-six)) + (home-page + "https://github.com/testing-cabal/traceback2") + (synopsis "Backports of the traceback module") + (description + "This module provides a standard interface to extract, format and print +stack traces of Python programs. It exactly mimics the behavior of the Python +interpreter when it prints a stack trace.") + (license license:psfl))) + (define-public python-unittest2 (package (name "python-unittest2") @@ -59,3 +90,25 @@ especially -cover-package.") "Unittest2 is a replacement for the unittest module in the Python standard library.") (license license:psfl))) + +(define-public python-pyux + (package + (name "python-pyux") + (version "0.0.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyux" version)) + (sha256 + (base32 + "1i17xh4dy238ibrjdgh8vn78fk5q6dj37mcznpvdfzidj57js7ca")))) + (build-system pyproject-build-system) + (arguments + `(#:tests? #f)) ;the mini test suite fails + (native-inputs + (list python-pytest python-setuptools)) + (home-page "https://github.com/farizrahman4u/pyux") + (synopsis "Utility to check API integrity in Python libraries") + (description "The pyux utility detects API changes in Python +libraries.") + (license license:expat))) diff --git a/gn/packages/file-systems.scm b/gn/packages/file-systems.scm index bf92ed9..1610a76 100644 --- a/gn/packages/file-systems.scm +++ b/gn/packages/file-systems.scm @@ -5,6 +5,10 @@ #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (gnu packages admin) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -15,6 +19,33 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python)) +(define-public moosefs + (package + (name "moosefs") + (version "4.58.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moosefs/moosefs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "163x7ziamqy79xaiy5fhr8afbj65ssnyqki5v6wxanciwczw4jcl")))) + (build-system gnu-build-system) + (inputs + (list + autoconf automake fuse libpcap zlib python libtool)) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://moosefs.com/") + (synopsis "Distributed, scalable, fault-tolerant, highly available file system") + (description + "MooseFS is a Petabyte Open Source Network Distributed File System. It is easy to deploy and maintain, highly reliable, fault tolerant, highly performing, easily scalable and POSIX compliant.") + (license (list license:asl2.0 ; external/crcutil + license:gpl2+)))) + (define-public lizardfs (package (name "lizardfs") diff --git a/gn/packages/jupyterhub.scm b/gn/packages/jupyterhub.scm index 2779d3e..165bb8a 100644 --- a/gn/packages/jupyterhub.scm +++ b/gn/packages/jupyterhub.scm @@ -213,7 +213,7 @@ libraries into this environment without any specialized knowledge.") ("python-etcd3" ,python-etcd3) ("python-aiohttp" ,python-aiohttp) ("python-passlib" ,python-passlib) - ("python-consul" ,python-consul) + ("python-py-consul" ,python-py-consul) ("python-toml" ,python-toml) ("python-escapism" ,python-escapism))) (native-inputs diff --git a/gn/packages/machine-learning.scm b/gn/packages/machine-learning.scm index 541b3b6..d302150 100644 --- a/gn/packages/machine-learning.scm +++ b/gn/packages/machine-learning.scm @@ -5,10 +5,12 @@ #:use-module (gnu packages machine-learning) #:use-module (guix download) #:use-module (guix build-system python) + #:use-module (gn packages check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages graphviz) #:use-module (gnu packages python-science) #:use-module (gnu packages check) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages sphinx) #:use-module (gnu packages python-web) diff --git a/gn/packages/python-build.scm b/gn/packages/python-build.scm new file mode 100644 index 0000000..445a674 --- /dev/null +++ b/gn/packages/python-build.scm @@ -0,0 +1,68 @@ +(define-module (gn packages python-build) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) + #:use-module ((guix licenses) #:prefix license:) + + #:use-module (gnu packages check) + #:use-module (gnu packages rust-apps) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-build)) + +(define-public python-build + (package + (name "python-build") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pypa/build") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "107hhzjrlj56gshcyalf4laf741swmmaznlz0xcfv8rvpwa81mm2")))) + (build-system pyproject-build-system) + (native-inputs + (list uv + python-tox + python-pip + python-wheel + python-tomli + python-pytest + python-filelock + python-colorama + python-flit-core + python-packaging + python-pytest-cov + python-setuptools + python-virtualenv + python-pytest-mock + python-pytest-xdist + python-pyproject-hooks + python-importlib-metadata + python-pytest-rerunfailures)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-env + (lambda _ + ;; When running tests, things fail because HOME=/homeless-shelter. + (setenv "HOME" "/tmp"))) + (add-before 'check 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tests/test_env.py" + ((", path=sysconfig.get_path\\(\"scripts\"\\)") ""))))) + + ;; Cheat by deactivating tests for now. + #:tests? #f)) + (home-page "https://build.pypa.io/") + (synopsis "A simple, correct Python packaging build frontend") + (description "A simple, correct Python packaging build frontend. + build manages pyproject.toml-based builds, invoking build-backend hooks as + appropriate to build a distribution package. It is a simple build tool and does + not perform any dependency management.") + (license license:expat))) diff --git a/gn/packages/python-xyz.scm b/gn/packages/python-xyz.scm new file mode 100644 index 0000000..1e85111 --- /dev/null +++ b/gn/packages/python-xyz.scm @@ -0,0 +1,136 @@ +(define-module (gn packages python-xyz) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) + #:use-module ((guix licenses) #:prefix license:) + + #:use-module (gnu packages check) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-build)) + +(define-public python-mslex + (package + (name "python-mslex") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/smoofra/mslex") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k7p2yzsiga39kmcp440mgxlgsahg01il7jrbr8mc94k60wzmgdy")))) + (build-system pyproject-build-system) + (native-inputs (list python-setuptools python-wheel)) + (inputs (list python-tox + python-trio + python-tqdm + python-twine + python-black + python-flake8 + python-sphinx + python-pytest + python-watchdog + python-coverage + python-bump2version + python-types-setuptools)) + (home-page "https://github.com/smoofra/mslex") + (synopsis "shlex for windows") + (description "shlex for windows.") + (license license:asl2.0))) + + +(define-public python-oslex + (package + (name "python-oslex") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "oslex" version)) + (sha256 + (base32 "0bazd0vk2lzsk7cwgl2m669m6dqqhh4l0d6sn2yaiwjxqy1cvm0y")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-mslex)) + (native-inputs (list python-hatchling)) + (home-page "https://github.com/petamas/oslex") + (synopsis "OS-independent wrapper for shlex and mslex") + (description "OS-independent wrapper for shlex and mslex.") + (license license:expat))) + + +(define-public python-annotated-doc + (package + (name "python-annotated-doc") + (version "0.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fastapi/annotated-doc") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13fh58q1a8kvrx1kjgr6qmd09jhikxc7wlyccajpfz657ipjif9v")))) + (build-system pyproject-build-system) + (native-inputs (list python-pdm-backend)) + (home-page "https://github.com/fastapi/annotated-doc") + (synopsis + "Document parameters, class attributes, return types, and variables inline, with Annotated.") + (description + "Document parameters, class attributes, return types, and variables inline, with +Annotated.") + (license license:expat))) + + +(define-public python-backoff + (package + (name "python-backoff") + (version "2.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/litl/backoff") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cpfd8fdznwlxrjpwy10pl4bj9q393ys1vj90nvsrhwakqcdiil3")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest + python-requests + python-responses + python-poetry-core + python-pytest-asyncio-0.21)) + (home-page "https://github.com/litl/backoff") + (synopsis "Function decoration for backoff and retry") + (description "Function decoration for backoff and retry.") + (license license:expat))) + + +(define-public python-typing-inspection + (package + (name "python-typing-inspection") + (version "0.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pydantic/typing-inspection") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dqib4arxxaxwyapw6y4pcvm38l8djkhd8cfr149w42bw4xrqr38")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-typing-extensions)) + (native-inputs (list python-hatchling)) + (home-page "https://github.com/pydantic/typing-inspection") + (synopsis "Runtime typing introspection tools") + (description "Runtime typing introspection tools.") + (license license:expat))) diff --git a/gn/packages/python.scm b/gn/packages/python.scm index e429058..2b25775 100644 --- a/gn/packages/python.scm +++ b/gn/packages/python.scm @@ -870,16 +870,36 @@ spreadsheets without the need for COM objects.") (description "Extensions to the standard Python datetime module") (license license:bsd-3))) -(define-public python-pyshex +(define-public python-cfgraph (package - (name "python-pyshex") - (version "0.7.14") + (name "python-cfgraph") + (version "0.2.1") (source (origin (method url-fetch) - (uri (pypi-uri "PyShEx" version)) + (uri (pypi-uri "CFGraph" version)) (sha256 - (base32 "1fy664bh6hpmr4cf49fwwxng36kv7s6b2986hbv0cqcypc4ri2cs")))) + (base32 + "0x7yz0lvqb6mkhl5fbml27sppmscgpf8v2ism9jzzf0h982ffzxm")))) + (build-system python-build-system) + (propagated-inputs + (list python-rdflib)) + (home-page "https://github.com/hsolbrig/CFGraph") + (synopsis "RDF Collections flattener for rdflib") + (description + "This package contains RDF Collections flattener for @code{rdflib}.") + (license license:asl2.0))) + +(define-public python-pyshex + (package + (name "python-pyshex") + (version "0.7.14") + (source + (origin + (method url-fetch) + (uri (pypi-uri "PyShEx" version)) + (sha256 + (base32 "1fy664bh6hpmr4cf49fwwxng36kv7s6b2986hbv0cqcypc4ri2cs")))) (arguments '(#:tests? #f ; Tests try to use the internet. #:phases diff --git a/gn/packages/r-shiny.scm b/gn/packages/r-shiny.scm index c2e61a6..1ac73b6 100644 --- a/gn/packages/r-shiny.scm +++ b/gn/packages/r-shiny.scm @@ -1,12 +1,16 @@ (define-module (gn packages r-shiny) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix utils) #:use-module (guix build-system r) + #:use-module (guix build-system trivial) #:use-module (guix packages) - #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages bioconductor) #:use-module (gnu packages cran) - #:use-module (gnu packages javascript)) + #:use-module (gnu packages javascript) + #:use-module (gnu packages statistics)) (define-public r-shiny-gn (deprecated-package "r-shiny-gn" r-shiny)) @@ -59,3 +63,301 @@ inspection and report generation tools.") "This package provides mappings from Entrez gene identifiers to various annotations for the genome of the rat.") (license license:artistic2.0))) + +(define-public r-shinytoastr + (package + (name "r-shinytoastr") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "shinytoastr" version)) + (sha256 + (base32 "1zcf4ya9anlq6n97iq0b86ybcqbbd2h66vrr41m80zvlkav3z46z")))) + (properties `((upstream-name . "shinytoastr"))) + (build-system r-build-system) + (propagated-inputs (list r-shiny)) + (home-page "https://github.com/gaborcsardi/shinytoastr") + (synopsis "Notifications from Shiny") + (description "Browser notifications in Shiny apps, using toastr.") + (license license:expat))) + +(define-public r-spscomps + (package + (name "r-spscomps") + (version "0.3.4.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "spsComps" version)) + (sha256 + (base32 "1l69yigdabwwsixk364jvmc1c5nc8d4djc77cf0jlzshhdsjbqx8")))) + (properties `((upstream-name . "spsComps"))) + (build-system r-build-system) + (propagated-inputs (list r-assertthat + r-crayon + r-glue + r-htmltools + r-magrittr + r-r6 + r-shiny + r-shinyace + r-shinytoastr + r-stringr)) + (home-page "https://github.com/lz100/spsComps") + (synopsis "systemPipeShiny UI and Server Components") + (description + "UI and server components from the systemPipeShiny framework for use +in Shiny applications.") + (license license:gpl3+))) + +(define-public r-scatterd3 + (package + (name "r-scatterd3") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "scatterD3" version)) + (sha256 + (base32 "187jq1y5va5npsmpkfyi6mhgynq956590q4z8v1ibadsrcldw34m")))) + (properties `((upstream-name . "scatterD3"))) + (build-system r-build-system) + (propagated-inputs (list r-digest r-ellipse r-htmlwidgets)) + (native-inputs (list r-knitr)) + (home-page "https://juba.github.io/scatterD3/") + (synopsis "D3 JavaScript Scatterplot from R") + (description + "Creates D3 JavaScript scatterplots from R with interactive features: +panning, zooming, tooltips, etc.") + (license license:gpl3+))) + +(define-public r-shinywidgets + (package + (name "r-shinywidgets") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "shinyWidgets" version)) + (sha256 + (base32 "118yqylidnlc1ixwang4bvhyy3hjmsimkcv1cz73s8wsj45hmyzb")))) + (properties `((upstream-name . "shinyWidgets"))) + (build-system r-build-system) + (arguments (list #:tests? #f)) + (propagated-inputs (list r-bslib + r-htmltools + r-jsonlite + r-rlang + r-sass + r-shiny)) + (home-page "https://github.com/dreamRs/shinyWidgets") + (synopsis "Custom Inputs Widgets for Shiny") + (description + "Collection of custom input controls and user interface components for +Shiny applications.") + (license license:gpl3))) + +(define-public jumpshiny + (let ((commit "3489f3265a2eca45c9b6d251013b313bf55f975d") + (revision "1")) + (package + (name "jumpshiny") + (version (git-version "0.0.0" revision commit)) + (source (local-file "/fast/pjotr/tmp/claude/factory/jumpshiny" + "jumpshiny-checkout" + #:recursive? #t + #:select? (git-predicate + "/fast/pjotr/tmp/claude/factory/jumpshiny"))) + (build-system trivial-build-system) + (arguments + (list #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (targetdir (string-append #$output "/share/" #$name)) + (app (string-append #$output "/bin/" #$name)) + (Rbin (search-input-file %build-inputs "/bin/Rscript"))) + (copy-recursively source targetdir) + (mkdir-p (string-append #$output "/bin")) + (call-with-output-file app + (lambda (port) + (format port + "#!~a +library(shiny) +setwd(\"~a\") +options(shiny.maxRequestSize = 60*1024^2) +runApp(launch.browser=0, port=3978)~%\n" + Rbin targetdir))) + (chmod app #o555))))) + (propagated-inputs + (list r + ;; Core shiny + r-shiny + r-shinycssloaders + r-shinybs + r-shinyjs + r-shinythemes + r-shinydashboard + r-shinywidgets + r-fresh + ;; Data processing + r-dplyr + r-tidyr + r-tidyverse + r-data-table + r-plyr + r-readxl + r-writexl + r-devtools + r-pacman + ;; Visualization + r-ggplot2 + r-plotly + r-heatmaply + r-gplots + r-scatterd3 + r-rcolorbrewer + r-pheatmap + r-complexheatmap + r-circlize + ;; Stats and bioinformatics + r-limma + r-cluster + r-clusterprofiler + r-enrichplot + r-wgcna + r-annotate + r-org-hs-eg-db + r-org-mm-eg-db + r-org-rn-eg-db + r-igraph + r-visnetwork + ;; Utilities + r-dt + r-markdown + r-bookdown + r-scales + r-curl + r-glue + r-spscomps + r-ggnewscale + r-stringr + r-zoo + r-officer + r-r-utils + r-mass + r-knitr + r-rmarkdown)) + (home-page "https://git.genenetwork.org/jumpshiny/") + (synopsis "JUMPshiny - proteomics data analysis Shiny app") + (description + "JUMPshiny is an R Shiny application for proteomics data analysis, +including data import, batch normalization, differential expression, +enrichment analysis, and network analysis with WGCNA.") + (license license:gpl3+)))) + +(define-public r-efatools + (package + (name "r-efatools") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "EFAtools" version)) + (sha256 + (base32 "0x2c1a1fwa79pdam2day57rpcyxf195a4kqsnwzr2xh6x1fjrnad")))) + (properties `((upstream-name . "EFAtools"))) + (build-system r-build-system) + (arguments (list #:tests? #f)) + (propagated-inputs (list r-checkmate + r-cli + r-crayon + r-dplyr + r-future + r-future-apply + r-ggplot2 + r-gparotation + r-lavaan + r-magrittr + r-progress + r-progressr + r-psych + r-rcpp + r-rcpparmadillo + r-rlang + r-stringr + r-tibble + r-tidyr + r-viridislite)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/mdsteiner/EFAtools") + (synopsis "Fast and flexible exploratory factor analysis tools") + (description + "Functions to perform exploratory factor analysis (EFA) procedures and +compare their solutions.") + (license license:gpl3))) + +(define-public jumpsem-web + (let ((commit "a134ab0b10f3d2393ca19870e154ab8bafd45757") + (revision "1")) + (package + (name "jumpsem-web") + (version (git-version "0.0.0" revision commit)) + (source (local-file "/fast/pjotr/tmp/claude/factory/jumpsem_web" + "jumpsem-web-checkout" + #:recursive? #t)) + (build-system trivial-build-system) + (arguments + (list #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (targetdir (string-append #$output "/share/" #$name)) + (app (string-append #$output "/bin/" #$name)) + (Rbin (search-input-file %build-inputs "/bin/Rscript"))) + (copy-recursively source targetdir) + (mkdir-p (string-append #$output "/bin")) + (call-with-output-file app + (lambda (port) + (format port + "#!~a +library(shiny) +setwd(\"~a\") +options(shiny.maxRequestSize = 500*1024^2) +runApp(launch.browser=0, port=3979)~%\n" + Rbin targetdir))) + (chmod app #o555))))) + (propagated-inputs + (list r + r-shiny + r-shinycssloaders + r-shinybs + r-shinyjs + r-shinywidgets + r-shinydashboard + r-dplyr + r-tidyr + r-tidyverse + r-data-table + r-devtools + r-pacman + r-ggplot2 + r-plotly + r-heatmaply + r-gplots + r-rcolorbrewer + r-scales + r-markdown + r-dt + r-lavaan + r-efatools + r-rcpparmadillo)) + (home-page "https://git.genenetwork.org/jumpsem_web/") + (synopsis "JUMPsem - structural equation modeling web app") + (description + "JUMPsem is an R Shiny application for kinase activity inference +using structural equation modeling on post-translational modification data.") + (license license:gpl3+)))) diff --git a/gn/packages/rust-crates.scm b/gn/packages/rust-crates.scm new file mode 100644 index 0000000..e9945aa --- /dev/null +++ b/gn/packages/rust-crates.scm @@ -0,0 +1,525 @@ +(define-module (gn packages rust-crates) + #:use-module (guix build-system cargo) + #:export (lookup-cargo-inputs)) + +(define rust-adler2-2.0.1 + (crate-source "adler2" "2.0.1" + "1ymy18s9hs7ya1pjc9864l30wk8p2qfqdi7mhhcc5nfakxbij09j")) + +(define rust-aho-corasick-1.1.4 + (crate-source "aho-corasick" "1.1.4" + "00a32wb2h07im3skkikc495jvncf62jl6s96vwc7bhi70h9imlyx")) + +(define rust-anstream-0.6.21 + (crate-source "anstream" "0.6.21" + "0jjgixms4qjj58dzr846h2s29p8w7ynwr9b9x6246m1pwy0v5ma3")) + +(define rust-anstyle-1.0.13 + (crate-source "anstyle" "1.0.13" + "0y2ynjqajpny6q0amvfzzgw0gfw3l47z85km4gvx87vg02lcr4ji")) + +(define rust-anstyle-parse-0.2.7 + (crate-source "anstyle-parse" "0.2.7" + "1hhmkkfr95d462b3zf6yl2vfzdqfy5726ya572wwg8ha9y148xjf")) + +(define rust-anstyle-query-1.1.5 + (crate-source "anstyle-query" "1.1.5" + "1p6shfpnbghs6jsa0vnqd8bb8gd7pjd0jr7w0j8jikakzmr8zi20")) + +(define rust-anstyle-wincon-3.0.11 + (crate-source "anstyle-wincon" "3.0.11" + "0zblannm70sk3xny337mz7c6d8q8i24vhbqi42ld8v7q1wjnl7i9")) + +(define rust-anyhow-1.0.101 + (crate-source "anyhow" "1.0.101" + "1skmg90fnjnlgs3vl7bksw7036d3rqwqj20n2fxd2ppg67p0y3jz")) + +(define rust-arrayvec-0.5.2 + (crate-source "arrayvec" "0.5.2" + "12q6hn01x5435bprwlb7w9m7817dyfq55yrl4psygr78bp32zdi3")) + +(define rust-autocfg-1.5.0 + (crate-source "autocfg" "1.5.0" + "1s77f98id9l4af4alklmzq46f21c980v13z2r1pcxx6bqgw0d1n0")) + +(define rust-bitflags-1.3.2 + (crate-source "bitflags" "1.3.2" + "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy")) + +(define rust-bitflags-2.11.0 + (crate-source "bitflags" "2.11.0" + "1bwjibwry5nfwsfm9kjg2dqx5n5nja9xymwbfl6svnn8jsz6ff44")) + +(define rust-boomphf-0.5.9 + (crate-source "boomphf" "0.5.9" + "0braniw72g9yq5006sfgc1g8d4317bb524c694jw6nggizrvg3sf")) + +(define rust-bstr-0.2.17 + (crate-source "bstr" "0.2.17" + "08rjbhysy6gg27db2h3pnhvr2mlr5vkj797i9625kwg8hgrnjdds")) + +(define rust-bytemuck-1.25.0 + (crate-source "bytemuck" "1.25.0" + "1v1z32igg9zq49phb3fra0ax5r2inf3aw473vldnm886sx5vdvy8")) + +(define rust-bytemuck-derive-1.10.2 + (crate-source "bytemuck_derive" "1.10.2" + "1zvmjmw1sdmx9znzm4dpbb2yvz9vyim8w6gp4z256l46qqdvvazr")) + +(define rust-byteorder-1.5.0 + (crate-source "byteorder" "1.5.0" + "0jzncxyf404mwqdbspihyzpkndfgda450l0893pz5xj685cg5l0z")) + +(define rust-cc-1.2.56 + (crate-source "cc" "1.2.56" + "1chvh9g2izhqad7vzy4cc7xpdljdvqpsr6x6hv1hmyqv3mlkbgxf")) + +(define rust-cfg-if-1.0.4 + (crate-source "cfg-if" "1.0.4" + "008q28ajc546z5p2hcwdnckmg0hia7rnx52fni04bwqkzyrghc4k")) + +(define rust-clap-4.5.59 + (crate-source "clap" "4.5.59" + "16b4kgj909yyshz9kj7nkalbyi46yz1lrhqha54wbbn32x6zgjn5")) + +(define rust-clap-builder-4.5.59 + (crate-source "clap_builder" "4.5.59" + "094fc76nsq3v52r1a9rbwix22cqnda8p2wr2a24j302v0r2sl39p")) + +(define rust-clap-derive-4.5.55 + (crate-source "clap_derive" "4.5.55" + "1r949xis3jmhzh387smd70vc8a3b9734ck3g5ahg59a63bd969x9")) + +(define rust-clap-lex-1.0.0 + (crate-source "clap_lex" "1.0.0" + "0c8888qi1l9sayqlv666h8s0yxn2qc6jr88v1zagk43mpjjjx0is")) + +(define rust-colorchoice-1.0.4 + (crate-source "colorchoice" "1.0.4" + "0x8ymkz1xr77rcj1cfanhf416pc4v681gmkc9dzb3jqja7f62nxh")) + +(define rust-crc32fast-1.5.0 + (crate-source "crc32fast" "1.5.0" + "04d51liy8rbssra92p0qnwjw8i9rm9c4m3bwy19wjamz1k4w30cl")) + +(define rust-crossbeam-channel-0.5.15 + (crate-source "crossbeam-channel" "0.5.15" + "1cicd9ins0fkpfgvz9vhz3m9rpkh6n8d3437c3wnfsdkd3wgif42")) + +(define rust-crossbeam-deque-0.8.6 + (crate-source "crossbeam-deque" "0.8.6" + "0l9f1saqp1gn5qy0rxvkmz4m6n7fc0b3dbm6q1r5pmgpnyvi3lcx")) + +(define rust-crossbeam-epoch-0.9.18 + (crate-source "crossbeam-epoch" "0.9.18" + "03j2np8llwf376m3fxqx859mgp9f83hj1w34153c7a9c7i5ar0jv")) + +(define rust-crossbeam-utils-0.8.21 + (crate-source "crossbeam-utils" "0.8.21" + "0a3aa2bmc8q35fb67432w16wvi54sfmb69rk9h5bhd18vw0c99fh")) + +(define rust-either-1.15.0 + (crate-source "either" "1.15.0" + "069p1fknsmzn9llaizh77kip0pqmcwpdsykv2x30xpjyija5gis8")) + +(define rust-env-filter-1.0.0 + (crate-source "env_filter" "1.0.0" + "13rhwy5arjn626a0z3hvvkpf9w9pnll14c35vscyqx3jwp43q73s")) + +(define rust-env-logger-0.11.9 + (crate-source "env_logger" "0.11.9" + "13913sqpnhv741z5ixmcy5j3nnml53gmsllnhajjkx2ili7fxnmj")) + +(define rust-equivalent-1.0.2 + (crate-source "equivalent" "1.0.2" + "03swzqznragy8n0x31lqc78g2af054jwivp7lkrbrc0khz74lyl7")) + +(define rust-errno-0.3.14 + (crate-source "errno" "0.3.14" + "1szgccmh8vgryqyadg8xd58mnwwicf39zmin3bsn63df2wbbgjir")) + +(define rust-find-msvc-tools-0.1.9 + (crate-source "find-msvc-tools" "0.1.9" + "10nmi0qdskq6l7zwxw5g56xny7hb624iki1c39d907qmfh3vrbjv")) + +(define rust-flate2-1.1.9 + (crate-source "flate2" "1.1.9" + "0g2pb7cxnzcbzrj8bw4v6gpqqp21aycmf6d84rzb6j748qkvlgw4")) + +(define rust-fnv-1.0.7 + (crate-source "fnv" "1.0.7" + "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz")) + +(define rust-gfa-0.10.1 + (crate-source "gfa" "0.10.1" + "1x996rpfnflgi2j4dgaj5sdxdbf24zfm9d2ha0zy8aid0cd60cln")) + +(define rust-handlegraph-0.7.0-alpha.9 + (crate-source "handlegraph" "0.7.0-alpha.9" + "1frlcdwhycjvizb0gfb0v36vxjdi0jxagl2l2v6dzdjxpaawv9rs")) + +(define rust-hashbrown-0.16.1 + (crate-source "hashbrown" "0.16.1" + "004i3njw38ji3bzdp9z178ba9x3k0c1pgy8x69pj7yfppv4iq7c4")) + +(define rust-heck-0.5.0 + (crate-source "heck" "0.5.0" + "1sjmpsdl8czyh9ywl3qcsfsq9a307dg4ni2vnlwgnzzqhc4y0113")) + +(define rust-indexmap-2.13.0 + (crate-source "indexmap" "2.13.0" + "05qh5c4h2hrnyypphxpwflk45syqbzvqsvvyxg43mp576w2ff53p")) + +(define rust-is-terminal-polyfill-1.70.2 + (crate-source "is_terminal_polyfill" "1.70.2" + "15anlc47sbz0jfs9q8fhwf0h3vs2w4imc030shdnq54sny5i7jx6")) + +(define rust-jiff-0.2.20 + (crate-source "jiff" "0.2.20" + "0hv59kcqj5sc0jgk4q7yrq5dp8yb3qlan98qk3s36sq9ribc6ry8")) + +(define rust-jiff-static-0.2.20 + (crate-source "jiff-static" "0.2.20" + "1rcvbp9aj8ll4ljxcgzq4l2h9idmkb0v6mdvf3r3i5r64m1np57p")) + +(define rust-lazy-static-1.5.0 + (crate-source "lazy_static" "1.5.0" + "1zk6dqqni0193xg6iijh7i3i44sryglwgvx20spdvwk3r6sbrlmv")) + +(define rust-lexical-core-0.7.6 + (crate-source "lexical-core" "0.7.6" + "1zjzab1fnaw4kj6ixyrskp4dyz761gdcab07m4bkvlk1l4mcc1v6")) + +(define rust-libc-0.2.182 + (crate-source "libc" "0.2.182" + "04k1w1mq9f4cxv520dbr5xw1i7xkbc9fcrvaggyjy25jdkdvl038")) + +(define rust-libz-sys-1.1.23 + ;; TODO: Check bundled sources. + (crate-source "libz-sys" "1.1.23" + "1xy0l46gmhfyk28r9pm7njl0h7dh8l2vpiqw67kn043pyfxiil8m")) + +(define rust-linux-raw-sys-0.11.0 + ;; TODO: Check bundled sources. + (crate-source "linux-raw-sys" "0.11.0" + "0fghx0nn8nvbz5yzgizfcwd6ap2pislp68j8c1bwyr6sacxkq7fz")) + +(define rust-log-0.4.29 + (crate-source "log" "0.4.29" + "15q8j9c8g5zpkcw0hnd6cf2z7fxqnvsjh3rw5mv5q10r83i34l2y")) + +(define rust-memchr-2.8.0 + (crate-source "memchr" "2.8.0" + "0y9zzxcqxvdqg6wyag7vc3h0blhdn7hkq164bxyx2vph8zs5ijpq")) + +(define rust-memmap-0.7.0 + (crate-source "memmap" "0.7.0" + "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5")) + +(define rust-miniz-oxide-0.8.9 + (crate-source "miniz_oxide" "0.8.9" + "05k3pdg8bjjzayq3rf0qhpirq9k37pxnasfn4arbs17phqn6m9qz")) + +(define rust-nom-5.1.3 + (crate-source "nom" "5.1.3" + "0jyxc4d3pih60pp8hvzpg5ajh16s273cpnsdpzp04qv7g8w9m588")) + +(define rust-num-traits-0.2.19 + (crate-source "num-traits" "0.2.19" + "0h984rhdkkqd4ny9cif7y2azl3xdfb7768hb9irhpsch4q3gq787")) + +(define rust-once-cell-polyfill-1.70.2 + (crate-source "once_cell_polyfill" "1.70.2" + "1zmla628f0sk3fhjdjqzgxhalr2xrfna958s632z65bjsfv8ljrq")) + +(define rust-pkg-config-0.3.32 + (crate-source "pkg-config" "0.3.32" + "0k4h3gnzs94sjb2ix6jyksacs52cf1fanpwsmlhjnwrdnp8dppby")) + +(define rust-portable-atomic-1.13.1 + (crate-source "portable-atomic" "1.13.1" + "0j8vlar3n5acyigq8q6f4wjx3k3s5yz0rlpqrv76j73gi5qr8fn3")) + +(define rust-portable-atomic-util-0.2.5 + (crate-source "portable-atomic-util" "0.2.5" + "1xcm0ia8756k6hdgafx4g3lx3fw0hvz2zqswq7c2sy58gxnvk7bs")) + +(define rust-proc-macro2-1.0.106 + (crate-source "proc-macro2" "1.0.106" + "0d09nczyaj67x4ihqr5p7gxbkz38gxhk4asc0k8q23g9n85hzl4g")) + +(define rust-quote-1.0.44 + (crate-source "quote" "1.0.44" + "1r7c7hxl66vz3q9qizgjhy77pdrrypqgk4ghc7260xvvfb7ypci1")) + +(define rust-rand-core-0.6.4 + (crate-source "rand_core" "0.6.4" + "0b4j2v4cb5krak1pv6kakv4sz6xcwbrmy2zckc32hsigbrwy82zc")) + +(define rust-rayon-1.11.0 + (crate-source "rayon" "1.11.0" + "13x5fxb7rn4j2yw0cr26n7782jkc7rjzmdkg42qxk3xz0p8033rn")) + +(define rust-rayon-core-1.13.0 + (crate-source "rayon-core" "1.13.0" + "14dbr0sq83a6lf1rfjq5xdpk5r6zgzvmzs5j6110vlv2007qpq92")) + +(define rust-regex-1.12.3 + (crate-source "regex" "1.12.3" + "0xp2q0x7ybmpa5zlgaz00p8zswcirj9h8nry3rxxsdwi9fhm81z1")) + +(define rust-regex-automata-0.1.10 + (crate-source "regex-automata" "0.1.10" + "0ci1hvbzhrfby5fdpf4ganhf7kla58acad9i1ff1p34dzdrhs8vc")) + +(define rust-regex-automata-0.4.14 + (crate-source "regex-automata" "0.4.14" + "13xf7hhn4qmgfh784llcp2kzrvljd13lb2b1ca0mwnf15w9d87bf")) + +(define rust-regex-syntax-0.8.9 + (crate-source "regex-syntax" "0.8.9" + "0k0a47r1rcl794wj8a948niakbg081s5pp5nlgcbmmr2iy3qfs59")) + +(define rust-rustc-hash-2.1.1 + (crate-source "rustc-hash" "2.1.1" + "03gz5lvd9ghcwsal022cgkq67dmimcgdjghfb5yb5d352ga06xrm")) + +(define rust-rustix-1.1.3 + (crate-source "rustix" "1.1.3" + "0d0z2zcw4rwzni1hm8snw8xdxwwrij336m31c4ghq66cghj9wv0l")) + +(define rust-ryu-1.0.23 + (crate-source "ryu" "1.0.23" + "0zs70sg00l2fb9jwrf6cbkdyscjs53anrvai2hf7npyyfi5blx4p")) + +(define rust-serde-core-1.0.228 + (crate-source "serde_core" "1.0.228" + "1bb7id2xwx8izq50098s5j2sqrrvk31jbbrjqygyan6ask3qbls1")) + +(define rust-serde-derive-1.0.228 + (crate-source "serde_derive" "1.0.228" + "0y8xm7fvmr2kjcd029g9fijpndh8csv5m20g4bd76w8qschg4h6m")) + +(define rust-shlex-1.3.0 + (crate-source "shlex" "1.3.0" + "0r1y6bv26c1scpxvhg2cabimrmwgbp4p3wy6syj9n0c4s3q2znhg")) + +(define rust-simd-adler32-0.3.8 + (crate-source "simd-adler32" "0.3.8" + "18lx2gdgislabbvlgw5q3j5ssrr77v8kmkrxaanp3liimp2sc873")) + +(define rust-static-assertions-1.1.0 + (crate-source "static_assertions" "1.1.0" + "0gsl6xmw10gvn3zs1rv99laj5ig7ylffnh71f9l34js4nr4r7sx2")) + +(define rust-strsim-0.11.1 + (crate-source "strsim" "0.11.1" + "0kzvqlw8hxqb7y598w1s0hxlnmi84sg5vsipp3yg5na5d1rvba3x")) + +(define rust-succinct-0.5.2 + (crate-source "succinct" "0.5.2" + "0654c9gq50x7djyf25zbzz3d2pc4x3z21wmjj3qbr6d9h4hbd63p")) + +(define rust-syn-2.0.116 + (crate-source "syn" "2.0.116" + "1jv9pk48qmhn6yrdfl3lngy5i74wg7gcx13gfhvm4s8q0p3j9x1x")) + +(define rust-terminal-size-0.4.3 + (crate-source "terminal_size" "0.4.3" + "1l7cicmz49c0cyskfp5a389rsai649xi7y032v73475ikjbwpf30")) + +(define rust-unicode-ident-1.0.24 + (crate-source "unicode-ident" "1.0.24" + "0xfs8y1g7syl2iykji8zk5hgfi5jw819f5zsrbaxmlzwsly33r76")) + +(define rust-utf8parse-0.2.2 + (crate-source "utf8parse" "0.2.2" + "088807qwjq46azicqwbhlmzwrbkz7l4hpw43sdkdyyk524vdxaq6")) + +(define rust-vcpkg-0.2.15 + (crate-source "vcpkg" "0.2.15" + "09i4nf5y8lig6xgj3f7fyrvzd3nlaw4znrihw8psidvv5yk4xkdc")) + +(define rust-version-check-0.9.5 + (crate-source "version_check" "0.9.5" + "0nhhi4i5x89gm911azqbn7avs9mdacw2i3vcz3cnmz3mv4rqz4hb")) + +(define rust-winapi-0.3.9 + (crate-source "winapi" "0.3.9" + "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw")) + +(define rust-winapi-i686-pc-windows-gnu-0.4.0 + (crate-source "winapi-i686-pc-windows-gnu" "0.4.0" + "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-winapi-x86-64-pc-windows-gnu-0.4.0 + (crate-source "winapi-x86_64-pc-windows-gnu" "0.4.0" + "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-windows-aarch64-gnullvm-0.53.1 + (crate-source "windows_aarch64_gnullvm" "0.53.1" + "0lqvdm510mka9w26vmga7hbkmrw9glzc90l4gya5qbxlm1pl3n59" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-windows-aarch64-msvc-0.53.1 + (crate-source "windows_aarch64_msvc" "0.53.1" + "01jh2adlwx043rji888b22whx4bm8alrk3khjpik5xn20kl85mxr" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-windows-i686-gnu-0.53.1 + (crate-source "windows_i686_gnu" "0.53.1" + "18wkcm82ldyg4figcsidzwbg1pqd49jpm98crfz0j7nqd6h6s3ln" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-windows-i686-gnullvm-0.53.1 + (crate-source "windows_i686_gnullvm" "0.53.1" + "030qaxqc4salz6l4immfb6sykc6gmhyir9wzn2w8mxj8038mjwzs" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-windows-i686-msvc-0.53.1 + (crate-source "windows_i686_msvc" "0.53.1" + "1hi6scw3mn2pbdl30ji5i4y8vvspb9b66l98kkz350pig58wfyhy" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-windows-link-0.2.1 + (crate-source "windows-link" "0.2.1" + "1rag186yfr3xx7piv5rg8b6im2dwcf8zldiflvb22xbzwli5507h")) + +(define rust-windows-sys-0.60.2 + ;; TODO: Check bundled sources. + (crate-source "windows-sys" "0.60.2" + "1jrbc615ihqnhjhxplr2kw7rasrskv9wj3lr80hgfd42sbj01xgj")) + +(define rust-windows-sys-0.61.2 + ;; TODO: Check bundled sources. + (crate-source "windows-sys" "0.61.2" + "1z7k3y9b6b5h52kid57lvmvm05362zv1v8w0gc7xyv5xphlp44xf")) + +(define rust-windows-targets-0.53.5 + (crate-source "windows-targets" "0.53.5" + "1wv9j2gv3l6wj3gkw5j1kr6ymb5q6dfc42yvydjhv3mqa7szjia9")) + +(define rust-windows-x86-64-gnu-0.53.1 + (crate-source "windows_x86_64_gnu" "0.53.1" + "16d4yiysmfdlsrghndr97y57gh3kljkwhfdbcs05m1jasz6l4f4w" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-windows-x86-64-gnullvm-0.53.1 + (crate-source "windows_x86_64_gnullvm" "0.53.1" + "1qbspgv4g3q0vygkg8rnql5c6z3caqv38japiynyivh75ng1gyhg" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-windows-x86-64-msvc-0.53.1 + (crate-source "windows_x86_64_msvc" "0.53.1" + "0l6npq76vlq4ksn4bwsncpr8508mk0gmznm6wnhjg95d19gzzfyn" + #:snippet '(delete-file-recursively "lib"))) + +(define rust-wyhash-0.5.0 + (crate-source "wyhash" "0.5.0" + "15f26hvx6nyp4d6iswha7rm3psidxa2k2iab1f1aqgsyq9iy3xms")) + +(define-cargo-inputs lookup-cargo-inputs + (gfaffix => + (list rust-adler2-2.0.1 + rust-aho-corasick-1.1.4 + rust-anstream-0.6.21 + rust-anstyle-1.0.13 + rust-anstyle-parse-0.2.7 + rust-anstyle-query-1.1.5 + rust-anstyle-wincon-3.0.11 + rust-anyhow-1.0.101 + rust-arrayvec-0.5.2 + rust-autocfg-1.5.0 + rust-bitflags-1.3.2 + rust-bitflags-2.11.0 + rust-boomphf-0.5.9 + rust-bstr-0.2.17 + rust-bytemuck-1.25.0 + rust-bytemuck-derive-1.10.2 + rust-byteorder-1.5.0 + rust-cc-1.2.56 + rust-cfg-if-1.0.4 + rust-clap-4.5.59 + rust-clap-builder-4.5.59 + rust-clap-derive-4.5.55 + rust-clap-lex-1.0.0 + rust-colorchoice-1.0.4 + rust-crc32fast-1.5.0 + rust-crossbeam-channel-0.5.15 + rust-crossbeam-deque-0.8.6 + rust-crossbeam-epoch-0.9.18 + rust-crossbeam-utils-0.8.21 + rust-either-1.15.0 + rust-env-filter-1.0.0 + rust-env-logger-0.11.9 + rust-equivalent-1.0.2 + rust-errno-0.3.14 + rust-find-msvc-tools-0.1.9 + rust-flate2-1.1.9 + rust-fnv-1.0.7 + rust-gfa-0.10.1 + rust-handlegraph-0.7.0-alpha.9 + rust-hashbrown-0.16.1 + rust-heck-0.5.0 + rust-indexmap-2.13.0 + rust-is-terminal-polyfill-1.70.2 + rust-jiff-0.2.20 + rust-jiff-static-0.2.20 + rust-lazy-static-1.5.0 + rust-lexical-core-0.7.6 + rust-libc-0.2.182 + rust-libz-sys-1.1.23 + rust-linux-raw-sys-0.11.0 + rust-log-0.4.29 + rust-memchr-2.8.0 + rust-memmap-0.7.0 + rust-miniz-oxide-0.8.9 + rust-nom-5.1.3 + rust-num-traits-0.2.19 + rust-once-cell-polyfill-1.70.2 + rust-pkg-config-0.3.32 + rust-portable-atomic-1.13.1 + rust-portable-atomic-util-0.2.5 + rust-proc-macro2-1.0.106 + rust-quote-1.0.44 + rust-rand-core-0.6.4 + rust-rayon-1.11.0 + rust-rayon-core-1.13.0 + rust-regex-1.12.3 + rust-regex-automata-0.1.10 + rust-regex-automata-0.4.14 + rust-regex-syntax-0.8.9 + rust-rustc-hash-2.1.1 + rust-rustix-1.1.3 + rust-ryu-1.0.23 + rust-serde-core-1.0.228 + rust-serde-derive-1.0.228 + rust-shlex-1.3.0 + rust-simd-adler32-0.3.8 + rust-static-assertions-1.1.0 + rust-strsim-0.11.1 + rust-succinct-0.5.2 + rust-syn-2.0.116 + rust-terminal-size-0.4.3 + rust-unicode-ident-1.0.24 + rust-utf8parse-0.2.2 + rust-vcpkg-0.2.15 + rust-version-check-0.9.5 + rust-winapi-0.3.9 + rust-winapi-i686-pc-windows-gnu-0.4.0 + rust-winapi-x86-64-pc-windows-gnu-0.4.0 + rust-windows-link-0.2.1 + rust-windows-sys-0.60.2 + rust-windows-sys-0.61.2 + rust-windows-targets-0.53.5 + rust-windows-aarch64-gnullvm-0.53.1 + rust-windows-aarch64-msvc-0.53.1 + rust-windows-i686-gnu-0.53.1 + rust-windows-i686-gnullvm-0.53.1 + rust-windows-i686-msvc-0.53.1 + rust-windows-x86-64-gnu-0.53.1 + rust-windows-x86-64-gnullvm-0.53.1 + rust-windows-x86-64-msvc-0.53.1 + rust-wyhash-0.5.0))) diff --git a/gn/packages/twint.scm b/gn/packages/twint.scm index b61b6ca..f665003 100644 --- a/gn/packages/twint.scm +++ b/gn/packages/twint.scm @@ -1,13 +1,16 @@ (define-module (gn packages twint) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages check) #:use-module (gnu packages geo) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-science) #:use-module (gnu packages python-xyz) @@ -104,6 +107,47 @@ "cChardet is high speed universal character encoding detector.") (license #f))) +(define-public python-curio + (package + (name "python-curio") + (version "1.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "curio" version)) + (sha256 + (base32 "0isj3jl5mx6m25nr1f7r91hfaydhkvmks9p85dyvl5h2n9nmhajn")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list ;; AttributeError: 'NoneType' object has no attribute + ;; 'terminate' + "--deselect=tests/test_workers.py::test_exception" + ;; Tries to open an outgoing connection. + "--deselect=tests/test_network.py::test_ssl_outgoing" + ;; This test fails since Python 3.9.9, see + ;; <https://github.com/dabeaz/curio/issues/347>. + ;; AttributeError: 'NoneType' object has no attribute + ;; 'terminate' + "--deselect=tests/test_workers.py::test_worker_timeout" + ;; AttributeError: 'NoneType' object has no attribute + ;; 'terminate' + "--deselect=tests/test_workers.py::test_bad_cpu" + "--deselect=tests/test_workers.py::test_cpu" + "--deselect=tests/test_workers.py::test_worker_cancel"))) + (native-inputs + (list python-pytest + python-setuptools + python-wheel)) + (home-page "https://github.com/dabeaz/curio") + (synopsis "Coroutine-based library for concurrent Python") + (description + "Curio is a coroutine-based library for concurrent Python systems +programming. It provides standard programming abstractions such as as +tasks, sockets, files, locks, and queues.") + (license license:bsd-3))) + ;; TODO: Upstream (define-public python-socks (package diff --git a/gn/packages/virtualization.scm b/gn/packages/virtualization.scm index 22753f8..b176ec7 100644 --- a/gn/packages/virtualization.scm +++ b/gn/packages/virtualization.scm @@ -16,6 +16,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) #:use-module (past packages python27)) diff --git a/gn/services/jumpsem-container.scm b/gn/services/jumpsem-container.scm new file mode 100644 index 0000000..934507e --- /dev/null +++ b/gn/services/jumpsem-container.scm @@ -0,0 +1,27 @@ +(define-module (gn services jumpsem-container)) + +(use-modules (gnu) + (gn packages r-shiny) + (gn services rshiny)) +(use-service-modules networking) +(use-package-modules base) + +(operating-system + (host-name "jumpsem") + (timezone "Etc/UTC") + (locale "en_US.utf8") + + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (targets '("does-not-matter")))) + (file-systems %base-file-systems) + (firmware '()) + (packages (list coreutils)) + + (services (list (service dhcpcd-service-type) + (service rshiny-service-type + (rshiny-configuration + (package jumpsem-web) + (binary "jumpsem-web")))))) + +;; guix system container -L guix-bioinformatics guix-bioinformatics/gn/services/jumpsem-container.scm --network diff --git a/gn/services/jumpshiny-container.scm b/gn/services/jumpshiny-container.scm new file mode 100644 index 0000000..effcf23 --- /dev/null +++ b/gn/services/jumpshiny-container.scm @@ -0,0 +1,25 @@ +(define-module (gn services jumpshiny-container)) + +(use-modules (gnu) + (gn packages r-shiny) + (gn services rshiny)) +(use-package-modules base bash) + +(operating-system + (host-name "jumpshiny") + (timezone "Etc/UTC") + (locale "en_US.utf8") + + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (targets '("does-not-matter")))) + (file-systems %base-file-systems) + (firmware '()) + (packages (list coreutils bash)) + + (services (list (service rshiny-service-type + (rshiny-configuration + (package jumpshiny) + (binary "jumpshiny")))))) + +;; guix system container -L guix-bioinformatics guix-bioinformatics/gn/services/jumpshiny-container.scm --network diff --git a/vcflib-use-system-fastahack-smithwaterman.patch b/vcflib-use-system-fastahack-smithwaterman.patch new file mode 100644 index 0000000..91f372c --- /dev/null +++ b/vcflib-use-system-fastahack-smithwaterman.patch @@ -0,0 +1,107 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index af3fe67..f237563 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,8 +63,10 @@ set_package_properties(ZLIB PROPERTIES TYPE REQUIRED) + find_package(Threads) + set_package_properties(Threads PROPERTIES TYPE REQUIRED) + +-pkg_check_modules(htslib IMPORTED_TARGET htslib) # Optionally builds from contrib/ +-pkg_check_modules(tabixpp IMPORTED_TARGET tabixpp) # Optionally builds from contrib/ ++pkg_check_modules(htslib IMPORTED_TARGET htslib) # Optionally builds from contrib/ ++pkg_check_modules(tabixpp IMPORTED_TARGET tabixpp) # Optionally builds from contrib/ ++pkg_check_modules(fastahack IMPORTED_TARGET fastahack) # Optionally builds from contrib/ ++pkg_check_modules(smithwaterman IMPORTED_TARGET smithwaterman) # Optionally builds from contrib/ + + # ---- Build switches + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ${ipo_supported}) +@@ -113,12 +115,20 @@ endif(ZIG) + # ---- Include files + + include_directories(include) +-include_directories(contrib/fastahack) + include_directories(contrib/intervaltree) +-include_directories(contrib/smithwaterman) + include_directories(contrib/filevercmp) + include_directories(contrib/c-progress-bar) + ++if(NOT fastahack_FOUND) ++ message(STATUS "Using included fastahack") ++ include_directories(contrib/fastahack) ++endif() ++ ++if(NOT smithwaterman_FOUND) ++ message(STATUS "Using included smithwaterman") ++ include_directories(contrib/smithwaterman) ++endif() ++ + if(NOT htslib_FOUND) + message(STATUS "Using included htslib") + include(FindCURL) # for htslib +@@ -142,11 +152,19 @@ endif() + file(GLOB INCLUDES + src/*.h* + contrib/intervaltree/*.h* +- contrib/smithwaterman/*.h* +- contrib/fastahack/*.h* + contrib/filevercmp/*.h* + ) + ++if(NOT fastahack_FOUND) ++ file(GLOB FASTAHACK_INCLUDES contrib/fastahack/*.h*) ++ list(APPEND INCLUDES ${FASTAHACK_INCLUDES}) ++endif() ++ ++if(NOT smithwaterman_FOUND) ++ file(GLOB SW_INCLUDES contrib/smithwaterman/*.h*) ++ list(APPEND INCLUDES ${SW_INCLUDES}) ++endif() ++ + set(vcfwfa_SOURCE + src/legacy.cpp # introduces a WFA dependency + src/vcf-wfa.cpp +@@ -170,16 +188,24 @@ set(vcflib_SOURCE + src/LeftAlign.cpp + src/cigar.cpp + src/allele.cpp +- contrib/fastahack/Fasta.cpp ++ contrib/fsom/fsom.c ++ contrib/filevercmp/filevercmp.c ++ contrib/c-progress-bar/progress.c ++) ++ ++if(NOT fastahack_FOUND) ++ list(APPEND vcflib_SOURCE contrib/fastahack/Fasta.cpp) ++endif() ++ ++if(NOT smithwaterman_FOUND) ++ list(APPEND vcflib_SOURCE + contrib/smithwaterman/SmithWatermanGotoh.cpp + contrib/smithwaterman/Repeats.cpp + contrib/smithwaterman/IndelAllele.cpp + contrib/smithwaterman/disorder.cpp + contrib/smithwaterman/LeftAlign.cpp +- contrib/fsom/fsom.c +- contrib/filevercmp/filevercmp.c +- contrib/c-progress-bar/progress.c +-) ++ ) ++endif() + + if (tabixpp_LOCAL) # add the tabixpp source file + list(APPEND vcflib_SOURCE ${tabixpp_SOURCE}) +@@ -440,6 +466,14 @@ if (NOT tabixpp_LOCAL) + target_link_libraries(vcflib PkgConfig::tabixpp) + endif() + ++if(fastahack_FOUND) ++ target_link_libraries(vcflib PkgConfig::fastahack) ++endif() ++ ++if(smithwaterman_FOUND) ++ target_link_libraries(vcflib PkgConfig::smithwaterman) ++endif() ++ + if(OPENMP) + target_link_libraries(vcflib OpenMP::OpenMP_CXX) + endif() |
