diff options
| author | pjotrp | 2026-04-02 11:50:53 +0200 |
|---|---|---|
| committer | pjotrp | 2026-04-02 11:50:53 +0200 |
| commit | e47076db4a40f00beb557fbd67c2c77cefa82b1d (patch) | |
| tree | 40faf3b45c0b0125ca3c809fac147744b2657a83 | |
| parent | 4f9f2d7ecdebc2be6a35eb5ad67dcd253bfa6d83 (diff) | |
| download | guix-bioinformatics-e47076db4a40f00beb557fbd67c2c77cefa82b1d.tar.gz | |
Updated rust package for qtlreaper
| -rw-r--r-- | gn/packages/genenetwork-rust.scm | 334 | ||||
| -rw-r--r-- | gn/packages/genenetwork.scm | 54 |
2 files changed, 335 insertions, 53 deletions
diff --git a/gn/packages/genenetwork-rust.scm b/gn/packages/genenetwork-rust.scm new file mode 100644 index 0000000..6189c72 --- /dev/null +++ b/gn/packages/genenetwork-rust.scm @@ -0,0 +1,334 @@ +;;; GeneNetwork Rust packages + +(define-module (gn packages genenetwork-rust) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system cargo) + #:use-module (guix gexp) + #:export (lookup-cargo-inputs)) + +;;; Crate sources for rust-qtlreaper (guix import crate -f Cargo.lock qtlreaper) + +(define rust-ansi-term-0.12.1 + (crate-source "ansi_term" "0.12.1" + "1ljmkbilxgmhavxvxqa7qvm6f3fjggi7q2l3a72q9x0cxjvrnanm")) + +(define rust-atty-0.2.14 + (crate-source "atty" "0.2.14" + "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr")) + +(define rust-autocfg-0.1.8 + (crate-source "autocfg" "0.1.8" + "0y4vw4l4izdxq1v0rrhvmlbqvalrqrmk60v1z0dqlgnlbzkl7phd")) + +(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-clap-2.34.0 + (crate-source "clap" "2.34.0" + "071q5d8jfwbazi6zhik9xwpacx5i6kb2vkzy060vhf0c3120aqd0")) + +(define rust-cloudabi-0.0.3 + (crate-source "cloudabi" "0.0.3" + "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")) + +(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-fuchsia-cprng-0.1.1 + (crate-source "fuchsia-cprng" "0.1.1" + "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0")) + +(define rust-heck-0.3.3 + (crate-source "heck" "0.3.3" + "0b0kkr790p66lvzn9nsmfjvydrbmh9z5gb664jchwgw64vxiwqkd")) + +(define rust-hermit-abi-0.1.19 + (crate-source "hermit-abi" "0.1.19" + "0cxcm8093nf5fyn114w8vxbrbcyvv91d4015rdnlgfll7cs6gd32")) + +(define rust-itertools-0.7.11 + (crate-source "itertools" "0.7.11" + "03cpsj26xmyamcalclqzr1i700vwx8hnbgxbpjvs354f8mnr8iqd")) + +(define rust-itoa-1.0.18 + (crate-source "itoa" "1.0.18" + "10jnd1vpfkb8kj38rlkn2a6k02afvj3qmw054dfpzagrpl6achlg")) + +(define rust-libc-0.2.184 + (crate-source "libc" "0.2.184" + "1bz4525m7lwzr63iidh7lp9ppz2c9va1pn6fyjh5wsp1ajjd5xa8")) + +(define rust-matrixmultiply-0.1.15 + (crate-source "matrixmultiply" "0.1.15" + "00p0fpjhm45qdzi37mgv7ggsy8b9gqvq4999yrbgyn1dxkf6gbfw")) + +(define rust-memchr-2.8.0 + (crate-source "memchr" "2.8.0" + "0y9zzxcqxvdqg6wyag7vc3h0blhdn7hkq164bxyx2vph8zs5ijpq")) + +(define rust-ndarray-0.12.1 + (crate-source "ndarray" "0.12.1" + "0a5rfwcbqnvbwi3nw5sfz6kf0flhmjxs64s0b4kxc6lhmyl81wvw")) + +(define rust-num-complex-0.2.4 + (crate-source "num-complex" "0.2.4" + "15dwaksw729r3v14sgzc9723s3fnfixiir8jzwx7b7kim48r9cdn")) + +(define rust-num-traits-0.2.19 + (crate-source "num-traits" "0.2.19" + "0h984rhdkkqd4ny9cif7y2azl3xdfb7768hb9irhpsch4q3gq787")) + +(define rust-proc-macro2-0.4.30 + (crate-source "proc-macro2" "0.4.30" + "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg")) + +(define rust-proc-macro2-1.0.106 + (crate-source "proc-macro2" "1.0.106" + "0d09nczyaj67x4ihqr5p7gxbkz38gxhk4asc0k8q23g9n85hzl4g")) + +(define rust-quote-0.6.13 + (crate-source "quote" "0.6.13" + "1qgqq48jymp5h4y082aanf25hrw6bpb678xh3zw993qfhxmkpqkc")) + +(define rust-quote-1.0.45 + (crate-source "quote" "1.0.45" + "095rb5rg7pbnwdp6v8w5jw93wndwyijgci1b5lw8j1h5cscn3wj1")) + +(define rust-rand-0.6.5 + (crate-source "rand" "0.6.5" + "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd")) + +(define rust-rand-chacha-0.1.1 + (crate-source "rand_chacha" "0.1.1" + "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam")) + +(define rust-rand-core-0.3.1 + (crate-source "rand_core" "0.3.1" + "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs")) + +(define rust-rand-core-0.4.2 + (crate-source "rand_core" "0.4.2" + "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww")) + +(define rust-rand-hc-0.1.0 + (crate-source "rand_hc" "0.1.0" + "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v")) + +(define rust-rand-isaac-0.1.1 + (crate-source "rand_isaac" "0.1.1" + "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy")) + +(define rust-rand-jitter-0.1.4 + (crate-source "rand_jitter" "0.1.4" + "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi")) + +(define rust-rand-os-0.1.3 + (crate-source "rand_os" "0.1.3" + "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv")) + +(define rust-rand-pcg-0.1.2 + (crate-source "rand_pcg" "0.1.2" + "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb")) + +(define rust-rand-xorshift-0.1.1 + (crate-source "rand_xorshift" "0.1.1" + "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb")) + +(define rust-rawpointer-0.1.0 + (crate-source "rawpointer" "0.1.0" + "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b")) + +(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-rdrand-0.4.0 + (crate-source "rdrand" "0.4.0" + "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037")) + +(define rust-serde-1.0.228 + (crate-source "serde" "1.0.228" + "17mf4hhjxv5m90g42wmlbc61hdhlm6j9hwfkpcnd72rpgzm993ls")) + +(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-serde-json-1.0.149 + (crate-source "serde_json" "1.0.149" + "11jdx4vilzrjjd1dpgy67x5lgzr0laplz30dhv75lnf5ffa07z43")) + +(define rust-strsim-0.8.0 + (crate-source "strsim" "0.8.0" + "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf")) + +(define rust-structopt-0.2.18 + (crate-source "structopt" "0.2.18" + "1mvfv1l8vp3y402fkl2wcl34hi7gmr4bqha13dfz2xf3kjzwvhhn")) + +(define rust-structopt-derive-0.2.18 + (crate-source "structopt-derive" "0.2.18" + "01sis9z5kqmyhvzbnmlzpdxcry99a0b9blypksgnhdsbm1hh40ak")) + +(define rust-syn-0.15.44 + (crate-source "syn" "0.15.44" + "1id5g6x6zihv3j7hwrw3m1jp636bg8dpi671r7zy3jvpkavb794w")) + +(define rust-syn-2.0.117 + (crate-source "syn" "2.0.117" + "16cv7c0wbn8amxc54n4w15kxlx5ypdmla8s0gxr2l7bv7s0bhrg6")) + +(define rust-textwrap-0.11.0 + (crate-source "textwrap" "0.11.0" + "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk")) + +(define rust-unicode-ident-1.0.24 + (crate-source "unicode-ident" "1.0.24" + "0xfs8y1g7syl2iykji8zk5hgfi5jw819f5zsrbaxmlzwsly33r76")) + +(define rust-unicode-segmentation-1.13.2 + (crate-source "unicode-segmentation" "1.13.2" + "135a26m4a0wj319gcw28j6a5aqvz00jmgwgmcs6szgxjf942facn")) + +(define rust-unicode-width-0.1.14 + (crate-source "unicode-width" "0.1.14" + "1bzn2zv0gp8xxbxbhifw778a7fc93pa6a1kj24jgg9msj07f7mkx")) + +(define rust-unicode-xid-0.1.0 + (crate-source "unicode-xid" "0.1.0" + "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw")) + +(define rust-vec-map-0.8.2 + (crate-source "vec_map" "0.8.2" + "1481w9g1dw9rxp3l6snkdqihzyrd2f8vispzqmwjwsdyhw8xzggi")) + +(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")) + +(define rust-winapi-x86-64-pc-windows-gnu-0.4.0 + (crate-source "winapi-x86_64-pc-windows-gnu" "0.4.0" + "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki")) + +(define rust-zmij-1.0.21 + (crate-source "zmij" "1.0.21" + "1amb5i6gz7yjb0dnmz5y669674pqmwbj44p4yfxfv2ncgvk8x15q")) + + +(define-cargo-inputs lookup-cargo-inputs + (qtlreaper => + (list rust-ansi-term-0.12.1 + rust-atty-0.2.14 + rust-autocfg-0.1.8 + rust-autocfg-1.5.0 + rust-bitflags-1.3.2 + rust-clap-2.34.0 + rust-cloudabi-0.0.3 + rust-crossbeam-deque-0.8.6 + rust-crossbeam-epoch-0.9.18 + rust-crossbeam-utils-0.8.21 + rust-either-1.15.0 + rust-fuchsia-cprng-0.1.1 + rust-heck-0.3.3 + rust-hermit-abi-0.1.19 + rust-itertools-0.7.11 + rust-itoa-1.0.18 + rust-libc-0.2.184 + rust-matrixmultiply-0.1.15 + rust-memchr-2.8.0 + rust-ndarray-0.12.1 + rust-num-complex-0.2.4 + rust-num-traits-0.2.19 + rust-proc-macro2-0.4.30 + rust-proc-macro2-1.0.106 + rust-quote-0.6.13 + rust-quote-1.0.45 + rust-rand-0.6.5 + rust-rand-chacha-0.1.1 + rust-rand-core-0.3.1 + rust-rand-core-0.4.2 + rust-rand-hc-0.1.0 + rust-rand-isaac-0.1.1 + rust-rand-jitter-0.1.4 + rust-rand-os-0.1.3 + rust-rand-pcg-0.1.2 + rust-rand-xorshift-0.1.1 + rust-rawpointer-0.1.0 + rust-rayon-1.11.0 + rust-rayon-core-1.13.0 + rust-rdrand-0.4.0 + rust-serde-1.0.228 + rust-serde-core-1.0.228 + rust-serde-derive-1.0.228 + rust-serde-json-1.0.149 + rust-strsim-0.8.0 + rust-structopt-0.2.18 + rust-structopt-derive-0.2.18 + rust-syn-0.15.44 + rust-syn-2.0.117 + rust-textwrap-0.11.0 + rust-unicode-ident-1.0.24 + rust-unicode-segmentation-1.13.2 + rust-unicode-width-0.1.14 + rust-unicode-xid-0.1.0 + rust-vec-map-0.8.2 + 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-zmij-1.0.21 + )) +) + +(define-public rust-qtlreaper + (package + (name "rust-qtlreaper") + (version "0.1.4") + ;; Use local source with updated Cargo.lock for modern Rust. + ;; Push Cargo.lock upstream, then switch to git-fetch. + (source (local-file "/fast/pjotr/tmp/claude/factory/rust-qtlreaper" + #:recursive? #t)) + (build-system cargo-build-system) + (arguments (list #:install-source? #f + #:tests? #f)) ; test results vary by machine + (inputs (cargo-inputs 'qtlreaper + #:module '(gn packages genenetwork-rust))) + (home-page "https://github.com/genenetwork/rust-qtlreaper") + (synopsis "Rust implementation of QTL Reaper") + (description + "Rust-qtlreaper is a Rust implementation of QTL Reaper for mapping +quantitative trait loci (QTL) in genetic datasets.") + (license license:agpl3+))) diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index b1f83c7..c1b3f83 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -59,63 +59,11 @@ #:use-module (gn packages python) #:use-module (gn packages statistics) #:use-module (gn packages web) + #:use-module (gn packages genenetwork-rust) #:use-module (srfi srfi-1) #:use-module (gn packages databases)) -(define-public rust-qtlreaper - (let ((commit "4dafa7289432d10685b6b235e3552ac3d681bb03") - (revision "1")) - (package - (name "rust-qtlreaper") - (version "0.1.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/genenetwork/rust-qtlreaper.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1p7dmxh43ly0k7q6va0lzisqnk1i7af3dy5aw1sr4y5s7z0h6i0y")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-rand" ,rust-rand-0.6) - ("rust-structopt" ,rust-structopt-0.2) - ("rust-rayon" ,rust-rayon-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-ndarray" ,rust-ndarray-0.12)) - #:phases - (modify-phases %standard-phases - ;; Test results vary based on the machine running them. - (replace 'check - (lambda _ - (or (assoc-ref %standard-phases 'check) - (begin - (substitute* "src/geneobject.rs" - ;; array![Genotype::Unk, Genotype::Unk, Genotype::Pat] - (("0.3421367343627405") "0.3421367343627406") - ;; array![Genotype::Unk, Genotype::Unk, Genotype::Unk] - (("-0.3223330030526561") "-0.32233300305265566")) - (assoc-ref %standard-phases 'check))) - #t))))) - (home-page "https://github.com/genenetwork/rust-qtlreaper") - (synopsis "Reimplementation of genenetwork/QTLReaper in Rust") - (description "Reimplementation of genenetwork/QTLReaper in Rust") - (license #f)))) - -; Tests on the upstream python-pengouin package are broken. So, we -; create this temporary workaround. -(define python-pingouin-without-tests - (package - (inherit python-pingouin) - (arguments - (substitute-keyword-arguments (package-arguments python-pingouin) - ((#:tests? _ #f) #f))))) - (define-public genenetwork3 (let ((commit "e6c44577b2489f7b1523cb6a5fd332015bde25c5") (revision "5")) |
