aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gn/packages/genenetwork-rust.scm334
-rw-r--r--gn/packages/genenetwork.scm54
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"))