| 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2014-2026 Ricardo Wurmus <[email protected]> |
| 3 | ;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <[email protected]> |
| 4 | ;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <[email protected]> |
| 5 | ;;; Copyright © 2015 Andreas Enge <[email protected]> |
| 6 | ;;; Copyright © 2016, 2020, 2021 Roel Janssen <[email protected]> |
| 7 | ;;; Copyright © 2016-2024 Efraim Flashner <[email protected]> |
| 8 | ;;; Copyright © 2016, 2020, 2022 Marius Bakke <[email protected]> |
| 9 | ;;; Copyright © 2016, 2018 Raoul Bonnal <[email protected]> |
| 10 | ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <[email protected]> |
| 11 | ;;; Copyright © 2017, 2021, 2022, 2024–2026 Arun Isaac <[email protected]> |
| 12 | ;;; Copyright © 2018 Joshua Sierles, Nextjournal <[email protected]> |
| 13 | ;;; Copyright © 2018 Gábor Boskovits <[email protected]> |
| 14 | ;;; Copyright © 2018-2024 Mădălin Ionel Patrașcu <[email protected]> |
| 15 | ;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer <[email protected]> |
| 16 | ;;; Copyright © 2019 Brian Leung <[email protected]> |
| 17 | ;;; Copyright © 2019 Brett Gilio <[email protected]> |
| 18 | ;;; Copyright © 2020 Björn Höfling <[email protected]> |
| 19 | ;;; Copyright © 2020 Jakub Kądziołka <[email protected]> |
| 20 | ;;; Copyright © 2020 Pierre Langlois <[email protected]> |
| 21 | ;;; Copyright © 2020 Bonface Munyoki Kilyungi <[email protected]> |
| 22 | ;;; Copyright © 2021 Tim Howes <[email protected]> |
| 23 | ;;; Copyright © 2021 Hong Li <[email protected]> |
| 24 | ;;; Copyright © 2021, 2022, 2023 Simon Tournier <[email protected]> |
| 25 | ;;; Copyright © 2021 Felix Gruber <[email protected]> |
| 26 | ;;; Copyright © 2022-2025 Navid Afkhami <[email protected]> |
| 27 | ;;; Copyright © 2022 Antero Mejr <[email protected]> |
| 28 | ;;; Copyright © 2024, 2026 Alexis Simon <[email protected]> |
| 29 | ;;; Copyright © 2024, 2026 Spencer King <[email protected]> |
| 30 | ;;; Copyright © 2025 nomike Postmann <[email protected]> |
| 31 | ;;; Copyright © 2025 Janneke Nieuwenhuizen <[email protected]> |
| 32 | ;;; Copyright © 2026 Hartmut Goebel <[email protected]> |
| 33 | ;;; Copyright © 2025-2026 Sharlatan Hellseher <[email protected]> |
| 34 | ;;; Copyright © 2025-2026 Jonas Meeuws <[email protected]> |
| 35 | ;;; Copyright © 2026 Cayetano Santos <[email protected]> |
| 36 | ;;; |
| 37 | ;;; This file is part of GNU Guix. |
| 38 | ;;; |
| 39 | ;;; GNU Guix is free software; you can redistribute it and/or modify it |
| 40 | ;;; under the terms of the GNU General Public License as published by |
| 41 | ;;; the Free Software Foundation; either version 3 of the License, or (at |
| 42 | ;;; your option) any later version. |
| 43 | ;;; |
| 44 | ;;; GNU Guix is distributed in the hope that it will be useful, but |
| 45 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of |
| 46 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 47 | ;;; GNU General Public License for more details. |
| 48 | ;;; |
| 49 | ;;; You should have received a copy of the GNU General Public License |
| 50 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 51 | |
| 52 | (define-module (gnu packages bioinformatics) |
| 53 | #:use-module ((guix licenses) #:prefix license:) |
| 54 | #:use-module (guix packages) |
| 55 | #:use-module (guix gexp) |
| 56 | #:use-module (guix utils) |
| 57 | #:use-module (guix download) |
| 58 | #:use-module (guix git-download) |
| 59 | #:use-module (guix hg-download) |
| 60 | #:use-module (guix build-system ant) |
| 61 | #:use-module (guix build-system gnu) |
| 62 | #:use-module (guix build-system cargo) |
| 63 | #:use-module (guix build-system cmake) |
| 64 | #:use-module (guix build-system go) |
| 65 | #:use-module (guix build-system haskell) |
| 66 | #:use-module (guix build-system meson) |
| 67 | #:use-module (guix build-system perl) |
| 68 | #:use-module (guix build-system pyproject) |
| 69 | #:use-module (guix build-system qt) |
| 70 | #:use-module (guix build-system r) |
| 71 | #:use-module (guix build-system ruby) |
| 72 | #:use-module (guix build-system trivial) |
| 73 | #:use-module (guix deprecation) |
| 74 | #:use-module (gnu packages) |
| 75 | #:use-module (gnu packages admin) |
| 76 | #:use-module (gnu packages assembly) |
| 77 | #:use-module (gnu packages autotools) |
| 78 | #:use-module (gnu packages algebra) |
| 79 | #:use-module (gnu packages base) |
| 80 | #:use-module (gnu packages bash) |
| 81 | #:use-module (gnu packages bison) |
| 82 | #:use-module (gnu packages bioconductor) |
| 83 | #:use-module (gnu packages boost) |
| 84 | #:use-module (gnu packages certs) |
| 85 | #:use-module (gnu packages check) |
| 86 | #:use-module (gnu packages code) |
| 87 | #:use-module (gnu packages cmake) |
| 88 | #:use-module (gnu packages compression) |
| 89 | #:use-module (gnu packages cpp) |
| 90 | #:use-module (gnu packages cpio) |
| 91 | #:use-module (gnu packages cran) |
| 92 | #:use-module (gnu packages crypto) |
| 93 | #:use-module (gnu packages curl) |
| 94 | #:use-module (gnu packages docbook) |
| 95 | #:use-module (gnu packages documentation) |
| 96 | #:use-module (gnu packages databases) |
| 97 | #:use-module (gnu packages datastructures) |
| 98 | #:use-module (gnu packages dlang) |
| 99 | #:use-module (gnu packages file) |
| 100 | #:use-module (gnu packages compiler-tools) |
| 101 | #:use-module (gnu packages gawk) |
| 102 | #:use-module (gnu packages gcc) |
| 103 | #:use-module (gnu packages gd) |
| 104 | #:use-module (gnu packages ghostscript) |
| 105 | #:use-module (gnu packages golang) |
| 106 | #:use-module (gnu packages golang-build) |
| 107 | #:use-module (gnu packages golang-check) |
| 108 | #:use-module (gnu packages golang-compression) |
| 109 | #:use-module (gnu packages golang-xyz) |
| 110 | #:use-module (gnu packages glib) |
| 111 | #:use-module (gnu packages gnupg) |
| 112 | #:use-module (gnu packages graph) |
| 113 | #:use-module (gnu packages graphics) |
| 114 | #:use-module (gnu packages graphviz) |
| 115 | #:use-module (gnu packages groff) |
| 116 | #:use-module (gnu packages gtk) |
| 117 | #:use-module (gnu packages guile) |
| 118 | #:use-module (gnu packages guile-xyz) |
| 119 | #:use-module (gnu packages haskell-check) |
| 120 | #:use-module (gnu packages haskell-web) |
| 121 | #:use-module (gnu packages haskell-xyz) |
| 122 | #:use-module (gnu packages image) |
| 123 | #:use-module (gnu packages image-processing) |
| 124 | #:use-module (gnu packages imagemagick) |
| 125 | #:use-module (gnu packages java) |
| 126 | #:use-module (gnu packages java-compression) |
| 127 | #:use-module (gnu packages java-xml) |
| 128 | #:use-module (gnu packages jemalloc) |
| 129 | #:use-module (gnu packages jupyter) |
| 130 | #:use-module (gnu packages libffi) |
| 131 | #:use-module (gnu packages linux) |
| 132 | #:use-module (gnu packages llvm) |
| 133 | #:use-module (gnu packages logging) |
| 134 | #:use-module (gnu packages lsof) |
| 135 | #:use-module (gnu packages machine-learning) |
| 136 | #:use-module (gnu packages man) |
| 137 | #:use-module (gnu packages maths) |
| 138 | #:use-module (gnu packages mpi) |
| 139 | #:use-module (gnu packages ncurses) |
| 140 | #:use-module (gnu packages node) |
| 141 | #:use-module (gnu packages nss) |
| 142 | #:use-module (gnu packages ocaml) |
| 143 | #:use-module (gnu packages oneapi) |
| 144 | #:use-module (gnu packages pcre) |
| 145 | #:use-module (gnu packages package-management) |
| 146 | #:use-module (gnu packages parallel) |
| 147 | #:use-module (gnu packages pdf) |
| 148 | #:use-module (gnu packages perl) |
| 149 | #:use-module (gnu packages perl-check) |
| 150 | #:use-module (gnu packages perl-web) |
| 151 | #:use-module (gnu packages perl6) |
| 152 | #:use-module (gnu packages pkg-config) |
| 153 | #:use-module (gnu packages popt) |
| 154 | #:use-module (gnu packages protobuf) |
| 155 | #:use-module (gnu packages python) |
| 156 | #:use-module (gnu packages python-build) |
| 157 | #:use-module (gnu packages python-check) |
| 158 | #:use-module (gnu packages python-compression) |
| 159 | #:use-module (gnu packages python-crypto) |
| 160 | #:use-module (gnu packages python-science) |
| 161 | #:use-module (gnu packages python-web) |
| 162 | #:use-module (gnu packages python-xyz) |
| 163 | #:use-module (gnu packages qt) |
| 164 | #:use-module (gnu packages rdf) |
| 165 | #:use-module (gnu packages readline) |
| 166 | #:use-module (gnu packages rpc) |
| 167 | #:use-module (gnu packages rsync) |
| 168 | #:use-module (gnu packages ruby) |
| 169 | #:use-module (gnu packages ruby-check) |
| 170 | #:use-module (gnu packages ruby-xyz) |
| 171 | #:use-module (gnu packages rust) |
| 172 | #:use-module (gnu packages serialization) |
| 173 | #:use-module (gnu packages shells) |
| 174 | #:use-module (gnu packages skribilo) |
| 175 | #:use-module (gnu packages sphinx) |
| 176 | #:use-module (gnu packages sqlite) |
| 177 | #:use-module (gnu packages statistics) |
| 178 | #:use-module (gnu packages swig) |
| 179 | #:use-module (gnu packages tbb) |
| 180 | #:use-module (gnu packages tex) |
| 181 | #:use-module (gnu packages texinfo) |
| 182 | #:use-module (gnu packages textutils) |
| 183 | #:use-module (gnu packages time) |
| 184 | #:use-module (gnu packages tls) |
| 185 | #:use-module (gnu packages uglifyjs) |
| 186 | #:use-module (gnu packages video) |
| 187 | #:use-module (gnu packages vim) |
| 188 | #:use-module (gnu packages web) |
| 189 | #:use-module (gnu packages wget) |
| 190 | #:use-module (gnu packages xml) |
| 191 | #:use-module (gnu packages xorg) |
| 192 | #:use-module (guix platform) |
| 193 | #:use-module (srfi srfi-1) |
| 194 | #:use-module (srfi srfi-26) |
| 195 | #:use-module (ice-9 match)) |
| 196 | |
| 197 | (define-public alignoth |
| 198 | (package |
| 199 | (name "alignoth") |
| 200 | (version "1.4.6") |
| 201 | (source |
| 202 | (origin |
| 203 | (method url-fetch) |
| 204 | (uri (crate-uri "alignoth" version)) |
| 205 | (file-name (string-append name "-" version ".tar.gz")) |
| 206 | (sha256 |
| 207 | (base32 "11m2cwpy270dlsw48xgsmrlzmrbac0gxidwgbpahd5jchwnxl26f")))) |
| 208 | (build-system cargo-build-system) |
| 209 | (arguments |
| 210 | (list #:install-source? #f)) |
| 211 | (native-inputs (list clang-13 pkg-config)) |
| 212 | (inputs (cons* curl openssl zlib (cargo-inputs 'alignoth))) |
| 213 | (home-page "https://github.com/alignoth/alignoth") |
| 214 | (synopsis "Tool for creating alignment plots from bam files.") |
| 215 | (description |
| 216 | "This package provides a tool for creating alignment plots from bam files.") |
| 217 | (license license:expat))) |
| 218 | |
| 219 | (define-public aragorn |
| 220 | (package |
| 221 | (name "aragorn") |
| 222 | (version "1.2.41") |
| 223 | (source (origin |
| 224 | (method url-fetch) |
| 225 | (uri (string-append "https://www.ansikte.se/ARAGORN/Downloads/" |
| 226 | "aragorn" version ".c")) |
| 227 | (sha256 |
| 228 | (base32 |
| 229 | "0jkzx7sqiarydvz3bwaxh790fpvpkfc926dhsza1dbdhq32ir8wj")))) |
| 230 | (build-system gnu-build-system) |
| 231 | (arguments |
| 232 | (list |
| 233 | #:tests? #f ; there are no tests |
| 234 | #:phases |
| 235 | #~(modify-phases %standard-phases |
| 236 | (delete 'configure) |
| 237 | (replace 'build |
| 238 | (lambda _ |
| 239 | (invoke "gcc" "-O3" "-ffast-math" "-finline-functions" |
| 240 | "-o" "aragorn" #$source))) |
| 241 | (replace 'install |
| 242 | (lambda* (#:key inputs #:allow-other-keys) |
| 243 | (let ((bin (string-append #$output "/bin")) |
| 244 | (man (string-append #$output "/share/man/man1"))) |
| 245 | (install-file "aragorn" bin) |
| 246 | (mkdir-p man) |
| 247 | (copy-file (assoc-ref inputs "aragorn.1") |
| 248 | (string-append man "/aragorn.1")))))))) |
| 249 | (native-inputs |
| 250 | `(("aragorn.1" |
| 251 | ,(origin |
| 252 | (method url-fetch) |
| 253 | (uri "https://www.ansikte.se/ARAGORN/Downloads/aragorn.1") |
| 254 | (sha256 |
| 255 | (base32 |
| 256 | "0bn9lapa6f0cl07dbn2fjrapirv9d4bk7w248w39fhb4vbczcc3f")))))) |
| 257 | (home-page "https://www.ansikte.se/ARAGORN/") |
| 258 | (synopsis "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences") |
| 259 | (description |
| 260 | "Aragorn identifies transfer RNA, mitochondrial RNA and |
| 261 | transfer-messenger RNA from nucleotide sequences, based on homology to known |
| 262 | tRNA consensus sequences and RNA structure. It also outputs the secondary |
| 263 | structure of the predicted RNA.") |
| 264 | (license license:gpl3+))) |
| 265 | |
| 266 | (define-public bamtools |
| 267 | (package |
| 268 | (name "bamtools") |
| 269 | (version "2.5.2") |
| 270 | (source (origin |
| 271 | (method git-fetch) |
| 272 | (uri (git-reference |
| 273 | (url "https://github.com/pezmaster31/bamtools") |
| 274 | (commit (string-append "v" version)))) |
| 275 | (file-name (git-file-name name version)) |
| 276 | (sha256 |
| 277 | (base32 |
| 278 | "14lw571vbks138i0lj66qjdbk8iwa817x2zbpzij61vv1gdgfbn5")))) |
| 279 | (build-system cmake-build-system) |
| 280 | (arguments |
| 281 | (list |
| 282 | #:configure-flags |
| 283 | '(list "-DBUILD_SHARED_LIBS=ON"))) |
| 284 | (inputs (list jsoncpp zlib)) |
| 285 | (native-inputs (list pkg-config)) |
| 286 | (home-page "https://github.com/pezmaster31/bamtools") |
| 287 | (synopsis "C++ API and command-line toolkit for working with BAM data") |
| 288 | (description |
| 289 | "BamTools provides both a C++ API and a command-line toolkit for handling |
| 290 | BAM files.") |
| 291 | (license license:expat))) |
| 292 | |
| 293 | (define-public bamutils |
| 294 | (package |
| 295 | (name "bamutils") |
| 296 | (version "1.0.15") |
| 297 | (source (origin |
| 298 | (method git-fetch) |
| 299 | (uri (git-reference |
| 300 | (url "https://github.com/statgen/bamUtil") |
| 301 | (commit (string-append "v" version)))) |
| 302 | (file-name (git-file-name name version)) |
| 303 | (sha256 |
| 304 | (base32 |
| 305 | "1pxydf9qsr8667jh525bc2wiqn9nwk8rkg05kbyfmjs8d261fl9y")))) |
| 306 | (build-system gnu-build-system) |
| 307 | (arguments |
| 308 | (list |
| 309 | #:tests? #f ;fails to link debug libraries |
| 310 | #:test-target "test" |
| 311 | #:make-flags |
| 312 | #~(list (string-append "INSTALLDIR=" #$output "/bin")) |
| 313 | #:phases |
| 314 | #~(modify-phases %standard-phases |
| 315 | (replace 'configure |
| 316 | (lambda* (#:key inputs #:allow-other-keys) |
| 317 | (substitute* "src/Makefile" |
| 318 | (("^DATE=.*") "DATE=\"1970-01-01\"\n")) |
| 319 | (copy-recursively (assoc-ref inputs "libstatgen") |
| 320 | "../libStatGen")))))) |
| 321 | (inputs |
| 322 | (list zlib)) |
| 323 | (native-inputs |
| 324 | `(("libstatgen" |
| 325 | ,(origin |
| 326 | (method git-fetch) |
| 327 | (uri (git-reference |
| 328 | (url "https://github.com/statgen/libStatGen/") |
| 329 | (commit (string-append "v" version)))) |
| 330 | (file-name (git-file-name "libstatgen" version)) |
| 331 | (sha256 |
| 332 | (base32 |
| 333 | "0spvbpvnpxrgj8kajpkhf1mv7kdyvj723y9zh13jykvnjh8a15j3")))))) |
| 334 | (home-page "https://genome.sph.umich.edu/wiki/BamUtil") |
| 335 | (synopsis "Programs for working on SAM/BAM files") |
| 336 | (description "This package provides several programs that perform |
| 337 | operations on SAM/BAM files. All of these programs are built into a |
| 338 | single executable called @code{bam}.") |
| 339 | (license license:gpl3+))) |
| 340 | |
| 341 | (define-public bcftools |
| 342 | (package |
| 343 | (name "bcftools") |
| 344 | (version "1.23") |
| 345 | (source (origin |
| 346 | (method url-fetch) |
| 347 | (uri (string-append "https://github.com/samtools/bcftools/" |
| 348 | "releases/download/" |
| 349 | version "/bcftools-" version ".tar.bz2")) |
| 350 | (sha256 |
| 351 | (base32 |
| 352 | "0y075hjs8k604lcmhxpbw5sw5l95ljhm324xp2hiv67p72nf1kas")) |
| 353 | (modules '((guix build utils))) |
| 354 | (snippet '(begin |
| 355 | ;; Delete bundled htslib. |
| 356 | (delete-file-recursively "htslib-1.23"))))) |
| 357 | (build-system gnu-build-system) |
| 358 | (arguments |
| 359 | `(#:configure-flags |
| 360 | (list "--enable-libgsl") |
| 361 | #:test-target "test" |
| 362 | #:phases |
| 363 | (modify-phases %standard-phases |
| 364 | (add-before 'check 'patch-tests |
| 365 | (lambda _ |
| 366 | (substitute* "test/test.pl" |
| 367 | (("/bin/bash") (which "bash")))))))) |
| 368 | (native-inputs |
| 369 | (list htslib perl)) |
| 370 | (inputs |
| 371 | (list gsl zlib)) |
| 372 | (home-page "https://samtools.github.io/bcftools/") |
| 373 | (synopsis "Utilities for variant calling and manipulating VCFs and BCFs") |
| 374 | (description |
| 375 | "BCFtools is a set of utilities that manipulate variant calls in the |
| 376 | Variant Call Format (VCF) and its binary counterpart BCF. All commands work |
| 377 | transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.") |
| 378 | ;; The sources are dual MIT/GPL, but becomes GPL-only when USE_GPL=1. |
| 379 | (license (list license:gpl3+ license:expat)))) |
| 380 | |
| 381 | (define-public bedops |
| 382 | (package |
| 383 | (name "bedops") |
| 384 | (version "2.4.41") |
| 385 | (source (origin |
| 386 | (method git-fetch) |
| 387 | (uri (git-reference |
| 388 | (url "https://github.com/bedops/bedops") |
| 389 | (commit (string-append "v" version)))) |
| 390 | (file-name (git-file-name name version)) |
| 391 | (sha256 |
| 392 | (base32 |
| 393 | "046037qdxsn01ln28rbrwnc7wq4a3xahmb2k74l0w75dby5ni42l")))) |
| 394 | (build-system gnu-build-system) |
| 395 | (arguments |
| 396 | (list |
| 397 | ;; We cannot run the tests because the build system makes strange |
| 398 | ;; assumptions about where executables are located. |
| 399 | #:tests? #false |
| 400 | #:test-target "tests" |
| 401 | #:make-flags |
| 402 | #~(list (string-append "CC=" #$(cc-for-target))) |
| 403 | #:phases |
| 404 | #~(modify-phases %standard-phases |
| 405 | (add-after 'unpack 'unpack-tarballs |
| 406 | (lambda _ |
| 407 | ;; FIXME: Bedops includes tarballs of minimally patched upstream |
| 408 | ;; libraries jansson, zlib, and bzip2. We cannot just use stock |
| 409 | ;; libraries because at least one of the libraries (zlib) is |
| 410 | ;; patched to add a C++ function definition (deflateInit2cpp). |
| 411 | ;; Until the Bedops developers offer a way to link against system |
| 412 | ;; libraries we have to build the in-tree copies of these three |
| 413 | ;; libraries. |
| 414 | |
| 415 | ;; See upstream discussion: |
| 416 | ;; https://github.com/bedops/bedops/issues/124 |
| 417 | |
| 418 | ;; Unpack the tarballs to benefit from shebang patching. |
| 419 | (with-directory-excursion "third-party" |
| 420 | (invoke "tar" "xvf" "jansson-2.6.tar.bz2") |
| 421 | (invoke "tar" "xvf" "zlib-1.2.7.tar.bz2") |
| 422 | (invoke "tar" "xvf" "bzip2-1.0.6.tar.bz2")) |
| 423 | ;; Disable unpacking of tarballs in Makefile. |
| 424 | (substitute* "system.mk/Makefile.linux" |
| 425 | (("^\tbzcat .*") "\t@echo \"not unpacking\"\n") |
| 426 | (("\\./configure") "CONFIG_SHELL=bash ./configure")) |
| 427 | (substitute* "third-party/zlib-1.2.7/Makefile.in" |
| 428 | (("^SHELL=.*$") "SHELL=bash\n")))) |
| 429 | (delete 'configure) |
| 430 | (replace 'install |
| 431 | (lambda _ |
| 432 | (invoke "make" "install" |
| 433 | (string-append "BINDIR=" #$output "/bin"))))))) |
| 434 | (native-inputs |
| 435 | (list diffutils perl which)) |
| 436 | (home-page "https://github.com/bedops/bedops") |
| 437 | (synopsis "Tools for high-performance genomic feature operations") |
| 438 | (description |
| 439 | "BEDOPS is a suite of tools to address common questions raised in genomic |
| 440 | studies---mostly with regard to overlap and proximity relationships between |
| 441 | data sets. It aims to be scalable and flexible, facilitating the efficient |
| 442 | and accurate analysis and management of large-scale genomic data. |
| 443 | |
| 444 | BEDOPS provides tools that perform highly efficient and scalable Boolean and |
| 445 | other set operations, statistical calculations, archiving, conversion and |
| 446 | other management of genomic data of arbitrary scale. Tasks can be easily |
| 447 | split by chromosome for distributing whole-genome analyses across a |
| 448 | computational cluster.") |
| 449 | (license license:gpl2+))) |
| 450 | |
| 451 | (define-public bedtools |
| 452 | (package |
| 453 | (name "bedtools") |
| 454 | (version "2.31.1") |
| 455 | (source (origin |
| 456 | (method url-fetch) |
| 457 | (uri (string-append "https://github.com/arq5x/bedtools2/releases/" |
| 458 | "download/v" version "/" |
| 459 | "bedtools-" version ".tar.gz")) |
| 460 | (sha256 |
| 461 | (base32 |
| 462 | "15rbfg776pcjxqrsa22dk7sdlmx1lijh3jhap04f1cbr4866czpw")))) |
| 463 | (build-system gnu-build-system) |
| 464 | (arguments |
| 465 | (list |
| 466 | #:test-target "test" |
| 467 | #:make-flags |
| 468 | #~(list (string-append "prefix=" #$output)) |
| 469 | #:phases |
| 470 | '(modify-phases %standard-phases |
| 471 | (delete 'configure)))) |
| 472 | (native-inputs |
| 473 | (list python-wrapper)) |
| 474 | (inputs |
| 475 | (list samtools zlib)) |
| 476 | (home-page "https://github.com/arq5x/bedtools2") |
| 477 | (synopsis "Tools for genome analysis and arithmetic") |
| 478 | (description |
| 479 | "Collectively, the bedtools utilities are a swiss-army knife of tools for |
| 480 | a wide-range of genomics analysis tasks. The most widely-used tools enable |
| 481 | genome arithmetic: that is, set theory on the genome. For example, bedtools |
| 482 | allows one to intersect, merge, count, complement, and shuffle genomic |
| 483 | intervals from multiple files in widely-used genomic file formats such as BAM, |
| 484 | BED, GFF/GTF, VCF.") |
| 485 | (license license:expat))) |
| 486 | |
| 487 | ;; Later releases of bedtools produce files with more columns than |
| 488 | ;; what Ribotaper expects. |
| 489 | (define-public bedtools-2.18 |
| 490 | (package (inherit bedtools) |
| 491 | (name "bedtools") |
| 492 | (version "2.18.0") |
| 493 | (source (origin |
| 494 | (method url-fetch) |
| 495 | (uri (string-append "https://github.com/arq5x/bedtools2/" |
| 496 | "releases/download/v" version |
| 497 | "/bedtools-" version ".tar.gz")) |
| 498 | (sha256 |
| 499 | (base32 |
| 500 | "11rvca19ncg03kxd0wzlfx5ws7r3nisd0z8s9j9n182d8ksp2pxz")))) |
| 501 | (arguments |
| 502 | (list |
| 503 | #:test-target "test" |
| 504 | #:phases |
| 505 | #~(modify-phases %standard-phases |
| 506 | (add-after 'unpack 'compatibility |
| 507 | (lambda _ |
| 508 | (substitute* "src/utils/fileType/FileRecordTypeChecker.h" |
| 509 | (("static const float PERCENTAGE") |
| 510 | "static constexpr float PERCENTAGE")) |
| 511 | (substitute* "src/utils/general/DualQueue.h" |
| 512 | (("template <class T, template<class T> class CompareFunc>") |
| 513 | "template <class T, template<class U> class CompareFunc>")) |
| 514 | (substitute* '("src/utils/BamTools/src/api/algorithms/Sort.h" |
| 515 | "src/utils/BamTools/src/api/internal/bam/BamMultiMerger_p.h") |
| 516 | (("(bool operator\\(\\).*) \\{" m pre) |
| 517 | (string-append pre " const {"))))) |
| 518 | (delete 'configure) |
| 519 | (replace 'install |
| 520 | (lambda _ |
| 521 | (let ((bin (string-append #$output "/bin/"))) |
| 522 | (for-each (lambda (file) |
| 523 | (install-file file bin)) |
| 524 | (find-files "bin" ".*")))))))) |
| 525 | (native-inputs |
| 526 | (list python-wrapper)) |
| 527 | (inputs |
| 528 | (list samtools zlib)))) |
| 529 | |
| 530 | (define-public bitmapperbs |
| 531 | (package |
| 532 | (name "bitmapperbs") |
| 533 | (version "1.0.2.3") |
| 534 | (source (origin |
| 535 | (method git-fetch) |
| 536 | (uri (git-reference |
| 537 | (url "https://github.com/chhylp123/BitMapperBS/") |
| 538 | (commit (string-append "v" version)))) |
| 539 | (file-name (git-file-name name version)) |
| 540 | (sha256 |
| 541 | (base32 |
| 542 | "02ksssfnvmpskld0a2016smfz5nrzm3d90v8974f3cpzywckvp8v")) |
| 543 | (modules '((guix build utils))) |
| 544 | ;; This package bundles a modified copy of htslib, so we cannot |
| 545 | ;; unbundle it. |
| 546 | (snippet |
| 547 | '(begin |
| 548 | (delete-file-recursively "libdivsufsort-2.0.1") |
| 549 | (delete-file-recursively "pSAscan-0.1.0"))))) |
| 550 | (build-system gnu-build-system) |
| 551 | (arguments |
| 552 | (list |
| 553 | #:tests? #false |
| 554 | #:make-flags '(list "bitmapperBS") |
| 555 | ;; The build system checks for CPU features. For this reason, we want |
| 556 | ;; users to build it locally instead of using substitutes. |
| 557 | #:substitutable? #false |
| 558 | #:phases |
| 559 | #~(modify-phases %standard-phases |
| 560 | (add-after 'unpack 'fix-build-system |
| 561 | (lambda _ |
| 562 | (substitute* "Makefile" |
| 563 | (("make prefix=../htslib_aim install") |
| 564 | (string-append "make prefix=" #$output " install-so")) |
| 565 | (("htslib_aim/include") "htslib") |
| 566 | (("htslib_aim/lib") |
| 567 | (string-append #$output "/lib"))))) |
| 568 | (add-after 'unpack 'patch-references-to-psascan |
| 569 | (lambda* (#:key inputs #:allow-other-keys) |
| 570 | (substitute* "Makefile" |
| 571 | (("\"(./)?psascan" pre all) |
| 572 | (string-append "\"" pre (search-input-file inputs "/bin/psascan")))))) |
| 573 | (delete 'configure) |
| 574 | (replace 'install |
| 575 | (lambda _ |
| 576 | (install-file "bitmapperBS" |
| 577 | (string-append #$output "/bin/"))))))) |
| 578 | (inputs |
| 579 | (list libdivsufsort psascan zlib)) |
| 580 | (home-page "https://github.com/chhylp123/BitMapperBS/") |
| 581 | (synopsis "Read aligner for whole-genome bisulfite sequencing") |
| 582 | (description |
| 583 | "BitMapperBS is memory-efficient aligner that is designed for |
| 584 | whole-genome bisulfite sequencing (WGBS) reads from directional protocol.") |
| 585 | (supported-systems '("x86_64-linux")) |
| 586 | (license license:asl2.0))) |
| 587 | |
| 588 | (define-public ngs-bits |
| 589 | (package |
| 590 | (name "ngs-bits") |
| 591 | (version "2025_09") |
| 592 | (home-page "https://github.com/imgag/ngs-bits") |
| 593 | (source (origin |
| 594 | (method git-fetch) |
| 595 | (uri (git-reference |
| 596 | (url home-page) |
| 597 | (commit version) |
| 598 | (recursive? #t))) ;for src/ cppCORE, cppGUI, ccpXML, cppTFW |
| 599 | (file-name (git-file-name name version)) |
| 600 | (sha256 |
| 601 | (base32 |
| 602 | "18iphn4zxgs8iclk3kcahnb08581a6l01fhrrcql1z20fdh478np")) |
| 603 | (modules '((guix build utils))) |
| 604 | ;; This package bundles a modified copy of htslib, so we cannot |
| 605 | ;; unbundle it. |
| 606 | (snippet |
| 607 | '(for-each delete-file-recursively |
| 608 | '("htslib" |
| 609 | "libxml2"))))) |
| 610 | (build-system gnu-build-system) |
| 611 | (arguments |
| 612 | (list |
| 613 | #:modules '((guix build gnu-build-system) |
| 614 | (guix build utils) |
| 615 | (srfi srfi-26) |
| 616 | (ice-9 match)) |
| 617 | #:phases |
| 618 | #~(modify-phases %standard-phases |
| 619 | (replace 'configure |
| 620 | (lambda _ |
| 621 | (setenv "CPLUS_INCLUDE_PATH" |
| 622 | (string-append |
| 623 | #$(this-package-input "libxml2") |
| 624 | "/include/libxml2" |
| 625 | ":" (getenv "CPLUS_INCLUDE_PATH"))) |
| 626 | (substitute* "src/base.pri" |
| 627 | (("QMAKE_LFLAGS [+]=" all) |
| 628 | (string-append all " -Wl,-rpath=" #$output "/lib"))))) |
| 629 | (replace 'build |
| 630 | (lambda _ |
| 631 | (invoke "make" "build_libs_release") |
| 632 | (invoke "make" "build_tools_release"))) |
| 633 | (add-after 'unpack 'patch-tests |
| 634 | (lambda _ |
| 635 | ;; Programming exception: Requested key 'liftover_hg19_hg38' not |
| 636 | ;; found in settings! |
| 637 | (substitute* "src/tools-TEST/tools-TEST.pro" |
| 638 | (("BedLiftOver_Test.cpp") "")) |
| 639 | (let ((coreutils |
| 640 | (match (assoc-ref '#$(standard-packages) "coreutils") |
| 641 | ((package) package)))) |
| 642 | (substitute* "src/cppCORE-TEST/Helper_Test.cpp" |
| 643 | (("/usr/bin/whoami") |
| 644 | (string-append coreutils "/bin/whoami")))))) |
| 645 | (replace 'check |
| 646 | (lambda _ |
| 647 | ;; Could not create application data path |
| 648 | ;; '/homeless-shelter/.local/share/cppCORE-TEST'! |
| 649 | (setenv "HOME" "/tmp") |
| 650 | (invoke "make" "test_lib") |
| 651 | (invoke "make" "test_tools"))) |
| 652 | (delete 'install) |
| 653 | (add-before 'check 'install ;check creates garbage in bin/ |
| 654 | (lambda _ |
| 655 | (define (install-file* file target) |
| 656 | (let ((dest (string-append target "/" (basename file)))) |
| 657 | (format #t "`~a' -> `~a'~%" file dest) |
| 658 | (mkdir-p (dirname dest)) |
| 659 | (let ((stat (lstat file))) |
| 660 | (case (stat:type stat) |
| 661 | ((symlink) |
| 662 | (let ((target (readlink file))) |
| 663 | (symlink target dest))) |
| 664 | (else |
| 665 | (copy-file file dest)))) |
| 666 | (delete-file file))) |
| 667 | (copy-recursively "bin" "tmp") |
| 668 | (let ((doc (string-append #$output "/share/doc/" #$name)) |
| 669 | (examples (find-files "tmp" "[.]example"))) |
| 670 | (for-each (cute install-file* <> doc) examples)) |
| 671 | ;; FIXME: .INI and .TSV files are read from the bin directory |
| 672 | ;; (let ((etc (string-append #$output "/etc")) |
| 673 | ;; (ini (find-files "tmp" "[.]ini"))) |
| 674 | ;; (for-each (cute install-file* <> etc) ini)) |
| 675 | (let ((lib (string-append #$output "/lib")) |
| 676 | (libraries (find-files "tmp" "^lib.*so"))) |
| 677 | (for-each (cute install-file* <> lib) libraries)) |
| 678 | (let ((bin (string-append #$output "/bin")) |
| 679 | (binaries (find-files "tmp"))) |
| 680 | (for-each (cute install-file* <> bin) binaries)) |
| 681 | (rmdir "tmp")))))) |
| 682 | (inputs (list |
| 683 | bzip2 |
| 684 | curl |
| 685 | htslib |
| 686 | libdeflate |
| 687 | libxml2 |
| 688 | lzip |
| 689 | openssl |
| 690 | qtbase-5 |
| 691 | qtsvg-5 |
| 692 | zlib)) |
| 693 | (native-inputs (list libtool |
| 694 | pkg-config |
| 695 | python ;for tests |
| 696 | python-matplotlib ;for tests |
| 697 | python-numpy)) ;for tests |
| 698 | (synopsis "Short-read and long-read sequencing tools for diagnostics") |
| 699 | (description |
| 700 | "Ngs-bits (Next-Generation Sequencing) is collection of short-read and |
| 701 | long-read sequencing tools for diagnostics.") |
| 702 | (license license:expat))) |
| 703 | |
| 704 | (define-public bustools |
| 705 | (package |
| 706 | (name "bustools") |
| 707 | (version "0.43.2") |
| 708 | (source (origin |
| 709 | (method git-fetch) |
| 710 | (uri (git-reference |
| 711 | (url "https://github.com/BUStools/bustools") |
| 712 | (commit (string-append "v" version)))) |
| 713 | (file-name (git-file-name name version)) |
| 714 | (sha256 |
| 715 | (base32 |
| 716 | "068kjlc4d528269nl5mc3j8h2c95r1v545d3fi1iw1ckg8rba0hg")))) |
| 717 | (build-system cmake-build-system) |
| 718 | (arguments (list #:tests? #f)) ;no test target |
| 719 | (inputs (list zlib)) |
| 720 | (home-page "https://bustools.github.io") |
| 721 | (synopsis "Tools for working with BUS files") |
| 722 | (description "bustools is a program for manipulating BUS files for single |
| 723 | cell RNA-Seq datasets. It can be used to error correct barcodes, collapse |
| 724 | UMIs, produce gene count or transcript compatibility count matrices, and is useful |
| 725 | for many other tasks.") |
| 726 | (license license:bsd-2))) |
| 727 | |
| 728 | (define-public cpat |
| 729 | (package |
| 730 | (name "cpat") |
| 731 | (version "3.0.5") |
| 732 | (source |
| 733 | (origin |
| 734 | (method git-fetch) |
| 735 | (uri (git-reference |
| 736 | (url "https://github.com/liguowang/cpat") |
| 737 | (commit (string-append "v" version)))) |
| 738 | (file-name (git-file-name name version)) |
| 739 | (sha256 |
| 740 | (base32 "13l2bxaxn4bf7fglx2vnsxfjzvav96d9v78gzwx71sp7wgsjwz9w")))) |
| 741 | (build-system pyproject-build-system) |
| 742 | (arguments |
| 743 | (list |
| 744 | #:phases |
| 745 | #~(modify-phases %standard-phases |
| 746 | (replace 'check |
| 747 | ;; Working test steps from <test_files/test.sh> file. |
| 748 | (lambda* (#:key tests? #:allow-other-keys) |
| 749 | (when tests? |
| 750 | (with-directory-excursion "test_files" |
| 751 | (system* "gunzip" "Human_test_coding_mRNA.fa.gz") |
| 752 | (invoke "cpat" "--hex=Human_Hexamer.tsv" |
| 753 | "--logitModel=Human_logitModel.RData" |
| 754 | "--top-orf=5" |
| 755 | "--outfile=out5" |
| 756 | "--gene=Human_test_coding_mRNA.fa" |
| 757 | "--antisense")))))))) |
| 758 | (propagated-inputs |
| 759 | (list python-numpy python-pysam)) |
| 760 | (inputs |
| 761 | (list r-minimal)) |
| 762 | (native-inputs (list python-setuptools)) |
| 763 | (home-page "https://wlcb.oit.uci.edu/cpat/") |
| 764 | (synopsis "Alignment-free distinction between coding and noncoding RNA") |
| 765 | (description |
| 766 | "CPAT is a method to distinguish coding and noncoding RNA by using a |
| 767 | logistic regression model based on four pure sequence-based, linguistic |
| 768 | features: ORF size, ORF coverage, Ficket TESTCODE, and Hexamer usage bias. |
| 769 | Linguistic features based method does not require other genomes or protein |
| 770 | databases to perform alignment and is more robust. Because it is |
| 771 | alignment-free, it runs much faster and also easier to use.") |
| 772 | (license license:gpl2+))) |
| 773 | |
| 774 | (define-public python-bam-dedup |
| 775 | (package |
| 776 | (name "python-bam-dedup") |
| 777 | (version "0.3.0") |
| 778 | (source |
| 779 | (origin |
| 780 | (method url-fetch) |
| 781 | (uri (pypi-uri "bam_dedup" version)) |
| 782 | (sha256 |
| 783 | (base32 "1bf2pa0bbxg99ky244rqjzgiszzavc6adg1g5p39sb6ikb39alxj")) |
| 784 | ;; Delete generated C code. |
| 785 | (snippet |
| 786 | '(begin (delete-file "dedup/_fast.c"))))) |
| 787 | (build-system pyproject-build-system) |
| 788 | (arguments |
| 789 | (list |
| 790 | #:test-flags |
| 791 | #~(list "--pyargs" "dedup" "tests") |
| 792 | #:phases |
| 793 | #~(modify-phases %standard-phases |
| 794 | (add-before 'check 'remove-local-source |
| 795 | (lambda _ |
| 796 | (delete-file-recursively "dedup")))))) |
| 797 | (native-inputs (list python-cython python-pytest python-setuptools)) |
| 798 | (propagated-inputs (list python-pysam)) |
| 799 | (home-page "https://github.com/caleblareau/bam-dedup") |
| 800 | (synopsis "Read deduplications on BAM files") |
| 801 | (description |
| 802 | "This package provides a fast, JVM-free toolkit for removing duplicate |
| 803 | reads from BAM/CRAM. It handles the two major kinds of duplication event in |
| 804 | sequencing data, each a faithful, independent port of the standard reference |
| 805 | tool, with the performance-critical inner loops accelerated in Cython.") |
| 806 | (license license:expat))) |
| 807 | |
| 808 | (define-public python-pygad |
| 809 | (package |
| 810 | (name "python-pygad") |
| 811 | (version "3.7.0") |
| 812 | (source |
| 813 | (origin |
| 814 | (method git-fetch) |
| 815 | (uri (git-reference |
| 816 | (url "https://github.com/ahmedfgad/GeneticAlgorithmPython") |
| 817 | (commit version))) |
| 818 | (file-name (git-file-name name version)) |
| 819 | (sha256 |
| 820 | (base32 "079f7g96pvr1jxa6fd5v0x2w0qm05xykwms00rh9hvnh71qj4yrd")))) |
| 821 | (build-system pyproject-build-system) |
| 822 | (arguments |
| 823 | (list |
| 824 | #:test-flags |
| 825 | #~(list "--ignore=tests/test_kerasga.py"))) |
| 826 | (propagated-inputs |
| 827 | (list python-cloudpickle |
| 828 | python-numpy |
| 829 | ;; [optional] |
| 830 | ;; python-keras ;not packaged yet in Guix |
| 831 | python-matplotlib |
| 832 | python-pytorch |
| 833 | python-reportlab |
| 834 | #;python-tensorflow)) ;not packaged yet in Guix |
| 835 | (native-inputs (list python-pytest python-setuptools)) |
| 836 | (home-page "https://github.com/ahmedfgad/GeneticAlgorithmPython") |
| 837 | (synopsis "Genetic algorithm and training machine learning algorithms") |
| 838 | (description |
| 839 | "PyGAD is a Python library for building the genetic algorithm and |
| 840 | optimizing machine learning algorithms. It supports Keras and PyTorch, and it |
| 841 | can optimize both single-objective and multi-objective problems.") |
| 842 | (license license:bsd-3))) |
| 843 | |
| 844 | (define-public r-anglemania |
| 845 | (let ((commit "f27399fb947adfa0de6134493e737658ca591af5") |
| 846 | (revision "1")) |
| 847 | (package |
| 848 | (name "r-anglemania") |
| 849 | (version (git-version "0.99.1" revision commit)) |
| 850 | (source |
| 851 | (origin |
| 852 | (method git-fetch) |
| 853 | (uri (git-reference |
| 854 | (url "https://github.com/BIMSBbioinfo/anglemania/") |
| 855 | (commit commit))) |
| 856 | (file-name (git-file-name name version)) |
| 857 | (sha256 |
| 858 | (base32 "05s60wba5jbg81lflifaz9yykl86f3is1y4b63c7rp6vmd5jf5y3")))) |
| 859 | (properties `((upstream-name . "anglemania"))) |
| 860 | (build-system r-build-system) |
| 861 | (propagated-inputs (list r-bigparallelr |
| 862 | r-bigstatsr |
| 863 | r-checkmate |
| 864 | r-digest |
| 865 | r-dplyr |
| 866 | r-magrittr |
| 867 | r-matrix |
| 868 | r-pbapply |
| 869 | r-rcpp |
| 870 | r-rmio |
| 871 | r-s4vectors |
| 872 | r-seurat |
| 873 | r-seuratobject |
| 874 | r-singlecellexperiment |
| 875 | r-tidyr |
| 876 | r-withr)) |
| 877 | (native-inputs (list r-knitr r-testthat)) |
| 878 | (home-page "https://github.com/BIMSBbioinfo/anglemania/") |
| 879 | (synopsis "Feature extraction for scRNA-seq dataset integration") |
| 880 | (description |
| 881 | "Anglemania extracts genes from multi-batch @code{scRNA-seq} |
| 882 | experiments for downstream dataset integration. It improves conventional |
| 883 | usage of highly-variable genes for integration tasks.") |
| 884 | (license license:gpl3+)))) |
| 885 | |
| 886 | (define-public r-anpan |
| 887 | (let ((commit "efd4dc4874c418a43104ed3f418283d2451f0483") |
| 888 | (revision "1")) |
| 889 | (package |
| 890 | (name "r-anpan") |
| 891 | (version (git-version "0.3.0" revision commit)) |
| 892 | (source |
| 893 | (origin |
| 894 | (method git-fetch) |
| 895 | (uri (git-reference |
| 896 | (url "https://github.com/biobakery/anpan") |
| 897 | (commit commit))) |
| 898 | (file-name (git-file-name name version)) |
| 899 | (sha256 |
| 900 | (base32 "02w281n489wsn0a935dcj7gmd8fjph5wba3ldlp5qz15brcp0w48")))) |
| 901 | (properties |
| 902 | '((upstream-name . "anpan") |
| 903 | (updater-extra-native-inputs . ("r-testthat")))) |
| 904 | (build-system r-build-system) |
| 905 | ;; XXX: We don't actually provide cmdstan itself, just the R interface, |
| 906 | ;; so we cannot run the tests. |
| 907 | (arguments (list #:tests? #false)) |
| 908 | (propagated-inputs (list r-ape |
| 909 | r-cli |
| 910 | r-cmdstanr |
| 911 | r-data-table |
| 912 | r-dplyr |
| 913 | r-fastglm |
| 914 | r-furrr |
| 915 | r-future |
| 916 | r-ggdendro |
| 917 | r-ggnewscale |
| 918 | r-ggplot2 |
| 919 | r-loo |
| 920 | r-patchwork |
| 921 | r-phylogram |
| 922 | r-posterior |
| 923 | r-progressr |
| 924 | r-purrr |
| 925 | r-r-utils |
| 926 | r-stringr |
| 927 | r-tibble |
| 928 | r-tidyselect)) |
| 929 | (native-inputs (list r-knitr r-testthat)) |
| 930 | (home-page "https://github.com/biobakery/anpan") |
| 931 | (synopsis "Quantifying microbial strain-host associations") |
| 932 | (description |
| 933 | "The goal of anpan is to consolidate statistical methods for strain |
| 934 | analysis. This includes automated filtering of metagenomic functional |
| 935 | profiles, testing genetic elements for association with outcomes, phylogenetic |
| 936 | association testing, and pathway-level random effects models.") |
| 937 | (license license:expat)))) |
| 938 | |
| 939 | (define-public r-bedtorch |
| 940 | (let ((commit "f5ff4f83b94f59eac660333c64e4b2f296b35cea") |
| 941 | (revision "1")) |
| 942 | (package |
| 943 | (name "r-bedtorch") |
| 944 | (version (git-version "0.1.12.12" revision commit)) |
| 945 | (source (origin |
| 946 | (method git-fetch) |
| 947 | (uri (git-reference |
| 948 | (url "https://github.com/haizi-zh/bedtorch/") |
| 949 | (commit commit))) |
| 950 | (file-name (git-file-name name version)) |
| 951 | (sha256 |
| 952 | (base32 |
| 953 | "08l04iqf54b5995gc7rvqqd7w327fwqs7qjyhc9y5cqfj8yv4c48")))) |
| 954 | (properties `((upstream-name . "bedtorch"))) |
| 955 | (build-system r-build-system) |
| 956 | ;; Some of the tests attempt to download files off the internet. |
| 957 | (arguments (list #:tests? #false)) |
| 958 | (propagated-inputs |
| 959 | (list r-assertthat |
| 960 | r-curl |
| 961 | r-data-table |
| 962 | r-dplyr |
| 963 | r-genomeinfodb |
| 964 | r-genomicranges |
| 965 | r-purrr |
| 966 | r-r-utils |
| 967 | r-rcpp |
| 968 | r-rcurl |
| 969 | r-readr |
| 970 | r-rhtslib12 |
| 971 | r-s4vectors |
| 972 | r-stringr |
| 973 | r-tidyr)) |
| 974 | (native-inputs (list r-testthat)) |
| 975 | (home-page "https://github.com/haizi-zh/bedtorch/") |
| 976 | (synopsis "R package for fast BED-file manipulation") |
| 977 | (description |
| 978 | "The goal of bedtorch is to provide a fast BED file manipulation tool |
| 979 | suite native in R.") |
| 980 | (license license:expat)))) |
| 981 | |
| 982 | (define-public r-bpcells |
| 983 | (package |
| 984 | (name "r-bpcells") |
| 985 | (version "0.3.1") |
| 986 | (source |
| 987 | (origin |
| 988 | (method git-fetch) |
| 989 | (uri (git-reference |
| 990 | (url "https://github.com/bnprks/BPCells") |
| 991 | (commit (string-append "v" version)))) |
| 992 | (file-name (git-file-name name version)) |
| 993 | (sha256 |
| 994 | (base32 "0yqgcajq83g25mznwcngaw7pi6vcqxqdnynpgb95yci57k3wrp6j")) |
| 995 | (modules '((guix build utils))) |
| 996 | (snippet |
| 997 | '(delete-file-recursively "r/src/vendor/highway")))) |
| 998 | (properties `((upstream-name . "BPCells"))) |
| 999 | (build-system r-build-system) |
| 1000 | (arguments |
| 1001 | (list |
| 1002 | #:phases |
| 1003 | `(modify-phases %standard-phases |
| 1004 | (add-after 'unpack 'chdir |
| 1005 | (lambda _ (chdir "r"))) |
| 1006 | ,@(if (target-x86-32?) |
| 1007 | '((add-after 'chdir 'require-sse2 |
| 1008 | ;; This avoids falling back to the scalar backend in |
| 1009 | ;; highway, which fails to build. |
| 1010 | (lambda _ (setenv "CFLAGS" "-msse2")))) |
| 1011 | '())))) |
| 1012 | (propagated-inputs |
| 1013 | (list r-dplyr |
| 1014 | r-ggplot2 |
| 1015 | r-ggrepel |
| 1016 | r-hexbin |
| 1017 | r-lifecycle |
| 1018 | r-magrittr |
| 1019 | r-matrix |
| 1020 | r-patchwork |
| 1021 | r-rcolorbrewer |
| 1022 | r-rcpp |
| 1023 | r-rcppeigen |
| 1024 | r-readr |
| 1025 | r-rlang |
| 1026 | r-scales |
| 1027 | r-scattermore |
| 1028 | r-stringr |
| 1029 | r-tibble |
| 1030 | r-tidyr |
| 1031 | r-vctrs |
| 1032 | |
| 1033 | ;; Suggested packages |
| 1034 | r-genomicranges |
| 1035 | r-igraph |
| 1036 | r-iranges |
| 1037 | r-matrixstats)) |
| 1038 | (inputs (list hdf5 google-highway zlib)) |
| 1039 | (native-inputs (list pkg-config)) |
| 1040 | (home-page "https://github.com/bnprks/BPCells") |
| 1041 | (synopsis "Single cell counts matrices to PCA") |
| 1042 | (description |
| 1043 | "This is a package providing efficient operations for single cell |
| 1044 | ATAC-seq fragments and RNA counts matrices. It is interoperable with standard |
| 1045 | file formats, and introduces efficient bit-packed formats that allow large |
| 1046 | storage savings and increased read speeds.") |
| 1047 | ;; Either license |
| 1048 | (license (list license:asl2.0 license:expat)))) |
| 1049 | |
| 1050 | (define-public r-btools |
| 1051 | (let ((commit "fa21d4ca01d37ea4d98b45582453f3bf95cbc2b5") |
| 1052 | (revision "1")) |
| 1053 | (package |
| 1054 | (name "r-btools") |
| 1055 | (version (git-version "0.0.1" revision commit)) |
| 1056 | (source (origin |
| 1057 | (method git-fetch) |
| 1058 | (uri (git-reference |
| 1059 | (url "https://github.com/twbattaglia/btools") |
| 1060 | (commit commit))) |
| 1061 | (file-name (git-file-name name version)) |
| 1062 | (sha256 |
| 1063 | (base32 |
| 1064 | "0bca593dnxz6xdywpdi0ipli0paln2b3bfxxj0csnmj55ryrz428")))) |
| 1065 | (properties `((upstream-name . "btools"))) |
| 1066 | (build-system r-build-system) |
| 1067 | ;; There are no tests. |
| 1068 | (arguments (list #:tests? #false)) |
| 1069 | (propagated-inputs |
| 1070 | (list r-biomformat |
| 1071 | r-coin |
| 1072 | r-deseq2 |
| 1073 | r-dplyr |
| 1074 | r-genefilter |
| 1075 | r-phyloseq |
| 1076 | r-picante |
| 1077 | r-plotly |
| 1078 | r-reshape2 |
| 1079 | r-stringr |
| 1080 | r-vegan)) |
| 1081 | (home-page "https://github.com/twbattaglia/btools") |
| 1082 | (synopsis "R functions for microbial diversity analyses") |
| 1083 | (description |
| 1084 | "This package provides an assortment of R functions that is suitable |
| 1085 | for all types of microbial diversity analyses.") |
| 1086 | (license license:expat)))) |
| 1087 | |
| 1088 | (define-public r-codeandroll2 |
| 1089 | (let ((commit "d58e258851a5c0b430e8620d34dbeefb597c548f") |
| 1090 | (revision "1")) |
| 1091 | (package |
| 1092 | (name "r-codeandroll2") |
| 1093 | (version (git-version "2.3.6" revision commit)) |
| 1094 | (source (origin |
| 1095 | (method git-fetch) |
| 1096 | (uri (git-reference |
| 1097 | (url "https://github.com/vertesy/CodeAndRoll2") |
| 1098 | (commit commit))) |
| 1099 | (file-name (git-file-name name version)) |
| 1100 | (sha256 |
| 1101 | (base32 |
| 1102 | "0sy88mfgw6qqhpnlc5020qzr1jllkcrxfhl2lw42bkl5nb56is71")))) |
| 1103 | (properties `((upstream-name . "CodeAndRoll2"))) |
| 1104 | (build-system r-build-system) |
| 1105 | (propagated-inputs (list r-colorramps |
| 1106 | r-dplyr |
| 1107 | r-gplots |
| 1108 | r-gtools |
| 1109 | r-plyr |
| 1110 | r-rcolorbrewer |
| 1111 | r-sessioninfo |
| 1112 | r-sm |
| 1113 | r-stringendo |
| 1114 | r-stringr)) |
| 1115 | (home-page "https://github.com/vertesy/CodeAndRoll2") |
| 1116 | (synopsis "CodeAndRoll2 for vector, matrix and list manipulations") |
| 1117 | (description |
| 1118 | "CodeAndRoll2 is a set of more than 130 productivity functions. |
| 1119 | These functions are used by MarkdownReports, ggExpress, and SeuratUtils.") |
| 1120 | (license license:gpl3)))) |
| 1121 | |
| 1122 | (define-public r-conospanel |
| 1123 | (let ((commit "39e76b201a783b4e92fd615010a735a61746fbb9") |
| 1124 | (revision "1")) |
| 1125 | (package |
| 1126 | (name "r-conospanel") |
| 1127 | (version (git-version "1.0.0" revision commit)) |
| 1128 | (source |
| 1129 | (origin |
| 1130 | (method git-fetch) |
| 1131 | (uri (git-reference |
| 1132 | (url "https://github.com/kharchenkolab/conosPanel") |
| 1133 | (commit commit))) |
| 1134 | (file-name (git-file-name name version)) |
| 1135 | (sha256 |
| 1136 | (base32 "1zf0aj5d4iaxc3ghvjnaja5qby1avlmljzh94bpyvxbd359z9snn")))) |
| 1137 | (properties `((upstream-name . "conosPanel"))) |
| 1138 | (build-system r-build-system) |
| 1139 | (home-page "https://github.com/kharchenkolab/conosPanel") |
| 1140 | (synopsis "Data for the conos package") |
| 1141 | (description "The data within this package is a panel of four samples, |
| 1142 | each with 3000 cells. There are two samples which are bone marrow (BM), and |
| 1143 | two samples which are cord blood (CB).") |
| 1144 | (license license:gpl3)))) |
| 1145 | |
| 1146 | (define-public r-conqur |
| 1147 | (let ((commit "c7a88794efd4ecfe4d96988dceeec3b410222e48") |
| 1148 | (revision "1")) |
| 1149 | (package |
| 1150 | (name "r-conqur") |
| 1151 | (version (git-version "2.0" revision commit)) |
| 1152 | (source (origin |
| 1153 | (method git-fetch) |
| 1154 | (uri (git-reference |
| 1155 | (url "https://github.com/wdl2459/ConQuR") |
| 1156 | (commit commit))) |
| 1157 | (file-name (git-file-name name version)) |
| 1158 | (sha256 |
| 1159 | (base32 |
| 1160 | "19a7p2l67mgjy99i5ksjxlhzaqmrnyi1vzvwnhgnx2jrr6crj7rq")))) |
| 1161 | (properties `((upstream-name . "ConQuR"))) |
| 1162 | (build-system r-build-system) |
| 1163 | (propagated-inputs (list r-ade4 |
| 1164 | r-ape |
| 1165 | r-compositions |
| 1166 | r-cqrreg |
| 1167 | r-doparallel |
| 1168 | r-dplyr |
| 1169 | r-fastdummies |
| 1170 | r-glmnet |
| 1171 | r-gplots |
| 1172 | r-gunifrac |
| 1173 | r-quantreg |
| 1174 | r-randomforest |
| 1175 | r-rocr |
| 1176 | r-vegan)) |
| 1177 | (native-inputs (list r-knitr)) |
| 1178 | (home-page "https://github.com/wdl2459/ConQuR") |
| 1179 | (synopsis "Batch effects removal for microbiome data") |
| 1180 | (description |
| 1181 | "This package conducts batch effects removal from a taxa read count |
| 1182 | table by a conditional quantile regression method. The distributional |
| 1183 | attributes of microbiome data - zero-inflation and over-dispersion, are |
| 1184 | simultaneously considered.") |
| 1185 | (license license:gpl3)))) |
| 1186 | |
| 1187 | (define-public r-ewastools |
| 1188 | (let ((commit "f7646cacd73266708479b3fea5d625054d179f95") |
| 1189 | (revision "1")) |
| 1190 | (package |
| 1191 | (name "r-ewastools") |
| 1192 | (version (git-version "1.7.2" revision commit)) |
| 1193 | (source |
| 1194 | (origin |
| 1195 | (method git-fetch) |
| 1196 | (uri (git-reference |
| 1197 | (url "https://github.com/hhhh5/ewastools/") |
| 1198 | (commit commit))) |
| 1199 | (file-name (git-file-name name version)) |
| 1200 | (sha256 |
| 1201 | (base32 "0irarlnxfnasa755adxsn67rxsy01zwhjhw18g4cag08cqiyyw41")))) |
| 1202 | (properties `((upstream-name . "ewastools"))) |
| 1203 | (build-system r-build-system) |
| 1204 | (arguments |
| 1205 | (list |
| 1206 | #:phases |
| 1207 | '(modify-phases %standard-phases |
| 1208 | (add-after 'unpack 'disable-bad-tests |
| 1209 | (lambda _ |
| 1210 | ;; Test data are missing. |
| 1211 | (substitute* "tests/testthat/test-minfi-pipeline.R" |
| 1212 | ((".*compatibility with minfi.*" m) |
| 1213 | (string-append m "skip('guix')\n")))))))) |
| 1214 | (propagated-inputs |
| 1215 | (list r-data-table |
| 1216 | r-igraph |
| 1217 | r-illuminaio |
| 1218 | r-mblm |
| 1219 | r-quadprog)) |
| 1220 | (native-inputs |
| 1221 | (list r-enmix |
| 1222 | r-illuminahumanmethylationepicanno-ilm10b4-hg19 |
| 1223 | r-knitr |
| 1224 | r-minfi |
| 1225 | r-stringi |
| 1226 | r-testthat)) |
| 1227 | (home-page "https://github.com/hhhh5/ewastools/") |
| 1228 | (synopsis |
| 1229 | "Quality control toolset for the Illumina Infinium DNA methylation") |
| 1230 | (description |
| 1231 | "This package provides a collection of useful functions for working |
| 1232 | with DNA methylation micro-array data.") |
| 1233 | (license license:unlicense)))) |
| 1234 | |
| 1235 | (define-public r-hdwgcna |
| 1236 | (let ((commit "950b8c74c5d74b30b4a562820e70ca00ee29e2c6") |
| 1237 | (revision "1")) |
| 1238 | (package |
| 1239 | (name "r-hdwgcna") |
| 1240 | (version (git-version "0.4.00" revision commit)) |
| 1241 | (source |
| 1242 | (origin |
| 1243 | (method git-fetch) |
| 1244 | (uri (git-reference |
| 1245 | (url "https://github.com/smorabit/hdWGCNA") |
| 1246 | (commit commit))) |
| 1247 | (file-name (git-file-name name version)) |
| 1248 | (sha256 |
| 1249 | (base32 "0d9hr2ly7k6kq6yp5spjlp6lp9yx593xmggajyzjxlhxi2lbyqgn")) |
| 1250 | (snippet |
| 1251 | '(for-each delete-file |
| 1252 | (list |
| 1253 | "docs/deps/bootstrap-5.1.0/bootstrap.bundle.min.js" |
| 1254 | "docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js" |
| 1255 | "docs/deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js" |
| 1256 | "docs/deps/clipboard.js-2.0.11/clipboard.min.js" |
| 1257 | "docs/deps/headroom-0.11.0/headroom.min.js" |
| 1258 | "docs/deps/headroom-0.11.0/jQuery.headroom.min.js" |
| 1259 | "docs/deps/jquery-3.6.0/jquery-3.6.0.min.js" |
| 1260 | "docs/deps/search-1.0.0/autocomplete.jquery.min.js" |
| 1261 | "docs/deps/search-1.0.0/fuse.min.js" |
| 1262 | "docs/deps/search-1.0.0/mark.min.js"))))) |
| 1263 | (properties `((upstream-name . "hdWGCNA"))) |
| 1264 | (build-system r-build-system) |
| 1265 | (arguments |
| 1266 | (list |
| 1267 | #:modules |
| 1268 | '((guix build r-build-system) |
| 1269 | (guix build minify-build-system) |
| 1270 | (guix build utils) |
| 1271 | (ice-9 match)) |
| 1272 | #:imported-modules |
| 1273 | `(,@%r-build-system-modules (guix build minify-build-system)) |
| 1274 | #:phases |
| 1275 | '(modify-phases (@ (guix build r-build-system) %standard-phases) |
| 1276 | (add-after 'unpack 'process-javascript |
| 1277 | (lambda* (#:key inputs #:allow-other-keys) |
| 1278 | (with-directory-excursion "docs/deps/" |
| 1279 | (for-each (match-lambda |
| 1280 | ((source . target) |
| 1281 | (minify source #:target target))) |
| 1282 | `((,(string-append (assoc-ref inputs "js-bootstrap-5.1") |
| 1283 | "/dist/js/bootstrap.bundle.js") |
| 1284 | . "bootstrap-5.1.0/bootstrap.bundle.min.js") |
| 1285 | (,(string-append (assoc-ref inputs "js-bootstrap-5.3") |
| 1286 | "/dist/js/bootstrap.bundle.js") |
| 1287 | . "bootstrap-5.3.1/bootstrap.bundle.min.js") |
| 1288 | (,(search-input-file inputs "/dist/bootstrap-toc.js") |
| 1289 | . "bootstrap-toc-1.0.1/bootstrap-toc.min.js") |
| 1290 | (,(search-input-file inputs "/dist/clipboard.js") |
| 1291 | . "clipboard.js-2.0.11/clipboard.min.js") |
| 1292 | ("jquery-3.6.0/jquery-3.6.0.js" |
| 1293 | . "jquery-3.6.0/jquery-3.6.0.min.js") |
| 1294 | (,(search-input-file inputs "/dist/autocomplete.jquery.js") |
| 1295 | . "search-1.0.0/autocomplete.jquery.min.js") |
| 1296 | (,(search-input-file inputs "/dist/fuse.js") |
| 1297 | . "search-1.0.0/fuse.min.js") |
| 1298 | (,(search-input-file inputs "/dist/mark.js") |
| 1299 | . "search-1.0.0/mark.min.js") |
| 1300 | (,(assoc-ref inputs "js-headroom") |
| 1301 | . "headroom-0.11.0/headroom.min.js") |
| 1302 | (,(assoc-ref inputs "js-headroom-jquery") |
| 1303 | . "docs/deps/headroom-0.11.0/jQuery.headroom.min.js"))))))))) |
| 1304 | (propagated-inputs (list r-dplyr |
| 1305 | r-enrichr |
| 1306 | r-geneoverlap |
| 1307 | r-genomicranges |
| 1308 | r-ggplot2 |
| 1309 | r-ggraph |
| 1310 | r-ggrepel |
| 1311 | r-harmony |
| 1312 | r-igraph |
| 1313 | r-matrix |
| 1314 | r-proxy |
| 1315 | r-seurat |
| 1316 | r-tester |
| 1317 | r-tidygraph |
| 1318 | r-ucell |
| 1319 | r-wgcna)) |
| 1320 | (native-inputs |
| 1321 | `(("esbuild" ,esbuild) |
| 1322 | ("js-autocomplete" |
| 1323 | ,(let ((version "0.38.0")) |
| 1324 | (origin |
| 1325 | (method git-fetch) |
| 1326 | (uri (git-reference |
| 1327 | (url "https://github.com/algolia/autocomplete") |
| 1328 | (commit (string-append "v" version)))) |
| 1329 | (file-name (git-file-name "js-autocomplete" version)) |
| 1330 | (sha256 |
| 1331 | (base32 |
| 1332 | "04r1qmd5cxcf8cf471kx51y6wq86rh54y42y7xl51z95ag5csswl"))))) |
| 1333 | ("js-bootstrap-5.1" |
| 1334 | ,(let ((version "5.1.0")) |
| 1335 | (origin |
| 1336 | (method git-fetch) |
| 1337 | (uri (git-reference |
| 1338 | (url "https://github.com/twbs/bootstrap") |
| 1339 | (commit (string-append "v" version)))) |
| 1340 | (file-name (git-file-name "js-bootstrap" version)) |
| 1341 | (sha256 |
| 1342 | (base32 |
| 1343 | "0wjyi497wy2lbypkxwa72z294zbh827lb2s8pzgi40hvjsw00ns4"))))) |
| 1344 | ("js-bootstrap-5.3" |
| 1345 | ,(let ((version "5.3.1")) |
| 1346 | (origin |
| 1347 | (method git-fetch) |
| 1348 | (uri (git-reference |
| 1349 | (url "https://github.com/twbs/bootstrap") |
| 1350 | (commit (string-append "v" version)))) |
| 1351 | (file-name (git-file-name "js-bootstrap" version)) |
| 1352 | (sha256 |
| 1353 | (base32 |
| 1354 | "045majqayd4wrpq3r3fisi56grwizykwj5705jlzsg7bwln8v3qr"))))) |
| 1355 | ("js-bootstrap-toc" |
| 1356 | ,(let ((version "1.0.1")) |
| 1357 | (origin |
| 1358 | (method git-fetch) |
| 1359 | (uri (git-reference |
| 1360 | (url "https://github.com/afeld/bootstrap-toc") |
| 1361 | (commit (string-append "v" version)))) |
| 1362 | (file-name (git-file-name "js-bootstrap-toc" version)) |
| 1363 | (sha256 |
| 1364 | (base32 |
| 1365 | "1d4rqvbkwmmld0d8nz2is1rwc55rlb4b0v2anylxj63335cs0mk0"))))) |
| 1366 | ("js-clipboard" |
| 1367 | ,(let ((version "2.0.11")) |
| 1368 | (origin |
| 1369 | (method git-fetch) |
| 1370 | (uri (git-reference |
| 1371 | (url "https://github.com/zenorocha/clipboard.js") |
| 1372 | (commit (string-append "v" version)))) |
| 1373 | (file-name (git-file-name "js-clipboard" version)) |
| 1374 | (sha256 |
| 1375 | (base32 |
| 1376 | "0nn9cry7ddf47vkl3vnpc4z86da46wq7m3qf3awcs05197bjn1vj"))))) |
| 1377 | ("js-fuse" |
| 1378 | ,(let ((version "6.4.6")) |
| 1379 | (origin |
| 1380 | (method git-fetch) |
| 1381 | (uri (git-reference |
| 1382 | (url "https://github.com/krisk/Fuse") |
| 1383 | (commit (string-append "v" version)))) |
| 1384 | (file-name (git-file-name "js-fuse" version)) |
| 1385 | (sha256 |
| 1386 | (base32 |
| 1387 | "1k0l2vxw4nsmwrz48kmgv41ymphrdwbdbckiv9w011jwbnfsqvn5"))))) |
| 1388 | ("js-mark" |
| 1389 | ,(let ((version "8.11.1")) |
| 1390 | (origin |
| 1391 | (method git-fetch) |
| 1392 | (uri (git-reference |
| 1393 | (url "https://github.com/julkue/mark.js") |
| 1394 | (commit version))) |
| 1395 | (file-name (git-file-name "js-mark" version)) |
| 1396 | (sha256 |
| 1397 | (base32 |
| 1398 | "108cw4732wjlwwjwpc86fqlr8yfrlagqdn7126qxa70c0ldfma93"))))) |
| 1399 | ("js-headroom" |
| 1400 | ,(let ((version "0.11.0")) |
| 1401 | (origin |
| 1402 | (method url-fetch) |
| 1403 | (uri (string-append "https://unpkg.com/headroom.js@" |
| 1404 | version "/dist/headroom.js")) |
| 1405 | (file-name (string-append "js-headroom-" version ".js")) |
| 1406 | (sha256 |
| 1407 | (base32 |
| 1408 | "0d76fpajxzwsj4847zgrv05daq8ri8hcww5dcldq1q2iyyxsmrva"))))) |
| 1409 | ("js-headroom-jquery" |
| 1410 | ,(let ((version "0.11.0")) |
| 1411 | (origin |
| 1412 | (method url-fetch) |
| 1413 | (uri (string-append "https://unpkg.com/headroom.js@" |
| 1414 | version "/dist/jQuery.headroom.js")) |
| 1415 | (file-name (string-append "js-headroom-jquery-" version ".js")) |
| 1416 | (sha256 |
| 1417 | (base32 |
| 1418 | "1jz1ampd9k8p32m6bid4yrr66bkngd8blj2q0774hl91rszhjqrv"))))) |
| 1419 | ("r-devtools" ,r-devtools) |
| 1420 | ("r-testthat" ,r-testthat))) |
| 1421 | (home-page "https://github.com/smorabit/hdWGCNA") |
| 1422 | (synopsis "Weighted gene co-expression network analysis") |
| 1423 | (description |
| 1424 | "@code{hdWGCNA} is an R package for performing weighted gene |
| 1425 | co-expression network analysis in high dimensional -omics such as single-cell |
| 1426 | RNA-seq or spatial transcriptomics.") |
| 1427 | (license license:gpl3)))) |
| 1428 | |
| 1429 | (define-public r-netid |
| 1430 | (let ((commit "6ad1ffdd64a6584cc1d392524dad8e248d4590a8") |
| 1431 | (revision "1")) |
| 1432 | (package |
| 1433 | (name "r-netid") |
| 1434 | (version (git-version "0.1.0" revision commit)) |
| 1435 | (source |
| 1436 | (origin |
| 1437 | (method git-fetch) |
| 1438 | (uri (git-reference |
| 1439 | (url "https://github.com/WWXkenmo/NetID_package") |
| 1440 | (commit commit))) |
| 1441 | (file-name (git-file-name name version)) |
| 1442 | (sha256 |
| 1443 | (base32 "1blm5ljql91xmbyxxwm3vw8iz8d4ir9gm7wfnapqhfdbjvg4l21q")))) |
| 1444 | (properties `((upstream-name . "NetID"))) |
| 1445 | (build-system r-build-system) |
| 1446 | (propagated-inputs (list r-doparallel |
| 1447 | r-dorng |
| 1448 | r-glmnet |
| 1449 | r-hmisc |
| 1450 | r-igraph |
| 1451 | r-irlba |
| 1452 | r-lmtest |
| 1453 | r-matrix |
| 1454 | r-mclust |
| 1455 | r-pracma |
| 1456 | r-raceid |
| 1457 | r-rarpack |
| 1458 | r-reticulate |
| 1459 | r-robustrankaggreg |
| 1460 | r-rsvd |
| 1461 | r-seurat |
| 1462 | |
| 1463 | ;; Needed for use with reticulate |
| 1464 | python-anndata |
| 1465 | python-geosketch |
| 1466 | python-scanpy |
| 1467 | python-scvelo)) |
| 1468 | (native-inputs (list r-knitr)) |
| 1469 | (home-page "https://github.com/WWXkenmo/NetID_package") |
| 1470 | (synopsis |
| 1471 | "Scalable method to infer fate-specific networks from single-cell data") |
| 1472 | (description |
| 1473 | "This package provides a method to sample cells from single-cell data. |
| 1474 | It also generates an aggregate profile on a pruned K-Nearest Neighbor graph. |
| 1475 | This approach leads to an improved gene expression profile for quantifying |
| 1476 | gene regulations.") |
| 1477 | (license license:expat)))) |
| 1478 | |
| 1479 | (define-public r-p2data |
| 1480 | (let ((commit "7d4c0e17d7899f9d9b08ab2bf455abe150912f4c") |
| 1481 | (revision "1")) |
| 1482 | (package |
| 1483 | (name "r-p2data") |
| 1484 | (version (git-version "1.0.0" revision commit)) |
| 1485 | (source |
| 1486 | (origin |
| 1487 | (method git-fetch) |
| 1488 | (uri (git-reference |
| 1489 | (url "https://github.com/kharchenkolab/p2data") |
| 1490 | (commit commit))) |
| 1491 | (file-name (git-file-name name version)) |
| 1492 | (sha256 |
| 1493 | (base32 "1hadrldldxvhqs43aqs3c88bqfgql3wcfkbll3jz7fh6z7p3x324")))) |
| 1494 | (properties `((upstream-name . "p2data"))) |
| 1495 | (build-system r-build-system) |
| 1496 | (home-page "https://github.com/kharchenkolab/p2data") |
| 1497 | (synopsis "Data for pagoda2") |
| 1498 | (description "This package contains data used by pagoda2. The data |
| 1499 | within this package are the 3000 bone marrow cells used for vignettes.") |
| 1500 | (license license:gpl3)))) |
| 1501 | |
| 1502 | (define-public r-pizzarr |
| 1503 | (package |
| 1504 | (name "r-pizzarr") |
| 1505 | (version "0.2.0") |
| 1506 | (source |
| 1507 | (origin |
| 1508 | (method git-fetch) |
| 1509 | (uri (git-reference |
| 1510 | (url "https://github.com/keller-mark/pizzarr") |
| 1511 | (commit (string-append "v" version)))) |
| 1512 | (file-name (git-file-name name version)) |
| 1513 | (sha256 |
| 1514 | (base32 "1m38c57pfliycxkhb3mwgh01cl2q76r1jhd3vnk07dbfhqdbqai6")))) |
| 1515 | (properties `((upstream-name . "pizzarr"))) |
| 1516 | (build-system cargo-build-system) |
| 1517 | (arguments |
| 1518 | (list |
| 1519 | #:imported-modules |
| 1520 | (append %cargo-build-system-modules |
| 1521 | %r-build-system-modules) |
| 1522 | #:modules |
| 1523 | '((guix build cargo-build-system) |
| 1524 | ((guix build r-build-system) #:prefix r:) |
| 1525 | (guix build utils)) |
| 1526 | #:cargo-build-flags |
| 1527 | '(list "--target-dir=./target" "--release") |
| 1528 | #:phases |
| 1529 | #~(append (modify-phases %standard-phases |
| 1530 | (add-after 'unpack 'patch-Makevars |
| 1531 | (lambda _ |
| 1532 | ;; At this point we've already built the Rust parts. |
| 1533 | (substitute* "src/Makevars.in" |
| 1534 | (("^all:.*") "all:") |
| 1535 | (("^\\$\\(STATLIB\\):") "NOBODYCARES:") |
| 1536 | (("@PKG_LIBS_EXTRA@") "@PKG_LIBS_EXTRA@ -lzstd -lz")))) |
| 1537 | (add-after 'patch-Makevars 'chdir |
| 1538 | (lambda _ (chdir "src/rust"))) |
| 1539 | (add-after 'chdir 'patch-rust-dependency |
| 1540 | (lambda _ |
| 1541 | (setenv "RUSTFLAGS" "--print=native-static-libs") |
| 1542 | (substitute* "Cargo.toml" |
| 1543 | (("extendr-api = \\{ git.* \\}") "extendr-api = \"0.8.1\"")))) |
| 1544 | (add-after 'package 'chdir-back |
| 1545 | (lambda _ (chdir "../.."))) |
| 1546 | (delete 'install) |
| 1547 | (delete 'check)) |
| 1548 | (modify-phases (@ (guix build r-build-system) %standard-phases) |
| 1549 | (delete 'unpack) |
| 1550 | (replace 'patch-tests |
| 1551 | (lambda* (#:key inputs outputs tests? #:allow-other-keys) |
| 1552 | ((assoc-ref (@ (guix build r-build-system) %standard-phases) |
| 1553 | 'patch-tests) |
| 1554 | #:skipped-tests |
| 1555 | ;; These files contain tests that require Internet access. |
| 1556 | '("test-compat.R" "test-get.R" |
| 1557 | ;; HttpStore requires the crul package |
| 1558 | ("test-zarrs-dispatch.R" "can_use_zarrs_create returns FALSE for HttpStore") |
| 1559 | ("test-zarrs-store-cache.R" "HttpStore get_store_identifier returns URL"))))) |
| 1560 | (replace 'check |
| 1561 | (lambda* (#:key inputs outputs tests? #:allow-other-keys) |
| 1562 | ((assoc-ref (@ (guix build r-build-system) %standard-phases) |
| 1563 | 'check) |
| 1564 | #:test-target "tests" |
| 1565 | #:test-types #false |
| 1566 | #:inputs inputs |
| 1567 | #:outputs outputs |
| 1568 | #:tests? tests?))))))) |
| 1569 | (propagated-inputs (list r-jsonlite r-memoise r-qs2 r-r6 r-stringr)) |
| 1570 | (inputs |
| 1571 | (cons* c-blosc openssl snappy zlib `(,zstd "lib") |
| 1572 | (cargo-inputs 'r-pizzarr))) |
| 1573 | (native-inputs |
| 1574 | (list pkg-config |
| 1575 | r-minimal r-pbapply r-testthat r-vcr)) |
| 1576 | (home-page "https://github.com/keller-mark/pizzarr") |
| 1577 | (synopsis "Slice into Zarr arrays in R") |
| 1578 | (description |
| 1579 | "This package provides an implementation of chunked, compressed, |
| 1580 | N-dimensional arrays for R, Zarr specification version 2 (2024) |
| 1581 | <doi:10.5281/zenodo.11320255>.") |
| 1582 | (license license:expat))) |
| 1583 | |
| 1584 | (define-public r-rhtslib12 |
| 1585 | (let ((commit "ee186daf04876969c7f31c16a0e0fda8e7c16a30") |
| 1586 | (revision "1")) |
| 1587 | (package |
| 1588 | (name "r-rhtslib12") |
| 1589 | (version (git-version "1.23.2" revision commit)) |
| 1590 | (source (origin |
| 1591 | (method git-fetch) |
| 1592 | (uri (git-reference |
| 1593 | (url "https://github.com/haizi-zh/Rhtslib12") |
| 1594 | (commit commit))) |
| 1595 | (file-name (git-file-name name version)) |
| 1596 | (sha256 |
| 1597 | (base32 |
| 1598 | "0a3kkp0phi2fq6ip8p9vfj3axn7l15f2mb51a6v3ai4nlkhqqawj")))) |
| 1599 | (properties `((upstream-name . "Rhtslib12"))) |
| 1600 | (build-system r-build-system) |
| 1601 | (propagated-inputs (list curl zlib r-zlibbioc)) |
| 1602 | (native-inputs (list pkg-config r-knitr)) |
| 1603 | (home-page "https://github.com/haizi-zh/Rhtslib12") |
| 1604 | (synopsis "HTSlib high-throughput sequencing library as an R package") |
| 1605 | (description |
| 1606 | "This package provides version 1.12 of the HTSlib C library for |
| 1607 | high-throughput sequence analysis. The package is primarily useful to |
| 1608 | developers of other R packages who wish to make use of HTSlib.") |
| 1609 | (license license:lgpl2.0+)))) |
| 1610 | |
| 1611 | (define-public r-scdesign2 |
| 1612 | (let ((commit "554f2c4b1a7ee6cc04969a287df9b3b77d7bb2fe") |
| 1613 | (revision "1")) |
| 1614 | (package |
| 1615 | (name "r-scdesign2") |
| 1616 | (version (git-version "1.0.0" revision commit)) |
| 1617 | (source |
| 1618 | (origin |
| 1619 | (method git-fetch) |
| 1620 | (uri (git-reference |
| 1621 | (url "https://github.com/JSB-UCLA/scDesign2") |
| 1622 | (commit commit))) |
| 1623 | (file-name (git-file-name name version)) |
| 1624 | (sha256 |
| 1625 | (base32 "09zkz6qdcx54092ab6761ja3pclax9xzana8dk8qvxrdbjshb8p7")))) |
| 1626 | (properties `((upstream-name . "scDesign2"))) |
| 1627 | (build-system r-build-system) |
| 1628 | (propagated-inputs (list r-mass r-pscl)) |
| 1629 | (native-inputs (list r-knitr)) |
| 1630 | (home-page "https://github.com/JSB-UCLA/scDesign2") |
| 1631 | (synopsis "Statistical simulator for scRNA-seq with gene correlation") |
| 1632 | (description |
| 1633 | "This package offers a flexible statistical simulator for scRNA-seq data. |
| 1634 | It can generate data that captures gene correlation. Additionally, it allows |
| 1635 | for varying the number of cells and sequencing depth.") |
| 1636 | (license license:expat)))) |
| 1637 | |
| 1638 | (define-public r-scenic |
| 1639 | (let ((commit "cedf8490a634da550cea2c831544e5f7f14467d2") |
| 1640 | (revision "1")) |
| 1641 | (package |
| 1642 | (name "r-scenic") |
| 1643 | (version (git-version "1.3.1" revision commit)) |
| 1644 | (source |
| 1645 | (origin |
| 1646 | (method git-fetch) |
| 1647 | (uri (git-reference |
| 1648 | (url "https://github.com/aertslab/SCENIC") |
| 1649 | (commit commit))) |
| 1650 | (file-name (git-file-name name version)) |
| 1651 | (sha256 |
| 1652 | (base32 "17ai0q260hdqbvm1km1s5dw93pgz4f546ycfii57jyy9m9jka7r0")))) |
| 1653 | (properties `((upstream-name . "SCENIC"))) |
| 1654 | (build-system r-build-system) |
| 1655 | (propagated-inputs (list r-aucell |
| 1656 | r-data-table |
| 1657 | r-dynamictreecut |
| 1658 | r-genie3 |
| 1659 | r-ggrepel |
| 1660 | r-mixtools |
| 1661 | r-nmf |
| 1662 | r-rcistarget |
| 1663 | r-rtsne)) |
| 1664 | (native-inputs (list r-knitr)) |
| 1665 | (home-page "https://github.com/aertslab/SCENIC") |
| 1666 | (synopsis |
| 1667 | "SCENIC (Single Cell rEgulatory Network Inference and Clustering)") |
| 1668 | (description "SCENIC (Single-cell regulatory network inference and |
| 1669 | clustering) is an R package to infer Gene Regulatory Networks and cell types |
| 1670 | from single-cell RNA-seq data.") |
| 1671 | ;; As of commit cedf8490a634da550cea2c831544e5f7f14467d2 the license is |
| 1672 | ;; GPLv3. |
| 1673 | (license license:gpl3)))) |
| 1674 | |
| 1675 | (define-public r-scent |
| 1676 | (let ((commit "f01f18ac30f8a9bcf85b738c6c7815017e2c8ee5") |
| 1677 | (revision "1")) |
| 1678 | (package |
| 1679 | (name "r-scent") |
| 1680 | (version (git-version "1.0.0" revision commit)) |
| 1681 | (source |
| 1682 | (origin |
| 1683 | (method git-fetch) |
| 1684 | (uri (git-reference |
| 1685 | (url "https://github.com/immunogenomics/SCENT") |
| 1686 | (commit commit))) |
| 1687 | (file-name (git-file-name name version)) |
| 1688 | (sha256 |
| 1689 | (base32 "18krksy8ac7yy8hghzaxscj91c61j195yg7j60zswdq97islvfzi")))) |
| 1690 | (properties `((upstream-name . "SCENT"))) |
| 1691 | (build-system r-build-system) |
| 1692 | (inputs (list bedtools)) |
| 1693 | (propagated-inputs (list r-boot |
| 1694 | r-data-table |
| 1695 | r-hmisc |
| 1696 | r-lme4 |
| 1697 | r-mass |
| 1698 | r-matrix |
| 1699 | r-r-utils |
| 1700 | r-stringr)) |
| 1701 | (native-inputs (list r-knitr)) |
| 1702 | (home-page "https://github.com/immunogenomics/SCENT") |
| 1703 | (synopsis |
| 1704 | "Single-Cell enhancer target gene mapping for multimodal single-cell data") |
| 1705 | (description |
| 1706 | "This package contains functions for the SCENT algorithm. |
| 1707 | SCENT uses single-cell multimodal data and links ATAC-seq peaks |
| 1708 | to their target genes by modeling association between chromatin |
| 1709 | accessibility and gene expression across individual single cells.") |
| 1710 | (license license:expat)))) |
| 1711 | |
| 1712 | (define-public r-saige |
| 1713 | (let ((commit "7172b7fa774ec56b3ab6e45173cede3de010a41b") |
| 1714 | (revision "1")) |
| 1715 | (package |
| 1716 | (name "r-saige") |
| 1717 | (version (git-version "1.5.1" revision commit)) |
| 1718 | (source |
| 1719 | (origin |
| 1720 | (method git-fetch) |
| 1721 | (uri (git-reference |
| 1722 | (url "https://github.com/saigegit/SAIGE") |
| 1723 | (commit commit))) |
| 1724 | (file-name (git-file-name name version)) |
| 1725 | (sha256 |
| 1726 | (base32 "0j5nzw5bvfvi48gkh2l60dai4av8z07kkf981y9wf22phnvnpcaw")))) |
| 1727 | (properties `((upstream-name . "SAIGE"))) |
| 1728 | (build-system r-build-system) |
| 1729 | (arguments |
| 1730 | (list |
| 1731 | #:phases |
| 1732 | '(modify-phases %standard-phases |
| 1733 | (add-after 'unpack 'do-not-download-packages |
| 1734 | (lambda _ |
| 1735 | ;; Pretend to be a Conda build to avoid having to install |
| 1736 | ;; things with pip and cget. |
| 1737 | (setenv "CONDA_BUILD" "1"))) |
| 1738 | (add-after 'unpack 'add-missing-include |
| 1739 | (lambda _ |
| 1740 | (substitute* "src/SAIGE_fitGLMM_fast.cpp" |
| 1741 | (("#include <omp.h>") |
| 1742 | "#include <omp.h>\n#include <tbb/concurrent_vector.h>")))) |
| 1743 | (add-after 'unpack 'link-with-openblas |
| 1744 | (lambda* (#:key inputs #:allow-other-keys) |
| 1745 | (substitute* "src/Makevars" |
| 1746 | (("-llapack") |
| 1747 | (search-input-file inputs |
| 1748 | "/lib/libopenblas.so"))))) |
| 1749 | (add-after 'unpack 'link-with-plink2 |
| 1750 | (lambda* (#:key inputs #:allow-other-keys) |
| 1751 | (substitute* "src/Makevars" |
| 1752 | (("-l:plink2_includes.a") |
| 1753 | (search-input-file inputs "/lib/libplink2.so")))))))) |
| 1754 | (inputs (list openblas plink-ng savvy superlu zlib zstd)) |
| 1755 | (propagated-inputs (list r-bh |
| 1756 | r-data-table |
| 1757 | r-dplyr |
| 1758 | r-lintools |
| 1759 | r-matrix |
| 1760 | r-metaskat |
| 1761 | r-optparse |
| 1762 | r-qlcmatrix |
| 1763 | r-rcpp |
| 1764 | r-rcpparmadillo |
| 1765 | r-rcppeigen |
| 1766 | r-rcppparallel |
| 1767 | r-rhpcblasctl |
| 1768 | r-rsqlite |
| 1769 | r-skat |
| 1770 | r-spatest |
| 1771 | r-survival)) |
| 1772 | (home-page "https://github.com/saigegit/SAIGE") |
| 1773 | (synopsis "Genome-wide association tests in large-scale data sets") |
| 1774 | (description "SAIGE is a package for efficiently controlling for |
| 1775 | case-control imbalance and sample relatedness in single-variant assoc |
| 1776 | tests (SAIGE) and controlling for sample relatedness in region-based assoc |
| 1777 | tests in large cohorts and biobanks (SAIGE-GENE+).") |
| 1778 | (license license:gpl2+)))) |
| 1779 | |
| 1780 | (define-public r-sigfit |
| 1781 | (package |
| 1782 | (name "r-sigfit") |
| 1783 | (version "2.2.0") |
| 1784 | (source |
| 1785 | (origin |
| 1786 | (method git-fetch) |
| 1787 | (uri (git-reference |
| 1788 | (url "https://github.com/kgori/sigfit") |
| 1789 | (commit (string-append "v" version)))) |
| 1790 | (file-name (git-file-name name version)) |
| 1791 | (sha256 |
| 1792 | (base32 "16r6m8p90rnb4hxl86fz3kbals3626232i8fj0zhhd23p89z3w4v")))) |
| 1793 | (properties `((upstream-name . "sigfit"))) |
| 1794 | (build-system r-build-system) |
| 1795 | (arguments |
| 1796 | (list |
| 1797 | #:phases |
| 1798 | #~(modify-phases %standard-phases |
| 1799 | (add-after 'unpack 'gcc-14-compatibility |
| 1800 | (lambda _ |
| 1801 | (substitute* "configure" |
| 1802 | ;; Modifying src/Makevars directly is overruled. |
| 1803 | (("config\\(\\)\"") |
| 1804 | "config()\" |
| 1805 | echo \"PKG_CXXFLAGS+=-g -O2 -Wno-error=changes-meaning\" >> src/Makevars"))))))) |
| 1806 | (native-inputs (list r-codetools)) |
| 1807 | (propagated-inputs (list r-rcpp |
| 1808 | r-rstan |
| 1809 | r-rstantools |
| 1810 | r-coda |
| 1811 | r-clue |
| 1812 | r-knitr |
| 1813 | r-rmarkdown |
| 1814 | r-bh |
| 1815 | r-rcppeigen |
| 1816 | r-stanheaders)) |
| 1817 | (home-page "https://github.com/kgori/sigfit") |
| 1818 | (synopsis "Flexible Bayesian inference of mutational signatures") |
| 1819 | (description |
| 1820 | "This R package lets you estimate signatures of mutational processes and |
| 1821 | their activities on mutation count data. Starting from a set of |
| 1822 | @dfn{single-nucleotide variants} (SNVs), it allows both estimation of the |
| 1823 | exposure of samples to predefined mutational signatures (including whether the |
| 1824 | signatures are present at all), and identification of signatures de novo from |
| 1825 | the mutation counts.") |
| 1826 | (license license:gpl3))) |
| 1827 | |
| 1828 | (define-public r-singlet |
| 1829 | (let ((commit "ef4a374f27681477b95d856b74bd3cbbb379308d") |
| 1830 | (revision "1")) |
| 1831 | (package |
| 1832 | (name "r-singlet") |
| 1833 | (version (git-version "0.99.8" revision commit)) |
| 1834 | (source (origin |
| 1835 | (method git-fetch) |
| 1836 | (uri (git-reference |
| 1837 | (url "https://github.com/zdebruine/singlet") |
| 1838 | (commit commit))) |
| 1839 | (file-name (git-file-name name version)) |
| 1840 | (sha256 |
| 1841 | (base32 |
| 1842 | "1s9g3i0ypsnpnal40f223d5lzijxchwaf1kvavyijl75zaj8i6af")))) |
| 1843 | (properties `((upstream-name . "singlet"))) |
| 1844 | (build-system r-build-system) |
| 1845 | (propagated-inputs (list r-dplyr |
| 1846 | r-fgsea |
| 1847 | r-ggplot2 |
| 1848 | r-knitr |
| 1849 | r-limma |
| 1850 | r-matrix |
| 1851 | r-msigdbr |
| 1852 | r-rcpp |
| 1853 | ;; See https://github.com/zdebruine/singlet/issues/25 |
| 1854 | r-rcppml/devel |
| 1855 | r-reshape2 |
| 1856 | r-scuttle |
| 1857 | r-seurat |
| 1858 | r-statmod)) |
| 1859 | (native-inputs (list r-knitr r-testthat)) |
| 1860 | (home-page "https://github.com/zdebruine/singlet") |
| 1861 | (synopsis "Non-negative Matrix Factorization for single-cell analysis") |
| 1862 | (description |
| 1863 | "This is a package for fast @dfn{Non-negative Matrix |
| 1864 | Factorization} (NMF) with automatic rank-determination for dimension reduction |
| 1865 | of single-cell data using Seurat, RcppML nmf, SingleCellExperiments and |
| 1866 | similar.") |
| 1867 | (license license:gpl2+)))) |
| 1868 | |
| 1869 | (define-public r-stacas |
| 1870 | (package |
| 1871 | (name "r-stacas") |
| 1872 | (version "2.2.0") |
| 1873 | (source |
| 1874 | (origin |
| 1875 | (method git-fetch) |
| 1876 | (uri (git-reference |
| 1877 | (url "https://github.com/carmonalab/STACAS") |
| 1878 | (commit version))) |
| 1879 | (file-name (git-file-name name version)) |
| 1880 | (sha256 |
| 1881 | (base32 "13i0h5i6vlbrb8ndq9gr81560z9d74b2c7m3rjfzls01irjza9hm")))) |
| 1882 | (properties `((upstream-name . "STACAS"))) |
| 1883 | (build-system r-build-system) |
| 1884 | (propagated-inputs |
| 1885 | (list r-biocneighbors |
| 1886 | r-biocparallel |
| 1887 | r-ggplot2 |
| 1888 | r-ggridges |
| 1889 | r-pbapply |
| 1890 | r-r-utils |
| 1891 | r-seurat)) |
| 1892 | (home-page "https://github.com/carmonalab/STACAS") |
| 1893 | (synopsis "Sub-type anchoring correction for alignment in Seurat") |
| 1894 | (description |
| 1895 | "This package implements methods for batch correction and integration of |
| 1896 | scRNA-seq datasets, based on the Seurat anchor-based integration framework. |
| 1897 | In particular, STACAS is optimized for the integration of heterogeneous |
| 1898 | datasets with only limited overlap between cell sub-types (e.g. TIL sets of |
| 1899 | CD8 from tumor with CD8/CD4 T cells from lymphnode), for which the default |
| 1900 | Seurat alignment methods would tend to over-correct biological differences. |
| 1901 | The 2.0 version of the package allows the users to incorporate explicit |
| 1902 | information about cell-types in order to assist the integration process.") |
| 1903 | (license license:gpl3))) |
| 1904 | |
| 1905 | (define-public r-stringendo |
| 1906 | (let ((commit "15594b1bba11048a812874bafec0eea1dcc8618a") |
| 1907 | (revision "1")) |
| 1908 | (package |
| 1909 | (name "r-stringendo") |
| 1910 | (version (git-version "0.6.0" revision commit)) |
| 1911 | (source (origin |
| 1912 | (method git-fetch) |
| 1913 | (uri (git-reference |
| 1914 | (url "https://github.com/vertesy/Stringendo") |
| 1915 | (commit commit))) |
| 1916 | (file-name (git-file-name name version)) |
| 1917 | (sha256 |
| 1918 | (base32 |
| 1919 | "15ij4zf2j9c8m9n4bqhmxkchjh2bhddwjfxngfpwv7c5wjqyi6ir")))) |
| 1920 | (properties `((upstream-name . "Stringendo"))) |
| 1921 | (build-system r-build-system) |
| 1922 | (propagated-inputs (list r-clipr)) |
| 1923 | (home-page "https://github.com/vertesy/Stringendo") |
| 1924 | (synopsis "Stringendo is a string parsing library") |
| 1925 | (description |
| 1926 | "This package provides string parsing functionalities for generating |
| 1927 | plotnames, filenames and paths.") |
| 1928 | (license license:gpl3)))) |
| 1929 | |
| 1930 | (define-public r-readwriter |
| 1931 | (let ((commit "91373c44641014a1ce8e1c3e928747608aae8f54") |
| 1932 | (revision "1")) |
| 1933 | (package |
| 1934 | (name "r-readwriter") |
| 1935 | (version (git-version "1.5.3" revision commit)) |
| 1936 | (source (origin |
| 1937 | (method git-fetch) |
| 1938 | (uri (git-reference |
| 1939 | (url "https://github.com/vertesy/ReadWriter") |
| 1940 | (commit commit))) |
| 1941 | (file-name (git-file-name name version)) |
| 1942 | (sha256 |
| 1943 | (base32 |
| 1944 | "156kvmplrip0w1zhs9yl5r0ayjipa0blhy614l65hbsjn1lwbskr")))) |
| 1945 | (properties `((upstream-name . "ReadWriter"))) |
| 1946 | (build-system r-build-system) |
| 1947 | (propagated-inputs |
| 1948 | (list r-gtools r-openxlsx r-readr r-stringendo)) |
| 1949 | (home-page "https://github.com/vertesy/ReadWriter") |
| 1950 | (synopsis "Functions to read and write files conveniently") |
| 1951 | (description |
| 1952 | "ReadWriter is a set of R functions to read and write files |
| 1953 | conveniently.") |
| 1954 | (license license:gpl3)))) |
| 1955 | |
| 1956 | (define-public r-streamgraph |
| 1957 | (let ((commit "76f7173ec89d456ace5943a512e20b1f6810bbcb") |
| 1958 | (revision "1")) |
| 1959 | (package |
| 1960 | (name "r-streamgraph") |
| 1961 | (version (git-version "0.9.0" revision commit)) |
| 1962 | (source (origin |
| 1963 | (method git-fetch) |
| 1964 | (uri (git-reference |
| 1965 | (url "https://github.com/hrbrmstr/streamgraph") |
| 1966 | (commit commit))) |
| 1967 | (file-name (git-file-name name version)) |
| 1968 | (sha256 |
| 1969 | (base32 |
| 1970 | "010rhnby5a9dg08jvlkr65b3p9iipdxi2f5m1k6j53s80p25yvig")))) |
| 1971 | (properties `((upstream-name . "streamgraph"))) |
| 1972 | (build-system r-build-system) |
| 1973 | (propagated-inputs |
| 1974 | (list r-dplyr |
| 1975 | r-htmltools |
| 1976 | r-htmlwidgets |
| 1977 | r-magrittr |
| 1978 | r-tidyr |
| 1979 | r-xts)) |
| 1980 | (native-inputs (list r-knitr r-testthat)) |
| 1981 | (home-page "https://github.com/hrbrmstr/streamgraph") |
| 1982 | (synopsis "Htmlwidget for building streamgraph visualizations") |
| 1983 | (description |
| 1984 | "A streamgraph is a type of stacked area chart. It represents the |
| 1985 | evolution of a numeric variable for several groups. Areas are usually |
| 1986 | displayed around a central axis, and edges are rounded to give a flowing |
| 1987 | shape. This package provides an @code{htmlwidget} for building streamgraph |
| 1988 | visualizations.") |
| 1989 | (license license:expat)))) |
| 1990 | |
| 1991 | (define-public r-vitesscer |
| 1992 | (let ((commit "0096880c1b7b7afb42a26277e34508b4cce815bd") |
| 1993 | (revision "1")) |
| 1994 | (package |
| 1995 | (name "r-vitesscer") |
| 1996 | (version (git-version "0.99.0" revision commit)) |
| 1997 | (source |
| 1998 | (origin |
| 1999 | (method git-fetch) |
| 2000 | (uri (git-reference |
| 2001 | (url "https://github.com/vitessce/vitessceR") |
| 2002 | (commit commit))) |
| 2003 | (file-name (git-file-name name version)) |
| 2004 | (sha256 |
| 2005 | (base32 "0axragpfl9xz7a10wx7n2j88lcv64kzi4ixkr6s69x3xa2fmlvay")))) |
| 2006 | (properties `((upstream-name . "vitessceR"))) |
| 2007 | (build-system r-build-system) |
| 2008 | (propagated-inputs (list r-delayedarray |
| 2009 | r-future |
| 2010 | r-htmlwidgets |
| 2011 | r-httpuv |
| 2012 | r-jsonlite |
| 2013 | r-matrix |
| 2014 | r-mime |
| 2015 | r-plumber |
| 2016 | r-r6 |
| 2017 | r-s4vectors |
| 2018 | r-stringi |
| 2019 | r-stringr)) |
| 2020 | (native-inputs (list r-knitr r-testthat)) |
| 2021 | (home-page "https://github.com/vitessce/vitessceR") |
| 2022 | (synopsis "Create interactive Single-cell visualizations") |
| 2023 | (description |
| 2024 | "This package provides an R API and @code{htmlwidget} facilitating |
| 2025 | interactive visualization of spatial single-cell data with Vitessce. The R |
| 2026 | API contains classes and functions for loading single-cell data stored in |
| 2027 | compatible on-disk formats. The @code{htmlwidget} is a wrapper around the |
| 2028 | Vitessce JavaScript library and can be used in the Viewer tab of RStudio or |
| 2029 | Shiny apps.") |
| 2030 | (license license:expat)))) |
| 2031 | |
| 2032 | (define-public r-wasabi |
| 2033 | (let ((commit "8c33cabde8d18c2657cd6e38e7cb834f87cf9846") |
| 2034 | (revision "1")) |
| 2035 | (package |
| 2036 | (name "r-wasabi") |
| 2037 | (version (git-version "1.0.1" revision commit)) |
| 2038 | (source |
| 2039 | (origin |
| 2040 | (method git-fetch) |
| 2041 | (uri (git-reference |
| 2042 | (url "https://github.com/COMBINE-lab/wasabi") |
| 2043 | (commit commit))) |
| 2044 | (file-name (git-file-name name version)) |
| 2045 | (sha256 |
| 2046 | (base32 "0rpdj6n4cnx8n2zl60dzgl638474sg49dknwi9x3qb4g56dpphfa")))) |
| 2047 | (properties `((upstream-name . "wasabi"))) |
| 2048 | (build-system r-build-system) |
| 2049 | (propagated-inputs (list r-data-table r-rhdf5 r-rjson)) |
| 2050 | (home-page "https://github.com/COMBINE-lab/wasabi") |
| 2051 | (synopsis "Use Sailfish and Salmon with Sleuth") |
| 2052 | (description |
| 2053 | "This package converts the output of the Sailfish and Salmon RNA-seq |
| 2054 | quantification tools so that it can be used with the Sleuth differential |
| 2055 | analysis package.") |
| 2056 | (license license:bsd-3)))) |
| 2057 | |
| 2058 | (define-public pbgzip |
| 2059 | (let ((commit "2b09f97b5f20b6d83c63a5c6b408d152e3982974")) |
| 2060 | (package |
| 2061 | (name "pbgzip") |
| 2062 | (version (git-version "0.0.0" "0" commit)) |
| 2063 | (source (origin |
| 2064 | (method git-fetch) |
| 2065 | (uri (git-reference |
| 2066 | (url "https://github.com/nh13/pbgzip") |
| 2067 | (commit commit))) |
| 2068 | (file-name (git-file-name name version)) |
| 2069 | (sha256 |
| 2070 | (base32 |
| 2071 | "1mlmq0v96irbz71bgw5zcc43g1x32zwnxx21a5p1f1ch4cikw1yd")))) |
| 2072 | (build-system gnu-build-system) |
| 2073 | (native-inputs |
| 2074 | (list autoconf automake)) |
| 2075 | (inputs |
| 2076 | (list zlib)) |
| 2077 | (home-page "https://github.com/nh13/pbgzip") |
| 2078 | (synopsis "Parallel Block GZIP") |
| 2079 | (description "This package implements parallel block gzip. For many |
| 2080 | formats, in particular genomics data formats, data are compressed in |
| 2081 | fixed-length blocks such that they can be easily indexed based on a (genomic) |
| 2082 | coordinate order, since typically each block is sorted according to this order. |
| 2083 | This allows for each block to be individually compressed (deflated), or more |
| 2084 | importantly, decompressed (inflated), with the latter enabling random retrieval |
| 2085 | of data in large files (gigabytes to terabytes). @code{pbgzip} is not limited |
| 2086 | to any particular format, but certain features are tailored to genomics data |
| 2087 | formats when enabled. Parallel decompression is somewhat faster, but the true |
| 2088 | speedup comes during compression.") |
| 2089 | (license license:expat)))) |
| 2090 | |
| 2091 | (define-public randfold |
| 2092 | (package |
| 2093 | (name "randfold") |
| 2094 | (version "2.0.1") |
| 2095 | (source |
| 2096 | (origin |
| 2097 | (method url-fetch) |
| 2098 | (uri (string-append "http://bioinformatics.psb.ugent.be/" |
| 2099 | "supplementary_data/erbon/nov2003/downloads/" |
| 2100 | "randfold-" version ".tar.gz")) |
| 2101 | (sha256 |
| 2102 | (base32 |
| 2103 | "0gqixl4ncaibrxmn25d6lm2hrw4ml2fj13nrc9q1kilsxdfi91mj")))) |
| 2104 | (build-system gnu-build-system) |
| 2105 | (arguments |
| 2106 | (list |
| 2107 | #:tests? #f ;no tests provided |
| 2108 | #:phases |
| 2109 | #~(modify-phases %standard-phases |
| 2110 | (delete 'configure) |
| 2111 | (replace 'install |
| 2112 | (lambda _ |
| 2113 | (install-file "randfold" |
| 2114 | (string-append #$output "/bin"))))))) |
| 2115 | (inputs (list eddylab-squid)) |
| 2116 | (home-page |
| 2117 | "http://bioinformatics.psb.ugent.be/supplementary_data/erbon/nov2003/") |
| 2118 | (synopsis "Minimum free energy of folding randomization test software") |
| 2119 | (description "randfold computes the probability that, for a given |
| 2120 | sequence, the @dfn{Minimum Free Energy} (MFE) of the secondary structure is |
| 2121 | different from MFE computed with random sequences.") |
| 2122 | (license license:gpl2))) |
| 2123 | |
| 2124 | (define-public ribotaper |
| 2125 | (package |
| 2126 | (name "ribotaper") |
| 2127 | (version "1.3.1") |
| 2128 | (source (origin |
| 2129 | (method url-fetch) |
| 2130 | (uri (string-append "https://ohlerlab.mdc-berlin.de/" |
| 2131 | "files/RiboTaper/RiboTaper_Version_" |
| 2132 | version ".tar.gz")) |
| 2133 | (sha256 |
| 2134 | (base32 |
| 2135 | "0ykjbps1y3z3085q94npw8i9x5gldc6shy8vlc08v76zljsm07hv")))) |
| 2136 | (build-system gnu-build-system) |
| 2137 | (arguments |
| 2138 | (list |
| 2139 | #:phases |
| 2140 | #~(modify-phases %standard-phases |
| 2141 | (add-after 'install 'wrap-executables |
| 2142 | (lambda _ |
| 2143 | (for-each |
| 2144 | (lambda (script) |
| 2145 | (wrap-program (string-append #$output "/bin/" script) |
| 2146 | `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE"))))) |
| 2147 | '("create_annotations_files.bash" |
| 2148 | "create_metaplots.bash" |
| 2149 | "Ribotaper_ORF_find.sh" |
| 2150 | "Ribotaper.sh"))))))) |
| 2151 | (inputs |
| 2152 | (list bash-minimal |
| 2153 | bedtools-2.18 |
| 2154 | samtools-0.1 |
| 2155 | r-minimal |
| 2156 | r-foreach |
| 2157 | r-xnomial |
| 2158 | r-domc |
| 2159 | r-multitaper |
| 2160 | r-seqinr)) |
| 2161 | (home-page "https://ohlerlab.mdc-berlin.de/software/RiboTaper_126/") |
| 2162 | (synopsis "Define translated ORFs using ribosome profiling data") |
| 2163 | (description |
| 2164 | "Ribotaper is a method for defining translated @dfn{open reading |
| 2165 | frames} (ORFs) using ribosome profiling (ribo-seq) data. This package |
| 2166 | provides the Ribotaper pipeline.") |
| 2167 | (license license:gpl3+))) |
| 2168 | |
| 2169 | (define-public bioawk |
| 2170 | (package |
| 2171 | (name "bioawk") |
| 2172 | (version "1.0") |
| 2173 | (source (origin |
| 2174 | (method git-fetch) |
| 2175 | (uri (git-reference |
| 2176 | (url "https://github.com/lh3/bioawk") |
| 2177 | (commit (string-append "v" version)))) |
| 2178 | (file-name (git-file-name name version)) |
| 2179 | (sha256 |
| 2180 | (base32 |
| 2181 | "1pxc3zdnirxbf9a0az698hd8xdik7qkhypm7v6hn922x8y9qmspm")))) |
| 2182 | (build-system gnu-build-system) |
| 2183 | (inputs (list zlib)) |
| 2184 | (native-inputs (list bison)) |
| 2185 | (arguments |
| 2186 | (list |
| 2187 | #:tests? #f ; There are no tests to run. |
| 2188 | ;; Bison must generate files, before other targets can build. |
| 2189 | #:parallel-build? #f |
| 2190 | #:phases |
| 2191 | #~(modify-phases %standard-phases |
| 2192 | (delete 'configure) ; There is no configure phase. |
| 2193 | (replace 'install |
| 2194 | (lambda _ |
| 2195 | (let ((bin (string-append #$output "/bin")) |
| 2196 | (man (string-append #$output "/share/man/man1"))) |
| 2197 | (mkdir-p man) |
| 2198 | (copy-file "awk.1" (string-append man "/bioawk.1")) |
| 2199 | (install-file "bioawk" bin))))))) |
| 2200 | (home-page "https://github.com/lh3/bioawk") |
| 2201 | (synopsis "AWK with bioinformatics extensions") |
| 2202 | (description "Bioawk is an extension to Brian Kernighan's awk, adding the |
| 2203 | support of several common biological data formats, including optionally gzip'ed |
| 2204 | BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names. It |
| 2205 | also adds a few built-in functions and a command line option to use TAB as the |
| 2206 | input/output delimiter. When the new functionality is not used, bioawk is |
| 2207 | intended to behave exactly the same as the original BWK awk.") |
| 2208 | (license license:x11))) |
| 2209 | |
| 2210 | (define-public python-bcbio-gff |
| 2211 | (package |
| 2212 | (name "python-bcbio-gff") |
| 2213 | ;; python-bcbio-gff can only be refreshed manually, because guix refresh |
| 2214 | ;; does not understand the tags on the github repository. |
| 2215 | (version "0.7.1") |
| 2216 | (source (origin |
| 2217 | ;; No tests in PyPI package. |
| 2218 | (method git-fetch) |
| 2219 | (uri (git-reference |
| 2220 | (url "https://github.com/chapmanb/bcbb") |
| 2221 | (commit (string-append "bcbio-gff-v" version)))) |
| 2222 | (file-name (git-file-name name version)) |
| 2223 | (sha256 |
| 2224 | (base32 |
| 2225 | "0144xxzibq4mrg8a1w2scs120rd9svq07hm5ccs91n3a4nvwjfsd")))) |
| 2226 | (build-system pyproject-build-system) |
| 2227 | (arguments |
| 2228 | (list |
| 2229 | #:phases |
| 2230 | #~(modify-phases %standard-phases |
| 2231 | (add-before 'build 'enter-directory |
| 2232 | (lambda _ (chdir "gff")))))) |
| 2233 | (native-inputs |
| 2234 | (list python-setuptools python-pytest)) |
| 2235 | (propagated-inputs |
| 2236 | (list python-biopython |
| 2237 | python-six)) |
| 2238 | (home-page "https://github.com/chapmanb/bcbb/tree/master/gff") |
| 2239 | (synopsis "Read and write GFF files with Biopython integration") |
| 2240 | (description |
| 2241 | "This package lets you read and write files in Generic Feature |
| 2242 | Format (GFF) with Biopython integration.") |
| 2243 | (properties |
| 2244 | '((upstream-name . "bcbio-gff"))) |
| 2245 | (license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE")))) |
| 2246 | |
| 2247 | (define-public python-bcbio-gff-for-python-cmseq |
| 2248 | (hidden-package |
| 2249 | (package |
| 2250 | (inherit python-bcbio-gff) |
| 2251 | (name "python-bcbio-gff") |
| 2252 | (version "0.6.9") |
| 2253 | (source |
| 2254 | (origin |
| 2255 | (method git-fetch) |
| 2256 | (uri (git-reference |
| 2257 | (url "https://github.com/chapmanb/bcbb") |
| 2258 | (commit (string-append "bcbio-gff-v" version)))) |
| 2259 | (file-name (git-file-name name version)) |
| 2260 | (sha256 |
| 2261 | (base32 "131hiir94jkm9jj2wfpybwndgzn8k0zc1ji1qjn5cz7w48x3ri13")))) |
| 2262 | (propagated-inputs |
| 2263 | (modify-inputs propagated-inputs |
| 2264 | (replace "python-biopython" python-biopython-1.73)))))) |
| 2265 | |
| 2266 | (define bed-sample-files |
| 2267 | (let* ((name "bed-sample-files") |
| 2268 | (commit "a06dc0450e484090f15656ffd5d317813a5e1e01") |
| 2269 | (revision "0") |
| 2270 | (version (git-version "0.0.0" revision commit))) |
| 2271 | (origin |
| 2272 | (method git-fetch) |
| 2273 | (uri (git-reference |
| 2274 | (url "https://github.com/fastlmm/bed-sample-files") |
| 2275 | (commit commit))) |
| 2276 | (file-name (git-file-name name version)) |
| 2277 | (sha256 |
| 2278 | (base32 "1ldr2lvgbcykxa9i2s2298mhfh0sz96aaxs5dx217aipa9vsrjwk"))))) |
| 2279 | |
| 2280 | (define-public python-bed-reader |
| 2281 | (package |
| 2282 | (name "python-bed-reader") |
| 2283 | (version "1.0.6") |
| 2284 | (source |
| 2285 | (origin |
| 2286 | (method url-fetch) |
| 2287 | (uri (pypi-uri "bed_reader" version)) |
| 2288 | (sha256 |
| 2289 | (base32 "1c8ibwvz3b069w7ffh9aasz16lfkmx4z0249c2v909a21mrkkd6n")) |
| 2290 | (modules '((guix build utils))) |
| 2291 | ;; Bundled unused javascript & co. |
| 2292 | (snippet #~(delete-file-recursively "_static")) |
| 2293 | (patches |
| 2294 | (search-patches "python-bed-reader-use-store-samples.patch")))) |
| 2295 | (build-system cargo-build-system) |
| 2296 | (arguments |
| 2297 | (list |
| 2298 | #:install-source? #false |
| 2299 | #:features '(list "extension-module") |
| 2300 | #:cargo-test-flags |
| 2301 | '(list "--features=extension-module" |
| 2302 | ;; Skip doc tests. |
| 2303 | "--lib" "--bins" "--tests" "--" |
| 2304 | ;; This test is the only one not matched by our regexp. |
| 2305 | "--skip=http_one" |
| 2306 | ;; These test require a 84 GB file. |
| 2307 | "--skip=http_two" |
| 2308 | "--skip=http_cloud_urls_md_3") |
| 2309 | #:imported-modules |
| 2310 | (append %cargo-build-system-modules |
| 2311 | %pyproject-build-system-modules) |
| 2312 | #:modules |
| 2313 | '((guix build cargo-build-system) |
| 2314 | ((guix build pyproject-build-system) #:prefix py:) |
| 2315 | (guix build utils) |
| 2316 | (ice-9 match) |
| 2317 | (ice-9 rdelim)) |
| 2318 | #:phases |
| 2319 | #~(modify-phases %standard-phases |
| 2320 | (add-after 'configure 'set-data-path |
| 2321 | (lambda _ |
| 2322 | ;; This var is still necessary despite the patch-data-path phase. |
| 2323 | ;; Otherwise more tests fail with a read-only filesystem error. |
| 2324 | (setenv "BED_READER_DATA_DIR" #+bed-sample-files))) |
| 2325 | (add-after 'unpack 'patch-data-path |
| 2326 | (lambda _ |
| 2327 | ;; If BED_READER_DATA_DIR is unset, default to bed-sample-files. |
| 2328 | (substitute* "bed_reader/_sample_data.py" |
| 2329 | (("os\\.environ\\.get\\(\"BED_READER_DATA_DIR\"" all) |
| 2330 | (format #f "~a, ~s" all #+bed-sample-files))) |
| 2331 | ;; XXX: More work is necessary to use another |
| 2332 | ;; version of sample files with BED_READER_DATA_DIR |
| 2333 | ;; Currently, only the hardcoded Guix version is working. |
| 2334 | (substitute* '("bed_reader/tests/test_open_bed_cloud.py" |
| 2335 | "src/bed_cloud.rs" |
| 2336 | "src/lib.rs" |
| 2337 | "src/supplemental_documents/cloud_urls_etc.md" |
| 2338 | "tests/tests_api_cloud.rs") |
| 2339 | (("\ |
| 2340 | https://raw\\.githubusercontent\\.com/fastlmm/bed-sample-files/main") |
| 2341 | (string-append "file://" #+bed-sample-files))) |
| 2342 | (substitute* "src/tests.rs" |
| 2343 | (("bed_reader/tests/data") |
| 2344 | #+bed-sample-files)))) |
| 2345 | (add-after 'install 'prepare-python-module |
| 2346 | (lambda _ |
| 2347 | ;; We don't use maturin. Conveniently, what we want to drop |
| 2348 | ;; from pyproject.toml is at the end of the file. |
| 2349 | (rename-file "pyproject.toml" "pyproject.toml.bak") |
| 2350 | (call-with-input-file "pyproject.toml.bak" |
| 2351 | (lambda (in) |
| 2352 | (call-with-output-file "pyproject.toml" |
| 2353 | (lambda (out) |
| 2354 | (let loop () |
| 2355 | (match (read-line in) |
| 2356 | ((? eof-object? eof) |
| 2357 | eof) |
| 2358 | ("[build-system]" |
| 2359 | (and (format out "\ |
| 2360 | [build-system] |
| 2361 | build-backend = 'setuptools.build_meta' |
| 2362 | requires = ['setuptools'] |
| 2363 | |
| 2364 | [tool.setuptools.packages.find] |
| 2365 | where = [\".\"] |
| 2366 | exclude = [\"src\", \"docs\", \"tests\", \"Cargo.toml\"] |
| 2367 | "))) |
| 2368 | ("samples = [\"pooch>=1.5.0\"]" |
| 2369 | (and (format out "samples = []~%") |
| 2370 | (loop))) |
| 2371 | ("[project]" |
| 2372 | (and (format out "\ |
| 2373 | [project] |
| 2374 | version = ~s |
| 2375 | " #$version) |
| 2376 | (loop))) |
| 2377 | (line |
| 2378 | (and (format out "~a~%" line) |
| 2379 | (loop))))))))))) |
| 2380 | (add-after 'prepare-python-module 'enable-bytecode-determinism |
| 2381 | (assoc-ref py:%standard-phases 'enable-bytecode-determinism)) |
| 2382 | (add-after 'enable-bytecode-determinism 'build-python-module |
| 2383 | (assoc-ref py:%standard-phases 'build)) |
| 2384 | (add-after 'build-python-module 'install-python-module |
| 2385 | (assoc-ref py:%standard-phases 'install)) |
| 2386 | (add-after 'install-python-module 'install-python-library |
| 2387 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 2388 | (let ((site (py:site-packages inputs outputs))) |
| 2389 | (mkdir-p (string-append site "/bed_reader")) |
| 2390 | (copy-file "target/release/libbed_reader.so" |
| 2391 | (string-append site "/bed_reader/bed_reader.so"))))) |
| 2392 | (add-after 'install-python-library 'add-install-to-pythonpath |
| 2393 | (assoc-ref py:%standard-phases 'add-install-to-pythonpath)) |
| 2394 | (add-after 'add-install-to-pythonpath 'check-python |
| 2395 | (lambda* (#:key inputs outputs tests? #:allow-other-keys) |
| 2396 | (when tests? |
| 2397 | (let ((site (py:site-packages inputs outputs)) |
| 2398 | (data-dir "bed_reader/tests/data")) |
| 2399 | (symlink (canonicalize-path data-dir) |
| 2400 | (string-append site "/" data-dir)) |
| 2401 | (invoke "pytest" "-v" #$output |
| 2402 | ;; These test require a 84 GB file. |
| 2403 | "-k" (string-join |
| 2404 | (list "not test_http_two" |
| 2405 | "test_http_cloud_urls_rst_3" |
| 2406 | "test_http_cloud_urls_rst_4" |
| 2407 | ;; XXX: python-pooch dependency removed |
| 2408 | "test_optional_dependencies") |
| 2409 | " and not ")) |
| 2410 | (delete-file-recursively |
| 2411 | (string-append site "/bed_reader/tests")) |
| 2412 | (delete-file-recursively |
| 2413 | (string-append #$output "/.pytest_cache"))))))))) |
| 2414 | (native-inputs (list python-pytest |
| 2415 | python-pytest-datadir |
| 2416 | python-pytest-doctestplus |
| 2417 | python-recommonmark |
| 2418 | python-setuptools |
| 2419 | python-sphinx)) |
| 2420 | (inputs (cons python-wrapper (cargo-inputs 'python-bed-reader))) |
| 2421 | (propagated-inputs (list python-numpy python-pandas python-scipy)) |
| 2422 | (home-page "https://fastlmm.github.io/") |
| 2423 | (synopsis "Read and write the PLINK BED format, simply and efficiently") |
| 2424 | (description |
| 2425 | "This package lets you read and write the PLINK BED format, simply and |
| 2426 | efficiently.") |
| 2427 | (license license:asl2.0))) |
| 2428 | |
| 2429 | (define-public python-bulkvis |
| 2430 | (let ((commit "00a82a90c7e748a34af896e779d27e78a2c82b5e") |
| 2431 | (revision "2")) |
| 2432 | (package |
| 2433 | (name "python-bulkvis") |
| 2434 | (version (git-version "2.0.0" revision commit)) |
| 2435 | (source (origin |
| 2436 | (method git-fetch) |
| 2437 | (uri (git-reference |
| 2438 | (url "https://github.com/LooseLab/bulkVis") |
| 2439 | (commit commit))) |
| 2440 | (file-name (git-file-name name version)) |
| 2441 | (sha256 |
| 2442 | (base32 |
| 2443 | "02blai158xyyqcg0ljzkmfa6ci05m4awrl4njvp9nwfp717xq8n0")) |
| 2444 | (modules '((guix build utils))) |
| 2445 | (snippet |
| 2446 | '(substitute* '("requirements.txt" |
| 2447 | "setup.py") |
| 2448 | (("tqdm~=4.46.1") "tqdm") |
| 2449 | (("tornado~=6.0.4") "tornado") |
| 2450 | (("pandas~=1.0.5") "pandas") |
| 2451 | (("h5py~=2.10.0") "h5py") |
| 2452 | ;; See below for com |
| 2453 | (("bokeh~=2.1.0") "bokeh"))))) |
| 2454 | (build-system pyproject-build-system) |
| 2455 | (arguments |
| 2456 | (list #:tests? #f ;There are no tests |
| 2457 | #:phases |
| 2458 | '(modify-phases %standard-phases |
| 2459 | ;; See https://github.com/LooseLab/bulkvis/issues/58 |
| 2460 | (add-after 'unpack 'bokeh-compatibility |
| 2461 | (lambda _ |
| 2462 | (substitute* "bulkvis/bulkvis.py" |
| 2463 | (("import importlib" m) |
| 2464 | (string-append m " |
| 2465 | from bokeh.command.subcommand import Argument |
| 2466 | from bokeh.util.dataclasses import entries\n")) |
| 2467 | (("( *)_parser.add_argument" m indent) |
| 2468 | (string-append |
| 2469 | (string-join (list "if isinstance(opts, Argument):\n" |
| 2470 | " opts = dict(entries(opts))\n") |
| 2471 | indent 'prefix) |
| 2472 | m)))))))) |
| 2473 | (propagated-inputs (list python-bokeh |
| 2474 | python-dill |
| 2475 | python-h5py |
| 2476 | python-joblib |
| 2477 | python-matplotlib |
| 2478 | python-numpy |
| 2479 | python-pandas |
| 2480 | python-plotly |
| 2481 | python-readpaf |
| 2482 | python-scikit-learn |
| 2483 | python-scikit-image |
| 2484 | python-scipy |
| 2485 | python-seaborn |
| 2486 | python-tornado |
| 2487 | python-tqdm |
| 2488 | python-umap-learn)) |
| 2489 | (native-inputs (list python-pytest python-setuptools)) |
| 2490 | (home-page "https://github.com/LooseLab/bulkVis") |
| 2491 | (synopsis "Interactive visualization of bulk RNA-seq data") |
| 2492 | (description |
| 2493 | "This is a Python package for the interactive visualization of bulk |
| 2494 | RNA-seq data. It provides a range of plotting functions and interactive tools |
| 2495 | to explore and analyze bulk RNA-seq data.") |
| 2496 | (license license:expat)))) |
| 2497 | |
| 2498 | (define-public python-cell2cell |
| 2499 | (package |
| 2500 | (name "python-cell2cell") |
| 2501 | (version "0.9.0") |
| 2502 | (source |
| 2503 | (origin |
| 2504 | (method git-fetch) |
| 2505 | (uri (git-reference |
| 2506 | (url "https://github.com/earmingol/cell2cell") |
| 2507 | (commit (string-append "v" version)))) |
| 2508 | (file-name (git-file-name name version)) |
| 2509 | (sha256 |
| 2510 | (base32 "1wsjamldi059wdrqdpyn3c3s0xsn0dxwrnr64bf7mwgcd37g0h58")))) |
| 2511 | (build-system pyproject-build-system) |
| 2512 | (arguments |
| 2513 | (list |
| 2514 | #:test-flags |
| 2515 | #~(list "-m" "not network") |
| 2516 | #:phases |
| 2517 | #~(modify-phases %standard-phases |
| 2518 | ;; Numba needs a writable dir to cache functions. |
| 2519 | (add-before 'sanity-check 'set-home |
| 2520 | (lambda _ |
| 2521 | (setenv "HOME" "/tmp")))))) |
| 2522 | (propagated-inputs |
| 2523 | (list python-gseapy |
| 2524 | python-kneed |
| 2525 | python-matplotlib |
| 2526 | python-natsort |
| 2527 | python-networkx |
| 2528 | python-numpy |
| 2529 | python-openpyxl |
| 2530 | python-pandas |
| 2531 | python-scanpy |
| 2532 | python-scikit-learn |
| 2533 | python-seaborn |
| 2534 | python-statannotations |
| 2535 | python-statsmodels |
| 2536 | python-tensorly |
| 2537 | python-tqdm |
| 2538 | python-umap-learn |
| 2539 | python-xlrd)) |
| 2540 | (native-inputs |
| 2541 | (list python-pygad python-pytest python-setuptools)) |
| 2542 | (home-page "https://github.com/earmingol/cell2cell") |
| 2543 | (synopsis "Python library for cell communication analysis") |
| 2544 | (description |
| 2545 | "Cell2cell is a Python library for cell communication analysis. |
| 2546 | This is a method to calculate, visualize and analyze communication between |
| 2547 | cell types. Cell2cell is suitable for single-cell RNA sequencing |
| 2548 | (scRNA-seq) data.") |
| 2549 | (license license:bsd-3))) |
| 2550 | |
| 2551 | (define-public python-cellbender |
| 2552 | (package |
| 2553 | (name "python-cellbender") |
| 2554 | (version "0.3.2") |
| 2555 | (source |
| 2556 | (origin |
| 2557 | (method git-fetch) |
| 2558 | (uri (git-reference |
| 2559 | (url "https://github.com/broadinstitute/CellBender") |
| 2560 | (commit (string-append "v" version)))) |
| 2561 | (file-name (git-file-name name version)) |
| 2562 | (sha256 |
| 2563 | (base32 |
| 2564 | "1sdw4dv881ll8ylxcp06xa74c3wvrdyzpwfilzk8i1pwgrdrgb3f")))) |
| 2565 | (build-system pyproject-build-system) |
| 2566 | (arguments |
| 2567 | (list |
| 2568 | #:tests? #f ;there are none |
| 2569 | #:phases |
| 2570 | #~(modify-phases %standard-phases |
| 2571 | (add-after 'unpack 'relax-requirements |
| 2572 | (lambda _ |
| 2573 | ;; See: |
| 2574 | ;; <https://github.com/broadinstitute/CellBender/issues/426>, |
| 2575 | ;; <https://github.com/broadinstitute/CellBender/issues/416>. |
| 2576 | (substitute* "requirements.txt" |
| 2577 | (("(notebook|ipython|jupyter.*)")"") |
| 2578 | (("<.*") "\n"))))))) |
| 2579 | (native-inputs |
| 2580 | (list python-setuptools)) |
| 2581 | (propagated-inputs |
| 2582 | (list python-anndata |
| 2583 | python-loompy |
| 2584 | python-lxml-html-clean |
| 2585 | python-matplotlib |
| 2586 | python-nbconvert |
| 2587 | python-notebook |
| 2588 | python-numpy |
| 2589 | python-pandas |
| 2590 | python-psutil |
| 2591 | python-pyro-ppl |
| 2592 | python-pytorch |
| 2593 | python-scipy |
| 2594 | python-tables)) |
| 2595 | (home-page "https://cellbender.rtfd.io/") |
| 2596 | (synopsis "Eliminate technical artifacts from single-cell RNA-seq data") |
| 2597 | (description |
| 2598 | "CellBender is a software package for eliminating technical artifacts |
| 2599 | from high-throughput single-cell RNA sequencing (scRNA-seq) data.") |
| 2600 | (license license:bsd-3))) |
| 2601 | |
| 2602 | (define-public python-celltypist |
| 2603 | (package |
| 2604 | (name "python-celltypist") |
| 2605 | (version "1.7.1") |
| 2606 | (source |
| 2607 | (origin |
| 2608 | (method git-fetch) |
| 2609 | (uri (git-reference |
| 2610 | (url "https://github.com/Teichlab/celltypist") |
| 2611 | (commit version))) |
| 2612 | (file-name (git-file-name name version)) |
| 2613 | (sha256 |
| 2614 | (base32 "1ha19wak8lnbm2j929lswncswygl1qiv53b8fs321s6708gyhv4v")))) |
| 2615 | (build-system pyproject-build-system) |
| 2616 | (arguments |
| 2617 | (list |
| 2618 | #:phases |
| 2619 | #~(modify-phases %standard-phases |
| 2620 | (add-before 'build 'set-environment |
| 2621 | (lambda _ |
| 2622 | (setenv "HOME" "/tmp") |
| 2623 | (setenv "NUMBA_CACHE_DIR" "/tmp"))) |
| 2624 | (replace 'check |
| 2625 | ;; Simple regression check, taken from project's Dockerfile, |
| 2626 | ;; "--update-models" requires network access. |
| 2627 | (lambda* (#:key tests? #:allow-other-keys) |
| 2628 | (when tests? |
| 2629 | (invoke "celltypist" "--help"))))))) |
| 2630 | (native-inputs |
| 2631 | (list python-setuptools)) |
| 2632 | (propagated-inputs |
| 2633 | (list python-click |
| 2634 | python-leidenalg |
| 2635 | python-numpy |
| 2636 | python-openpyxl |
| 2637 | python-pandas |
| 2638 | python-scanpy |
| 2639 | python-scikit-learn |
| 2640 | python-requests)) |
| 2641 | (home-page "https://github.com/Teichlab/celltypist") |
| 2642 | (synopsis "Tool for semi-automatic cell type classification") |
| 2643 | (description |
| 2644 | "CellTypist is an automated cell type annotation tool for scRNA-seq |
| 2645 | datasets on the basis of logistic regression classifiers optimised by the |
| 2646 | stochastic gradient descent algorithm. CellTypist allows for cell prediction |
| 2647 | using either built-in (with a current focus on immune sub-populations) or |
| 2648 | custom models, in order to assist in the accurate classification of different |
| 2649 | cell types and subtypes.") |
| 2650 | (license license:expat))) |
| 2651 | |
| 2652 | (define-public python-cmseq |
| 2653 | (package |
| 2654 | (name "python-cmseq") |
| 2655 | (version "1.0.4") |
| 2656 | (source (origin |
| 2657 | (method url-fetch) |
| 2658 | (uri (pypi-uri "CMSeq" version)) |
| 2659 | (sha256 |
| 2660 | (base32 |
| 2661 | "0p6a99c299m5wi2z57dgqz52m1z3nfr8mv7kdnk2jvl2p9nql0wk")))) |
| 2662 | (build-system pyproject-build-system) |
| 2663 | (arguments |
| 2664 | (list |
| 2665 | #:tests? #false ;there are no tests |
| 2666 | #:phases |
| 2667 | '(modify-phases %standard-phases |
| 2668 | (add-after 'unpack 'patch-samtools-reference |
| 2669 | (lambda* (#:key inputs #:allow-other-keys) |
| 2670 | (substitute* "cmseq/cmseq.py" |
| 2671 | (("'samtools'") |
| 2672 | (string-append "'" (search-input-file inputs "/bin/samtools") "'")))))))) |
| 2673 | (native-inputs |
| 2674 | (list python-setuptools)) |
| 2675 | (inputs (list samtools)) |
| 2676 | (propagated-inputs |
| 2677 | (list python-bcbio-gff-for-python-cmseq |
| 2678 | python-biopython-1.73 |
| 2679 | python-numpy |
| 2680 | python-pandas |
| 2681 | python-pysam |
| 2682 | python-scipy)) |
| 2683 | (home-page "https://github.com/SegataLab/cmseq/") |
| 2684 | (synopsis "Set of utilities on sequences and BAM files") |
| 2685 | (description |
| 2686 | "CMSeq is a set of commands to provide an interface to .bam files for coverage |
| 2687 | and sequence consensus.") |
| 2688 | (license license:expat))) |
| 2689 | |
| 2690 | (define-public python-cnmf |
| 2691 | (package |
| 2692 | (name "python-cnmf") |
| 2693 | (version "1.7.0") |
| 2694 | (source |
| 2695 | (origin |
| 2696 | (method url-fetch) |
| 2697 | (uri (pypi-uri "cnmf" version)) |
| 2698 | (sha256 |
| 2699 | (base32 "1v2d7gsxy57rg26wjx4sz2fqk8ggkp3ds0s1g54cm8z8aac6qhxz")))) |
| 2700 | (build-system pyproject-build-system) |
| 2701 | (arguments |
| 2702 | (list |
| 2703 | ;; tests: 36 passed, 2 deselected, 19 warnings |
| 2704 | #:test-flags |
| 2705 | ;; XXX: Tests data is downloaded sepratly, see download_pytest_data.py. |
| 2706 | #~(list #$@(map (lambda (test) (string-append "--deselect=" |
| 2707 | "tests/" |
| 2708 | "test_reproducibility.py::" |
| 2709 | test)) |
| 2710 | (list"test_cnmf_end_to_end[dataset_config0]" |
| 2711 | "test_cnmf_end_to_end[dataset_config1]"))) |
| 2712 | #:phases |
| 2713 | #~(modify-phases %standard-phases |
| 2714 | (add-after 'unpack 'set-envs |
| 2715 | (lambda _ |
| 2716 | (setenv "MPLCONFIGDIR" "/tmp") |
| 2717 | ;; Numba needs a writable dir to cache functions. |
| 2718 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 2719 | (native-inputs |
| 2720 | (list python-pytest |
| 2721 | python-setuptools)) |
| 2722 | (propagated-inputs |
| 2723 | (list python-anndata |
| 2724 | python-fastcluster |
| 2725 | python-matplotlib |
| 2726 | python-numba |
| 2727 | python-numpy |
| 2728 | python-palettable |
| 2729 | python-pandas |
| 2730 | python-pyyaml |
| 2731 | python-scanpy |
| 2732 | python-scikit-learn |
| 2733 | python-scipy)) |
| 2734 | (home-page "https://github.com/dylkot/cNMF") |
| 2735 | (synopsis "Consensus NMF for scRNA-Seq data") |
| 2736 | (description |
| 2737 | "This tool offers a pipeline for inferring gene expression programs from |
| 2738 | scRNA-Seq. It takes a count matrix (N cells X G genes) as input and produces |
| 2739 | a (K x G) matrix of gene expression programs (GEPs) and a (N x K) matrix |
| 2740 | specifying the usage of each program for each cell in the data.") |
| 2741 | (license license:expat))) |
| 2742 | |
| 2743 | (define-public python-cyvcf2 |
| 2744 | (package |
| 2745 | (name "python-cyvcf2") |
| 2746 | (version "0.34.0") |
| 2747 | (source |
| 2748 | (origin |
| 2749 | (method git-fetch) |
| 2750 | (uri (git-reference |
| 2751 | (url "https://github.com/brentp/cyvcf2") |
| 2752 | (commit (string-append "v" version)))) |
| 2753 | (file-name (git-file-name name version)) |
| 2754 | (sha256 |
| 2755 | (base32 "1cy7z4xfhpk4klk9gzy2vnk3rn6sxbpdk76ipfx9r6qr8xq3cfjw")) |
| 2756 | (modules '((guix build utils))) |
| 2757 | (snippet |
| 2758 | ;; Delete bundled library |
| 2759 | '(delete-file-recursively "htslib")))) |
| 2760 | (build-system pyproject-build-system) |
| 2761 | (arguments |
| 2762 | (list |
| 2763 | #:test-flags |
| 2764 | ;; assert np.False_ where np.False_ = <built-in method all of |
| 2765 | ;; numpy.ndarray object at 0x7fff6f8ddad0>() where <built-in method all |
| 2766 | ;; of numpy.ndarray object at 0x7fff6f8ddad0> = array([-1, 1], |
| 2767 | ;; dtype=int16) == [-1, 0] |
| 2768 | #~(list "--deselect=tests/test_reader.py::test_genotypes") |
| 2769 | #:phases |
| 2770 | #~(modify-phases %standard-phases |
| 2771 | (add-before 'build 'use-system-htslib-package |
| 2772 | (lambda _ |
| 2773 | (setenv "CYTHONIZE" "1") |
| 2774 | (setenv "CYVCF2_HTSLIB_MODE" "EXTERNAL"))) |
| 2775 | (add-before 'check 'pre-check |
| 2776 | (lambda _ |
| 2777 | (copy-recursively "cyvcf2/tests" "tests") |
| 2778 | (substitute* (list "tests/test_reader.py" |
| 2779 | "tests/test_writer.py") |
| 2780 | (("\\.\\.cyvcf2") "cyvcf2")) |
| 2781 | (delete-file-recursively "cyvcf2")))))) |
| 2782 | (inputs (list curl htslib libdeflate openssl zlib)) |
| 2783 | (native-inputs |
| 2784 | (list python-cython |
| 2785 | python-pytest |
| 2786 | python-scikit-build-core)) |
| 2787 | (propagated-inputs |
| 2788 | (list python-click |
| 2789 | python-coloredlogs |
| 2790 | python-numpy)) |
| 2791 | (home-page "https://github.com/brentp/cyvcf2/") |
| 2792 | (synopsis "Fast vcf file parsing with Cython and htslib") |
| 2793 | (description "Cyvcf2 is a Cython wrapper around htslib built for fast |
| 2794 | parsing of Variant Call Format (VCF) files.") |
| 2795 | (license license:expat))) |
| 2796 | |
| 2797 | (define-public python-decoupler |
| 2798 | (package |
| 2799 | (name "python-decoupler") |
| 2800 | (version "2.2.0") |
| 2801 | (source (origin |
| 2802 | (method git-fetch) |
| 2803 | (uri (git-reference |
| 2804 | (url "https://github.com/scverse/decoupler") |
| 2805 | (commit (string-append "v" version)))) |
| 2806 | (file-name (git-file-name name version)) |
| 2807 | (sha256 |
| 2808 | (base32 |
| 2809 | "1jdlwh0v4lfc750mxqkzvy0wbc7hj8agf5bfmr4abnfxh5ckdfyp")))) |
| 2810 | (build-system pyproject-build-system) |
| 2811 | (arguments |
| 2812 | (list |
| 2813 | ;; tests: 237 passed, 1 skipped, 35 deselected, 72 warnings |
| 2814 | #:test-flags |
| 2815 | ;; TypeError: deprecate_kwarg() missing 1 required positional argument: |
| 2816 | ;; 'new_arg_name'. |
| 2817 | '(list "--ignore=tests/mt/test_mlm.py" |
| 2818 | "-k" (string-join |
| 2819 | ;; Tests requiring internet access to reach out |
| 2820 | ;; <datasets.cellxgene.cziscience.com>, <ftp.ebi.ac.uk>, |
| 2821 | ;; <omnipathdb.org>, <raw.githubusercontent.com>, |
| 2822 | ;; <static.omnipathdb.org>, <www.ensembl.org>, |
| 2823 | ;; <www.ncbi.nlm.nih.gov>, and <zenodo.org>. |
| 2824 | (list "not test_collectri" |
| 2825 | "test_covid5k" |
| 2826 | "test_dorothea" |
| 2827 | "test_download" |
| 2828 | "test_download_anndata" |
| 2829 | "test_ensmbl_to_symbol" |
| 2830 | "test_erygast1k" |
| 2831 | "test_hallmark" |
| 2832 | "test_hsctgfb" |
| 2833 | "test_knocktf" |
| 2834 | "test_msvisium" |
| 2835 | "test_pbmc3k" |
| 2836 | "test_progeny" |
| 2837 | "test_resource" |
| 2838 | "test_show_resources" |
| 2839 | "test_translate" |
| 2840 | ;; XXX: Some precision mismatched. |
| 2841 | "test_func_gsea" |
| 2842 | "test_net_corr") |
| 2843 | " and not ")) |
| 2844 | #:phases |
| 2845 | '(modify-phases %standard-phases |
| 2846 | (add-before 'check 'set-home |
| 2847 | ;; Some tests require a home directory to be set. |
| 2848 | (lambda _ (setenv "HOME" "/tmp"))) |
| 2849 | ;; Numba needs a writable dir to cache functions. |
| 2850 | (add-before 'build 'set-numba-cache-dir |
| 2851 | (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 2852 | (propagated-inputs (list python-adjusttext |
| 2853 | python-anndata |
| 2854 | python-docrep |
| 2855 | python-marsilea |
| 2856 | python-numba |
| 2857 | python-requests |
| 2858 | python-scipy |
| 2859 | python-session-info2 |
| 2860 | python-tqdm |
| 2861 | ;; [optional] |
| 2862 | python-dcor |
| 2863 | python-igraph |
| 2864 | python-ipywidgets |
| 2865 | ;; python-pydeseq2 ;not packaged yet in Guix |
| 2866 | python-scanpy |
| 2867 | python-xgboost)) |
| 2868 | (native-inputs |
| 2869 | (list nss-certs-for-test |
| 2870 | python-hatchling |
| 2871 | python-gseapy |
| 2872 | python-memory-profiler |
| 2873 | python-pytest)) |
| 2874 | (home-page "https://github.com/scverse/decoupler") |
| 2875 | (synopsis |
| 2876 | "Framework for modeling, analyzing and interpreting single-cell RNA-seq data") |
| 2877 | (description |
| 2878 | "This package provides different statistical methods to extract |
| 2879 | biological activities from omics data within a unified framework.") |
| 2880 | (license license:bsd-3))) |
| 2881 | |
| 2882 | (define-public python-demuxem |
| 2883 | (package |
| 2884 | (name "python-demuxem") |
| 2885 | (version "0.1.8") |
| 2886 | (source (origin |
| 2887 | (method url-fetch) |
| 2888 | (uri (pypi-uri "demuxem" version)) |
| 2889 | (sha256 |
| 2890 | (base32 |
| 2891 | "0l0zyhg0yrj4mn3adnv0aisb4fa62jbrd7y8sz44l2s3k4iyr39q")))) |
| 2892 | (build-system pyproject-build-system) |
| 2893 | ;; There are no tests. |
| 2894 | (arguments (list #:tests? #false)) |
| 2895 | (propagated-inputs |
| 2896 | (list python-docopt |
| 2897 | python-numpy |
| 2898 | python-pandas |
| 2899 | python-pegasusio |
| 2900 | python-scikit-learn |
| 2901 | python-scipy |
| 2902 | python-seaborn)) |
| 2903 | (native-inputs |
| 2904 | (list python-cython python-setuptools python-setuptools-scm)) |
| 2905 | (home-page "https://github.com/lilab-bcb/demuxEM") |
| 2906 | (synopsis "Analyze cell-hashing/nucleus-hashing data") |
| 2907 | (description |
| 2908 | "This is a Python module for analyzing cell-hashing/nucleus-hashing data. |
| 2909 | It is the demultiplexing module of Pegasus, which is used by Cumulus in the |
| 2910 | demultiplexing step.") |
| 2911 | (license license:bsd-3))) |
| 2912 | |
| 2913 | (define-public python-doubletdetection |
| 2914 | (package |
| 2915 | (name "python-doubletdetection") |
| 2916 | (version "4.2") |
| 2917 | (source (origin |
| 2918 | (method url-fetch) |
| 2919 | (uri (pypi-uri "doubletdetection" version)) |
| 2920 | (sha256 |
| 2921 | (base32 |
| 2922 | "0v0a19014h4p6x8pyz1s78xn3q5w5166cysvg574z6vw79a3s9vp")))) |
| 2923 | (build-system pyproject-build-system) |
| 2924 | (arguments |
| 2925 | (list |
| 2926 | #:tests? #false ;there are none |
| 2927 | #:phases |
| 2928 | #~(modify-phases %standard-phases |
| 2929 | (add-after 'unpack 'use-poetry-core |
| 2930 | (lambda _ |
| 2931 | ;; Patch to use the core poetry API. |
| 2932 | (substitute* "pyproject.toml" |
| 2933 | (("poetry.masonry.api") |
| 2934 | "poetry.core.masonry.api"))))))) |
| 2935 | (propagated-inputs |
| 2936 | (list python-anndata |
| 2937 | python-ipywidgets |
| 2938 | python-leidenalg |
| 2939 | python-louvain-igraph |
| 2940 | python-matplotlib |
| 2941 | python-numpy |
| 2942 | python-pandas |
| 2943 | python-phenograph |
| 2944 | python-scanpy |
| 2945 | python-scipy |
| 2946 | python-tqdm)) |
| 2947 | (native-inputs |
| 2948 | (list python-poetry-core |
| 2949 | python-pytest)) |
| 2950 | (home-page "https://github.com/JonathanShor/DoubletDetection") |
| 2951 | (synopsis |
| 2952 | "This is a package to detect doublets in single-cell RNA-seq count matrices") |
| 2953 | (description |
| 2954 | "This package provides a method to detect and enable removal of doublets |
| 2955 | from single-cell RNA-sequencing.") |
| 2956 | (license license:expat))) |
| 2957 | |
| 2958 | (define-public python-harmonypy |
| 2959 | (package |
| 2960 | (name "python-harmonypy") |
| 2961 | (version "0.0.10") |
| 2962 | (source |
| 2963 | (origin |
| 2964 | (method git-fetch) |
| 2965 | (uri (git-reference |
| 2966 | (url "https://github.com/slowkow/harmonypy") |
| 2967 | (commit (string-append "v" version)))) |
| 2968 | (file-name (git-file-name name version)) |
| 2969 | (sha256 |
| 2970 | (base32 "15lxgncrnsx1hapfx78pvx4rjx5d48hqixdnacdy55d84myfmrym")))) |
| 2971 | (build-system pyproject-build-system) |
| 2972 | (arguments |
| 2973 | (list |
| 2974 | #:phases |
| 2975 | #~(modify-phases %standard-phases |
| 2976 | (add-after 'unpack 'patch-pyproject |
| 2977 | (lambda _ |
| 2978 | ;; License field should not be empty. |
| 2979 | (substitute* "pyproject.toml" |
| 2980 | (("^license = \"\"") ""))))))) |
| 2981 | (propagated-inputs (list python-numpy |
| 2982 | python-pandas |
| 2983 | python-scikit-learn |
| 2984 | python-scipy)) |
| 2985 | (native-inputs (list python-hatchling python-pytest)) |
| 2986 | (home-page "https://github.com/slowkow/harmonypy") |
| 2987 | (synopsis "Data integration algorithm") |
| 2988 | (description |
| 2989 | "Harmony is an algorithm for integrating multiple high-dimensional |
| 2990 | datasets with fuzzy k-means and locally linear adjustments.") |
| 2991 | (license license:gpl2))) |
| 2992 | |
| 2993 | (define-public python-hclust2 |
| 2994 | (package |
| 2995 | (name "python-hclust2") |
| 2996 | (version "1.0.0") |
| 2997 | (source (origin |
| 2998 | (method url-fetch) |
| 2999 | (uri (pypi-uri "hclust2" version)) |
| 3000 | (sha256 |
| 3001 | (base32 |
| 3002 | "0v89n2g42d7jhgfs8glf06apgxx6aswp3mfisgnhm518cv8z2rwn")))) |
| 3003 | (build-system pyproject-build-system) |
| 3004 | (arguments (list #:tests? #f)) ;there are no tests |
| 3005 | (propagated-inputs |
| 3006 | (list python-matplotlib |
| 3007 | python-numpy |
| 3008 | python-pandas |
| 3009 | python-scipy)) |
| 3010 | (native-inputs (list python-setuptools)) |
| 3011 | (home-page "https://github.com/SegataLab/hclust2/") |
| 3012 | (synopsis "Plotting heat-maps for publications") |
| 3013 | (description |
| 3014 | "Hclust2 is a handy tool for plotting heat-maps with several useful options |
| 3015 | to produce high quality figures that can be used in publications.") |
| 3016 | (license license:expat))) |
| 3017 | |
| 3018 | (define-public python-hotspotsc |
| 3019 | (package |
| 3020 | (name "python-hotspotsc") |
| 3021 | (version "1.1.1") |
| 3022 | (source |
| 3023 | (origin |
| 3024 | (method git-fetch) |
| 3025 | (uri (git-reference |
| 3026 | (url "https://github.com/yoseflab/hotspot") |
| 3027 | (commit (string-append "v" version)))) |
| 3028 | (file-name (git-file-name name version)) |
| 3029 | (sha256 |
| 3030 | (base32 "0w61bk81c9zkhxjzh3n2q21q8kwk2fgcjgk5i2q4b1apa5d47agf")))) |
| 3031 | (build-system pyproject-build-system) |
| 3032 | (arguments |
| 3033 | (list |
| 3034 | #:build-backend "poetry.core.masonry.api" |
| 3035 | #:test-flags |
| 3036 | ;; ValueError: underlying array is read-only |
| 3037 | #~(list "--deselect=tests/test_validations.py::test_models") |
| 3038 | #:phases |
| 3039 | #~(modify-phases %standard-phases |
| 3040 | (add-after 'unpack 'fix-pyproject-toml |
| 3041 | ;; tool.poetry.extras.docs[2] must match pattern ^[a-zA-Z-_.0-9]+$ |
| 3042 | (lambda _ |
| 3043 | (substitute* "pyproject.toml" |
| 3044 | (("docs=.*") "")))) |
| 3045 | (add-before 'check 'pre-check |
| 3046 | (lambda _ |
| 3047 | ;; <...> no locator available for file <...> |
| 3048 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 3049 | (native-inputs |
| 3050 | (list python-poetry-core python-pytest)) |
| 3051 | (propagated-inputs |
| 3052 | (list python-anndata |
| 3053 | python-matplotlib |
| 3054 | python-nbsphinx |
| 3055 | python-numba |
| 3056 | python-numpy |
| 3057 | python-pandas |
| 3058 | python-pynndescent |
| 3059 | python-scanpy |
| 3060 | python-scikit-learn |
| 3061 | python-scipy |
| 3062 | python-seaborn |
| 3063 | python-statsmodels |
| 3064 | python-tqdm)) |
| 3065 | (home-page "https://github.com/yoseflab/hotspot") |
| 3066 | (synopsis |
| 3067 | "Identifying informative genes in a single-cell dataset") |
| 3068 | (description |
| 3069 | "Hotspot is a tool for identifying informative genes (and gene modules) |
| 3070 | in a single-cell dataset. Importantly, \"informative\" is decided based on |
| 3071 | how well a gene's variation agrees with some cell metric---some similarity |
| 3072 | mapping between cells. Genes which are informative are those whose expression |
| 3073 | varies in similar way among cells which are nearby in the given metric.") |
| 3074 | (license license:expat))) |
| 3075 | |
| 3076 | (define-public python-htsget |
| 3077 | (package |
| 3078 | (name "python-htsget") |
| 3079 | (version "0.2.6") |
| 3080 | (source |
| 3081 | (origin |
| 3082 | (method git-fetch) |
| 3083 | (uri (git-reference |
| 3084 | (url "https://github.com/ga4gh/htsget") |
| 3085 | (commit version))) |
| 3086 | (file-name (git-file-name name version)) |
| 3087 | (sha256 |
| 3088 | (base32 "0000h4wkcwdandd4rqizvgn2hrnzcyv17k51zkis1h9cg4jpxr55")))) |
| 3089 | (build-system pyproject-build-system) |
| 3090 | (arguments |
| 3091 | ;; Network access is required. |
| 3092 | (list #:test-flags #~(list "--exclude=test_data_truncation"))) |
| 3093 | (native-inputs |
| 3094 | (list python-mock |
| 3095 | python-pynose |
| 3096 | python-setuptools |
| 3097 | python-setuptools-scm)) |
| 3098 | (propagated-inputs |
| 3099 | (list python-humanize python-requests python-six)) |
| 3100 | (home-page "https://github.com/ga4gh/htsget") |
| 3101 | (synopsis "Python API and command line interface for the GA4GH htsget API") |
| 3102 | (description |
| 3103 | "This package is a client implementation of the GA4GH htsget protocol. |
| 3104 | It provides a simple and reliable way to retrieve genomic data from servers |
| 3105 | supporting the protocol.") |
| 3106 | (license license:asl2.0))) |
| 3107 | |
| 3108 | (define-public python-liana-py |
| 3109 | (package |
| 3110 | (name "python-liana-py") |
| 3111 | (version "1.10.0") |
| 3112 | (source |
| 3113 | (origin |
| 3114 | (method git-fetch) |
| 3115 | (uri (git-reference |
| 3116 | (url "https://github.com/saezlab/liana-py") |
| 3117 | (commit (string-append "v" version)))) |
| 3118 | (file-name (git-file-name name version)) |
| 3119 | (sha256 |
| 3120 | (base32 "0bdbrk0cr4m6br664gs1ixvchyd9hnwjmbnzxkx0gbj5967i1lw3")))) |
| 3121 | (build-system pyproject-build-system) |
| 3122 | (arguments |
| 3123 | (list |
| 3124 | ;; tests: 218 passed, 13 deselected, 755 warnings |
| 3125 | #:test-flags |
| 3126 | #~(list "-m" "not network" |
| 3127 | ;; Tests depending on python-corneto. |
| 3128 | "--deselect=tests/method/test_causalnet.py::test_build_prior_network" |
| 3129 | "--deselect=tests/method/test_causalnet.py::test_caulsalnet" |
| 3130 | "--deselect=tests/method/test_causalnet.py::test_causalnet_noweights" |
| 3131 | ;; A task has failed to un-serialize. |
| 3132 | "--deselect=tests/method/sc/test_methods.py::test_geometric_mean") |
| 3133 | #:phases |
| 3134 | #~(modify-phases %standard-phases |
| 3135 | ;; Numba needs a writable directory to cache functions. |
| 3136 | (add-before 'build 'set-numba-cache-dir |
| 3137 | (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 3138 | (native-inputs |
| 3139 | (list python-hatchling |
| 3140 | python-numpydoc |
| 3141 | python-pytest)) |
| 3142 | (propagated-inputs |
| 3143 | (list python-anndata |
| 3144 | python-mudata |
| 3145 | python-scanpy |
| 3146 | python-numba |
| 3147 | python-tqdm |
| 3148 | python-docrep |
| 3149 | python-plotnine |
| 3150 | python-session-info2 |
| 3151 | ;; See: <https://github.com/saezlab/liana-py/issues/244>. |
| 3152 | python-pandas-2 |
| 3153 | ;; [optional] |
| 3154 | python-cell2cell |
| 3155 | ;; python-corneto ;not packaged yet in Guix |
| 3156 | ;; python-cvxpy-base ;not packaged yet in Guix |
| 3157 | python-decoupler |
| 3158 | python-gseapy |
| 3159 | python-kneed |
| 3160 | python-mofapy2 |
| 3161 | python-mofax |
| 3162 | python-muon |
| 3163 | python-omnipath |
| 3164 | ;; python-pydeseq2 ;not packaged yet in Guix |
| 3165 | ;; python-pyscipopt ;not packaged yet in Guix |
| 3166 | python-requests)) |
| 3167 | (home-page "https://github.com/saezlab/liana-py") |
| 3168 | (synopsis "LIANA is a ligand-receptor analysis framework") |
| 3169 | (description "This is a Ligand-Receptor inference framework. The |
| 3170 | framework enables the use of any LR method with any resources.") |
| 3171 | (license license:gpl3+))) |
| 3172 | |
| 3173 | (define-public python-logomaker |
| 3174 | (package |
| 3175 | (name "python-logomaker") |
| 3176 | (version "0.8.7") |
| 3177 | (source (origin |
| 3178 | (method url-fetch) |
| 3179 | (uri (pypi-uri "logomaker" version)) |
| 3180 | (sha256 |
| 3181 | (base32 |
| 3182 | "00ikzh7cv3yi1aj5v3hrpia6w7xrw559rqhwy3qxcja4wbk3qy33")))) |
| 3183 | (build-system pyproject-build-system) |
| 3184 | (arguments |
| 3185 | (list |
| 3186 | ;; All tests are marked as skipped in logomaker/tests, this is taken |
| 3187 | ;; form GitHub Actions file .github/workflows/daily-tests.yml. |
| 3188 | #:test-backend #~'custom |
| 3189 | #:test-flags #~(list "-c" "import logomaker"))) |
| 3190 | (propagated-inputs |
| 3191 | (list python-matplotlib python-numpy python-pandas)) |
| 3192 | (native-inputs (list python-hatchling)) |
| 3193 | (home-page "https://github.com/jbkinney/logomaker") |
| 3194 | (synopsis "Package for making Sequence Logos") |
| 3195 | (description "Logomaker is a Python package for generating |
| 3196 | publication-quality sequence logos. Logomaker can generate both standard and |
| 3197 | highly customized logos illustrating the properties of DNA, RNA, or protein |
| 3198 | sequences. Logos are rendered as vector graphics embedded within native |
| 3199 | matplotlib Axes objects, making them easy to style and incorporate into |
| 3200 | multi-panel figures.") |
| 3201 | (license license:expat))) |
| 3202 | |
| 3203 | (define-public python-weblogo |
| 3204 | (package |
| 3205 | (name "python-weblogo") |
| 3206 | (version "3.7.12") |
| 3207 | (home-page "https://github.com/gecrooks/weblogo") |
| 3208 | (source |
| 3209 | (origin |
| 3210 | (method url-fetch) |
| 3211 | (uri (pypi-uri "weblogo" version)) |
| 3212 | (sha256 |
| 3213 | (base32 |
| 3214 | "0mw6aa0dq3kk9k1nakdvm64icz9504spqbvq4v2h0rb1cb52frkw")))) |
| 3215 | (build-system pyproject-build-system) |
| 3216 | (propagated-inputs (list ghostscript |
| 3217 | python-numpy |
| 3218 | python-pluggy |
| 3219 | python-scipy)) |
| 3220 | (native-inputs (list ghostscript |
| 3221 | python-importlib-resources |
| 3222 | python-pytest |
| 3223 | python-setuptools |
| 3224 | python-setuptools-scm)) |
| 3225 | (arguments |
| 3226 | (list |
| 3227 | #:test-flags |
| 3228 | '(list "-k" |
| 3229 | ;; These tests fail because of circular imports |
| 3230 | (string-append "not test_cli.py" |
| 3231 | " and not test_transformseq.py")))) |
| 3232 | (synopsis "Sequence Logo Generator") |
| 3233 | (description "WebLogo is a web based application designed to make the |
| 3234 | generation of sequence logos as easy and painless as possible. |
| 3235 | |
| 3236 | WebLogo can create output in several common graphics' formats, including the |
| 3237 | bitmap formats GIF and PNG, suitable for on-screen display, and the vector |
| 3238 | formats EPS and PDF, more suitable for printing, publication, and further |
| 3239 | editing. Additional graphics options include bitmap resolution, titles, |
| 3240 | optional axis, and axis labels, antialiasing, error bars, and alternative |
| 3241 | symbol formats. |
| 3242 | |
| 3243 | A sequence logo is a graphical representation of an amino acid or nucleic acid |
| 3244 | multiple sequence alignment. Each logo consists of stacks of symbols, one |
| 3245 | stack for each position in the sequence. The overall height of the stack |
| 3246 | indicates the sequence conservation at that position, while the height of |
| 3247 | symbols within the stack indicates the relative frequency of each amino or |
| 3248 | nucleic acid at that position. The width of the stack is proportional to the |
| 3249 | fraction of valid symbols in that position.") |
| 3250 | (license license:expat))) |
| 3251 | |
| 3252 | (define-public python-magic-impute |
| 3253 | (package |
| 3254 | (name "python-magic-impute") |
| 3255 | (version "3.0.0") |
| 3256 | (source |
| 3257 | (origin |
| 3258 | (method git-fetch) |
| 3259 | (uri (git-reference |
| 3260 | (url "https://github.com/KrishnaswamyLab/MAGIC") |
| 3261 | (commit (string-append "v" version)))) |
| 3262 | (file-name (git-file-name name version)) |
| 3263 | (sha256 |
| 3264 | (base32 |
| 3265 | "1f4ckvpki2461xd5hclhj7gqwj8xizs4d0fd942kvgafidrsdvlx")))) |
| 3266 | (build-system pyproject-build-system) |
| 3267 | (arguments |
| 3268 | (list |
| 3269 | #:test-flags |
| 3270 | #~(list "test/test.py") |
| 3271 | #:phases |
| 3272 | #~(modify-phases %standard-phases |
| 3273 | (add-after 'unpack 'chdir |
| 3274 | (lambda _ (chdir "python")))))) |
| 3275 | (native-inputs |
| 3276 | (list python-pytest |
| 3277 | python-setuptools)) |
| 3278 | (propagated-inputs |
| 3279 | (list python-future |
| 3280 | python-graphtools |
| 3281 | python-matplotlib |
| 3282 | python-numpy |
| 3283 | python-pandas |
| 3284 | python-scikit-learn |
| 3285 | python-scipy |
| 3286 | python-scprep |
| 3287 | python-tasklogger)) |
| 3288 | (home-page "https://github.com/KrishnaswamyLab/MAGIC") |
| 3289 | (synopsis "Markov affinity-based graph imputation of cells") |
| 3290 | (description "MAGIC is an interactive tool to impute missing values in |
| 3291 | single-cell sequencing data and to restore the structure of the data. It also |
| 3292 | provides data pre-processing functionality such as dimensionality reduction |
| 3293 | and gene expression visualization.") |
| 3294 | (license license:gpl2+))) |
| 3295 | |
| 3296 | (define-public python-metacells |
| 3297 | (package |
| 3298 | (name "python-metacells") |
| 3299 | (version "0.9.5") |
| 3300 | (source |
| 3301 | (origin |
| 3302 | (method url-fetch) |
| 3303 | (uri (pypi-uri "metacells" version)) |
| 3304 | (sha256 |
| 3305 | (base32 "0rb1r8l1ypfmvd3lwlx7ksfbjvgpnybn1s84a8n9gcpz9yx2rhbs")))) |
| 3306 | #; |
| 3307 | (properties '((tunable? . #t))) |
| 3308 | (build-system pyproject-build-system) |
| 3309 | (arguments |
| 3310 | (list |
| 3311 | #:phases |
| 3312 | #~(modify-phases %standard-phases |
| 3313 | ;; The package "python-igraph" has been deprecated in favor of |
| 3314 | ;; just "igraph". |
| 3315 | (add-after 'unpack 'rename-igraph |
| 3316 | (lambda _ |
| 3317 | (substitute* "requirements.txt" |
| 3318 | (("python-igraph") "igraph")))) |
| 3319 | (add-after 'unpack 'do-not-tune |
| 3320 | (lambda _ |
| 3321 | ;; Without this they pass -march=native to the compiler. |
| 3322 | (setenv "WHEEL" "1"))) |
| 3323 | (add-before 'check 'pre-check |
| 3324 | (lambda _ |
| 3325 | ;; Numba needs a writable dir to cache functions. |
| 3326 | (setenv "NUMBA_CACHE_DIR" "/tmp") |
| 3327 | (delete-file-recursively "metacells"))) |
| 3328 | (add-before 'sanity-check 'pre-sanity-check |
| 3329 | (lambda _ |
| 3330 | ;; Numba needs a writable dir to cache functions. |
| 3331 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 3332 | (propagated-inputs (list python-anndata |
| 3333 | python-cvxpy |
| 3334 | python-fastcluster |
| 3335 | python-igraph |
| 3336 | python-numpy |
| 3337 | python-pandas |
| 3338 | python-psutil |
| 3339 | python-pyyaml |
| 3340 | python-scanpy |
| 3341 | python-scipy |
| 3342 | python-threadpoolctl |
| 3343 | python-umap-learn)) |
| 3344 | (native-inputs (list pybind11-2 python-pytest python-setuptools)) |
| 3345 | (home-page "https://github.com/tanaylab/metacells") |
| 3346 | (synopsis "Single-cell RNA Sequencing Analysis") |
| 3347 | (description "The metacells package implements the improved metacell |
| 3348 | algorithm for single-cell RNA sequencing (scRNA-seq) data analysis within the |
| 3349 | scipy framework, and projection algorithm based on it. The original metacell |
| 3350 | algorithm was implemented in R. The Python package contains various |
| 3351 | algorithmic improvements and is scalable for larger data sets (millions of |
| 3352 | cells).") |
| 3353 | (license license:expat))) |
| 3354 | |
| 3355 | (define-public python-ngesh |
| 3356 | (package |
| 3357 | (name "python-ngesh") |
| 3358 | (version "1.0") |
| 3359 | (source |
| 3360 | (origin |
| 3361 | (method git-fetch) |
| 3362 | (uri (git-reference |
| 3363 | (url "https://github.com/tresoldi/ngesh") |
| 3364 | (commit (string-append "v" version)))) |
| 3365 | (file-name (git-file-name name version)) |
| 3366 | (sha256 |
| 3367 | (base32 "07sj4x95b5hvx57pw24f80sk4ag4hkg1z6wzym3pzi8n5gn85n1z")))) |
| 3368 | (build-system pyproject-build-system) |
| 3369 | (propagated-inputs (list python-ete3 python-numpy python-six)) |
| 3370 | (native-inputs (list python-pytest)) |
| 3371 | (home-page "https://github.com/tresoldi/ngesh") |
| 3372 | (synopsis "Library for phylogenetic tree simulation") |
| 3373 | (description |
| 3374 | "Ngesh is a Python library and CLI tool for simulating phylogenetic trees |
| 3375 | and data. It is intended for benchmarking phylogenetic methods, especially in |
| 3376 | historical linguistics andstemmatology. The generation of stochastic |
| 3377 | phylogenetic trees also goes by the name simulationmethods for phylogenetic |
| 3378 | trees, synthetic data generation, or just phylogenetic tree simulation.") |
| 3379 | (license license:expat))) |
| 3380 | |
| 3381 | (define-public python-parabam |
| 3382 | (package |
| 3383 | (name "python-parabam") |
| 3384 | ;; XXX: Upstream works on modernization of the project, use the latest |
| 3385 | ;; commit providing fixes. |
| 3386 | ;; See: <https://github.com/cancerit/parabam/issues/10>. |
| 3387 | (properties '((commit . "be5bd35012d37df8cfa88771325a0273519c8c98") |
| 3388 | (revision . "0"))) |
| 3389 | (version (git-version "3.0.1" |
| 3390 | (assoc-ref properties 'revision) |
| 3391 | (assoc-ref properties 'commit))) |
| 3392 | (source |
| 3393 | (origin |
| 3394 | (method git-fetch) |
| 3395 | (uri (git-reference |
| 3396 | (url "https://github.com/cancerit/parabam") |
| 3397 | (commit (assoc-ref properties 'commit)))) |
| 3398 | (file-name (git-file-name name version)) |
| 3399 | (sha256 |
| 3400 | (base32 "1x0c1zhlfplhm4n07vibvh4jprjsdlypnlig87a8r07d26d4qphh")) |
| 3401 | (patches |
| 3402 | (list |
| 3403 | (origin |
| 3404 | (method url-fetch) |
| 3405 | (uri |
| 3406 | (string-append "https://github.com/cancerit/parabam/commit/" |
| 3407 | "477246d7a13b227841bf49521181235c76afe75f.patch")) |
| 3408 | (file-name (string-append name "-" version "-pull-16.patch")) |
| 3409 | (sha256 |
| 3410 | (base32 "0znmyvrmwbscqymhsx60pnp9jhzpz94diyv409jygjm58hj5454z"))))))) |
| 3411 | (build-system pyproject-build-system) |
| 3412 | (arguments |
| 3413 | (list |
| 3414 | #:tests? #f ;no tests |
| 3415 | #:phases |
| 3416 | #~(modify-phases %standard-phases |
| 3417 | (add-before 'build 'cythonize |
| 3418 | (lambda _ |
| 3419 | (with-directory-excursion "parabam" |
| 3420 | (for-each (lambda (file) |
| 3421 | (invoke "cython" "-3" file "-I" ".")) |
| 3422 | (find-files "." ".*\\.pyx$")))))))) |
| 3423 | (propagated-inputs (list python-numpy python-pysam)) |
| 3424 | (native-inputs (list python-cython python-setuptools)) |
| 3425 | (home-page "https://github.com/cancerit/parabam") |
| 3426 | (synopsis "Parallel BAM File Analysis") |
| 3427 | (description "Parabam is a tool for processing sequencing files in |
| 3428 | parallel. It uses Python's native multiprocessing framework to apply a user |
| 3429 | defined rule on an input file.") |
| 3430 | (license license:gpl3))) |
| 3431 | |
| 3432 | (define-public python-pdbfixer |
| 3433 | (package |
| 3434 | (name "python-pdbfixer") |
| 3435 | (version "1.12") |
| 3436 | (source |
| 3437 | (origin |
| 3438 | (method git-fetch) |
| 3439 | (uri (git-reference |
| 3440 | (url "https://github.com/openmm/pdbfixer") |
| 3441 | (commit (string-append "v" version)))) |
| 3442 | (file-name (git-file-name name version)) |
| 3443 | (sha256 |
| 3444 | (base32 "0jj724fkvk7bk47izk92ss8nz9ymfvj0f1fkypc0ig4xd5qzjqsz")))) |
| 3445 | (build-system pyproject-build-system) |
| 3446 | (arguments |
| 3447 | (list |
| 3448 | #:test-flags |
| 3449 | ;; These tests fail because they require internet access or test data. |
| 3450 | '(list "-k" |
| 3451 | (string-join (list "not test_build_and_simulate" |
| 3452 | "test_charge_and_solvate" |
| 3453 | "test_cli" |
| 3454 | "test_leaving_atoms" |
| 3455 | "test_mutate" |
| 3456 | "test_nonstandard") |
| 3457 | " and not ")))) |
| 3458 | (propagated-inputs (list openmm python-numpy)) |
| 3459 | (native-inputs (list python-pytest python-setuptools)) |
| 3460 | (home-page "https://github.com/openmm/pdbfixer") |
| 3461 | (synopsis "Application for fixing problems in Protein Data Bank") |
| 3462 | (description |
| 3463 | "PDBFixer is designed to rectify issues in Protein Data Bank files. |
| 3464 | Its intuitive interface simplifies the process of resolving problems |
| 3465 | encountered in PDB files prior to simulation tasks.") |
| 3466 | (license license:expat))) |
| 3467 | |
| 3468 | (define-public python-peaks2utr |
| 3469 | (package |
| 3470 | (name "python-peaks2utr") |
| 3471 | (version "1.5.0") |
| 3472 | (source |
| 3473 | (origin |
| 3474 | (method git-fetch) |
| 3475 | (uri (git-reference |
| 3476 | (url "https://github.com/haessar/peaks2utr") |
| 3477 | (commit (string-append "v" version)))) |
| 3478 | (file-name (git-file-name name version)) |
| 3479 | (sha256 |
| 3480 | (base32 "1b4qiccp5j394pzqd1d4ss3k90zv3kdr84lykl6p8izn3k85b2bl")))) |
| 3481 | (build-system pyproject-build-system) |
| 3482 | (arguments |
| 3483 | (list |
| 3484 | #:phases |
| 3485 | #~(modify-phases %standard-phases |
| 3486 | (add-after 'unpack 'relax-requirements |
| 3487 | (lambda _ |
| 3488 | (substitute* "setup.cfg" |
| 3489 | (("==") ">=") |
| 3490 | ;; See: <https://github.com/haessar/peaks2utr/issues/47>. |
| 3491 | (("numpy >= 1.21.4, <= 1.26.4") "numpy >= 1.21.4"))))))) |
| 3492 | (native-inputs |
| 3493 | (list python-pytest |
| 3494 | python-setuptools)) |
| 3495 | (propagated-inputs |
| 3496 | (list python-asgiref |
| 3497 | python-gffutils |
| 3498 | python-importlib-resources |
| 3499 | macs |
| 3500 | python-numpy |
| 3501 | python-psutil |
| 3502 | python-pybedtools |
| 3503 | python-pysam |
| 3504 | python-requests |
| 3505 | python-tqdm |
| 3506 | python-typing-extensions |
| 3507 | python-zipp)) |
| 3508 | (home-page "https://github.com/haessar/peaks2utr") |
| 3509 | (synopsis "Python CLI for annotating three prime UTR") |
| 3510 | (description |
| 3511 | "This package provides a robust, parallelized Python CLI for annotating |
| 3512 | three prime UTR.") |
| 3513 | (license license:gpl3+))) |
| 3514 | |
| 3515 | (define-public python-pegasusio |
| 3516 | (package |
| 3517 | (name "python-pegasusio") |
| 3518 | (version "0.11.0") |
| 3519 | (source |
| 3520 | (origin |
| 3521 | (method git-fetch) |
| 3522 | (uri (git-reference |
| 3523 | (url "https://github.com/lilab-bcb/pegasusio") |
| 3524 | (commit version))) |
| 3525 | (file-name (git-file-name name version)) |
| 3526 | (sha256 |
| 3527 | (base32 "1v0zcpk13ckw2ab3i3cgqjz66syirx3yplwwv024mpcwzahv826r")))) |
| 3528 | (build-system pyproject-build-system) |
| 3529 | ;; There are no tests. |
| 3530 | (arguments (list #:tests? #false)) |
| 3531 | (propagated-inputs |
| 3532 | (list python-cython |
| 3533 | python-docopt |
| 3534 | python-h5py |
| 3535 | python-loompy |
| 3536 | python-natsort |
| 3537 | python-numpy |
| 3538 | python-pandas |
| 3539 | python-pillow |
| 3540 | python-scipy |
| 3541 | python-setuptools |
| 3542 | python-zarr)) |
| 3543 | (native-inputs (list python-cython python-setuptools python-setuptools-scm)) |
| 3544 | (home-page "https://github.com/lilab-bcb/pegasusio") |
| 3545 | (synopsis "Read or write single-cell genomics data") |
| 3546 | (description |
| 3547 | "Pegasusio is a Python package for reading or writing single-cell |
| 3548 | genomics data.") |
| 3549 | (license license:bsd-3))) |
| 3550 | |
| 3551 | (define-public python-phenograph |
| 3552 | ;; XXX: No updates since 2020, probably not compatible with current NumPy stack. |
| 3553 | (package |
| 3554 | (name "python-phenograph") |
| 3555 | (version "1.5.7") |
| 3556 | (source (origin |
| 3557 | (method url-fetch) |
| 3558 | (uri (pypi-uri "PhenoGraph" version)) |
| 3559 | (sha256 |
| 3560 | (base32 |
| 3561 | "0nji449mzwgp1f87iknl5fmnjdkrhkfkapxvafxdw01s0jg8zcj6")) |
| 3562 | (modules '((guix build utils))) |
| 3563 | ;; Remove bundled binaries |
| 3564 | (snippet |
| 3565 | '(delete-file-recursively "phenograph/louvain")))) |
| 3566 | (build-system pyproject-build-system) |
| 3567 | (arguments |
| 3568 | (list |
| 3569 | ;; tests: 3 passed, 4 deselected, 1 warning |
| 3570 | #:test-flags |
| 3571 | ;; ValueError: 'scipy.sparse.linalg.bicgstab' called with invalid |
| 3572 | ;; `atol`=legacy; if set, `atol` must be a real, non-negative number. |
| 3573 | #~(list "--deselect=tests/test_classify.py::test_classify_generated" |
| 3574 | "--deselect=tests/test_classify.py::test_classify_fixed" |
| 3575 | "--deselect=tests/test_classify.py::test_random_walk_probabilities_fixed" |
| 3576 | ;; This test can never succeed because Q_leiden is never set to |
| 3577 | ;; anything other than None. |
| 3578 | ;; assert 0.6666666666666665 == None |
| 3579 | "--deselect=tests/test_cluster.py::test_run_leiden") |
| 3580 | #:phases |
| 3581 | #~(modify-phases %standard-phases |
| 3582 | (add-after 'unpack 'patch-louvain |
| 3583 | (lambda* (#:key inputs #:allow-other-keys) |
| 3584 | (substitute* "phenograph/core.py" |
| 3585 | (("lpath = os.path.*") |
| 3586 | (string-append "lpath = \"" |
| 3587 | (dirname (search-input-file inputs "/bin/community")) |
| 3588 | "\"\n")) |
| 3589 | (("linux-(community|hierarchy|convert)" _ thing) thing) |
| 3590 | ;; Do not write binaries, because the unmodified "convert" |
| 3591 | ;; from louvain only knows how to process plain text files. |
| 3592 | (("with open\\(filename \\+ \".bin\", \"w\\+b\"\\) as f:") |
| 3593 | "with open(filename + \".bin\", \"w+\") as f:") |
| 3594 | (("f.writelines\\(\\[e for t in zip\\(ij, s\\) for e in t\\]\\)") |
| 3595 | "for [src, dest], weight in zip(ij, s): \ |
| 3596 | f.write(src.astype(\"str\") + ' ' + \ |
| 3597 | dest.astype(\"str\") + ' ' + \ |
| 3598 | weight.astype(\"str\") + '\\n')"))))))) |
| 3599 | (inputs |
| 3600 | (list louvain)) |
| 3601 | (propagated-inputs |
| 3602 | (list python-leidenalg |
| 3603 | python-numpy-1 |
| 3604 | python-psutil |
| 3605 | python-scikit-learn |
| 3606 | python-scipy)) |
| 3607 | (native-inputs |
| 3608 | (list python-pytest python-setuptools)) |
| 3609 | (home-page "https://github.com/dpeerlab/PhenoGraph.git") |
| 3610 | (synopsis "Graph-based clustering for high-dimensional single-cell data") |
| 3611 | (description |
| 3612 | "PhenoGraph is a clustering method designed for high-dimensional |
| 3613 | single-cell data. It works by creating a graph representing phenotypic |
| 3614 | similarities between cells and then identifying communities in this graph.") |
| 3615 | (license license:expat))) |
| 3616 | |
| 3617 | (define-public python-phylophlan |
| 3618 | (package |
| 3619 | (name "python-phylophlan") |
| 3620 | (version "3.0.3") |
| 3621 | (source (origin |
| 3622 | (method git-fetch) |
| 3623 | (uri (git-reference |
| 3624 | (url "https://github.com/biobakery/phylophlan") |
| 3625 | (commit version))) |
| 3626 | (file-name (git-file-name name version)) |
| 3627 | (sha256 |
| 3628 | (base32 |
| 3629 | "1wz70xzxqx2sf5flmf45m15jq027dqijfaj1r51pl50w5x6dkawx")))) |
| 3630 | (build-system pyproject-build-system) |
| 3631 | (arguments (list #:tests? #f)) ;there are no tests |
| 3632 | (propagated-inputs |
| 3633 | (list python-biopython |
| 3634 | python-dendropy |
| 3635 | python-matplotlib |
| 3636 | python-numpy |
| 3637 | python-pandas |
| 3638 | python-seaborn)) |
| 3639 | (native-inputs (list python-setuptools)) |
| 3640 | (home-page "https://github.com/biobakery/phylophlan") |
| 3641 | (synopsis |
| 3642 | "Phylogenetic analysis of microbial isolates and genomes from metagenomes") |
| 3643 | (description |
| 3644 | "This package is an integrated pipeline for large-scale phylogenetic |
| 3645 | profiling of genomes and metagenomes. PhyloPhlAn is an accurate, rapid, and |
| 3646 | easy-to-use method for large-scale microbial genome characterization and |
| 3647 | phylogenetic analysis at multiple levels of resolution. This software package |
| 3648 | can assign both genomes and @acronym{MAGs, metagenome-assembled genomes} to |
| 3649 | @acronym{SGBs, species-level genome bins}. PhyloPhlAn can reconstruct |
| 3650 | strain-level phylogenies using clade- specific maximally informative |
| 3651 | phylogenetic markers, and can also scale to very large phylogenies comprising |
| 3652 | >17,000 microbial species.") |
| 3653 | (license license:expat))) |
| 3654 | |
| 3655 | (define-public python-pybedtools |
| 3656 | (package |
| 3657 | (name "python-pybedtools") |
| 3658 | (version "0.12.0") |
| 3659 | (source |
| 3660 | (origin |
| 3661 | (method url-fetch) |
| 3662 | (uri (pypi-uri "pybedtools" version)) |
| 3663 | (sha256 |
| 3664 | (base32 "0jbjaj0n34k64jp5q3l653qrrxwd8d276hqbq1ii7j3rcngyr1l7")) |
| 3665 | (snippet |
| 3666 | ;; Force the Cythonization of C++ files to guard against compilation |
| 3667 | ;; problems. |
| 3668 | #~(begin |
| 3669 | (use-modules (guix build utils)) |
| 3670 | (use-modules (srfi srfi-26)) |
| 3671 | (let ((cython-sources (map (cut string-drop-right <> 4) |
| 3672 | (find-files "." "\\.pyx$"))) |
| 3673 | (c/c++-files (find-files "." "\\.(c|cpp|cxx)$"))) |
| 3674 | (define (strip-extension filename) |
| 3675 | (string-take filename (string-index-right filename #\.))) |
| 3676 | (define (cythonized? c/c++-file) |
| 3677 | (member (strip-extension c/c++-file) cython-sources)) |
| 3678 | (for-each delete-file (filter cythonized? c/c++-files))))))) |
| 3679 | (build-system pyproject-build-system) |
| 3680 | (arguments |
| 3681 | (list |
| 3682 | #:build-backend "setuptools.build_meta" |
| 3683 | ;; tests: 508 passed, 1 deselected, 3 xfailed |
| 3684 | #:test-flags |
| 3685 | #~(list "--pyargs" "pybedtools" |
| 3686 | ;; ValueError: It appears you don't have an internet connection |
| 3687 | ;; -- unable to get chromsizes from UCSC |
| 3688 | "--deselect=test/test_helpers.py::test_chromsizes") |
| 3689 | #:phases |
| 3690 | #~(modify-phases %standard-phases |
| 3691 | (add-after 'unpack 'fix-references |
| 3692 | (lambda _ |
| 3693 | (substitute* "pybedtools/test/test_issues.py" |
| 3694 | (("'/bin/bash'") (string-append "'" (which "bash") "'"))))) |
| 3695 | (add-before 'build 'generate-cython-extensions |
| 3696 | (lambda _ |
| 3697 | (invoke "python" "setup.py" "cythonize"))) |
| 3698 | (add-before 'check 'remove-local-source |
| 3699 | (lambda _ |
| 3700 | (delete-file-recursively "pybedtools")))))) |
| 3701 | (propagated-inputs |
| 3702 | (list bedtools |
| 3703 | kentutils ;for bedGraphToBigWig |
| 3704 | python-numpy |
| 3705 | python-pandas |
| 3706 | python-psutil |
| 3707 | python-pysam |
| 3708 | python-pyyaml |
| 3709 | samtools)) |
| 3710 | (inputs |
| 3711 | (list zlib)) |
| 3712 | (native-inputs |
| 3713 | (list python-cython |
| 3714 | python-pytest |
| 3715 | python-setuptools)) |
| 3716 | (home-page "https://pythonhosted.org/pybedtools/") |
| 3717 | (synopsis "Python wrapper for BEDtools programs") |
| 3718 | (description |
| 3719 | "This package is a Python wrapper for Aaron Quinlan's BEDtools programs, |
| 3720 | which are widely used for genomic interval manipulation or \"genome algebra\". |
| 3721 | pybedtools extends BEDTools by offering feature-level manipulations from with |
| 3722 | Python.") |
| 3723 | ;; pypi lists GPLv2 in the PKG-INFO and website, but was relicensed in |
| 3724 | ;; version 0.9.0 and the LICENSE.txt is consistent with the source code. |
| 3725 | ;; |
| 3726 | ;; pybedtools/include/gzstream.cpp and pybedtools/include/gzstream.h are |
| 3727 | ;; licensed lgpl2.1+ |
| 3728 | (license (list license:expat license:lgpl2.1+)))) |
| 3729 | |
| 3730 | (define-public python-pybio |
| 3731 | (let ((commit "c91fddc483da535d5097364405d76ad9b1bde07f") |
| 3732 | (revision "1")) |
| 3733 | (package |
| 3734 | (name "python-pybio") |
| 3735 | (version (git-version "0.3.12" revision commit)) |
| 3736 | (source |
| 3737 | (origin |
| 3738 | (method git-fetch) |
| 3739 | (uri (git-reference |
| 3740 | (url "https://github.com/grexor/pybio") |
| 3741 | (commit commit))) |
| 3742 | (file-name (git-file-name name version)) |
| 3743 | (sha256 |
| 3744 | (base32 "0s3n1bqp25zf5pzfsj0x1kqr6i2a6iffpb8hkjwhyvjqrxf5d9rk")))) |
| 3745 | (build-system pyproject-build-system) |
| 3746 | (arguments |
| 3747 | (list |
| 3748 | #:tests? #false ;There are no automated tests |
| 3749 | #:phases |
| 3750 | #~(modify-phases %standard-phases |
| 3751 | (add-before 'sanity-check 'set-home |
| 3752 | ;; A HOME directory is required when importing the module during |
| 3753 | ;; the sanity check. |
| 3754 | (lambda _ (setenv "HOME" "/tmp"))) |
| 3755 | (add-after 'unpack 'adjust-requirements |
| 3756 | (lambda _ |
| 3757 | ;; bs4 is an alternative name for beautifulsoup4, only used to |
| 3758 | ;; avoid name squatting on pypi. |
| 3759 | (substitute* "setup.py" |
| 3760 | (("bs4") "beautifulsoup4")))) |
| 3761 | (add-after 'unpack 'avoid-internet-while-building |
| 3762 | (lambda _ |
| 3763 | (setenv "GUIX_BUILD" "yes") |
| 3764 | (substitute* "pybio/__init__.py" |
| 3765 | (("^pybio.core.genomes.init\\(\\)" m) |
| 3766 | (string-append m |
| 3767 | "\ |
| 3768 | if not os.getenv('GUIX_BUILD') else None")))))))) |
| 3769 | (propagated-inputs |
| 3770 | (list python-beautifulsoup4 python-numpy |
| 3771 | python-psutil python-pysam python-requests)) |
| 3772 | (native-inputs (list python-pytest python-setuptools)) |
| 3773 | (home-page "https://github.com/grexor/pybio") |
| 3774 | (synopsis "Basic genomics toolset") |
| 3775 | (description |
| 3776 | "This tool provides a Python framework to streamline genomics |
| 3777 | operations. It offers a direct interface to Ensembl genome assemblies and |
| 3778 | annotations, while also accommodating custom genomes via FASTA/GTF inputs. |
| 3779 | The primary objective of pybio is to simplify genome management. It achieves |
| 3780 | this by providing automatic download of Ensembl genome assemblies and |
| 3781 | annotation, provides Python genomic feature search and sequence retrieval from |
| 3782 | the managed genomes, STAR indexing and mapping and more.") |
| 3783 | (license license:gpl3+)))) |
| 3784 | |
| 3785 | (define-public python-pybiomart |
| 3786 | (package |
| 3787 | (name "python-pybiomart") |
| 3788 | (version "0.2.0") |
| 3789 | (source |
| 3790 | (origin |
| 3791 | (method git-fetch) |
| 3792 | (uri (git-reference |
| 3793 | (url "https://github.com/jrderuiter/pybiomart") |
| 3794 | (commit version))) |
| 3795 | (file-name (git-file-name name version)) |
| 3796 | (sha256 |
| 3797 | (base32 "1x5rd33sa0gwj4nizn02lsc675bbzsspz74f38mp0fbxdp7qnxv8")))) |
| 3798 | (build-system pyproject-build-system) |
| 3799 | (arguments |
| 3800 | (list |
| 3801 | #:test-flags |
| 3802 | ;; Attempts to access the web. |
| 3803 | #~(list "--ignore=tests/test_dataset.py"))) |
| 3804 | (propagated-inputs |
| 3805 | (list python-future |
| 3806 | python-pandas |
| 3807 | python-requests |
| 3808 | python-requests-cache)) |
| 3809 | (native-inputs |
| 3810 | (list python-pytest |
| 3811 | python-pytest-helpers-namespace |
| 3812 | python-pytest-mock |
| 3813 | python-setuptools |
| 3814 | python-sphinx |
| 3815 | python-sphinx-rtd-theme)) |
| 3816 | (home-page "https://github.com/jrderuiter/pybiomart") |
| 3817 | (synopsis "A simple pythonic interface to biomart") |
| 3818 | (description |
| 3819 | "Pybiomart provides a simple pythonic interface to biomart.") |
| 3820 | (license license:expat))) |
| 3821 | |
| 3822 | (define-public python-pygam |
| 3823 | (package |
| 3824 | (name "python-pygam") |
| 3825 | (version "0.12.0") |
| 3826 | (source |
| 3827 | (origin |
| 3828 | (method git-fetch) |
| 3829 | (uri (git-reference |
| 3830 | (url "https://github.com/dswah/pyGAM") |
| 3831 | (commit (string-append "v" version)))) |
| 3832 | (file-name (git-file-name name version)) |
| 3833 | (sha256 |
| 3834 | (base32 "0xf4hly8cxfj73il6l37bd48gygrmky2kyx9l270f1ivnpz1545a")))) |
| 3835 | (build-system pyproject-build-system) |
| 3836 | (arguments |
| 3837 | (list |
| 3838 | ;; tests: 161 passed, 1 skipped, 1 deselected, 7 warnings |
| 3839 | #:test-flags |
| 3840 | ;; Assertion is not equal. |
| 3841 | #~(list (string-append "--deselect=pygam/tests/test_gridsearch.py::" |
| 3842 | "test_gridsearch_all_dimensions_independent")))) |
| 3843 | (native-inputs |
| 3844 | (list python-matplotlib |
| 3845 | python-mock |
| 3846 | python-pytest |
| 3847 | python-setuptools)) |
| 3848 | (propagated-inputs |
| 3849 | (list python-numpy |
| 3850 | python-pandas |
| 3851 | python-progressbar2 |
| 3852 | python-scipy)) |
| 3853 | (home-page "https://github.com/dswah/pyGAM") |
| 3854 | (synopsis "Generalized additive models in Python") |
| 3855 | (description |
| 3856 | "This tool is for building Generalized Additive Models in Python. |
| 3857 | It emphasizes modularity and performance. The API will be immediately |
| 3858 | familiar to anyone with experience of scikit-learn or scipy.") |
| 3859 | (license license:asl2.0))) |
| 3860 | |
| 3861 | (define bgen-sample-files |
| 3862 | (let* ((name "bgen-sample-files") |
| 3863 | (commit "7b1bc74f58b326ca19606fa5f3c6093d48367993") |
| 3864 | (revision "0") |
| 3865 | (version (git-version "0.0.0" revision commit))) |
| 3866 | (origin |
| 3867 | (method git-fetch) |
| 3868 | (uri (git-reference |
| 3869 | (url "https://github.com/fastlmm/bgen-sample-files") |
| 3870 | (commit commit))) |
| 3871 | (file-name (git-file-name name version)) |
| 3872 | (sha256 |
| 3873 | (base32 "1b8jkscccyspfr3y1b66xvwnljcha08r2i24v9d6hcm5zii0l54w"))))) |
| 3874 | |
| 3875 | (define pynsptools-examples-files |
| 3876 | (let* ((name "pysnptools-examples-files") |
| 3877 | ;; taken from pysnptools/util/pysnptools.hashdown.json |
| 3878 | (commit "ed14e050b2b75e7f4ddb73d512fbe928bbdb2b85") |
| 3879 | (revision "0") |
| 3880 | (version (git-version "0.0.0" revision commit))) |
| 3881 | (origin |
| 3882 | (method git-fetch) |
| 3883 | (uri (git-reference |
| 3884 | (url "https://github.com/fastlmm/PySnpTools") |
| 3885 | (commit commit))) |
| 3886 | (file-name (git-file-name name version)) |
| 3887 | (sha256 |
| 3888 | (base32 "0hznpj15kx2sla16wlmcqz21n2vi2qb1493v30vz75hnm1m4iwm1")) |
| 3889 | (modules '((guix build utils))) |
| 3890 | (snippet |
| 3891 | #~(begin |
| 3892 | ;; Delete everything except for examples directory: |
| 3893 | (delete-all-but ".""pysnptools" "tests") |
| 3894 | (delete-all-but "pysnptools" "examples") |
| 3895 | (delete-all-but "tests" "datasets")))))) |
| 3896 | |
| 3897 | (define-public python-pysnptools |
| 3898 | (package |
| 3899 | (name "python-pysnptools") |
| 3900 | (version "0.5.14") |
| 3901 | (source |
| 3902 | (origin |
| 3903 | (method url-fetch) |
| 3904 | (uri (pypi-uri "pysnptools" version)) |
| 3905 | (sha256 |
| 3906 | (base32 "1babnyky5fk93as1ybdvpz9x3x5099gkgscxflngzfswin23mspk")))) |
| 3907 | (build-system pyproject-build-system) |
| 3908 | (arguments |
| 3909 | (list |
| 3910 | #:test-flags |
| 3911 | #~(list |
| 3912 | ;; These tests require the bgen feature and an additional input. |
| 3913 | "--ignore" "pysnptools/distreader/bgen.py" |
| 3914 | "--ignore" "pysnptools/distreader/test_bgen2.py" |
| 3915 | "--ignore" "pysnptools/distreader/distreader.py" |
| 3916 | "-k" "not pysnptools.distreader.distdata.DistData.val \ |
| 3917 | and not pysnptools.distreader.disthdf5.DistHdf5.write \ |
| 3918 | and not pysnptools.distreader.distmemmap.DistMemMap.write" |
| 3919 | ;; These tests require network connection. |
| 3920 | "--ignore" "pysnptools/util/_example_file.py" |
| 3921 | "--ignore" "pysnptools/util/filecache/hashdown.py") |
| 3922 | #:phases |
| 3923 | #~(modify-phases %standard-phases |
| 3924 | (add-after 'unpack 'patch-data-path |
| 3925 | (lambda _ |
| 3926 | (substitute* "pysnptools/util/pysnptools.hashdown.json" |
| 3927 | (("https://github\\.com/fastlmm/PySnpTools/\ |
| 3928 | raw/ed14e050b2b75e7f4ddb73d512fbe928bbdb2b85") |
| 3929 | (string-append "file://" #+pynsptools-examples-files))) |
| 3930 | (substitute* "pysnptools/util/bgen.hashdown.json" |
| 3931 | (("https://raw\\.githubusercontent\\.com\ |
| 3932 | /fastlmm/bgen-sample-files/7b1bc74f58b326ca19606fa5f3c6093d48367993") |
| 3933 | (string-append "file://" #+bgen-sample-files))))) |
| 3934 | (add-after 'unpack 'loosen-requirements |
| 3935 | (lambda _ |
| 3936 | (substitute* "pyproject.toml" |
| 3937 | (("(h5py|psutil|wheel)>=[0-9.]*" all target) |
| 3938 | target))))))) |
| 3939 | (propagated-inputs |
| 3940 | (list python-bed-reader |
| 3941 | python-cloudpickle |
| 3942 | python-h5py |
| 3943 | python-more-itertools |
| 3944 | python-numpy |
| 3945 | python-pandas |
| 3946 | python-psutil |
| 3947 | python-scipy)) |
| 3948 | (native-inputs |
| 3949 | (list python-pytest |
| 3950 | python-pytest-datadir |
| 3951 | python-pytest-doctestplus |
| 3952 | python-setuptools |
| 3953 | python-sphinx |
| 3954 | python-sphinx-rtd-theme)) |
| 3955 | (home-page "http://microsoftgenomics.github.io/PySnpTools/") |
| 3956 | (synopsis "Library for reading and manipulating genetic data") |
| 3957 | (description |
| 3958 | "PySnpTools is a library for reading and manipulating genetic data. It |
| 3959 | can, for example, efficiently read whole PLINK *.bed/bim/fam files or parts of |
| 3960 | those files. It can also efficiently manipulate ranges of integers using set |
| 3961 | operators such as union, intersection, and difference.") |
| 3962 | (license license:asl2.0))) |
| 3963 | |
| 3964 | (define-public python-ega-download-client |
| 3965 | ;; XXX: 5.2.1 (2024-04-03) it's the latest version without any work on |
| 3966 | ;; master branch, the project looks un-maintained. |
| 3967 | (package |
| 3968 | (name "python-ega-download-client") |
| 3969 | (version "5.2.1") |
| 3970 | (source |
| 3971 | (origin |
| 3972 | (method git-fetch) |
| 3973 | (uri (git-reference |
| 3974 | (url "https://github.com/EGA-archive/ega-download-client") |
| 3975 | (commit (string-append "v" version)))) |
| 3976 | (file-name (git-file-name name version)) |
| 3977 | (sha256 |
| 3978 | (base32 "0wz36ii6sb65nknh56vr5ss6b446zy9iibz7jv3irgfas955jlrc")))) |
| 3979 | (build-system pyproject-build-system) |
| 3980 | (arguments |
| 3981 | (list |
| 3982 | ;; XXX: TypeError: mock_writing_files.<locals>.os_stat_mock() got an |
| 3983 | ;; unexpected keyword argument 'follow_symlinks' |
| 3984 | #:tests? #f |
| 3985 | ;; tests: 78 passed, 2 deselected, 1 warning |
| 3986 | #:test-flags |
| 3987 | ;; Test suite does a lot of fake os mocking and extensively hash |
| 3988 | ;; checking on a large amount of generated files (up to 150GiB each) |
| 3989 | ;; which would take some extra compute resources, therefor functional |
| 3990 | ;; and some of unit tests are excluded to relax the load. |
| 3991 | #~(list #$@(map (lambda (file) (string-append "--ignore=" |
| 3992 | "tests/" |
| 3993 | file)) |
| 3994 | (list "functional/" |
| 3995 | "unit/test_save_to_with_dataset.py" |
| 3996 | "unit/test_save_to_with_file.py" |
| 3997 | "unit/test_verify_output_dir.py")) |
| 3998 | #$@(map (lambda (test) (string-append "--deselect=" |
| 3999 | "tests/unit/" |
| 4000 | "test_commands.py::" |
| 4001 | test)) |
| 4002 | ;; requests.exceptions.RetryError: None: Max retries |
| 4003 | ;; exceeded with url: |
| 4004 | ;; https://test.data.server/metadata/datasets (Caused by |
| 4005 | ;; ResponseError('too many 503 error responses')) |
| 4006 | (list "test_error_5xx" |
| 4007 | "test_error_too_many_requests"))) |
| 4008 | #:phases |
| 4009 | #~(modify-phases %standard-phases |
| 4010 | (add-after 'unpack 'relax-requirements |
| 4011 | (lambda _ |
| 4012 | (substitute* "setup.py" |
| 4013 | (("==") ">="))))))) |
| 4014 | (propagated-inputs (list python-htsget python-psutil python-requests |
| 4015 | python-tqdm python-urllib3)) |
| 4016 | (native-inputs |
| 4017 | (list nss-certs-for-test |
| 4018 | python-mock |
| 4019 | python-pyfakefs |
| 4020 | python-pytest |
| 4021 | python-responses |
| 4022 | python-setuptools)) |
| 4023 | (home-page "https://github.com/EGA-archive/ega-download-client") |
| 4024 | (synopsis "EGA download client") |
| 4025 | (description "PyEGA3 is a tool for viewing and downloading files from |
| 4026 | authorized EGA datasets. It uses the EGA data API and has several key |
| 4027 | features: |
| 4028 | |
| 4029 | @itemize |
| 4030 | @item Files are transferred over secure https connections and received |
| 4031 | unencrypted, so no need for decryption after download. |
| 4032 | @item Downloads resume from where they left off in the event that the |
| 4033 | connection is interrupted. |
| 4034 | @item Supports file segmenting and parallelized download of segments, |
| 4035 | improving overall performance. |
| 4036 | @item After download completes, file integrity is verified using checksums. |
| 4037 | @item Implements the GA4GH-compliant htsget protocol for download of genomic |
| 4038 | ranges for data files with accompanying index files. |
| 4039 | @end itemize\n") |
| 4040 | (license license:asl2.0))) |
| 4041 | |
| 4042 | (define-public python-scdamandtools |
| 4043 | (package |
| 4044 | (name "python-scdamandtools") |
| 4045 | (version "1.0") |
| 4046 | (source (origin |
| 4047 | (method git-fetch) |
| 4048 | (uri (git-reference |
| 4049 | (url "https://github.com/KindLab/scDamAndTools") |
| 4050 | (commit (string-append "v" version)))) |
| 4051 | (file-name (git-file-name name version)) |
| 4052 | (sha256 |
| 4053 | (base32 |
| 4054 | "1mblw6cn5jqik6ky8cv7ry99z6jm1i4r71pzdfl398vrwbda65gd")))) |
| 4055 | (build-system pyproject-build-system) |
| 4056 | (arguments |
| 4057 | (list #:tests? #f)) ;there are none |
| 4058 | (propagated-inputs (list python-h5py |
| 4059 | python-numpy |
| 4060 | python-sortedcontainers |
| 4061 | python-pandas |
| 4062 | python-pysam |
| 4063 | python-tqdm)) |
| 4064 | (native-inputs (list python-cython python-pytest python-setuptools)) |
| 4065 | (home-page "https://github.com/KindLab/scDamAndTools") |
| 4066 | (synopsis "Functions for processing raw scDam&T-seq data") |
| 4067 | (description |
| 4068 | "This is a set of functions for processing raw scDam&T-seq data. |
| 4069 | scDam&T-seq is a method to simultaneously measure protein-DNA interactions and |
| 4070 | transcription from single cells (Rooijers et al., 2019). It combines a |
| 4071 | DamID-based method to measure protein-DNA interactions and an adaptation of |
| 4072 | CEL-Seq to measure transcription. The starting point of the workflow is raw |
| 4073 | sequencing data and the end result are tables of UMI-unique DamID and CEL-Seq |
| 4074 | counts.") |
| 4075 | (license license:expat))) |
| 4076 | |
| 4077 | (define-public python-scprep |
| 4078 | ;; XXX: Project has no update since <2023-06-19> and probably is not |
| 4079 | ;; compatible with Pandas 3 and NumPy 2.4. |
| 4080 | (package |
| 4081 | (name "python-scprep") |
| 4082 | (version "1.2.3") |
| 4083 | (source |
| 4084 | (origin |
| 4085 | (method git-fetch) |
| 4086 | (uri (git-reference |
| 4087 | (url "https://github.com/KrishnaswamyLab/scprep") |
| 4088 | (commit (string-append "v" version)))) |
| 4089 | (file-name (git-file-name name version)) |
| 4090 | (sha256 |
| 4091 | (base32 "1dbmaix4bqaf9p1zw1fvk5a64kwdbg015q3ykc6rsmdwrcd2g5cz")))) |
| 4092 | (build-system pyproject-build-system) |
| 4093 | (arguments |
| 4094 | (list |
| 4095 | ;; tests: 326 passed |
| 4096 | #:test-flags |
| 4097 | ;; XXX: Mixture of remote data download and some assertion errors. |
| 4098 | ;; |
| 4099 | ;; Tests from "test/test_io.py" download data files from |
| 4100 | ;; <https://raw.githubusercontent.com/KrishnaswamyLab/scprep/>. |
| 4101 | #~(list "--ignore-files=test_io.py" |
| 4102 | (string-join |
| 4103 | (list "--exclude=(test.*dyngen.*" ;TODO: they need R packages |
| 4104 | "test_slingshot.*" ; |
| 4105 | "test_splatter_.*" ; |
| 4106 | "test_builtins" |
| 4107 | "test_combine_batches_errors" |
| 4108 | "test_conversion_sce" |
| 4109 | "test_conversion_spmatrix" |
| 4110 | "test_differential_expression" |
| 4111 | "test_differential_expression_error" |
| 4112 | "test_fcs" |
| 4113 | "test_fcs_PnN" |
| 4114 | "test_fcs_header_error" |
| 4115 | "test_fcs_reformat_meta" |
| 4116 | "test_generate_colorbar_dict" |
| 4117 | "test_install_bioc" |
| 4118 | "test_install_github_dependencies_None" |
| 4119 | "test_install_github_dependencies_True" |
| 4120 | "test_install_github_lib" |
| 4121 | "test_is_sparse_series" |
| 4122 | "test_builtins" |
| 4123 | "test_mtx" |
| 4124 | "test_scatter_rotate_mp4" |
| 4125 | "test_sparse_svd" |
| 4126 | "test_to_array_or_spmatrix_list_of_strings" |
| 4127 | "test_unzip_no_destination" |
| 4128 | ;; AttributeError: module 'rpy2' has no attribute |
| 4129 | ;; '__version__' |
| 4130 | "test_verbose" |
| 4131 | "test_conversion_list" |
| 4132 | "test_conversion_dict" |
| 4133 | "test_conversion_array" |
| 4134 | "test_conversion_dataframe" |
| 4135 | "test_conversion_anndata_missing" |
| 4136 | "test_r_traceback" |
| 4137 | ;; Pandas compatibility faileurs, see: |
| 4138 | ;; <https://github.com/KrishnaswamyLab/scprep/issues/144>. |
| 4139 | "test_batch_mean_center" |
| 4140 | "test_batch_mean_center_one_sample" |
| 4141 | "test_dense" |
| 4142 | "test_libsize_norm_rescale_integer" |
| 4143 | "test_libsize_norm_rescale_mean" |
| 4144 | "test_libsize_norm_rescale_median" |
| 4145 | "test_libsize_norm_rescale_none" |
| 4146 | "test_matrix_transpose" |
| 4147 | "test_pandas_series_rmatmul)") |
| 4148 | "|") |
| 4149 | "test") |
| 4150 | #:phases |
| 4151 | #~(modify-phases %standard-phases |
| 4152 | (add-after 'unpack 'relax-requirements |
| 4153 | (lambda _ |
| 4154 | (substitute* "setup.py" |
| 4155 | ;; "pandas>=0.25,<2.1", |
| 4156 | ((",<2.1") "")))) |
| 4157 | (add-before 'check 'pre-check |
| 4158 | (lambda _ |
| 4159 | (setenv "HOME" "/tmp")))))) |
| 4160 | (native-inputs |
| 4161 | (list python-fcsparser |
| 4162 | python-anndata |
| 4163 | python-h5py |
| 4164 | python-matplotlib |
| 4165 | python-parameterized |
| 4166 | python-nose2 |
| 4167 | python-pynose |
| 4168 | python-requests |
| 4169 | python-rpy2 |
| 4170 | python-setuptools |
| 4171 | python-tables)) |
| 4172 | ;; Used by rpy2 |
| 4173 | (inputs |
| 4174 | (list bash-minimal |
| 4175 | r-apeglm |
| 4176 | r-deseq2 |
| 4177 | r-drimseq |
| 4178 | r-ggplot2 |
| 4179 | r-lazyeval |
| 4180 | r-minimal |
| 4181 | r-qqman |
| 4182 | r-renv |
| 4183 | r-rlang |
| 4184 | r-slingshot |
| 4185 | #;r-splatter)) ;https://github.com/Oshlack/splatter |
| 4186 | (propagated-inputs |
| 4187 | (list python-decorator |
| 4188 | python-numpy |
| 4189 | python-packaging |
| 4190 | python-pandas |
| 4191 | python-scikit-learn |
| 4192 | python-scipy)) |
| 4193 | (home-page "https://github.com/KrishnaswamyLab/scprep") |
| 4194 | (synopsis "Tools for loading, processing, and handling single cell data") |
| 4195 | (description |
| 4196 | "@code{scprep} provides an all-in-one framework for loading, |
| 4197 | preprocessing, and plotting matrices in Python, with a focus on single-cell |
| 4198 | genomics.") |
| 4199 | (license license:expat))) |
| 4200 | |
| 4201 | (define-public python-snaptools |
| 4202 | (package |
| 4203 | (name "python-snaptools") |
| 4204 | (version "1.4.8") |
| 4205 | (source |
| 4206 | (origin |
| 4207 | (method url-fetch) |
| 4208 | (uri (pypi-uri "snaptools" version)) |
| 4209 | (sha256 |
| 4210 | (base32 |
| 4211 | "1s5373g5jjbshh3q39zy7dlxr7nda6ksxq9d1gw46h82c4fsmfbn")))) |
| 4212 | (build-system pyproject-build-system) |
| 4213 | (arguments (list #:tests? #false)) ;there are none |
| 4214 | (propagated-inputs |
| 4215 | (list python-future |
| 4216 | python-h5py |
| 4217 | python-louvain |
| 4218 | python-numpy |
| 4219 | python-pybedtools |
| 4220 | python-pysam)) |
| 4221 | (native-inputs (list python-setuptools)) |
| 4222 | (home-page "https://github.com/r3fang/SnapTools") |
| 4223 | (synopsis "Tools for processing snap files" ) |
| 4224 | (description |
| 4225 | "@code{SnapTools} can operate on snap files the following types of |
| 4226 | operations: |
| 4227 | |
| 4228 | @itemize |
| 4229 | @item index the reference genome before alignment; |
| 4230 | @item align reads to the corresponding reference genome; |
| 4231 | @item pre-process by convert pair-end reads into fragments, checking the |
| 4232 | mapping quality score, alignment and filtration; |
| 4233 | @item create the cell-by-bin matrix. |
| 4234 | @end itemize") |
| 4235 | (license license:asl2.0))) |
| 4236 | |
| 4237 | (define-public python-telomerecat |
| 4238 | (package |
| 4239 | (name "python-telomerecat") |
| 4240 | (version "4.0.2") |
| 4241 | (source |
| 4242 | (origin |
| 4243 | (method url-fetch) |
| 4244 | (uri (pypi-uri "telomerecat" version)) |
| 4245 | (sha256 |
| 4246 | (base32 "16mfdqmp0j6g3h26h59334w9lqb4qihqrlzwvgznj0fiqs1rkxn2")))) |
| 4247 | (build-system pyproject-build-system) |
| 4248 | (arguments (list #:tests? #false)) ;there are none |
| 4249 | (propagated-inputs (list python-click python-numpy python-pandas |
| 4250 | python-parabam python-pysam)) |
| 4251 | (native-inputs (list python-setuptools)) |
| 4252 | (home-page "https://github.com/cancerit/telomerecat") |
| 4253 | (synopsis "Telomere computational analysis tool") |
| 4254 | (description "Telomerecat is a tool for estimating the average telomere |
| 4255 | length (TL) for a paired end, whole genome sequencing (WGS) sample. |
| 4256 | |
| 4257 | Telomerecat is adaptable, accurate and fast. The algorithm accounts for |
| 4258 | sequencing amplification artifacts, anneouploidy (common in cancer samples) |
| 4259 | and noise generated by WGS. For a high coverage WGS BAM file of around 100GB |
| 4260 | telomerecat can produce an estimate in ~1 hour.") |
| 4261 | (license license:gpl3))) |
| 4262 | |
| 4263 | (define-public python-bioframe |
| 4264 | (package |
| 4265 | (name "python-bioframe") |
| 4266 | (version "0.8.0") |
| 4267 | (source |
| 4268 | (origin |
| 4269 | (method git-fetch) |
| 4270 | (uri (git-reference |
| 4271 | (url "https://github.com/open2c/bioframe") |
| 4272 | (commit (string-append "v" version)))) |
| 4273 | (file-name (git-file-name name version)) |
| 4274 | (sha256 |
| 4275 | (base32 "06y7f3whmwg4ibcn9pa35k8m4fmnw9dkk8ibk5v4ij92s9n1r36r")))) |
| 4276 | (build-system pyproject-build-system) |
| 4277 | (arguments |
| 4278 | (list |
| 4279 | #:test-flags |
| 4280 | #~(list #$@(map (lambda (test) (string-append "--deselect=tests/" test)) |
| 4281 | (list |
| 4282 | ;; Tests requiring network access. |
| 4283 | "test_resources.py::test_fetch_chromsizes" |
| 4284 | "test_resources.py::test_fetch_chromsizes_local_vs_ucsc" |
| 4285 | "test_resources.py::test_fetch_centromeres" |
| 4286 | ;; Attribute "dtype" are different |
| 4287 | "test_ops.py::test_overlap" |
| 4288 | "test_ops.py::test_closest" |
| 4289 | ;; AssertionError: assert np.False_ |
| 4290 | "test_ops.py::test_assign_view"))) |
| 4291 | #:phases |
| 4292 | #~(modify-phases %standard-phases |
| 4293 | (add-before 'check 'pre-check |
| 4294 | (lambda _ (setenv "MPLCONFIGDIR" "/tmp")))))) |
| 4295 | (native-inputs |
| 4296 | (list python-biopython |
| 4297 | python-hatchling |
| 4298 | python-pysam |
| 4299 | python-pytest)) |
| 4300 | (propagated-inputs |
| 4301 | (list python-matplotlib |
| 4302 | python-numpy |
| 4303 | python-pandas |
| 4304 | python-pyyaml |
| 4305 | python-requests)) |
| 4306 | (home-page "https://github.com/open2c/bioframe") |
| 4307 | (synopsis "Pandas utilities for tab-delimited and other genomic files") |
| 4308 | (description |
| 4309 | "This package is a library to enable flexible and scalable operations on |
| 4310 | genomic interval dataframes in Python. Bioframe enables access to a rich set |
| 4311 | of dataframe operations. Working in Python enables rapid visualization and |
| 4312 | iteration of genomic analyses. The philosophy underlying bioframe is to |
| 4313 | enable flexible operations. Instead of creating a function for every possible |
| 4314 | use-case, we encourage users to compose functions to achieve their goals.") |
| 4315 | (license license:expat))) |
| 4316 | |
| 4317 | (define-public python-biom-format |
| 4318 | (package |
| 4319 | (name "python-biom-format") |
| 4320 | ;; 2.1.17 (2025-08-26); the latest changes provide support for fresh NumPy |
| 4321 | ;; and Pandas., see: <https://github.com/biocore/biom-format/issues/1003>, |
| 4322 | ;; <https://github.com/biocore/biom-format/issues/1001>. |
| 4323 | (properties '((commit . "0f3855c4af5dd5f33766badd8a6ba2dbdccf29dd") |
| 4324 | (revision . "0"))) |
| 4325 | (version (git-version "2.1.17" |
| 4326 | (assoc-ref properties 'revision) |
| 4327 | (assoc-ref properties 'commit))) |
| 4328 | (source |
| 4329 | (origin |
| 4330 | (method git-fetch) |
| 4331 | (uri (git-reference |
| 4332 | (url "https://github.com/biocore/biom-format") |
| 4333 | (commit (assoc-ref properties 'commit)))) |
| 4334 | (file-name (git-file-name name version)) |
| 4335 | (sha256 |
| 4336 | (base32 "1hqihr1hkx3g0p71vkzx5sk2k1cwrxhskxzxss6z9vxg1hwn27k0")))) |
| 4337 | (build-system pyproject-build-system) |
| 4338 | (arguments |
| 4339 | (list |
| 4340 | ;; tests: 378 passed, 7 skipped, 7 warnings |
| 4341 | #:test-flags |
| 4342 | ;; Doctests depend on Nose. |
| 4343 | #~(list "--ignore=doc/sphinxext/numpydoc/numpydoc/tests/") |
| 4344 | #:phases |
| 4345 | #~(modify-phases %standard-phases |
| 4346 | (add-before 'check 'remove-local-source |
| 4347 | (lambda _ |
| 4348 | (copy-recursively "biom/tests" "tests") |
| 4349 | (delete-file-recursively "biom") |
| 4350 | (substitute* "tests/test_cli/test_validate_table.py" |
| 4351 | ;; Help finding "examples" directory. |
| 4352 | (("cur_path.rsplit\\(os.path.sep, 3\\)\\[0\\]") |
| 4353 | (format #f "~s" (getcwd))))))))) |
| 4354 | (native-inputs |
| 4355 | (list python-cython |
| 4356 | python-pytest |
| 4357 | python-setuptools)) |
| 4358 | (propagated-inputs |
| 4359 | (list python-click |
| 4360 | python-h5py |
| 4361 | python-numpy |
| 4362 | python-pandas |
| 4363 | python-scipy)) |
| 4364 | (home-page "https://www.biom-format.org") |
| 4365 | (synopsis "Biological Observation Matrix (BIOM) format utilities") |
| 4366 | (description |
| 4367 | "The BIOM file format is designed to be a general-use format for |
| 4368 | representing counts of observations e.g. operational taxonomic units, KEGG |
| 4369 | orthology groups or lipid types, in one or more biological samples |
| 4370 | e.g. microbiome samples, genomes, metagenomes.") |
| 4371 | (license license:bsd-3))) |
| 4372 | |
| 4373 | (define-public python-pairtools |
| 4374 | (package |
| 4375 | (name "python-pairtools") |
| 4376 | (version "1.1.0-fix") |
| 4377 | (source (origin |
| 4378 | (method git-fetch) |
| 4379 | (uri (git-reference |
| 4380 | (url "https://github.com/open2c/pairtools") |
| 4381 | (commit (string-append "pairtools-v" version)))) |
| 4382 | (file-name (git-file-name name version)) |
| 4383 | (sha256 |
| 4384 | (base32 |
| 4385 | "0983vw4kb6frjncsnml4ahw3l7sixg1paz80s119iah2i086cw06")))) |
| 4386 | (build-system pyproject-build-system) |
| 4387 | (arguments |
| 4388 | (list |
| 4389 | #:phases |
| 4390 | '(modify-phases %standard-phases |
| 4391 | (add-after 'unpack 'patch-setup.py |
| 4392 | (lambda _ |
| 4393 | ;; __NUMPY_SETUP__ is undefined. |
| 4394 | (substitute* "setup.py" |
| 4395 | ((".*__builtins__.__NUMPY_SETUP.*") "")))) |
| 4396 | (add-after 'unpack 'fix-references |
| 4397 | (lambda _ |
| 4398 | (substitute* '("pairtools/cli/header.py" |
| 4399 | "pairtools/cli/merge.py" |
| 4400 | "pairtools/cli/sort.py") |
| 4401 | (("/bin/bash") (which "bash"))))) |
| 4402 | (replace 'check |
| 4403 | (lambda* (#:key tests? #:allow-other-keys) |
| 4404 | (when tests? |
| 4405 | (with-directory-excursion "/tmp" |
| 4406 | (invoke "pytest" "-v")))))))) |
| 4407 | (native-inputs |
| 4408 | (list python-cython python-pytest python-setuptools)) |
| 4409 | (propagated-inputs |
| 4410 | (list htslib ; for bgzip, looked up in PATH |
| 4411 | samtools ; looked up in PATH |
| 4412 | lz4 ; for lz4c |
| 4413 | python-bioframe |
| 4414 | python-click |
| 4415 | python-numpy |
| 4416 | python-pandas |
| 4417 | python-pysam |
| 4418 | python-pyyaml |
| 4419 | python-scipy)) |
| 4420 | (home-page "https://github.com/open2c/pairtools") |
| 4421 | (synopsis "Process mapped Hi-C data") |
| 4422 | (description "Pairtools is a simple and fast command-line framework to |
| 4423 | process sequencing data from a Hi-C experiment. Process pair-end sequence |
| 4424 | alignments and perform the following operations: |
| 4425 | |
| 4426 | @itemize |
| 4427 | @item detect ligation junctions (a.k.a. Hi-C pairs) in aligned paired-end |
| 4428 | sequences of Hi-C DNA molecules |
| 4429 | @item sort @code{.pairs} files for downstream analyses |
| 4430 | @item detect, tag and remove PCR/optical duplicates |
| 4431 | @item generate extensive statistics of Hi-C datasets |
| 4432 | @item select Hi-C pairs given flexibly defined criteria |
| 4433 | @item restore @code{.sam} alignments from Hi-C pairs. |
| 4434 | @end itemize |
| 4435 | ") |
| 4436 | (license license:expat))) |
| 4437 | |
| 4438 | (define-public python-readpaf |
| 4439 | (package |
| 4440 | (name "python-readpaf") |
| 4441 | (version "0.0.10") |
| 4442 | (source (origin |
| 4443 | (method url-fetch) |
| 4444 | (uri (pypi-uri "readpaf" version)) |
| 4445 | (sha256 |
| 4446 | (base32 |
| 4447 | "15m6ffks4zwpp1ycwk6n02py6mw2yh7qr0vhpc178b91gldr97ia")))) |
| 4448 | (build-system pyproject-build-system) |
| 4449 | (arguments (list #:tests? #false)) ;there are none |
| 4450 | (propagated-inputs (list python-pandas)) |
| 4451 | (native-inputs (list python-setuptools)) |
| 4452 | (home-page "https://github.com/alexomics/read-paf") |
| 4453 | (synopsis "Minimap2 PAF file reader") |
| 4454 | (description |
| 4455 | "This is a fast parser for minimap2 PAF (Pairwise mApping Format) |
| 4456 | files.") |
| 4457 | (license license:expat))) |
| 4458 | |
| 4459 | (define-public python-whatshap |
| 4460 | (package |
| 4461 | (name "python-whatshap") |
| 4462 | (version "2.8") |
| 4463 | (source |
| 4464 | (origin |
| 4465 | (method git-fetch) |
| 4466 | (uri (git-reference |
| 4467 | (url "https://github.com/whatshap/whatshap") |
| 4468 | (commit (string-append "v" version)))) |
| 4469 | (file-name (git-file-name name version)) |
| 4470 | (sha256 |
| 4471 | (base32 "1iw753vvg33x32xvva42wflrksv4iwxqb818chhrlwq1djc7hz10")))) |
| 4472 | (build-system pyproject-build-system) |
| 4473 | (arguments |
| 4474 | (list |
| 4475 | #:test-flags |
| 4476 | #~(list "--pyargs" "whatshap" |
| 4477 | "tests") |
| 4478 | #:phases |
| 4479 | #~(modify-phases %standard-phases |
| 4480 | (add-before 'check 'remove-local-source |
| 4481 | (lambda _ |
| 4482 | (delete-file-recursively "whatshap")))))) |
| 4483 | (native-inputs |
| 4484 | (list python-cython |
| 4485 | python-pytest |
| 4486 | python-pysam |
| 4487 | python-setuptools |
| 4488 | python-setuptools-scm)) |
| 4489 | (propagated-inputs |
| 4490 | (list python-biopython |
| 4491 | python-matplotlib |
| 4492 | python-networkx |
| 4493 | python-pulp |
| 4494 | python-pyfaidx |
| 4495 | python-scipy |
| 4496 | python-xopen)) |
| 4497 | (home-page "https://whatshap.readthedocs.io/") |
| 4498 | (synopsis "Read-based phasing of genomic variants") |
| 4499 | (description |
| 4500 | "WhatsHap is software for phasing genomic variants using DNA sequencing |
| 4501 | reads, also called read-based phasing or haplotype assembly. It is especially |
| 4502 | suitable for long reads, but works also well with short reads.") |
| 4503 | (license license:expat))) |
| 4504 | |
| 4505 | (define-public bioperl-minimal |
| 4506 | (package |
| 4507 | (name "bioperl-minimal") |
| 4508 | (version "1.7.0") |
| 4509 | (source |
| 4510 | (origin |
| 4511 | (method git-fetch) |
| 4512 | (uri (git-reference |
| 4513 | (url "https://github.com/bioperl/bioperl-live") |
| 4514 | (commit (string-append "release-" |
| 4515 | (string-map (lambda (c) |
| 4516 | (if (char=? c #\.) |
| 4517 | #\- c)) version))))) |
| 4518 | (file-name (git-file-name name version)) |
| 4519 | (sha256 |
| 4520 | (base32 |
| 4521 | "0wl8yvzcls59pwwk6m8ahy87pwg6nnibzy5cldbvmcwg2x2w7783")))) |
| 4522 | (build-system perl-build-system) |
| 4523 | (arguments |
| 4524 | (let ((transitive-inputs |
| 4525 | (map (compose package-name cadr) |
| 4526 | (delete-duplicates |
| 4527 | (concatenate |
| 4528 | (map (compose package-transitive-target-inputs cadr) |
| 4529 | (package-inputs this-package))))))) |
| 4530 | `(#:phases |
| 4531 | (modify-phases %standard-phases |
| 4532 | (add-after 'install 'wrap-programs |
| 4533 | (lambda* (#:key outputs #:allow-other-keys) |
| 4534 | ;; Make sure all executables in "bin" find the required Perl |
| 4535 | ;; modules at runtime. As the PERL5LIB variable contains also |
| 4536 | ;; the paths of native inputs, we pick the transitive target |
| 4537 | ;; inputs from %build-inputs. |
| 4538 | (let* ((out (assoc-ref outputs "out")) |
| 4539 | (bin (string-append out "/bin/")) |
| 4540 | (path (string-join |
| 4541 | (cons (string-append out "/lib/perl5/site_perl") |
| 4542 | (map (lambda (name) |
| 4543 | (assoc-ref %build-inputs name)) |
| 4544 | ',transitive-inputs)) |
| 4545 | ":"))) |
| 4546 | (for-each (lambda (file) |
| 4547 | (wrap-program file |
| 4548 | `("PERL5LIB" ":" prefix (,path)))) |
| 4549 | (find-files bin "\\.pl$"))))))))) |
| 4550 | (inputs |
| 4551 | (list bash-minimal perl-module-build perl-data-stag perl-libwww perl-uri)) |
| 4552 | (native-inputs |
| 4553 | (list perl-test-most)) |
| 4554 | (home-page "https://metacpan.org/release/BioPerl") |
| 4555 | (synopsis "Bioinformatics toolkit") |
| 4556 | (description |
| 4557 | "BioPerl is the product of a community effort to produce Perl code which |
| 4558 | is useful in biology. Examples include Sequence objects, Alignment objects |
| 4559 | and database searching objects. These objects not only do what they are |
| 4560 | advertised to do in the documentation, but they also interact - Alignment |
| 4561 | objects are made from the Sequence objects, Sequence objects have access to |
| 4562 | Annotation and SeqFeature objects and databases, Blast objects can be |
| 4563 | converted to Alignment objects, and so on. This means that the objects |
| 4564 | provide a coordinated and extensible framework to do computational biology.") |
| 4565 | (license license:perl-license))) |
| 4566 | |
| 4567 | (define-public perl-bio-db-hts |
| 4568 | (package |
| 4569 | (name "perl-bio-db-hts") |
| 4570 | (version "3.01") |
| 4571 | (source |
| 4572 | (origin |
| 4573 | (method url-fetch) |
| 4574 | (uri (string-append "mirror://cpan/authors/id/A/AV/AVULLO/Bio-DB-HTS-" |
| 4575 | version ".tar.gz")) |
| 4576 | (sha256 |
| 4577 | (base32 |
| 4578 | "0hjg0igfkpvh27zdkdr6pa7cqm9n6r7cwz0np74cl4wmawgvr9hj")))) |
| 4579 | (build-system perl-build-system) |
| 4580 | (native-inputs |
| 4581 | (list perl-module-build pkg-config)) |
| 4582 | (propagated-inputs |
| 4583 | (list bioperl-minimal htslib-1.21)) |
| 4584 | (home-page "https://metacpan.org/release/Bio-DB-HTS") |
| 4585 | (synopsis "Perl interface to HTS library for DNA sequencing") |
| 4586 | (description "This is a Perl interface to the HTS library for DNA |
| 4587 | sequencing.") |
| 4588 | (license license:asl2.0))) |
| 4589 | |
| 4590 | (define-public python-biopython |
| 4591 | (package |
| 4592 | (name "python-biopython") |
| 4593 | (version "1.87") |
| 4594 | (source (origin |
| 4595 | (method url-fetch) |
| 4596 | ;; use PyPi rather than biopython.org to ease updating |
| 4597 | (uri (pypi-uri "biopython" version)) |
| 4598 | (sha256 |
| 4599 | (base32 |
| 4600 | "1gxxr5m98xxhyf2v16znkc42z7w0v5zmlbj22abrlrwv8l1whml4")))) |
| 4601 | (build-system pyproject-build-system) |
| 4602 | (arguments |
| 4603 | (list |
| 4604 | ;; tests: 501 passed |
| 4605 | #:phases |
| 4606 | #~(modify-phases %standard-phases |
| 4607 | (add-before 'check 'set-home |
| 4608 | ;; Some tests require a home directory to be set. |
| 4609 | (lambda _ (setenv "HOME" "/tmp"))) |
| 4610 | (replace 'check |
| 4611 | (lambda* (#:key tests? #:allow-other-keys) |
| 4612 | (when tests? |
| 4613 | (with-directory-excursion "Tests" |
| 4614 | (invoke "python" "run_tests.py" "--offline")))))))) |
| 4615 | (native-inputs |
| 4616 | (list python-setuptools)) |
| 4617 | (propagated-inputs |
| 4618 | (list python-numpy)) |
| 4619 | (home-page "https://biopython.org/") |
| 4620 | (synopsis "Tools for biological computation in Python") |
| 4621 | (description |
| 4622 | "Biopython is a set of tools for biological computation including parsers |
| 4623 | for bioinformatics files into Python data structures; interfaces to common |
| 4624 | bioinformatics programs; a standard sequence class and tools for performing |
| 4625 | common operations on them; code to perform data classification; code for |
| 4626 | dealing with alignments; code making it easy to split up parallelizable tasks |
| 4627 | into separate processes; and more.") |
| 4628 | (license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE")))) |
| 4629 | |
| 4630 | (define-public python-biopython-1.73 |
| 4631 | (package |
| 4632 | (inherit python-biopython) |
| 4633 | (version "1.73") |
| 4634 | (source (origin |
| 4635 | (method url-fetch) |
| 4636 | ;; use PyPi rather than biopython.org to ease updating |
| 4637 | (uri (pypi-uri "biopython" version)) |
| 4638 | (sha256 |
| 4639 | (base32 |
| 4640 | "1q55jhf76z3k6is3psis0ckbki7df26x7dikpcc3vhk1vhkwribh")))) |
| 4641 | (arguments |
| 4642 | (list |
| 4643 | #:phases |
| 4644 | #~(modify-phases %standard-phases |
| 4645 | (add-after 'unpack 'python3.12-compatibility |
| 4646 | (lambda _ |
| 4647 | ;; This was removed in Python 3.12 |
| 4648 | (substitute* "Bio/Align/_aligners.c" |
| 4649 | (("case PyUnicode_WCHAR_KIND:") "")) |
| 4650 | ;; Py_TYPE was changed to an inline static function in Python |
| 4651 | ;; 3.11, so it cannot be used on the left-hand side. |
| 4652 | (substitute* "Bio/triemodule.c" |
| 4653 | (("Py_TYPE\\(&Trie_Type\\) = &PyType_Type;") |
| 4654 | "Py_SET_TYPE(&Trie_Type, &PyType_Type);")) |
| 4655 | |
| 4656 | ;; PY_SSIZE_T_CLEAN must be defined if s# notation is used. |
| 4657 | ;; Note that this is no longer needed in Python 3.13. |
| 4658 | (substitute* '("Bio/triemodule.c" "Bio/motifs/_pwm.c") |
| 4659 | (("#include <Python.h>") |
| 4660 | "#define PY_SSIZE_T_CLEAN\n#include <Python.h>") |
| 4661 | (("int s;") "Py_ssize_t s;")) |
| 4662 | |
| 4663 | ;; The U mode is implicit in Python 3.11. |
| 4664 | (substitute* '("Tests/test_KGML_nographics.py" |
| 4665 | "Tests/test_PDB.py") |
| 4666 | (("'rU'") "'r'")) |
| 4667 | (substitute* "Bio/SCOP/Cla.py" |
| 4668 | (("\"rU\"") "\"r\"")) |
| 4669 | |
| 4670 | ;; ExactPosition class needs to define __str__. |
| 4671 | (substitute* "Bio/SeqFeature.py" |
| 4672 | (("class UncertainPosition" m) |
| 4673 | (string-append "\ |
| 4674 | # Must define this on Python 3.8 onwards because we redefine __repr__ |
| 4675 | def __str__(self): |
| 4676 | return str(int(self)) |
| 4677 | |
| 4678 | def __add__(self, offset): |
| 4679 | # By default preserve any subclass |
| 4680 | return self.__class__(int(self) + offset) |
| 4681 | " m))) |
| 4682 | ;; This was removed in Python 3.9 already |
| 4683 | (substitute* "Bio/KEGG/KGML/KGML_parser.py" |
| 4684 | (("self.entry.getchildren\\(\\)") |
| 4685 | "list(self.entry)") |
| 4686 | (("element.getchildren\\(\\)") |
| 4687 | "list(element)")) |
| 4688 | (substitute* "Bio/Phylo/NeXMLIO.py" |
| 4689 | (("node.getchildren\\(\\)") |
| 4690 | "list(node)") |
| 4691 | (("edge.getchildren\\(\\)") |
| 4692 | "list(edge)")) |
| 4693 | (substitute* "Bio/Entrez/Parser.py" |
| 4694 | (("child.getiterator\\(\\)") |
| 4695 | "list(child.iter())")) |
| 4696 | (substitute* "Bio/SeqIO/UniprotIO.py" |
| 4697 | (("alt_element.getiterator\\(NS \\+ ('.*')\\)" m something) |
| 4698 | (string-append "list(alt_element.iter(NS + " something "))")) |
| 4699 | (("link_element.getiterator\\(NS \\+ ('.*')\\)" m something) |
| 4700 | (string-append "list(link_element.iter(NS + " something "))")) |
| 4701 | (("loc_element.getiterator\\(NS \\+ ('.*')\\)" m something) |
| 4702 | (string-append "list(loc_element.iter(NS + " something "))")) |
| 4703 | (("element.getiterator\\(NS \\+ ('.*')\\)" m something) |
| 4704 | (string-append "list(element.iter(NS + " something "))"))))) |
| 4705 | (add-after 'unpack 'numpy-compatibility |
| 4706 | (lambda _ |
| 4707 | (substitute* '("Bio/Statistics/lowess.py" |
| 4708 | "Tests/test_Cluster.py") |
| 4709 | (("numpy.float32") "float") |
| 4710 | (("numpy.float") "float")))) |
| 4711 | (add-before 'check 'set-home |
| 4712 | ;; Some tests require a home directory to be set. |
| 4713 | (lambda _ (setenv "HOME" "/tmp"))) |
| 4714 | (add-before 'check 'build-extensions |
| 4715 | (lambda _ |
| 4716 | ;; Cython extensions have to be built before running the tests. |
| 4717 | (invoke "python3" "setup.py" "build_ext" "--inplace"))) |
| 4718 | (add-after 'unpack 'patch-tests |
| 4719 | (lambda _ |
| 4720 | (substitute* "Tests/run_tests.py" |
| 4721 | ;; Do not run doctests. |
| 4722 | (("self.tests.append\\(\"doctest\"\\)") "") |
| 4723 | (("opt == \"--offline\"") "True"))))))))) |
| 4724 | |
| 4725 | (define-public python-scanrbp |
| 4726 | (package |
| 4727 | (name "python-scanrbp") |
| 4728 | (version "0.3") |
| 4729 | (home-page "https://github.com/grexor/scanrbp") |
| 4730 | (source |
| 4731 | (origin |
| 4732 | (method git-fetch) |
| 4733 | (uri (git-reference |
| 4734 | (url home-page) |
| 4735 | (commit "cdc3587cfdb3bc1c68154ce8538b8c985099eb9f"))) |
| 4736 | (file-name (git-file-name name version)) |
| 4737 | (sha256 |
| 4738 | (base32 |
| 4739 | "1bv25qhr1dwym2j7llsd3ggnjb9l3h4bchng7bp7cq57s9g0bnjz")))) |
| 4740 | (build-system pyproject-build-system) |
| 4741 | (arguments |
| 4742 | (list |
| 4743 | ;; There are no tests in repository. However, running the example from the |
| 4744 | ;; README is added as a test below. But that fails, because python-pybio |
| 4745 | ;; needs to access the internet. |
| 4746 | ;; TODO: Fix python-pybio to not (or optionally) require internet, |
| 4747 | ;; and then enable the tests here. |
| 4748 | #:tests? #f |
| 4749 | #:phases |
| 4750 | #~(modify-phases %standard-phases |
| 4751 | ;; Normally, importing scanRBP for the first time will first create |
| 4752 | ;; configuration file `~/.scanRBP` with a `data_folder` specified as |
| 4753 | ;; `~/scanRBP_data/`. Then `data.tar.gz` is downloaded from the github |
| 4754 | ;; project and placed into this directory. |
| 4755 | ;; |
| 4756 | ;; Instead of doing all that, all internet access can be prevented: |
| 4757 | ;; - copy the `data.tar.gz` tarball directly to the store, |
| 4758 | ;; - refer to that directory in the example configuration file, |
| 4759 | ;; - set the configuration file path to that example file. |
| 4760 | (add-before 'build 'patchpath |
| 4761 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 4762 | (let ((data-dir (string-append (assoc-ref outputs "out") |
| 4763 | "/share/scanRBP_data"))) |
| 4764 | (substitute* "scanRBP/scanRBP.config.example" |
| 4765 | (("~/scanRBP_data") data-dir)) |
| 4766 | (substitute* "scanRBP/config/__init__.py" |
| 4767 | (("config_fname = .*") |
| 4768 | (string-append |
| 4769 | "config_fname = \"" |
| 4770 | (site-packages inputs outputs) |
| 4771 | "/scanRBP/scanRBP.config.example\"\n")))))) |
| 4772 | (add-before 'install 'copy-data |
| 4773 | (lambda* (#:key outputs #:allow-other-keys) |
| 4774 | (let ((data-dir (string-append (assoc-ref outputs "out") |
| 4775 | "/share/scanRBP_data")) |
| 4776 | (data-file "data/data.tar.gz")) |
| 4777 | ;; Copy the tarball. The tarball is unpacked when files are |
| 4778 | ;; imported in the [sanity-]check phase. |
| 4779 | (mkdir-p data-dir) |
| 4780 | (copy-file |
| 4781 | data-file |
| 4782 | (string-append data-dir "/" (basename data-file)))))) |
| 4783 | (add-before 'check 'set-HOME |
| 4784 | ;; Set the HOME directory to make python-pybio work. |
| 4785 | (lambda _ (setenv "HOME" "/tmp"))) |
| 4786 | (replace 'check |
| 4787 | ;; Run example from the README. |
| 4788 | ;; The test currently fails (and is therefore disabled), because |
| 4789 | ;; python-pybio currently needs to access the internet. |
| 4790 | ;; TODO: Verify results? |
| 4791 | (lambda* (#:key tests? #:allow-other-keys) |
| 4792 | (when tests? |
| 4793 | (invoke |
| 4794 | "scanRBP" |
| 4795 | "AAAGCGGCGACTTATTATATCCCCATATATTATATCTTCTTCTCTTATATATAAACCAGAGATAGATGTGTGTGGTGG" |
| 4796 | "example1" |
| 4797 | "-heatmap" |
| 4798 | "example1"))))))) |
| 4799 | (propagated-inputs |
| 4800 | (list python-biopython |
| 4801 | python-matplotlib |
| 4802 | python-pybio |
| 4803 | python-scipy |
| 4804 | python-seaborn)) |
| 4805 | (native-inputs |
| 4806 | (list python-setuptools)) |
| 4807 | (synopsis "Tool for creating a RNA RBP heatmap in Python") |
| 4808 | (description "python-scanrbp is a Python package that provides the scanRBP |
| 4809 | tool that loads RNA-protein binding motif PWM and computes the log-odds scores |
| 4810 | for all the loaded RBPs across a given genomic sequence and draws a heatmap of |
| 4811 | the scores.") |
| 4812 | (license license:gpl3))) |
| 4813 | |
| 4814 | (define-public python-splicekit |
| 4815 | (package |
| 4816 | (name "python-splicekit") |
| 4817 | (version "0.7") |
| 4818 | (home-page "https://github.com/bedapub/splicekit") |
| 4819 | (source |
| 4820 | (origin |
| 4821 | (method git-fetch) |
| 4822 | (uri (git-reference |
| 4823 | (url home-page) |
| 4824 | (commit "ded5dbec16b45e0df44750d9ae021ae2416ff921"))) |
| 4825 | (file-name (git-file-name name version)) |
| 4826 | (sha256 |
| 4827 | (base32 "04l244qagbplksqp81w2s60pkymyhjq389xmqwsyc0n4q6b054h2")))) |
| 4828 | (build-system pyproject-build-system) |
| 4829 | (arguments |
| 4830 | (list |
| 4831 | #:tests? #false ;There are no tests. |
| 4832 | #:phases |
| 4833 | #~(modify-phases %standard-phases |
| 4834 | (add-after 'unpack 'adjust-requirements |
| 4835 | (lambda _ |
| 4836 | (substitute* "setup.py" |
| 4837 | ;; bs4 is an alternative name for beautifulsoup4, only used to |
| 4838 | ;; avoid name squatting on pypi. |
| 4839 | (("bs4") "beautifulsoup4")))) |
| 4840 | ;; fireducks seems to be a binary-only python-panda replacement |
| 4841 | (add-after 'unpack 'remove-fireducks |
| 4842 | (lambda _ |
| 4843 | (substitute* '("Snakefile" |
| 4844 | "splicekit/core/delta_dar.py" |
| 4845 | "splicekit/core/juan.py" |
| 4846 | "splicekit/core/motifs.py" |
| 4847 | "splicekit/judge/__init__.py") |
| 4848 | (("import fireducks.pandas as pd") "import pandas as pd")) |
| 4849 | (substitute* "splicekit.yaml" |
| 4850 | ((".*fireducks.*") ""))))))) |
| 4851 | (native-inputs |
| 4852 | (list python-setuptools snakemake)) |
| 4853 | (propagated-inputs |
| 4854 | (list python-beautifulsoup4 |
| 4855 | python-dateutil |
| 4856 | python-levenshtein |
| 4857 | python-logomaker |
| 4858 | python-numpy |
| 4859 | python-pandas |
| 4860 | python-plotly |
| 4861 | python-psutil |
| 4862 | python-pybio |
| 4863 | python-pysam |
| 4864 | python-rangehttpserver |
| 4865 | python-requests |
| 4866 | python-scanrbp)) |
| 4867 | (synopsis "Python toolkit for splicing analysis from short-read RNA-seq") |
| 4868 | (description |
| 4869 | "Splicekit is a modular platform for splicing analysis from short-read |
| 4870 | RNA-seq datasets. The platform also integrates pybio for genomic operations |
| 4871 | and scanRBP for RNA-protein binding studies. The whole analysis is |
| 4872 | self-contained (one single directory) and the platform is written in Python, |
| 4873 | in a modular way.") |
| 4874 | (license license:gpl3))) |
| 4875 | |
| 4876 | (define-public python-presto |
| 4877 | (package |
| 4878 | (name "python-presto") |
| 4879 | (version "0.7.6") |
| 4880 | (source |
| 4881 | (origin |
| 4882 | (method git-fetch) |
| 4883 | (uri (git-reference |
| 4884 | (url "https://github.com/immcantation/presto") |
| 4885 | (commit version))) |
| 4886 | (file-name (git-file-name name version)) |
| 4887 | (sha256 |
| 4888 | (base32 "1mcngwrxiw8r1j26r5crf7j0dscvhg3b8g1is3j3vq5jpnyn8jmz")))) |
| 4889 | (build-system pyproject-build-system) |
| 4890 | (arguments |
| 4891 | (list |
| 4892 | #:build-backend "setuptools.build_meta" |
| 4893 | ;; tests: 29 passed, 6 skipped, 3 deselected, 8 warnings |
| 4894 | #:test-flags |
| 4895 | ;; FileNotFoundError: [Errno 2] No such file or directory: 'cd-hit-est' |
| 4896 | #~(list "--ignore=tests/test_ClusterSets.py" |
| 4897 | ;; TypeError: seq argument should be a Seq or MutableSeq object |
| 4898 | #$@(map (lambda (test) (string-append "--deselect=" |
| 4899 | "tests/" |
| 4900 | "test_EstimateError.py::" |
| 4901 | "TestEstimateError::" |
| 4902 | test)) |
| 4903 | (list "test_calculateDistances" |
| 4904 | "test_countMismatches" |
| 4905 | "test_initializeMismatchDictionary"))))) |
| 4906 | (native-inputs |
| 4907 | (list python-pytest |
| 4908 | python-setuptools)) |
| 4909 | (propagated-inputs |
| 4910 | (list muscle |
| 4911 | python-biopython |
| 4912 | python-numpy |
| 4913 | python-pandas |
| 4914 | python-pyyaml |
| 4915 | python-scipy |
| 4916 | vsearch)) |
| 4917 | (home-page "https://github.com/immcantation/presto") |
| 4918 | (synopsis "The REpertoire Sequencing TOolkit") |
| 4919 | (description "Presto is a python toolkit for processing raw reads from |
| 4920 | high-throughput sequencing of B cell and T cell repertoires.") |
| 4921 | (license license:agpl3))) |
| 4922 | |
| 4923 | (define-public python-changeo |
| 4924 | (package |
| 4925 | (name "python-changeo") |
| 4926 | (version "1.3.4") |
| 4927 | (source |
| 4928 | (origin |
| 4929 | (method url-fetch) |
| 4930 | (uri (pypi-uri "changeo" version)) |
| 4931 | (sha256 |
| 4932 | (base32 "0jm4chddpl929a8daicp9mv14nwzf2hajpjfhzckg6x8cpgc1087")))) |
| 4933 | (build-system pyproject-build-system) |
| 4934 | (arguments |
| 4935 | (list |
| 4936 | #:build-backend "setuptools.build_meta")) |
| 4937 | (native-inputs |
| 4938 | (list python-pytest |
| 4939 | python-setuptools)) |
| 4940 | (propagated-inputs |
| 4941 | (list python-airr |
| 4942 | python-biopython |
| 4943 | python-importlib-resources |
| 4944 | python-numpy |
| 4945 | python-packaging |
| 4946 | python-pandas |
| 4947 | python-presto |
| 4948 | python-pyyaml |
| 4949 | python-scipy)) |
| 4950 | (home-page "http://changeo.readthedocs.io") |
| 4951 | (synopsis "Repertoire clonal assignment toolkit") |
| 4952 | (description "Change-O is a collection of tools for processing the output |
| 4953 | of V(D)J alignment tools, assigning clonal clusters to immunoglobulin (Ig) |
| 4954 | sequences, and reconstructing germline sequences.") |
| 4955 | (license license:gpl3))) |
| 4956 | |
| 4957 | (define-public python-fastalite |
| 4958 | (package |
| 4959 | (name "python-fastalite") |
| 4960 | (version "0.4.1") |
| 4961 | (source |
| 4962 | (origin |
| 4963 | (method git-fetch) |
| 4964 | (uri (git-reference |
| 4965 | (url "https://github.com/nhoffman/fastalite") |
| 4966 | (commit version))) |
| 4967 | (file-name (git-file-name name version)) |
| 4968 | (sha256 |
| 4969 | (base32 "19sps1l8k2vp7sj943gccabfkr2h3fn1n93sn28h9gay2ywc41ly")))) |
| 4970 | (build-system pyproject-build-system) |
| 4971 | (arguments |
| 4972 | (list |
| 4973 | #:test-backend #~'unittest |
| 4974 | #:phases |
| 4975 | #~(modify-phases %standard-phases |
| 4976 | (add-after 'unpack 'set-version |
| 4977 | (lambda _ |
| 4978 | ;; This version file is expected to be created with git describe. |
| 4979 | (mkdir-p "fastalite/data") |
| 4980 | (with-output-to-file "fastalite/data/ver" |
| 4981 | (lambda () (display #$version)))))))) |
| 4982 | (native-inputs |
| 4983 | (list python-setuptools)) |
| 4984 | (home-page "https://github.com/nhoffman/fastalite") |
| 4985 | (synopsis "Simplest possible FASTA parser") |
| 4986 | (description "This library implements a FASTA and a FASTQ parser without |
| 4987 | relying on a complex dependency tree.") |
| 4988 | (license license:expat))) |
| 4989 | |
| 4990 | (define-public biosoup |
| 4991 | (package |
| 4992 | (name "biosoup") |
| 4993 | (version "0.11.0") |
| 4994 | (source |
| 4995 | (origin |
| 4996 | (method git-fetch) |
| 4997 | (uri (git-reference |
| 4998 | (url "https://github.com/rvaser/biosoup") |
| 4999 | (commit version))) |
| 5000 | (file-name (git-file-name name version)) |
| 5001 | (sha256 |
| 5002 | (base32 |
| 5003 | "0vn1hj3h152iwahnrzghqll34qaphchi07klb3j70vgc248micbz")))) |
| 5004 | (build-system cmake-build-system) |
| 5005 | (arguments |
| 5006 | (list |
| 5007 | #:phases |
| 5008 | #~(modify-phases %standard-phases |
| 5009 | (add-after 'unpack 'enable-testing |
| 5010 | (lambda _ |
| 5011 | (substitute* "CMakeLists.txt" |
| 5012 | (("target_link_libraries\\(biosoup_test") |
| 5013 | "enable_testing() |
| 5014 | add_test(NAME biosoup-test COMMAND biosoup_test) |
| 5015 | target_link_libraries(biosoup_test"))))))) |
| 5016 | (native-inputs |
| 5017 | (list googletest)) |
| 5018 | (home-page "https://github.com/rvaser/biosoup") |
| 5019 | (synopsis "C++ support library for bioinformatics tools") |
| 5020 | (description "Biosoup is a C++ collection of header-only data structures |
| 5021 | used for storage and logging in bioinformatics tools.") |
| 5022 | (license license:expat))) |
| 5023 | |
| 5024 | (define-public bioparser |
| 5025 | (package |
| 5026 | (name "bioparser") |
| 5027 | (version "3.1.0") |
| 5028 | (source |
| 5029 | (origin |
| 5030 | (method git-fetch) |
| 5031 | (uri (git-reference |
| 5032 | (url "https://github.com/rvaser/bioparser") |
| 5033 | (commit version))) |
| 5034 | (file-name (git-file-name name version)) |
| 5035 | (sha256 |
| 5036 | (base32 |
| 5037 | "057zb3g8qyvbkbfzgkygrf0iphz3v4icm13pchxzrafiy7zkbmrq")))) |
| 5038 | (build-system cmake-build-system) |
| 5039 | (arguments |
| 5040 | (list |
| 5041 | #:phases |
| 5042 | #~(modify-phases %standard-phases |
| 5043 | (add-after 'unpack 'enable-testing |
| 5044 | (lambda _ |
| 5045 | (substitute* "CMakeLists.txt" |
| 5046 | (("target_link_libraries\\(bioparser_test") |
| 5047 | "enable_testing() |
| 5048 | add_test(NAME bioparser-test COMMAND bioparser_test) |
| 5049 | target_link_libraries(bioparser_test"))))))) |
| 5050 | (inputs |
| 5051 | (list biosoup)) |
| 5052 | (propagated-inputs |
| 5053 | (list zlib)) |
| 5054 | (native-inputs |
| 5055 | (list googletest)) |
| 5056 | (home-page "https://github.com/rvaser/bioparser") |
| 5057 | (synopsis "C++ library for parsing several formats in bioinformatics") |
| 5058 | (description "Bioparser is a C++ header only parsing library for several |
| 5059 | bioinformatics formats (FASTA/Q, MHAP/PAF/SAM), with support for zlib |
| 5060 | compressed files.") |
| 5061 | (license license:expat))) |
| 5062 | |
| 5063 | (define-public python-circe |
| 5064 | (package |
| 5065 | (name "python-circe") |
| 5066 | (version "0.4.0") |
| 5067 | (source |
| 5068 | (origin |
| 5069 | (method git-fetch) |
| 5070 | (uri (git-reference |
| 5071 | (url "https://github.com/cantinilab/circe") |
| 5072 | (commit (string-append "v" version)))) |
| 5073 | (file-name (git-file-name name version)) |
| 5074 | (sha256 |
| 5075 | (base32 "0im5h9a759v1mh8a9mz12bn7r1qb9dyds1qcr3q04w71y1jwl1rz")))) |
| 5076 | (build-system pyproject-build-system) |
| 5077 | (arguments |
| 5078 | (list |
| 5079 | ;; tests: 19 passed, 1 deselected, 3 warnings |
| 5080 | #:test-flags |
| 5081 | ;; Network access is required to reach data from <www.ensembl.org>. |
| 5082 | #~(list "--deselect=tests/test_network/test_network.py::test_network_atac") |
| 5083 | #:phases |
| 5084 | #~(modify-phases %standard-phases |
| 5085 | (add-after 'unpack 'relax-requirements |
| 5086 | (lambda _ |
| 5087 | (substitute* "pyproject.toml" |
| 5088 | (("'cmake',") "")))) |
| 5089 | ;; Numba needs a writable dir to cache functions. |
| 5090 | (add-before 'build 'set-numba-cache-dir |
| 5091 | (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 5092 | (native-inputs |
| 5093 | (list python-cython |
| 5094 | python-pybiomart |
| 5095 | python-pytest |
| 5096 | python-setuptools)) |
| 5097 | (inputs |
| 5098 | (list lapack |
| 5099 | openblas)) |
| 5100 | (propagated-inputs |
| 5101 | (list python-anndata |
| 5102 | python-attrs |
| 5103 | python-dask |
| 5104 | python-distributed |
| 5105 | python-joblib |
| 5106 | python-numpy |
| 5107 | python-pandas |
| 5108 | python-rich |
| 5109 | python-scanpy |
| 5110 | python-scikit-learn |
| 5111 | ;; [optinal] |
| 5112 | python-pybiomart)) |
| 5113 | (home-page "https://github.com/cantinilab/circe") |
| 5114 | (synopsis "Cis-regulatory interactions between chromatin regions") |
| 5115 | (description "Circe is a Python package for inferring co-accessibility |
| 5116 | networks from single-cell ATAC-seq data, using skggm for the graphical lasso |
| 5117 | and python-scanpy for data processing.") |
| 5118 | (license license:gpl3))) |
| 5119 | |
| 5120 | (define-public qtltools |
| 5121 | (package |
| 5122 | (name "qtltools") |
| 5123 | (version "1.3.1") |
| 5124 | (source (origin |
| 5125 | (method url-fetch/tarbomb) |
| 5126 | (uri (string-append "https://qtltools.github.io/qtltools/" |
| 5127 | "binaries/QTLtools_" version |
| 5128 | "_source.tar.gz")) |
| 5129 | (sha256 |
| 5130 | (base32 |
| 5131 | "13gdry5l43abn3464fmk8qzrxgxnxah2612r66p9dzhhl92j30cd")))) |
| 5132 | (build-system gnu-build-system) |
| 5133 | (arguments |
| 5134 | `(#:tests? #f ; no tests included |
| 5135 | #:make-flags |
| 5136 | ,#~(list (string-append "BOOST_INC=" |
| 5137 | #$(this-package-input "boost") "/include") |
| 5138 | (string-append "BOOST_LIB=" |
| 5139 | #$(this-package-input "boost") "/lib") |
| 5140 | (string-append "HTSLD_INC=" |
| 5141 | #$(this-package-input "htslib") "/include") |
| 5142 | (string-append "HTSLD_LIB=" |
| 5143 | #$(this-package-input "htslib") "/lib") |
| 5144 | (string-append "RMATH_INC=" |
| 5145 | #$(this-package-input "rmath-standalone") |
| 5146 | "/include") |
| 5147 | (string-append "RMATH_LIB=" |
| 5148 | #$(this-package-input "rmath-standalone") |
| 5149 | "/lib")) |
| 5150 | #:phases |
| 5151 | (modify-phases %standard-phases |
| 5152 | (add-after 'unpack 'fix-linkage |
| 5153 | (lambda _ |
| 5154 | (substitute* "qtltools/Makefile" |
| 5155 | (("libboost_iostreams.a") |
| 5156 | "libboost_iostreams.so") |
| 5157 | (("libboost_program_options.a") |
| 5158 | "libboost_program_options.so") |
| 5159 | (("-lblas") "-lopenblas")))) |
| 5160 | (add-before 'build 'chdir |
| 5161 | (lambda _ (chdir "qtltools"))) |
| 5162 | (replace 'configure |
| 5163 | (lambda _ |
| 5164 | (substitute* "qtltools/Makefile" |
| 5165 | (("LIB_FLAGS=-lz") |
| 5166 | "LIB_FLAGS=-lz -lcrypto -lssl") |
| 5167 | (("LIB_FILES=\\$\\(RMATH_LIB\\)/libRmath.a \ |
| 5168 | \\$\\(HTSLD_LIB\\)/libhts.a \ |
| 5169 | \\$\\(BOOST_LIB\\)/libboost_iostreams.a \ |
| 5170 | \\$\\(BOOST_LIB\\)/libboost_program_options.a") |
| 5171 | "LIB_FILES=$(RMATH_LIB)/libRmath.so \ |
| 5172 | $(HTSLD_LIB)/libhts.so \ |
| 5173 | $(BOOST_LIB)/libboost_iostreams.so \ |
| 5174 | $(BOOST_LIB)/libboost_program_options.so")))) |
| 5175 | (replace 'install |
| 5176 | (lambda* (#:key outputs #:allow-other-keys) |
| 5177 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) |
| 5178 | (mkdir-p bin) |
| 5179 | (install-file "bin/QTLtools" bin))))))) |
| 5180 | (inputs |
| 5181 | (list curl |
| 5182 | gsl |
| 5183 | boost |
| 5184 | rmath-standalone |
| 5185 | htslib-1.3 |
| 5186 | openssl |
| 5187 | openblas |
| 5188 | zlib)) |
| 5189 | (home-page "https://qtltools.github.io/qtltools/") |
| 5190 | (synopsis "Tool set for molecular QTL discovery and analysis") |
| 5191 | (description "QTLtools is a tool set for molecular QTL discovery |
| 5192 | and analysis. It allows going from the raw genetic sequence data to |
| 5193 | collection of molecular @dfn{Quantitative Trait Loci} (QTLs) in few |
| 5194 | easy-to-perform steps.") |
| 5195 | (license license:gpl3+))) |
| 5196 | |
| 5197 | (define-public bpp-core |
| 5198 | (package |
| 5199 | (name "bpp-core") |
| 5200 | (version "2.4.1") |
| 5201 | (source |
| 5202 | (origin |
| 5203 | (method git-fetch) |
| 5204 | (uri (git-reference |
| 5205 | (url "https://github.com/BioPP/bpp-core") |
| 5206 | (commit (string-append "v" version)))) |
| 5207 | (file-name (git-file-name name version)) |
| 5208 | (sha256 |
| 5209 | (base32 "0ma2cl677l7s0n5sffh66cy9lxp5wycm50f121g8rx85p95vkgwv")))) |
| 5210 | (build-system cmake-build-system) |
| 5211 | (arguments |
| 5212 | (list #:phases |
| 5213 | #~(modify-phases %standard-phases |
| 5214 | (add-after 'unpack 'add-missing-header |
| 5215 | (lambda _ |
| 5216 | (substitute* "src/Bpp/Graph/GlobalGraph.cpp" |
| 5217 | (("include <vector>" all) |
| 5218 | (string-append all "\n#include <limits>")))))))) |
| 5219 | (home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-core/html/index.html") |
| 5220 | (synopsis "C++ libraries for Bioinformatics") |
| 5221 | (description |
| 5222 | "Bio++ is a set of C++ libraries for Bioinformatics, including sequence |
| 5223 | analysis, phylogenetics, molecular evolution and population genetics. It is |
| 5224 | Object Oriented and is designed to be both easy to use and computer efficient. |
| 5225 | Bio++ intends to help programmers to write computer expensive programs, by |
| 5226 | providing them a set of re-usable tools.") |
| 5227 | (license license:cecill-c))) |
| 5228 | |
| 5229 | (define-public bpp-phyl |
| 5230 | (package |
| 5231 | (name "bpp-phyl") |
| 5232 | (version "2.4.1") |
| 5233 | (source (origin |
| 5234 | (method git-fetch) |
| 5235 | (uri (git-reference |
| 5236 | (url "https://github.com/BioPP/bpp-phyl") |
| 5237 | (commit (string-append "v" version)))) |
| 5238 | (file-name (git-file-name name version)) |
| 5239 | (sha256 |
| 5240 | (base32 |
| 5241 | "192zks6wyk903n06c2lbsscdhkjnfwms8p7jblsmk3lvjhdipb20")))) |
| 5242 | (build-system cmake-build-system) |
| 5243 | (inputs |
| 5244 | (list bpp-core bpp-seq)) |
| 5245 | (home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-phyl/html/") |
| 5246 | (synopsis "Bio++ phylogenetic library") |
| 5247 | (description |
| 5248 | "Bio++ is a set of C++ libraries for Bioinformatics, including sequence |
| 5249 | analysis, phylogenetics, molecular evolution and population genetics. This |
| 5250 | library provides phylogenetics-related modules.") |
| 5251 | (license license:cecill-c))) |
| 5252 | |
| 5253 | (define-public bpp-phyl-omics |
| 5254 | (package |
| 5255 | (name "bpp-phyl-omics") |
| 5256 | (version "2.4.1") |
| 5257 | (source |
| 5258 | (origin |
| 5259 | (method git-fetch) |
| 5260 | (uri (git-reference |
| 5261 | (url "https://github.com/BioPP/bpp-phyl-omics") |
| 5262 | (commit (string-append "v" version)))) |
| 5263 | (file-name (git-file-name name version)) |
| 5264 | (sha256 |
| 5265 | (base32 "172psb8njkjwg3cd6gdy5w0mq8f0817v635yw4bk7146aggjzl1h")))) |
| 5266 | (build-system cmake-build-system) |
| 5267 | (arguments |
| 5268 | (list #:tests? #f)) ; No test provided. |
| 5269 | (inputs |
| 5270 | (list bpp-core |
| 5271 | bpp-phyl |
| 5272 | bpp-seq |
| 5273 | bpp-seq-omics)) |
| 5274 | (home-page "https://github.com/BioPP/bpp-phyl-omics") |
| 5275 | (synopsis "Bio++ phylogenetic library genomics components") |
| 5276 | (description |
| 5277 | "This library contains the genomics components of the Bio++ phylogenetics |
| 5278 | library. It is part of the Bio++ project.") |
| 5279 | (license license:cecill))) |
| 5280 | |
| 5281 | (define-public bpp-popgen |
| 5282 | (package |
| 5283 | (name "bpp-popgen") |
| 5284 | (version "2.4.1") |
| 5285 | (source (origin |
| 5286 | (method git-fetch) |
| 5287 | (uri (git-reference |
| 5288 | (url "https://github.com/BioPP/bpp-popgen") |
| 5289 | (commit (string-append "v" version)))) |
| 5290 | (file-name (git-file-name name version)) |
| 5291 | (sha256 |
| 5292 | (base32 |
| 5293 | "0bz0fhrq3dri6a0hvfc3zlvrns8mrzzlnicw5pyfa812gc1qwfvh")))) |
| 5294 | (build-system cmake-build-system) |
| 5295 | (arguments |
| 5296 | (list #:tests? #f)) ; There are no tests. |
| 5297 | (inputs |
| 5298 | (list bpp-core bpp-seq)) |
| 5299 | (home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-popgen/html/") |
| 5300 | (synopsis "Bio++ population genetics library") |
| 5301 | (description |
| 5302 | "Bio++ is a set of C++ libraries for Bioinformatics, including sequence |
| 5303 | analysis, phylogenetics, molecular evolution and population genetics. This |
| 5304 | library provides population genetics-related modules.") |
| 5305 | (license license:cecill-c))) |
| 5306 | |
| 5307 | (define-public bpp-seq |
| 5308 | (package |
| 5309 | (name "bpp-seq") |
| 5310 | (version "2.4.1") |
| 5311 | (source (origin |
| 5312 | (method git-fetch) |
| 5313 | (uri (git-reference |
| 5314 | (url "https://github.com/BioPP/bpp-seq") |
| 5315 | (commit (string-append "v" version)))) |
| 5316 | (file-name (git-file-name name version)) |
| 5317 | (sha256 |
| 5318 | (base32 "1mc09g8jswzsa4wgrfv59jxn15ys3q8s0227p1j838wkphlwn2qk")))) |
| 5319 | (build-system cmake-build-system) |
| 5320 | (inputs |
| 5321 | (list bpp-core)) |
| 5322 | (home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-seq/html/") |
| 5323 | (synopsis "Bio++ sequence library") |
| 5324 | (description |
| 5325 | "Bio++ is a set of C++ libraries for Bioinformatics, including sequence |
| 5326 | analysis, phylogenetics, molecular evolution and population genetics. This |
| 5327 | library provides sequence-related modules.") |
| 5328 | (license license:cecill-c))) |
| 5329 | |
| 5330 | (define-public bpp-seq-omics |
| 5331 | (package |
| 5332 | (name "bpp-seq-omics") |
| 5333 | (version "2.4.1") |
| 5334 | (source (origin |
| 5335 | (method git-fetch) |
| 5336 | (uri (git-reference |
| 5337 | (url "https://github.com/BioPP/bpp-seq-omics") |
| 5338 | (commit (string-append "v" version)))) |
| 5339 | (file-name (git-file-name name version)) |
| 5340 | (sha256 |
| 5341 | (base32 "1sc2xdfnfp5a6qihplp49rgrqmj89898avfy9bqaq1g2fajppgjj")))) |
| 5342 | (build-system cmake-build-system) |
| 5343 | (inputs |
| 5344 | (list bpp-core bpp-seq)) |
| 5345 | (home-page "https://github.com/BioPP/bpp-seq-omics") |
| 5346 | (synopsis "Bio++ sequence library genomics components") |
| 5347 | (description |
| 5348 | "This library contains the genomics components of the Bio++ sequence library. |
| 5349 | It is part of the Bio++ project.") |
| 5350 | (license license:cecill))) |
| 5351 | |
| 5352 | (define-public bppsuite |
| 5353 | (package |
| 5354 | (name "bppsuite") |
| 5355 | (version "2.4.1") |
| 5356 | (source (origin |
| 5357 | (method git-fetch) |
| 5358 | (uri (git-reference |
| 5359 | (url "https://github.com/BioPP/bppsuite") |
| 5360 | (commit (string-append "v" version)))) |
| 5361 | (file-name (git-file-name name version)) |
| 5362 | (sha256 |
| 5363 | (base32 |
| 5364 | "1wdwcgczqbc3m116vakvi0129wm3acln3cfc7ivqnalwvi6lrpds")))) |
| 5365 | (build-system cmake-build-system) |
| 5366 | (arguments |
| 5367 | (list #:tests? #f)) ; There are no tests. |
| 5368 | (native-inputs |
| 5369 | (list groff man-db texinfo)) |
| 5370 | (inputs |
| 5371 | (list bpp-core bpp-seq bpp-phyl bpp-popgen)) |
| 5372 | (home-page "https://github.com/BioPP") |
| 5373 | (synopsis "Bioinformatics tools written with the Bio++ libraries") |
| 5374 | (description |
| 5375 | "Bio++ is a set of C++ libraries for Bioinformatics, including sequence |
| 5376 | analysis, phylogenetics, molecular evolution and population genetics. This |
| 5377 | package provides command line tools using the Bio++ library.") |
| 5378 | (license license:cecill-c))) |
| 5379 | |
| 5380 | (define-public blast+ |
| 5381 | (package |
| 5382 | (name "blast+") |
| 5383 | (version "2.17.0") |
| 5384 | (source (origin |
| 5385 | (method url-fetch) |
| 5386 | (uri (string-append |
| 5387 | "https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/" |
| 5388 | version "/ncbi-blast-" version "+-src.tar.gz")) |
| 5389 | (sha256 |
| 5390 | (base32 |
| 5391 | "0ix1bqgaywi3ggis4qvaipb0mk3llhgf52vmc97f744risl5f82h")) |
| 5392 | (modules '((guix build utils))) |
| 5393 | (snippet |
| 5394 | '(begin |
| 5395 | ;; Remove bundled bzip2, zlib and pcre. |
| 5396 | (delete-file-recursively "c++/src/util/compress/bzip2") |
| 5397 | (delete-file-recursively "c++/src/util/compress/zlib") |
| 5398 | (delete-file-recursively "c++/src/util/regexp") |
| 5399 | (substitute* "c++/src/util/compress/Makefile.in" |
| 5400 | (("bzip2 zlib api") "api")) |
| 5401 | ;; Remove useless msbuild directory |
| 5402 | (delete-file-recursively |
| 5403 | "c++/src/build-system/project_tree_builder/msbuild") |
| 5404 | |
| 5405 | ;; Build reproducibly. |
| 5406 | ;; Do not record the kernel version |
| 5407 | (substitute* "c++/src/build-system/configure" |
| 5408 | (("kver=.*") "kver=\"\"")) |
| 5409 | ;; Do not generate random numbers. |
| 5410 | (substitute* "c++/scripts/common/impl/define_random_macros.sh" |
| 5411 | (("#define NCBI_RANDOM_VALUE_MAX 0xffffffffu" m) |
| 5412 | (string-append m " |
| 5413 | #define NCBI_RANDOM_VALUE_0 2845495105u |
| 5414 | #define NCBI_RANDOM_VALUE_1 2158634051u |
| 5415 | #define NCBI_RANDOM_VALUE_2 4072202242u |
| 5416 | #define NCBI_RANDOM_VALUE_3 902228395u |
| 5417 | #define NCBI_RANDOM_VALUE_4 1353323915u |
| 5418 | #define NCBI_RANDOM_VALUE_5 574823513u |
| 5419 | #define NCBI_RANDOM_VALUE_6 4119501261u |
| 5420 | #define NCBI_RANDOM_VALUE_7 2477640938u |
| 5421 | #define NCBI_RANDOM_VALUE_8 2776595395u |
| 5422 | #define NCBI_RANDOM_VALUE_9 270550684u |
| 5423 | ")) |
| 5424 | (("cksum") "cksum >/dev/null")))))) |
| 5425 | (build-system gnu-build-system) |
| 5426 | (arguments |
| 5427 | (list |
| 5428 | ;; There are two(!) tests for this massive library, and both fail with |
| 5429 | ;; "unparsable timing stats". |
| 5430 | ;; ERR [127] -- [serial/datatool] datatool.sh (unparsable timing stats) |
| 5431 | ;; ERR [127] -- [serial/datatool] datatool_xml.sh (unparsable timing stats) |
| 5432 | #:tests? #f |
| 5433 | #:out-of-source? #t |
| 5434 | #:parallel-build? #f ;not supported |
| 5435 | #:phases |
| 5436 | #~(modify-phases %standard-phases |
| 5437 | (add-before 'configure 'set-HOME |
| 5438 | ;; $HOME needs to be set at some point during the configure phase |
| 5439 | (lambda _ (setenv "HOME" "/tmp"))) |
| 5440 | (add-after 'unpack 'enter-dir |
| 5441 | (lambda _ (chdir "c++"))) |
| 5442 | (add-after 'enter-dir 'fix-build-system |
| 5443 | (lambda _ |
| 5444 | (define (which* cmd) |
| 5445 | (cond ((string=? cmd "date") |
| 5446 | ;; make call to "date" deterministic |
| 5447 | "date -d @0") |
| 5448 | ((which cmd) |
| 5449 | => identity) |
| 5450 | (else |
| 5451 | (format (current-error-port) |
| 5452 | "WARNING: Unable to find absolute path for ~s~%" |
| 5453 | cmd) |
| 5454 | #false))) |
| 5455 | |
| 5456 | ;; Rewrite hardcoded paths to various tools |
| 5457 | (substitute* (append '("src/build-system/configure.ac" |
| 5458 | "src/build-system/configure" |
| 5459 | "src/build-system/helpers/run_with_lock.c" |
| 5460 | "scripts/common/impl/if_diff.sh" |
| 5461 | "scripts/common/impl/run_with_lock.sh" |
| 5462 | "src/build-system/Makefile.configurables.real" |
| 5463 | "src/build-system/Makefile.in.top" |
| 5464 | "src/build-system/Makefile.meta.gmake=no" |
| 5465 | "src/build-system/Makefile.meta.in" |
| 5466 | "src/build-system/Makefile.meta_l" |
| 5467 | "src/build-system/Makefile.meta_p" |
| 5468 | "src/build-system/Makefile.meta_r" |
| 5469 | "src/build-system/Makefile.mk.in" |
| 5470 | "src/build-system/Makefile.requirements" |
| 5471 | "src/build-system/Makefile.rules_with_autodep.in") |
| 5472 | (find-files "scripts/common/check" "\\.sh$")) |
| 5473 | (("(/usr/bin/|/bin/)([a-z][-_.a-z]*(\\+\\+)?)" all dir cmd) |
| 5474 | (or (which* cmd) all))) |
| 5475 | |
| 5476 | (substitute* (find-files "src/build-system" "^config.*") |
| 5477 | (("LN_S=/bin/\\$LN_S") (string-append "LN_S=" (which "ln"))) |
| 5478 | (("^PATH=.*") "")) |
| 5479 | |
| 5480 | ;; rewrite "/var/tmp" in check script |
| 5481 | (substitute* "scripts/common/check/check_make_unix.sh" |
| 5482 | (("/var/tmp") "/tmp")) |
| 5483 | |
| 5484 | ;; do not reset PATH |
| 5485 | (substitute* (find-files "scripts/common/impl/" "\\.sh$") |
| 5486 | (("^ *PATH=.*") "") |
| 5487 | (("action=/bin/") "action=") |
| 5488 | (("export PATH") ":")))) |
| 5489 | (replace 'configure |
| 5490 | (lambda _ |
| 5491 | (let ((lib (string-append #$output:lib "/lib")) |
| 5492 | (include (string-append #$output:include |
| 5493 | "/include/ncbi-tools++"))) |
| 5494 | ;; The 'configure' script doesn't recognize things like |
| 5495 | ;; '--enable-fast-install'. |
| 5496 | (invoke "./configure.orig" |
| 5497 | (string-append "--with-build-root=" (getcwd) "/build") |
| 5498 | (string-append "--prefix=" #$output) |
| 5499 | (string-append "--libdir=" lib) |
| 5500 | (string-append "--includedir=" include) |
| 5501 | (string-append "--with-bz2=" |
| 5502 | #$(this-package-input "bzip2")) |
| 5503 | (string-append "--with-z=" |
| 5504 | #$(this-package-input "zlib")) |
| 5505 | (string-append "--with-pcre=" |
| 5506 | #$(this-package-input "pcre")) |
| 5507 | ;; Each library is built twice by default, once |
| 5508 | ;; with "-static" in its name, and again |
| 5509 | ;; without. |
| 5510 | "--without-static" |
| 5511 | "--with-dll"))))))) |
| 5512 | (outputs '("out" ; 21 MB |
| 5513 | "lib" ; 226 MB |
| 5514 | "include")) ; 33 MB |
| 5515 | (inputs |
| 5516 | (list bzip2 |
| 5517 | lmdb |
| 5518 | zlib |
| 5519 | pcre |
| 5520 | perl |
| 5521 | python-wrapper |
| 5522 | sqlite)) |
| 5523 | (native-inputs |
| 5524 | (list cpio)) |
| 5525 | (home-page "https://blast.ncbi.nlm.nih.gov") |
| 5526 | (synopsis "Basic local alignment search tool") |
| 5527 | (description |
| 5528 | "BLAST is a popular method of performing a DNA or protein sequence |
| 5529 | similarity search, using heuristics to produce results quickly. It also |
| 5530 | calculates an “expect value” that estimates how many matches would have |
| 5531 | occurred at a given score by chance, which can aid a user in judging how much |
| 5532 | confidence to have in an alignment.") |
| 5533 | ;; Most of the sources are in the public domain, with the following |
| 5534 | ;; exceptions: |
| 5535 | ;; * Expat: |
| 5536 | ;; * ./c++/include/util/bitset/ |
| 5537 | ;; * ./c++/src/html/ncbi_menu*.js |
| 5538 | ;; * Boost license: |
| 5539 | ;; * ./c++/include/util/impl/floating_point_comparison.hpp |
| 5540 | ;; * LGPL 2+: |
| 5541 | ;; * ./c++/include/dbapi/driver/odbc/unix_odbc/ |
| 5542 | ;; * ASL 2.0: |
| 5543 | ;; * ./c++/src/corelib/teamcity_* |
| 5544 | (license (list license:public-domain |
| 5545 | license:expat |
| 5546 | license:boost1.0 |
| 5547 | license:lgpl2.0+ |
| 5548 | license:asl2.0)))) |
| 5549 | |
| 5550 | (define-public bless |
| 5551 | (package |
| 5552 | (name "bless") |
| 5553 | (version "1p02") |
| 5554 | (source (origin |
| 5555 | (method url-fetch) |
| 5556 | (uri (string-append "mirror://sourceforge/bless-ec/bless.v" |
| 5557 | version ".tgz")) |
| 5558 | (sha256 |
| 5559 | (base32 |
| 5560 | "0rm0gw2s18dqwzzpl3c2x1z05ni2v0xz5dmfk3d33j6g4cgrlrdd")) |
| 5561 | (modules '((guix build utils))) |
| 5562 | (snippet |
| 5563 | `(begin |
| 5564 | ;; Remove bundled boost, pigz, zlib, and .git directory |
| 5565 | ;; FIXME: also remove bundled sources for murmurhash3 and |
| 5566 | ;; kmc once packaged. |
| 5567 | (delete-file-recursively "boost") |
| 5568 | (delete-file-recursively "pigz") |
| 5569 | (delete-file-recursively "google-sparsehash") |
| 5570 | (delete-file-recursively "zlib") |
| 5571 | (delete-file-recursively ".git"))))) |
| 5572 | (build-system gnu-build-system) |
| 5573 | (arguments |
| 5574 | `(#:tests? #f ;no "check" target |
| 5575 | #:make-flags |
| 5576 | ,#~(list (string-append "ZLIB=" |
| 5577 | #$(this-package-input "zlib") |
| 5578 | "/lib/libz.so") |
| 5579 | (string-append "LDFLAGS=" |
| 5580 | (string-join '("-lboost_filesystem" |
| 5581 | "-lboost_system" |
| 5582 | "-lboost_iostreams" |
| 5583 | "-lz" |
| 5584 | "-fopenmp")))) |
| 5585 | #:phases |
| 5586 | (modify-phases %standard-phases |
| 5587 | (add-after 'unpack 'do-not-build-bundled-pigz |
| 5588 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 5589 | (substitute* "Makefile" |
| 5590 | (("cd pigz/pigz-2.3.3; make") "")))) |
| 5591 | (add-after 'unpack 'patch-paths-to-executables |
| 5592 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 5593 | (substitute* "parse_args.cpp" |
| 5594 | (("kmc_binary = .*") |
| 5595 | (string-append "kmc_binary = \"" |
| 5596 | (assoc-ref outputs "out") |
| 5597 | "/bin/kmc\";")) |
| 5598 | (("pigz_binary = .*") |
| 5599 | (string-append "pigz_binary = \"" |
| 5600 | (assoc-ref inputs "pigz") |
| 5601 | "/bin/pigz\";"))))) |
| 5602 | (replace 'install |
| 5603 | (lambda* (#:key outputs #:allow-other-keys) |
| 5604 | (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) |
| 5605 | (for-each (lambda (file) |
| 5606 | (install-file file bin)) |
| 5607 | '("bless" "kmc/bin/kmc"))))) |
| 5608 | (delete 'configure)))) |
| 5609 | (native-inputs |
| 5610 | (list perl)) |
| 5611 | (inputs |
| 5612 | (list openmpi boost-1.83 sparsehash pigz zlib)) |
| 5613 | (supported-systems '("x86_64-linux")) |
| 5614 | (home-page "https://sourceforge.net/p/bless-ec/wiki/Home/") |
| 5615 | (synopsis "Bloom-filter-based error correction tool for NGS reads") |
| 5616 | (description |
| 5617 | "@dfn{Bloom-filter-based error correction solution for high-throughput |
| 5618 | sequencing reads} (BLESS) uses a single minimum-sized bloom filter is a |
| 5619 | correction tool for genomic reads produced by @dfn{Next-generation |
| 5620 | sequencing} (NGS). BLESS produces accurate correction results with much less |
| 5621 | memory compared with previous solutions and is also able to tolerate a higher |
| 5622 | false-positive rate. BLESS can extend reads like DNA assemblers to correct |
| 5623 | errors at the end of reads.") |
| 5624 | (license license:gpl3+))) |
| 5625 | |
| 5626 | (define-public bowtie |
| 5627 | (package |
| 5628 | (name "bowtie") |
| 5629 | (version "2.5.4") |
| 5630 | (source (origin |
| 5631 | (method git-fetch) |
| 5632 | (uri (git-reference |
| 5633 | (url "https://github.com/BenLangmead/bowtie2") |
| 5634 | (commit (string-append "v" version)))) |
| 5635 | (file-name (git-file-name name version)) |
| 5636 | (sha256 |
| 5637 | (base32 |
| 5638 | "020dwg059zmgqcfnxgg67qmn8rf207mwrybly39ncch1riva58z5")) |
| 5639 | (snippet |
| 5640 | #~(begin |
| 5641 | (use-modules (guix build utils)) |
| 5642 | (substitute* "Makefile" |
| 5643 | ;; replace BUILD_HOST and BUILD_TIME for deterministic build |
| 5644 | (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"") |
| 5645 | (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")))))) |
| 5646 | (build-system gnu-build-system) |
| 5647 | (arguments |
| 5648 | (list |
| 5649 | #:make-flags |
| 5650 | #~(list "allall" |
| 5651 | "WITH_TBB=1" |
| 5652 | (string-append "prefix=" #$output) |
| 5653 | (string-append "CC=" #$(cc-for-target))) |
| 5654 | #:phases |
| 5655 | #~(modify-phases %standard-phases |
| 5656 | (add-after 'unpack 'fix-prefix |
| 5657 | (lambda _ |
| 5658 | (substitute* "Makefile" |
| 5659 | (("/usr/local") #$output)))) |
| 5660 | (replace 'configure |
| 5661 | (lambda _ |
| 5662 | ;; This "extended character" is not considered valid. |
| 5663 | (substitute* "processor_support.h" |
| 5664 | (("“") "\"") |
| 5665 | (("”") "\"")))) |
| 5666 | (replace 'check |
| 5667 | (lambda* (#:key tests? #:allow-other-keys) |
| 5668 | (when tests? |
| 5669 | (invoke "perl" |
| 5670 | "scripts/test/simple_tests.pl" |
| 5671 | "--bowtie2=./bowtie2" |
| 5672 | "--bowtie2-build=./bowtie2-build"))))))) |
| 5673 | (inputs |
| 5674 | (list onetbb zlib)) |
| 5675 | (native-inputs |
| 5676 | (list perl |
| 5677 | perl-clone |
| 5678 | perl-file-which |
| 5679 | perl-test-deep |
| 5680 | perl-test-simple |
| 5681 | python-wrapper |
| 5682 | which)) |
| 5683 | (home-page "https://bowtie-bio.sourceforge.net/bowtie2/index.shtml") |
| 5684 | (synopsis "Fast and sensitive nucleotide sequence read aligner") |
| 5685 | (description |
| 5686 | "Bowtie 2 is a fast and memory-efficient tool for aligning sequencing |
| 5687 | reads to long reference sequences. It is particularly good at aligning reads |
| 5688 | of about 50 up to 100s or 1,000s of characters, and particularly good at |
| 5689 | aligning to relatively long (e.g. mammalian) genomes. Bowtie 2 indexes the |
| 5690 | genome with an FM Index to keep its memory footprint small: for the human |
| 5691 | genome, its memory footprint is typically around 3.2 GB. Bowtie 2 supports |
| 5692 | gapped, local, and paired-end alignment modes.") |
| 5693 | (supported-systems '("x86_64-linux")) |
| 5694 | (license license:gpl3+))) |
| 5695 | |
| 5696 | (define-public bwa |
| 5697 | (package |
| 5698 | (name "bwa") |
| 5699 | (version "0.7.19") |
| 5700 | (source (origin |
| 5701 | (method git-fetch) |
| 5702 | (uri (git-reference |
| 5703 | (url "https://github.com/lh3/bwa") |
| 5704 | (commit (string-append "v" version)))) |
| 5705 | (file-name (git-file-name name version)) |
| 5706 | (sha256 |
| 5707 | (base32 |
| 5708 | "04hvp3sl64h5wmlkzjawmma3v8h1lb9vbqwkkz8nkxmqzy8vnzx3")))) |
| 5709 | (build-system gnu-build-system) |
| 5710 | (arguments |
| 5711 | (list #:tests? #f ;no "check" target |
| 5712 | #:make-flags #~(list "CFLAGS=-fcommon" |
| 5713 | (string-append "CC=" #$(cc-for-target))) |
| 5714 | #:phases |
| 5715 | #~(modify-phases %standard-phases |
| 5716 | (replace 'install |
| 5717 | (lambda* (#:key outputs #:allow-other-keys) |
| 5718 | (let* ((out (assoc-ref outputs "out")) |
| 5719 | (bin (string-append out "/bin")) |
| 5720 | (lib (string-append out "/lib")) |
| 5721 | (doc (string-append out "/share/doc/bwa")) |
| 5722 | (man (string-append out "/share/man/man1"))) |
| 5723 | (install-file "bwa" bin) |
| 5724 | (install-file "libbwa.a" lib) |
| 5725 | (install-file "README.md" doc) |
| 5726 | (install-file "bwa.1" man)))) |
| 5727 | ;; no "configure" script |
| 5728 | (delete 'configure)))) |
| 5729 | (inputs (list zlib)) |
| 5730 | (supported-systems '("x86_64-linux" "aarch64-linux")) |
| 5731 | (home-page "https://bio-bwa.sourceforge.net/") |
| 5732 | (synopsis "Burrows-Wheeler sequence aligner") |
| 5733 | (description |
| 5734 | "BWA is a software package for mapping low-divergent sequences against a |
| 5735 | large reference genome, such as the human genome. It consists of three |
| 5736 | algorithms: BWA-backtrack, BWA-SW and BWA-MEM. The first algorithm is |
| 5737 | designed for Illumina sequence reads up to 100bp, while the rest two for |
| 5738 | longer sequences ranged from 70bp to 1Mbp. BWA-MEM and BWA-SW share similar |
| 5739 | features such as long-read support and split alignment, but BWA-MEM, which is |
| 5740 | the latest, is generally recommended for high-quality queries as it is faster |
| 5741 | and more accurate. BWA-MEM also has better performance than BWA-backtrack for |
| 5742 | 70-100bp Illumina reads.") |
| 5743 | (license license:gpl3+))) |
| 5744 | |
| 5745 | (define-public bwa-pssm |
| 5746 | (package |
| 5747 | (inherit bwa) |
| 5748 | (name "bwa-pssm") |
| 5749 | (version "0.5.11") |
| 5750 | (source (origin |
| 5751 | (method git-fetch) |
| 5752 | (uri (git-reference |
| 5753 | (url "https://github.com/pkerpedjiev/bwa-pssm") |
| 5754 | (commit version))) |
| 5755 | (file-name (git-file-name name version)) |
| 5756 | (sha256 |
| 5757 | (base32 |
| 5758 | "076c4q0cdqz8jgylb067y9zmvxglppnzi3qiscn0xiypgc6lgb5r")))) |
| 5759 | (build-system gnu-build-system) |
| 5760 | (arguments |
| 5761 | (substitute-keyword-arguments arguments |
| 5762 | ((#:phases phases #~%standard-phases) |
| 5763 | #~(modify-phases #$phases |
| 5764 | (add-after 'unpack 'patch-C-error |
| 5765 | (lambda _ |
| 5766 | (substitute* "pssm.c" |
| 5767 | (("inline int map") "int map")))))))) |
| 5768 | (inputs |
| 5769 | (list gdsl zlib perl)) |
| 5770 | ;; https://bwa-pssm.binf.ku.dk is down, and all Web Archived copies are |
| 5771 | ;; blank (they actually have "display:none" for some nefarious reason). |
| 5772 | (home-page "https://github.com/pkerpedjiev/bwa-pssm") |
| 5773 | (synopsis "Burrows-Wheeler transform-based probabilistic short read mapper") |
| 5774 | (description |
| 5775 | "BWA-PSSM is a probabilistic short genomic sequence read aligner based on |
| 5776 | the use of @dfn{position specific scoring matrices} (PSSM). Like many of the |
| 5777 | existing aligners it is fast and sensitive. Unlike most other aligners, |
| 5778 | however, it is also adaptible in the sense that one can direct the alignment |
| 5779 | based on known biases within the data set. It is coded as a modification of |
| 5780 | the original BWA alignment program and shares the genome index structure as |
| 5781 | well as many of the command line options.") |
| 5782 | (license license:gpl3+))) |
| 5783 | |
| 5784 | (define-public bwa-meth |
| 5785 | (package |
| 5786 | (name "bwa-meth") |
| 5787 | (version "0.2.9") |
| 5788 | (source (origin |
| 5789 | (method git-fetch) |
| 5790 | (uri (git-reference |
| 5791 | (url "https://github.com/brentp/bwa-meth") |
| 5792 | (commit (string-append "v" version)))) |
| 5793 | (file-name (git-file-name name version)) |
| 5794 | (sha256 |
| 5795 | (base32 |
| 5796 | "0192h6rdaxa1rx16hgkanwsp3qv9knsmnghy07ya1231qia8h67p")))) |
| 5797 | (build-system pyproject-build-system) |
| 5798 | (arguments |
| 5799 | `(#:tests? #f ;no tests |
| 5800 | #:phases |
| 5801 | (modify-phases %standard-phases |
| 5802 | (add-after 'unpack 'keep-references-to-bwa |
| 5803 | (lambda* (#:key inputs #:allow-other-keys) |
| 5804 | (substitute* "bwameth.py" |
| 5805 | (("bwa (mem|index)" _ command) |
| 5806 | (string-append (which "bwa") " " command)) |
| 5807 | ;; There's an ill-advised check for "samtools" on PATH. |
| 5808 | (("^checkX.*") ""))))))) |
| 5809 | (native-inputs |
| 5810 | (list python-setuptools)) |
| 5811 | (inputs |
| 5812 | (list bwa |
| 5813 | python-toolshed)) |
| 5814 | (home-page "https://github.com/brentp/bwa-meth") |
| 5815 | (synopsis "Fast and accurante alignment of BS-Seq reads") |
| 5816 | (description |
| 5817 | "BWA-Meth works for single-end reads and for paired-end reads from the |
| 5818 | directional protocol (most common). It uses the method employed by |
| 5819 | methylcoder and Bismark of in silico conversion of all C's to T's in both |
| 5820 | reference and reads. It recovers the original read (needed to tabulate |
| 5821 | methylation) by attaching it as a comment which BWA appends as a tag to the |
| 5822 | read. It performs favorably to existing aligners gauged by number of on and |
| 5823 | off-target reads for a capture method that targets CpG-rich region.") |
| 5824 | (license license:expat))) |
| 5825 | |
| 5826 | (define-public python-bx-python |
| 5827 | (package |
| 5828 | (name "python-bx-python") |
| 5829 | (version "0.14.0") |
| 5830 | (source (origin |
| 5831 | (method git-fetch) |
| 5832 | (uri (git-reference |
| 5833 | (url "https://github.com/bxlab/bx-python") |
| 5834 | (commit (string-append "v" version)))) |
| 5835 | (file-name (git-file-name name version)) |
| 5836 | (sha256 |
| 5837 | (base32 |
| 5838 | "1031ddndi5anxk76h1irdwa6nwr5sy20p816zn5jz50010zc562r")))) |
| 5839 | (build-system pyproject-build-system) |
| 5840 | (arguments |
| 5841 | (list |
| 5842 | #:phases |
| 5843 | '(modify-phases %standard-phases |
| 5844 | (add-before 'check 'build-extensions |
| 5845 | (lambda _ |
| 5846 | ;; Cython extensions have to be built before running the tests. |
| 5847 | (invoke "python" "setup.py" "build_ext" "--inplace"))) |
| 5848 | ;; Unrecognized argument. |
| 5849 | (add-after 'unpack 'disable-cython-doctests |
| 5850 | (lambda _ (substitute* "pytest.ini" (("--doctest-cython") ""))))))) |
| 5851 | (propagated-inputs |
| 5852 | (list python-numpy |
| 5853 | python-pyparsing)) |
| 5854 | (inputs |
| 5855 | (list zlib)) |
| 5856 | (native-inputs |
| 5857 | (list python-cython python-lzo python-pytest python-setuptools)) |
| 5858 | (home-page "https://github.com/bxlab/bx-python") |
| 5859 | (synopsis "Tools for manipulating biological data") |
| 5860 | (description |
| 5861 | "bx-python provides tools for manipulating biological data, particularly |
| 5862 | multiple sequence alignments.") |
| 5863 | (license license:expat))) |
| 5864 | |
| 5865 | (define-public python-mofax |
| 5866 | (let ((commit "e4821fef8b1f9f50afd84a6acb96fcc49445c967") |
| 5867 | (revision "1")) |
| 5868 | (package |
| 5869 | (name "python-mofax") |
| 5870 | (version (git-version "0.3.7" revision commit)) |
| 5871 | (source (origin |
| 5872 | (method git-fetch) |
| 5873 | (uri (git-reference |
| 5874 | (url "https://github.com/bioFAM/mofax") |
| 5875 | (commit commit))) |
| 5876 | (file-name (git-file-name name version)) |
| 5877 | (sha256 |
| 5878 | (base32 |
| 5879 | "07lkz51n7p7inmmh4bpr6fcr6b6jcjvkfws06zn8kpxfsv5z9kxa")))) |
| 5880 | (build-system pyproject-build-system) |
| 5881 | (propagated-inputs (list python-h5py |
| 5882 | python-matplotlib |
| 5883 | python-pandas |
| 5884 | python-scipy |
| 5885 | python-seaborn)) |
| 5886 | (native-inputs (list python-poetry-core |
| 5887 | python-numpy python-pytest)) |
| 5888 | (home-page "https://github.com/bioFAM/mofax") |
| 5889 | (synopsis |
| 5890 | "Motif activity finder for transcription factor motif analysis") |
| 5891 | (description |
| 5892 | "MoFax is a Python package for transcription factor motif analysis. |
| 5893 | It provides convenience functions to load and visualize factor models trained |
| 5894 | with MOFA+ in Python.") |
| 5895 | (license license:expat)))) |
| 5896 | |
| 5897 | (define-public python-mudata |
| 5898 | (package |
| 5899 | (name "python-mudata") |
| 5900 | (version "0.3.10") |
| 5901 | (source |
| 5902 | (origin |
| 5903 | (method git-fetch) |
| 5904 | (uri (git-reference |
| 5905 | (url "https://github.com/scverse/mudata") |
| 5906 | (commit (string-append "v" version)))) |
| 5907 | (file-name (git-file-name name version)) |
| 5908 | (sha256 |
| 5909 | (base32 "1s0vkxmbw6kbyl5pxgr296g9g0wpjggzcxrj5i67lgg1kzxkqb8k")))) |
| 5910 | (build-system pyproject-build-system) |
| 5911 | (arguments |
| 5912 | (list |
| 5913 | ;; tests: 484 passed, 1 deselected, 2 xfailed, 1343 warnings |
| 5914 | #:test-flags |
| 5915 | ;; TypeError: MetaAcc.get() missing 1 required positional argument: 'k' |
| 5916 | #~(list "--deselect=tests/test_obs_var.py::test_accessors"))) |
| 5917 | (native-inputs |
| 5918 | (list python-hatch-vcs |
| 5919 | python-hatchling |
| 5920 | python-pytest)) |
| 5921 | (propagated-inputs |
| 5922 | (list python-anndata |
| 5923 | python-h5py |
| 5924 | python-numpy |
| 5925 | python-pandas |
| 5926 | python-scipy |
| 5927 | python-scverse-misc |
| 5928 | python-session-info2 |
| 5929 | ;; [optional] |
| 5930 | python-fsspec |
| 5931 | python-zarr)) |
| 5932 | (home-page "https://github.com/scverse/mudata") |
| 5933 | (synopsis "Python package for multi-omics data analysis") |
| 5934 | (description |
| 5935 | "Mudata is a Python package for multi-omics data analysis. |
| 5936 | It is designed to provide functionality to load, process, and store multimodal |
| 5937 | omics data.") |
| 5938 | (license license:bsd-3))) |
| 5939 | |
| 5940 | (define-public python-mofapy2 |
| 5941 | (package |
| 5942 | (name "python-mofapy2") |
| 5943 | ;; Upstream removed all tags. |
| 5944 | (properties '((commit . "45d7e901b7cfe071476ad849a62944de8732f4d9") |
| 5945 | (revision . "0"))) |
| 5946 | (version (git-version "0.7.4" |
| 5947 | (assoc-ref properties 'revision) |
| 5948 | (assoc-ref properties 'commit))) |
| 5949 | (source |
| 5950 | (origin |
| 5951 | ;; The tarball from PyPi doesn't include tests. |
| 5952 | (method git-fetch) |
| 5953 | (uri (git-reference |
| 5954 | (url "https://github.com/bioFAM/mofapy2") |
| 5955 | (commit (assoc-ref properties 'commit)))) |
| 5956 | (file-name (git-file-name name version)) |
| 5957 | (sha256 |
| 5958 | (base32 |
| 5959 | "1b2m7bphn06n8bgyqz02f08jwjzqw11zl8nf5zm58vs1v5wq8cnd")))) |
| 5960 | (build-system pyproject-build-system) |
| 5961 | (arguments |
| 5962 | (list |
| 5963 | #:test-flags |
| 5964 | ;; cupy is an optional dependency, which |
| 5965 | ;; itself has nonfree dependencies (CUDA) |
| 5966 | '(list "--ignore=mofapy2/notebooks/test_cupy.py"))) |
| 5967 | (propagated-inputs (list python-anndata |
| 5968 | python-h5py |
| 5969 | python-numpy |
| 5970 | python-pandas |
| 5971 | python-scikit-learn |
| 5972 | python-scipy)) |
| 5973 | (native-inputs (list python-poetry-core |
| 5974 | python-pytest)) |
| 5975 | (home-page "https://biofam.github.io/MOFA2/") |
| 5976 | (synopsis "Multi-omics factor analysis") |
| 5977 | (description "MOFA is a factor analysis model that provides a general |
| 5978 | framework for the integration of multi-omic data sets in an unsupervised |
| 5979 | fashion. Intuitively, MOFA can be viewed as a versatile and statistically |
| 5980 | rigorous generalization of principal component analysis to multi-omics data. |
| 5981 | Given several data matrices with measurements of multiple -omics data types on |
| 5982 | the same or on overlapping sets of samples, MOFA infers an interpretable |
| 5983 | low-dimensional representation in terms of a few latent factors. These learnt |
| 5984 | factors represent the driving sources of variation across data modalities, |
| 5985 | thus facilitating the identification of cellular states or disease |
| 5986 | subgroups.") |
| 5987 | (license license:lgpl3))) |
| 5988 | |
| 5989 | (define-public python-muon |
| 5990 | (package |
| 5991 | (name "python-muon") |
| 5992 | ;; 0.1.7 (2024-10-30); the latest changes provide compatibility with NumPy |
| 5993 | ;; 2 and Pandas 3. |
| 5994 | (properties '((commit . "05d3bf11f55ccc656e2f10a1466e185b0302aa52") |
| 5995 | (revision . "0"))) |
| 5996 | (version (git-version "0.1.7" |
| 5997 | (assoc-ref properties 'revision) |
| 5998 | (assoc-ref properties 'commit))) |
| 5999 | (source |
| 6000 | (origin |
| 6001 | (method git-fetch) |
| 6002 | (uri (git-reference |
| 6003 | (url "https://github.com/scverse/muon") |
| 6004 | (commit (assoc-ref properties 'commit)))) |
| 6005 | (file-name (git-file-name name version)) |
| 6006 | (sha256 |
| 6007 | (base32 "14hhz3150m0vg4iwr73b0cxkw45jmn3z94wxs75q64dj5f62ghpw")))) |
| 6008 | (build-system pyproject-build-system) |
| 6009 | (arguments |
| 6010 | (list |
| 6011 | ;; tests: 32 passed, 4 deselected, 333 warnings |
| 6012 | #:test-flags |
| 6013 | #~(list |
| 6014 | ;; Failed: assert -1.6939765212353823 == -1.719391 ± 1.7e-06 |
| 6015 | "--deselect=tests/test_muon_tools.py::TestMOFA2D::test_multi_group" |
| 6016 | ;; Network access is required. |
| 6017 | (string-append "--deselect=tests/test_muon_preproc.py" |
| 6018 | "::TestInPlaceFiltering" |
| 6019 | "::test_filter_obs_with_obsm_obsp") |
| 6020 | (string-append "--deselect=tests/test_muon_preproc.py" |
| 6021 | "::TestInPlaceFiltering" |
| 6022 | "::test_filter_var_with_varm_varp")) |
| 6023 | #:phases |
| 6024 | #~(modify-phases %standard-phases |
| 6025 | ;; Numba needs a writable dir to cache functions. |
| 6026 | (add-before 'build 'set-numba-cache-dir |
| 6027 | (lambda _ |
| 6028 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 6029 | (native-inputs |
| 6030 | (list nss-certs-for-test |
| 6031 | python-flit-core |
| 6032 | python-pytest)) |
| 6033 | (propagated-inputs |
| 6034 | (list python-anndata |
| 6035 | python-h5py |
| 6036 | python-matplotlib |
| 6037 | python-mudata |
| 6038 | python-numba |
| 6039 | python-numpy |
| 6040 | python-pandas |
| 6041 | python-protobuf |
| 6042 | python-scanpy |
| 6043 | python-scikit-learn |
| 6044 | python-seaborn |
| 6045 | python-tqdm |
| 6046 | python-umap-learn |
| 6047 | ;; [optional] |
| 6048 | python-mofapy2 |
| 6049 | python-pybedtools |
| 6050 | python-pysam)) |
| 6051 | (home-page "https://github.com/scverse/muon") |
| 6052 | (synopsis "Multimodal omics analysis framework") |
| 6053 | (description "muon is a multimodal omics Python framework.") |
| 6054 | (license license:bsd-3))) |
| 6055 | |
| 6056 | (define-public python-pysam |
| 6057 | (package |
| 6058 | (name "python-pysam") |
| 6059 | (version "0.23.3") |
| 6060 | (source (origin |
| 6061 | (method git-fetch) |
| 6062 | (uri (git-reference |
| 6063 | (url "https://github.com/pysam-developers/pysam") |
| 6064 | (commit (string-append "v" version)))) |
| 6065 | (file-name (git-file-name name version)) |
| 6066 | (sha256 |
| 6067 | (base32 |
| 6068 | "1kb70fp9mnjl4czhwiahb192lwkq1j357b774ddg533ibj3h7gcz")) |
| 6069 | (modules '((guix build utils))) |
| 6070 | (snippet '(begin |
| 6071 | ;; FIXME: Unbundle samtools and bcftools. |
| 6072 | (delete-file-recursively "htslib"))))) |
| 6073 | (build-system pyproject-build-system) |
| 6074 | (arguments |
| 6075 | (list |
| 6076 | #:test-flags |
| 6077 | ;; This test requires network access. |
| 6078 | '(list "-k" "not FileHTTP" "tests") |
| 6079 | #:phases |
| 6080 | #~(modify-phases %standard-phases |
| 6081 | (add-after 'unpack 'patch-build-system |
| 6082 | (lambda _ |
| 6083 | (substitute* "pyproject.toml" |
| 6084 | ((":__legacy__") "")))) |
| 6085 | (add-before 'build 'set-flags |
| 6086 | (lambda* (#:key inputs #:allow-other-keys) |
| 6087 | (setenv "HTSLIB_MODE" "external") |
| 6088 | (setenv "HTSLIB_LIBRARY_DIR" |
| 6089 | (string-append (assoc-ref inputs "htslib") "/lib")) |
| 6090 | (setenv "HTSLIB_INCLUDE_DIR" |
| 6091 | (string-append (assoc-ref inputs "htslib") "/include")) |
| 6092 | (setenv "LDFLAGS" "-lncurses") |
| 6093 | (setenv "CFLAGS" "-D_CURSES_LIB=1"))) |
| 6094 | (add-before 'check 'pre-check |
| 6095 | (lambda* (#:key tests? #:allow-other-keys) |
| 6096 | (when tests? |
| 6097 | (with-directory-excursion "tests" |
| 6098 | (setenv "HOME" "/tmp") |
| 6099 | (invoke "make" "-C" "pysam_data") |
| 6100 | (invoke "make" "-C" "cbcf_data")))))))) |
| 6101 | (propagated-inputs |
| 6102 | (list htslib)) ; Included from installed header files. |
| 6103 | (inputs |
| 6104 | (list ncurses curl zlib)) |
| 6105 | (native-inputs |
| 6106 | (list python-cython |
| 6107 | python-pytest |
| 6108 | python-setuptools |
| 6109 | ;; Dependencies below are are for tests only. |
| 6110 | samtools |
| 6111 | bcftools)) |
| 6112 | (home-page "https://github.com/pysam-developers/pysam") |
| 6113 | (synopsis "Python bindings to the SAMtools C API") |
| 6114 | (description |
| 6115 | "Pysam is a Python module for reading and manipulating files in the |
| 6116 | SAM/BAM format. Pysam is a lightweight wrapper of the SAMtools C API. It |
| 6117 | also includes an interface for tabix.") |
| 6118 | (license license:expat))) |
| 6119 | |
| 6120 | (define-public python-twobitreader |
| 6121 | (package |
| 6122 | (name "python-twobitreader") |
| 6123 | (version "3.1.9") |
| 6124 | (source (origin |
| 6125 | (method git-fetch) |
| 6126 | (uri (git-reference |
| 6127 | (url "https://github.com/benjschiller/twobitreader") |
| 6128 | (commit version))) |
| 6129 | (file-name (git-file-name name version)) |
| 6130 | (sha256 |
| 6131 | (base32 |
| 6132 | "1yk86vgdh43wpg8wv4riiff3qv0nrmizxzv774ghjkgiss4g1l2q")))) |
| 6133 | (build-system pyproject-build-system) |
| 6134 | (native-inputs |
| 6135 | (list python-pytest |
| 6136 | python-setuptools)) |
| 6137 | (home-page "https://github.com/benjschiller/twobitreader") |
| 6138 | (synopsis "Python library for reading .2bit files") |
| 6139 | (description |
| 6140 | "twobitreader is a Python library for reading .2bit files as used by the |
| 6141 | UCSC genome browser.") |
| 6142 | (license license:artistic2.0))) |
| 6143 | |
| 6144 | (define-public tetoolkit |
| 6145 | (package |
| 6146 | (name "tetoolkit") |
| 6147 | (version "2.2.3") |
| 6148 | (source |
| 6149 | (origin |
| 6150 | (method git-fetch) |
| 6151 | (uri (git-reference |
| 6152 | (url "https://github.com/mhammell-laboratory/TEtranscripts") |
| 6153 | (commit version))) |
| 6154 | (file-name (git-file-name name version)) |
| 6155 | (sha256 |
| 6156 | (base32 "1jgwnm1kmj2mgvc3gib6d73rvyy3l54icjcj2gw0p1ay6kqkzs0p")))) |
| 6157 | (build-system pyproject-build-system) |
| 6158 | (arguments |
| 6159 | `(#:tests? #f ;no tests |
| 6160 | #:phases (modify-phases %standard-phases |
| 6161 | (add-after 'unpack 'adjust-requirements |
| 6162 | (lambda _ |
| 6163 | (substitute* "setup.py" |
| 6164 | ;; This defunct dependency isn't required for Python 3 (see: |
| 6165 | ;; https://github.com/mhammell-laboratory/TEtranscripts/issues/111). |
| 6166 | ((".*'argparse'.*") |
| 6167 | "")))) |
| 6168 | (add-after 'unpack 'patch-invocations |
| 6169 | (lambda* (#:key inputs #:allow-other-keys) |
| 6170 | (substitute* '("bin/TEtranscripts" "bin/TEcount") |
| 6171 | (("'sort ") |
| 6172 | (string-append "'" |
| 6173 | (search-input-file inputs "bin/sort") |
| 6174 | " ")) |
| 6175 | (("'rm -f ") |
| 6176 | (string-append "'" |
| 6177 | (search-input-file inputs "bin/rm") |
| 6178 | " -f ")) |
| 6179 | (("'Rscript'") |
| 6180 | (string-append "'" |
| 6181 | (search-input-file inputs |
| 6182 | "bin/Rscript") "'"))) |
| 6183 | (substitute* "TEToolkit/IO/ReadInputs.py" |
| 6184 | (("BamToBED") |
| 6185 | (search-input-file inputs "bin/bamToBed"))) |
| 6186 | (substitute* "TEToolkit/Normalization.py" |
| 6187 | (("\"Rscript\"") |
| 6188 | (string-append "\"" |
| 6189 | (search-input-file inputs |
| 6190 | "bin/Rscript") "\""))))) |
| 6191 | (add-after 'install 'wrap-program |
| 6192 | (lambda* (#:key outputs #:allow-other-keys) |
| 6193 | ;; Make sure the executables find R packages. |
| 6194 | (for-each (lambda (script) |
| 6195 | (wrap-program script |
| 6196 | `("R_LIBS_SITE" ":" = |
| 6197 | (,(getenv "R_LIBS_SITE"))))) |
| 6198 | (list (search-input-file outputs |
| 6199 | "bin/TEtranscripts") |
| 6200 | (search-input-file outputs "bin/TEcount")))))))) |
| 6201 | (inputs (list bash-minimal |
| 6202 | coreutils |
| 6203 | bedtools |
| 6204 | python-pysam |
| 6205 | r-minimal |
| 6206 | r-deseq2)) |
| 6207 | (native-inputs (list python-setuptools)) |
| 6208 | (home-page "https://github.com/mhammell-laboratory/TEtranscripts") |
| 6209 | (synopsis "Transposable elements in differential enrichment analysis") |
| 6210 | (description |
| 6211 | "This is package for including transposable elements in differential |
| 6212 | enrichment analysis of sequencing datasets. TEtranscripts and TEcount take |
| 6213 | RNA-seq (and similar data) and annotates reads to both genes and transposable |
| 6214 | elements. TEtranscripts then performs differential analysis using DESeq2. |
| 6215 | Note that TEtranscripts and TEcount rely on specially curated GTF files, which |
| 6216 | are not included due to their size.") |
| 6217 | (license license:gpl3+))) |
| 6218 | |
| 6219 | (define-public cd-hit |
| 6220 | (package |
| 6221 | (name "cd-hit") |
| 6222 | (version "4.8.1") |
| 6223 | (source (origin |
| 6224 | (method url-fetch) |
| 6225 | (uri (string-append "https://github.com/weizhongli/cdhit" |
| 6226 | "/releases/download/V" version |
| 6227 | "/cd-hit-v" version |
| 6228 | "-2019-0228.tar.gz")) |
| 6229 | (sha256 |
| 6230 | (base32 |
| 6231 | "1phmfhgcpyfd6kj7jwzw976613lcpv1wc2pzfdfaxla062x2s5r6")))) |
| 6232 | (build-system gnu-build-system) |
| 6233 | (arguments |
| 6234 | (list |
| 6235 | #:tests? #f ; there are no tests |
| 6236 | #:make-flags |
| 6237 | ;; Executables are copied directly to the PREFIX. |
| 6238 | #~(list (string-append "PREFIX=" #$output "/bin") |
| 6239 | ;; Support longer sequences (e.g. Pacbio sequences) |
| 6240 | "MAX_SEQ=60000000") |
| 6241 | #:phases |
| 6242 | '(modify-phases %standard-phases |
| 6243 | ;; No "configure" script |
| 6244 | (delete 'configure) |
| 6245 | ;; Remove sources of non-determinism |
| 6246 | (add-after 'unpack 'be-timeless |
| 6247 | (lambda _ |
| 6248 | (substitute* "cdhit-utility.c++" |
| 6249 | ((" \\(built on \" __DATE__ \"\\)") "")) |
| 6250 | (substitute* "cdhit-common.c++" |
| 6251 | (("__DATE__") "\"0\"") |
| 6252 | (("\", %s, \" __TIME__ \"\\\\n\", date") "")))) |
| 6253 | ;; The "install" target does not create the target directory. |
| 6254 | (add-before 'install 'create-target-dir |
| 6255 | (lambda* (#:key outputs #:allow-other-keys) |
| 6256 | (mkdir-p (string-append (assoc-ref outputs "out") "/bin"))))))) |
| 6257 | (inputs |
| 6258 | (list perl zlib)) |
| 6259 | (home-page "http://weizhongli-lab.org/cd-hit/") |
| 6260 | (synopsis "Cluster and compare protein or nucleotide sequences") |
| 6261 | (description |
| 6262 | "CD-HIT is a program for clustering and comparing protein or nucleotide |
| 6263 | sequences. CD-HIT is designed to be fast and handle extremely large |
| 6264 | databases.") |
| 6265 | ;; The manual says: "It can be copied under the GNU General Public License |
| 6266 | ;; version 2 (GPLv2)." |
| 6267 | (license license:gpl2))) |
| 6268 | |
| 6269 | (define-public cd-hit-auxtools |
| 6270 | (package |
| 6271 | (inherit cd-hit) |
| 6272 | (name "cd-hit-auxtools") |
| 6273 | (arguments |
| 6274 | (list |
| 6275 | #:tests? #f ; there are no tests |
| 6276 | #:phases |
| 6277 | #~(modify-phases %standard-phases |
| 6278 | (add-after 'unpack 'chdir (lambda _ (chdir "cd-hit-auxtools"))) |
| 6279 | ;; No "configure" script |
| 6280 | (delete 'configure) |
| 6281 | ;; There is no install target. |
| 6282 | (replace 'install |
| 6283 | (lambda _ |
| 6284 | (for-each (lambda (file) |
| 6285 | (install-file file (string-append #$output "/bin"))) |
| 6286 | '("cd-hit-dup" "cd-hit-lap" "read-linker"))))))) |
| 6287 | (inputs '()))) |
| 6288 | |
| 6289 | (define-public clipper-peak |
| 6290 | (package |
| 6291 | (name "clipper-peak") |
| 6292 | (version "2.0.1") |
| 6293 | (source |
| 6294 | (origin |
| 6295 | (method git-fetch) |
| 6296 | (uri (git-reference |
| 6297 | (url "https://github.com/YeoLab/clipper") |
| 6298 | (commit version))) |
| 6299 | (file-name (git-file-name name version)) |
| 6300 | (sha256 |
| 6301 | (base32 "0508rgnfjk5ar5d1mjbjyrnarv4kw9ksq0m3jw2bmgabmb5v6ikk")) |
| 6302 | (modules '((guix build utils))) |
| 6303 | (snippet '(begin |
| 6304 | ;; Delete pre-compiled files. |
| 6305 | (delete-file "clipper/src/peaks.so"))))) |
| 6306 | (build-system pyproject-build-system) |
| 6307 | (arguments |
| 6308 | `(#:tests? #f |
| 6309 | #:phases (modify-phases %standard-phases |
| 6310 | (add-after 'unpack 'use-python3-for-cython |
| 6311 | (lambda _ |
| 6312 | (substitute* "setup.py" |
| 6313 | (("^setup") |
| 6314 | "peaks.cython_directives = {'language_level': '3'} |
| 6315 | readsToWiggle.cython_directives = {'language_level': '3'} |
| 6316 | setup")))) |
| 6317 | (add-after 'unpack 'disable-nondeterministic-test |
| 6318 | (lambda _ |
| 6319 | ;; This test fails/succeeds non-deterministically. |
| 6320 | (substitute* "clipper/test/test_call_peak.py" |
| 6321 | (("test_get_FDR_cutoff_mean") |
| 6322 | "_test_get_FDR_cutoff_mean")))) |
| 6323 | ;; This doesn't work because "usage" is executed, and that calls |
| 6324 | ;; exit(8). |
| 6325 | (replace 'check |
| 6326 | (lambda* (#:key tests? inputs outputs #:allow-other-keys) |
| 6327 | (when tests? |
| 6328 | (add-installed-pythonpath inputs outputs) |
| 6329 | (with-directory-excursion "clipper/test" |
| 6330 | (invoke "python" "-m" "unittest"))))) |
| 6331 | ;; This is not a library |
| 6332 | (delete 'sanity-check)))) |
| 6333 | (inputs (list htseq |
| 6334 | python-pybedtools |
| 6335 | python-cython |
| 6336 | python-scikit-learn |
| 6337 | python-matplotlib |
| 6338 | python-pandas |
| 6339 | python-pysam |
| 6340 | python-numpy |
| 6341 | python-scipy)) |
| 6342 | (native-inputs (list python-mock |
| 6343 | python-pynose |
| 6344 | python-pytz |
| 6345 | python-setuptools |
| 6346 | python-setuptools-git)) |
| 6347 | (home-page "https://github.com/YeoLab/clipper") |
| 6348 | (synopsis "CLIP peak enrichment recognition") |
| 6349 | (description "CLIPper is a tool to define peaks in CLIP-seq datasets.") |
| 6350 | (license license:gpl2))) |
| 6351 | |
| 6352 | (define-public codingquarry |
| 6353 | (package |
| 6354 | (name "codingquarry") |
| 6355 | (version "2.0") |
| 6356 | (source (origin |
| 6357 | (method url-fetch) |
| 6358 | (uri (string-append |
| 6359 | "mirror://sourceforge/codingquarry/CodingQuarry_v" |
| 6360 | version ".tar.gz")) |
| 6361 | (sha256 |
| 6362 | (base32 |
| 6363 | "0115hkjflsnfzn36xppwf9h9avfxlavr43djqmshkkzbgjzsz60i")))) |
| 6364 | (build-system gnu-build-system) |
| 6365 | (arguments |
| 6366 | (list |
| 6367 | #:tests? #f ;no "check" target |
| 6368 | #:phases |
| 6369 | #~(modify-phases %standard-phases |
| 6370 | (delete 'configure) |
| 6371 | (replace 'install |
| 6372 | (lambda _ |
| 6373 | (let ((bin (string-append #$output "/bin")) |
| 6374 | (doc (string-append #$output "/share/doc/codingquarry"))) |
| 6375 | (install-file "INSTRUCTIONS.pdf" doc) |
| 6376 | (copy-recursively "QuarryFiles" |
| 6377 | (string-append #$output |
| 6378 | "/share/codingquarry/QuarryFiles")) |
| 6379 | (install-file "CodingQuarry" bin) |
| 6380 | (install-file "CufflinksGTF_to_CodingQuarryGFF3.py" bin))))))) |
| 6381 | ;; TODO: This package also needs a Python 2 variant of biopython |
| 6382 | (inputs (list openmpi python-2)) ;Only Python 2 is supported |
| 6383 | (native-search-paths |
| 6384 | (list (search-path-specification |
| 6385 | (variable "QUARRY_PATH") |
| 6386 | (files '("share/codingquarry/QuarryFiles"))))) |
| 6387 | (home-page "https://sourceforge.net/projects/codingquarry/") |
| 6388 | (synopsis "Fungal gene predictor") |
| 6389 | (description "CodingQuarry is a highly accurate, self-training GHMM fungal |
| 6390 | gene predictor designed to work with assembled, aligned RNA-seq transcripts.") |
| 6391 | (license license:gpl3+))) |
| 6392 | |
| 6393 | (define-public crossmap |
| 6394 | (package |
| 6395 | (name "crossmap") |
| 6396 | (version "0.7.3") |
| 6397 | (source |
| 6398 | (origin |
| 6399 | (method url-fetch) |
| 6400 | (uri (pypi-uri "crossmap" version)) |
| 6401 | (sha256 |
| 6402 | (base32 "0v8z75di5ghrv1aiain67qx9n5lslwq9ikfq44zjp5papwdksyf5")) |
| 6403 | (modules '((guix build utils))) |
| 6404 | (snippet '(begin |
| 6405 | ;; Delete compiled Python files. |
| 6406 | (for-each delete-file |
| 6407 | (find-files "." "\\.pyc$")) |
| 6408 | (delete-file-recursively "src/CrossMap.egg-info"))))) |
| 6409 | (build-system pyproject-build-system) |
| 6410 | (arguments (list #:tests? #f)) ; No tests in PyPI and Git. |
| 6411 | (inputs (list python-bx-python python-numpy python-pybigwig python-pysam |
| 6412 | zlib)) |
| 6413 | (native-inputs (list python-cython python-pyparsing python-setuptools)) |
| 6414 | (home-page "https://crossmap.sourceforge.net/") |
| 6415 | (synopsis "Convert genome coordinates between assemblies") |
| 6416 | (description |
| 6417 | "CrossMap is a program for conversion of genome coordinates or annotation |
| 6418 | files between different genome assemblies. It supports most commonly used |
| 6419 | file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.") |
| 6420 | (license license:gpl2+))) |
| 6421 | |
| 6422 | (define-public python-dnaio |
| 6423 | (package |
| 6424 | (name "python-dnaio") |
| 6425 | (version "0.10.0") |
| 6426 | (source |
| 6427 | (origin |
| 6428 | (method url-fetch) |
| 6429 | (uri (pypi-uri "dnaio" version)) |
| 6430 | (sha256 |
| 6431 | (base32 |
| 6432 | "064xc4j8plb4fpkm8mw55715mvpvi2sxsknpjx18c2zh904salfy")))) |
| 6433 | (build-system pyproject-build-system) |
| 6434 | (arguments |
| 6435 | (list #:tests? #false)) ;there are none |
| 6436 | (native-inputs |
| 6437 | (list python-cython |
| 6438 | python-pytest |
| 6439 | python-setuptools-scm |
| 6440 | python-setuptools)) |
| 6441 | (propagated-inputs |
| 6442 | (list python-xopen)) |
| 6443 | (home-page "https://github.com/marcelm/dnaio/") |
| 6444 | (synopsis "Read FASTA and FASTQ files efficiently") |
| 6445 | (description |
| 6446 | "dnaio is a Python library for fast parsing of FASTQ and also FASTA |
| 6447 | files. The code was previously part of the cutadapt tool.") |
| 6448 | (license license:expat))) |
| 6449 | |
| 6450 | (define-public python-deeptoolsintervals |
| 6451 | (package |
| 6452 | (name "python-deeptoolsintervals") |
| 6453 | (version "0.1.9") |
| 6454 | (source (origin |
| 6455 | (method url-fetch) |
| 6456 | (uri (pypi-uri "deeptoolsintervals" version)) |
| 6457 | (sha256 |
| 6458 | (base32 |
| 6459 | "1xnl80nblysj6dylj4683wgrfa425rkx4dp5k65hvwdns9pw753x")))) |
| 6460 | (build-system pyproject-build-system) |
| 6461 | (arguments |
| 6462 | (list |
| 6463 | #:test-flags |
| 6464 | #~(list "--pyargs" "deeptoolsintervals" |
| 6465 | "--doctest-modules"))) |
| 6466 | (native-inputs |
| 6467 | (list python-pytest |
| 6468 | python-setuptools)) |
| 6469 | (inputs |
| 6470 | (list zlib)) |
| 6471 | (home-page "https://github.com/deeptools/deeptools_intervals") |
| 6472 | (synopsis "Create GTF-based interval trees with associated meta-data") |
| 6473 | (description |
| 6474 | "This package provides a Python module creating/accessing GTF-based |
| 6475 | interval trees with associated meta-data. It is primarily used by the |
| 6476 | @code{deeptools} package.") |
| 6477 | (license license:expat))) |
| 6478 | |
| 6479 | (define-public python-deeptools |
| 6480 | (package |
| 6481 | (name "python-deeptools") |
| 6482 | (version "3.5.6") |
| 6483 | (source (origin |
| 6484 | (method git-fetch) |
| 6485 | (uri (git-reference |
| 6486 | (url "https://github.com/deeptools/deepTools") |
| 6487 | (commit version))) |
| 6488 | (file-name (git-file-name name version)) |
| 6489 | (sha256 |
| 6490 | (base32 |
| 6491 | "0npdcqlbcxwzkadz9j6yqzk7snl6758gn3lnff9845x3ycxfa5bp")))) |
| 6492 | (build-system pyproject-build-system) |
| 6493 | (arguments |
| 6494 | (list |
| 6495 | ;; tests: 99 passed, 1 deselected |
| 6496 | #:test-flags |
| 6497 | ;; AssertionError: assert '.alignmentSieve-real 3.5.6' == |
| 6498 | ;; 'alignmentSieve 3.5.6' |
| 6499 | #~(list "--deselect=deeptools/test/test_tools.py::test_tools"))) |
| 6500 | (native-inputs |
| 6501 | (list python-mock |
| 6502 | python-pytest |
| 6503 | python-setuptools)) |
| 6504 | (propagated-inputs |
| 6505 | (list python-matplotlib |
| 6506 | python-numpy |
| 6507 | python-numpydoc |
| 6508 | python-py2bit |
| 6509 | python-pybigwig |
| 6510 | python-pysam |
| 6511 | python-scipy |
| 6512 | python-deeptoolsintervals |
| 6513 | python-plotly)) |
| 6514 | (home-page "https://pypi.org/project/deepTools/") |
| 6515 | (synopsis "Useful tools for exploring deep sequencing data") |
| 6516 | (description "This package addresses the challenge of handling large amounts |
| 6517 | of data that are now routinely generated from DNA sequencing centers. |
| 6518 | @code{deepTools} contains useful modules to process the mapped reads data for |
| 6519 | multiple quality checks, creating normalized coverage files in standard bedGraph |
| 6520 | and bigWig file formats, that allow comparison between different files. Finally, |
| 6521 | using such normalized and standardized files, deepTools can create many |
| 6522 | publication-ready visualizations to identify enrichments and for functional |
| 6523 | annotations of the genome.") |
| 6524 | ;; The file deeptools/cm.py is licensed under the BSD license. The |
| 6525 | ;; remainder of the code is licensed under the MIT license. |
| 6526 | (license (list license:bsd-3 license:expat)))) |
| 6527 | |
| 6528 | (define-public cutadapt |
| 6529 | (package |
| 6530 | (name "cutadapt") |
| 6531 | (version "4.0") |
| 6532 | (source (origin |
| 6533 | (method url-fetch) |
| 6534 | (uri (pypi-uri "cutadapt" version)) |
| 6535 | (sha256 |
| 6536 | (base32 |
| 6537 | "0xgsv88mrlw2b1radmd1104y7bg8hvv54ay7xfdpnjiw2jgkrha9")))) |
| 6538 | (build-system pyproject-build-system) |
| 6539 | (arguments |
| 6540 | (list |
| 6541 | #:test-flags |
| 6542 | '(list "-k" "not test_no_read_only_comment_fasta_input") |
| 6543 | #:phases |
| 6544 | #~(modify-phases %standard-phases |
| 6545 | (add-after 'unpack 'fix-test |
| 6546 | (lambda _ |
| 6547 | (let ((site (string-append |
| 6548 | #$output "/lib/python" |
| 6549 | #$(version-major+minor |
| 6550 | (package-version python)) |
| 6551 | "/site-packages"))) |
| 6552 | (substitute* "tests/test_command.py" |
| 6553 | (("env=\\{\"LC_CTYPE\": \"C\"\\},") |
| 6554 | (string-append "env={\"LC_CTYPE\": \"C\", \"GUIX_PYTHONPATH\": \"" |
| 6555 | (getenv "GUIX_PYTHONPATH") ":" site |
| 6556 | "\"},"))))))))) |
| 6557 | (inputs |
| 6558 | (list python-dnaio python-xopen)) |
| 6559 | (native-inputs |
| 6560 | (list python-cython |
| 6561 | python-pytest |
| 6562 | python-pytest-mock |
| 6563 | python-pytest-timeout |
| 6564 | python-setuptools |
| 6565 | python-setuptools-scm)) |
| 6566 | (home-page "https://cutadapt.readthedocs.io/en/stable/") |
| 6567 | (synopsis "Remove adapter sequences from nucleotide sequencing reads") |
| 6568 | (description |
| 6569 | "Cutadapt finds and removes adapter sequences, primers, poly-A tails and |
| 6570 | other types of unwanted sequence from high-throughput sequencing reads.") |
| 6571 | (license license:expat))) |
| 6572 | |
| 6573 | (define-public lammps |
| 6574 | (let ((commit "stable_22Jul2025_update3") |
| 6575 | (version-tag "250722.3")) |
| 6576 | (package |
| 6577 | (name "lammps") |
| 6578 | (version version-tag) |
| 6579 | (source |
| 6580 | (origin |
| 6581 | (method git-fetch) |
| 6582 | (uri (git-reference |
| 6583 | (url "https://github.com/lammps/lammps.git") |
| 6584 | (commit commit))) |
| 6585 | (file-name (git-file-name name version)) |
| 6586 | (sha256 |
| 6587 | (base32 |
| 6588 | "1ar1qvhziw7bx3az881lfq1a4w3w80x17ri1jiamd6f6ck57gwyz")))) |
| 6589 | (build-system cmake-build-system) |
| 6590 | (arguments |
| 6591 | (list |
| 6592 | #:configure-flags |
| 6593 | #~(list |
| 6594 | ;; activate all possible lammps packages. |
| 6595 | "-C ../cmake/presets/all_on.cmake" |
| 6596 | "-D PKG_USER-MISC=yes" |
| 6597 | ;; prevent from downloading extra packages. |
| 6598 | "-D DOWNLOAD_POTENTIALS=off" |
| 6599 | ;; Parallel |
| 6600 | "-D LAMMPS_MACHINE=mpi" |
| 6601 | "-D BUILD_MPI=yes" |
| 6602 | "-D BUILD_OMP=yes" |
| 6603 | ;; Build libraries to link to other codes. |
| 6604 | "-D BUILD_SHARED_LIBS=yes" |
| 6605 | ;; Deactivate package currently unavailable on guix |
| 6606 | "-D PKG_VTK=no" |
| 6607 | "-D PKG_ADIOS=no" |
| 6608 | "-D PKG_GPU=no" |
| 6609 | "-D PKG_VMD=no" |
| 6610 | "-D PKG_VORONOI=no" |
| 6611 | "-D PKG_SCAFACOS=no" |
| 6612 | "-D PKG_MDI=no" |
| 6613 | "-D PKG_ML-QUIP=no" |
| 6614 | "-D PKG_ML-PACE=no" |
| 6615 | "-D PKG_KIM=no" |
| 6616 | "-D PKG_PLUMED=no" |
| 6617 | "-D PKG_APIP=no" |
| 6618 | ;; Extra arguments for some packages. |
| 6619 | "-D FFT=FFTW3" |
| 6620 | "-D Kokkos_ENABLE_OPENMP=yes" |
| 6621 | "-D MLIAP_ENABLE_PYTHON=yes" |
| 6622 | (string-append "-DN2P2_DIR=" #$(this-package-input "n2p2"))) |
| 6623 | #:tests? #f |
| 6624 | #:build-type "Release" |
| 6625 | #:phases |
| 6626 | #~(modify-phases %standard-phases |
| 6627 | (add-before 'configure 'goto-cmake-dir |
| 6628 | (lambda _ |
| 6629 | (chdir "./cmake")))))) |
| 6630 | (inputs |
| 6631 | (list ffmpeg |
| 6632 | gzip |
| 6633 | hdf5-parallel-openmpi |
| 6634 | libjpeg-turbo |
| 6635 | libpng |
| 6636 | fftw |
| 6637 | n2p2 |
| 6638 | gsl |
| 6639 | openblas |
| 6640 | libomp-13 |
| 6641 | eigen |
| 6642 | netcdf |
| 6643 | pnetcdf |
| 6644 | python-numpy |
| 6645 | python-wrapper)) |
| 6646 | (native-inputs |
| 6647 | (list bc |
| 6648 | pkg-config |
| 6649 | python-cython |
| 6650 | gfortran)) |
| 6651 | (home-page "https://www.lammps.org/") |
| 6652 | (synopsis "Classical molecular dynamics simulator") |
| 6653 | (description "LAMMPS is a classical molecular dynamics simulator |
| 6654 | designed to run efficiently on parallel computers. LAMMPS has potentials for |
| 6655 | solid-state materials (metals, semiconductors), soft matter (biomolecules, |
| 6656 | polymers), and coarse-grained or mesoscopic systems. It can be used to model |
| 6657 | atoms or, more generically, as a parallel particle simulator at the atomic, |
| 6658 | meso, or continuum scale.") |
| 6659 | (license license:gpl2+)))) |
| 6660 | |
| 6661 | (define-public lammps-serial |
| 6662 | (package |
| 6663 | (inherit lammps) |
| 6664 | (name "lammps-serial") |
| 6665 | (arguments |
| 6666 | (substitute-keyword-arguments arguments |
| 6667 | ((#:configure-flags flags) |
| 6668 | #~(list |
| 6669 | ;; activate all possible lammps packages. |
| 6670 | "-C ../cmake/presets/all_on.cmake" |
| 6671 | "-D PKG_USER-MISC=yes" |
| 6672 | ;; prevent from downloading extra packages. |
| 6673 | "-D DOWNLOAD_POTENTIALS=off" |
| 6674 | ;; Build libraries to link to other codes. |
| 6675 | "-D BUILD_SHARED_LIBS=yes" |
| 6676 | ;; Deactivate package currently unavailable on guix |
| 6677 | "-D PKG_VTK=no" |
| 6678 | "-D PKG_ADIOS=no" |
| 6679 | "-D PKG_GPU=no" |
| 6680 | "-D PKG_VMD=no" |
| 6681 | "-D PKG_VORONOI=no" |
| 6682 | "-D PKG_SCAFACOS=no" |
| 6683 | "-D PKG_MDI=no" |
| 6684 | "-D PKG_ML-QUIP=no" |
| 6685 | "-D PKG_ML-PACE=no" |
| 6686 | "-D PKG_KIM=no" |
| 6687 | "-D PKG_PLUMED=no" |
| 6688 | "-D PKG_APIP=no" |
| 6689 | "-D PKG_LATBOLTZ=no" |
| 6690 | ;; Extra arguments for some packages. |
| 6691 | "-D FFT=FFTW3" |
| 6692 | "-D MLIAP_ENABLE_PYTHON=yes" |
| 6693 | (string-append "-DN2P2_DIR=" #$(this-package-input "n2p2")))))) |
| 6694 | (inputs |
| 6695 | (modify-inputs inputs |
| 6696 | (delete "pnetcdf") |
| 6697 | (replace "hdf5-parallel-openmpi" hdf5))))) |
| 6698 | |
| 6699 | (define-public libbigwig |
| 6700 | (package |
| 6701 | (name "libbigwig") |
| 6702 | (version "0.4.8") |
| 6703 | (source (origin |
| 6704 | (method git-fetch) |
| 6705 | (uri (git-reference |
| 6706 | (url "https://github.com/dpryan79/libBigWig") |
| 6707 | (commit version))) |
| 6708 | (file-name (git-file-name name version)) |
| 6709 | (sha256 |
| 6710 | (base32 |
| 6711 | "1bqw2kbgxszvh5vd85p9zqdv32bvyqr25yvgy5crnxl0yn8xqs97")))) |
| 6712 | (build-system gnu-build-system) |
| 6713 | (arguments |
| 6714 | (list |
| 6715 | #:test-target "test" |
| 6716 | #:tests? #f ; tests require access to the web |
| 6717 | #:make-flags |
| 6718 | #~(list (string-append "CC=" #$(cc-for-target)) |
| 6719 | (string-append "prefix=" #$output)) |
| 6720 | #:phases |
| 6721 | #~(modify-phases %standard-phases |
| 6722 | (delete 'configure)))) |
| 6723 | (inputs |
| 6724 | (list zlib curl)) |
| 6725 | (native-inputs |
| 6726 | (list doxygen |
| 6727 | python)) ;for tests |
| 6728 | (home-page "https://github.com/dpryan79/libBigWig") |
| 6729 | (synopsis "C library for handling bigWig files") |
| 6730 | (description |
| 6731 | "This package provides a C library for parsing local and remote BigWig |
| 6732 | files.") |
| 6733 | (license license:expat))) |
| 6734 | |
| 6735 | (define-public lsgkm |
| 6736 | (package |
| 6737 | (name "lsgkm") |
| 6738 | (version "0.1.1") |
| 6739 | (source |
| 6740 | (origin |
| 6741 | (method git-fetch) |
| 6742 | (uri (git-reference |
| 6743 | (url "https://github.com/Dongwon-Lee/lsgkm.git") |
| 6744 | (commit (string-append "v" version)))) |
| 6745 | (file-name (git-file-name name version)) |
| 6746 | (sha256 |
| 6747 | (base32 |
| 6748 | "0b3m94kndvimdfjaf1q2yhmsn7lm5s9v81c5xgfjcp6ig7mh3sa5")))) |
| 6749 | (build-system gnu-build-system) |
| 6750 | (arguments |
| 6751 | (list |
| 6752 | #:make-flags '(list "-C" "src") |
| 6753 | #:tests? #false ;there are no executable tests |
| 6754 | #:phases |
| 6755 | #~(modify-phases %standard-phases |
| 6756 | (delete 'configure) |
| 6757 | (replace 'install |
| 6758 | (lambda _ |
| 6759 | (let ((bin (string-append #$output "/bin"))) |
| 6760 | (for-each (lambda (file) |
| 6761 | (install-file file bin)) |
| 6762 | '("src/gkmtrain" |
| 6763 | "src/gkmpredict")))))))) |
| 6764 | (home-page "https://github.com/Dongwon-Lee/lsgkm") |
| 6765 | (synopsis "Predict regulatory DNA elements in large-scale data") |
| 6766 | (description "gkm-SVM, a sequence-based method for predicting regulatory |
| 6767 | DNA elements, is a useful tool for studying gene regulatory mechanisms. |
| 6768 | LS-GKM is an effort to improve the method. It offers much better scalability |
| 6769 | and provides further advanced gapped k-mer based kernel functions. As a |
| 6770 | result, LS-GKM achieves considerably higher accuracy than the original |
| 6771 | gkm-SVM.") |
| 6772 | (license license:gpl3+))) |
| 6773 | |
| 6774 | (define-public python-fcsparser |
| 6775 | (package |
| 6776 | (name "python-fcsparser") |
| 6777 | (version "0.2.8") |
| 6778 | (source |
| 6779 | (origin |
| 6780 | (method url-fetch) |
| 6781 | (uri (pypi-uri "fcsparser" version)) |
| 6782 | (sha256 |
| 6783 | (base32 "1skk1k8phq9sj4ar0cnq8px89y3kcyh5zrbl6anz9wcdcyzkc16z")))) |
| 6784 | (build-system pyproject-build-system) |
| 6785 | ;; See: <https://github.com/eyurtsev/fcsparser/issues/74>. |
| 6786 | (propagated-inputs (list python-numpy-1 python-pandas)) |
| 6787 | (native-inputs (list python-poetry-core python-pytest)) |
| 6788 | (home-page "https://github.com/eyurtsev/fcsparser") |
| 6789 | (synopsis "Package for reading raw fcs files") |
| 6790 | (description |
| 6791 | "This package provides a Python package for reading raw fcs files") |
| 6792 | (license license:expat))) |
| 6793 | |
| 6794 | (define-public python-pybigwig |
| 6795 | (package |
| 6796 | (name "python-pybigwig") |
| 6797 | (version "0.3.25") |
| 6798 | (source |
| 6799 | (origin |
| 6800 | (method git-fetch) |
| 6801 | (uri (git-reference |
| 6802 | (url "https://github.com/deeptools/pyBigWig") |
| 6803 | (commit version))) |
| 6804 | (file-name (git-file-name name version)) |
| 6805 | (sha256 |
| 6806 | (base32 "031hd0b39g35b38w4jg9zv8widshcf26fiyrwg4yda1nk1sd1bsn")) |
| 6807 | (modules '((guix build utils))) |
| 6808 | (snippet |
| 6809 | ;; Delete bundled libBigWig sources |
| 6810 | '(delete-file-recursively "libBigWig")))) |
| 6811 | (build-system pyproject-build-system) |
| 6812 | (arguments |
| 6813 | '(#:tests? #false ;only one test exists and it needs internet access |
| 6814 | #:phases |
| 6815 | (modify-phases %standard-phases |
| 6816 | (add-after 'unpack 'link-with-libBigWig |
| 6817 | (lambda _ |
| 6818 | (substitute* "setup.py" |
| 6819 | (("libs=\\[") "libs=[\"BigWig\", "))))))) |
| 6820 | (propagated-inputs |
| 6821 | (list python-numpy)) |
| 6822 | (inputs |
| 6823 | (list libbigwig zlib curl)) |
| 6824 | (native-inputs (list python-setuptools)) |
| 6825 | (home-page "https://github.com/dpryan79/pyBigWig") |
| 6826 | (synopsis "Access bigWig files in Python using libBigWig") |
| 6827 | (description |
| 6828 | "This package provides Python bindings to the libBigWig library for |
| 6829 | accessing bigWig files.") |
| 6830 | (license license:expat))) |
| 6831 | |
| 6832 | (define-public python-schema-salad |
| 6833 | (package |
| 6834 | (name "python-schema-salad") |
| 6835 | (version "8.9.20251102115403") |
| 6836 | (source |
| 6837 | (origin |
| 6838 | (method git-fetch) |
| 6839 | (uri (git-reference |
| 6840 | (url "https://github.com/common-workflow-language/schema_salad") |
| 6841 | (commit version))) |
| 6842 | (file-name (git-file-name name version)) |
| 6843 | (sha256 |
| 6844 | (base32 "0jcq6yam58q9xic9mzv09075s2mbng5bs0pxsh335i6jfwrp1b6x")))) |
| 6845 | (build-system pyproject-build-system) |
| 6846 | (arguments |
| 6847 | (list |
| 6848 | #:test-flags |
| 6849 | #~(list |
| 6850 | ;; These tests require network access. |
| 6851 | "--deselect=schema_salad/tests/test_examples.py::test_bad_schemas" |
| 6852 | "--deselect=schema_salad/tests/test_cg.py::test_load_by_yaml_metaschema" |
| 6853 | ;; This test requires the cwl-runner binary. |
| 6854 | "--ignore=schema_salad/tests/test_cwl11.py") |
| 6855 | #:phases |
| 6856 | #~(modify-phases %standard-phases |
| 6857 | (add-after 'unpack 'relax-requirements |
| 6858 | (lambda _ |
| 6859 | ;; Mistune dependency is too strict mistune>=3,<3.1 . |
| 6860 | ;; TODO: Remove when upgrading, because updated upstream. |
| 6861 | (substitute* "requirements.txt" |
| 6862 | (("mistune.*") "mistune")) |
| 6863 | (substitute* "setup.py" |
| 6864 | (("mistune[^\"]*") "mistune"))))))) |
| 6865 | (propagated-inputs |
| 6866 | (list python-cachecontrol |
| 6867 | python-mistune |
| 6868 | python-mypy-extensions |
| 6869 | python-rdflib |
| 6870 | python-requests |
| 6871 | python-ruamel.yaml)) |
| 6872 | (native-inputs |
| 6873 | (list python-black ;black is actually used in the tests. |
| 6874 | python-cachecontrol |
| 6875 | python-pytest |
| 6876 | python-pytest-xdist ;because tests are ran with "-n auto" in tox.ini |
| 6877 | python-setuptools |
| 6878 | python-setuptools-scm)) |
| 6879 | (home-page "https://github.com/common-workflow-language/schema_salad") |
| 6880 | (synopsis "Schema Annotations for Linked Avro Data (SALAD)") |
| 6881 | (description |
| 6882 | "Salad is a schema language for describing JSON or YAML structured linked |
| 6883 | data documents. Salad schema describes rules for preprocessing, structural |
| 6884 | validation, and hyperlink checking for documents described by a Salad schema. |
| 6885 | Salad supports rich data modeling with inheritance, template specialization, |
| 6886 | object identifiers, object references, documentation generation, code |
| 6887 | generation, and transformation to RDF. Salad provides a bridge between document |
| 6888 | and record oriented data modeling and the Semantic Web.") |
| 6889 | (license license:asl2.0))) |
| 6890 | |
| 6891 | (define-public python-scikit-bio |
| 6892 | (package |
| 6893 | (name "python-scikit-bio") |
| 6894 | (version "0.7.3") |
| 6895 | (source |
| 6896 | (origin |
| 6897 | (method git-fetch) |
| 6898 | (uri (git-reference |
| 6899 | (url "https://github.com/scikit-bio/scikit-bio") |
| 6900 | (commit version))) |
| 6901 | (file-name (git-file-name name version)) |
| 6902 | (sha256 |
| 6903 | (base32 "1bg50d57jnzbkixcc3c23wrm8mf1za2nf0i3dy4n5zzizsk6vjpd")))) |
| 6904 | (build-system pyproject-build-system) |
| 6905 | (arguments |
| 6906 | (list |
| 6907 | ;; tests: 3336 passed, 105 skipped, 73 warnings |
| 6908 | #:test-backend #~'custom |
| 6909 | #:test-flags #~(list "-m" "skbio.test") |
| 6910 | #:phases |
| 6911 | #~(modify-phases %standard-phases |
| 6912 | (add-before 'check 'remove-local-source |
| 6913 | (lambda _ |
| 6914 | (delete-file-recursively "skbio")))))) |
| 6915 | (native-inputs |
| 6916 | (list python-cython |
| 6917 | python-dateutil |
| 6918 | python-matplotlib |
| 6919 | python-numpy |
| 6920 | python-patsy |
| 6921 | python-pytest |
| 6922 | python-responses |
| 6923 | python-setuptools |
| 6924 | python-statsmodels)) |
| 6925 | (propagated-inputs |
| 6926 | (list python-array-api-compat |
| 6927 | python-biom-format |
| 6928 | python-decorator |
| 6929 | python-h5py |
| 6930 | python-natsort |
| 6931 | python-numpy |
| 6932 | python-pandas |
| 6933 | python-patsy |
| 6934 | python-requests |
| 6935 | python-scipy |
| 6936 | python-statsmodels)) |
| 6937 | (home-page "https://scikit.bio") |
| 6938 | (synopsis "Data structures, algorithms and educational resources for bioinformatics") |
| 6939 | (description |
| 6940 | "This package provides data structures, algorithms and educational |
| 6941 | resources for bioinformatics.") |
| 6942 | (license license:bsd-3))) |
| 6943 | |
| 6944 | (define-public python-scrublet |
| 6945 | (package |
| 6946 | (name "python-scrublet") |
| 6947 | (version "0.2.3") |
| 6948 | (source (origin |
| 6949 | (method url-fetch) |
| 6950 | (uri (pypi-uri "scrublet" version)) |
| 6951 | (sha256 |
| 6952 | (base32 |
| 6953 | "0fk5pwk12yz9wpvwkl6j2l2g28f3x35b9r9n5bw6f0i9f0qgd191")))) |
| 6954 | (build-system pyproject-build-system) |
| 6955 | (arguments '(#:tests? #false)) ;there are none |
| 6956 | (propagated-inputs |
| 6957 | (list python-annoy |
| 6958 | python-cython |
| 6959 | python-matplotlib |
| 6960 | python-numba |
| 6961 | python-numpy |
| 6962 | python-pandas |
| 6963 | python-scikit-image |
| 6964 | python-scikit-learn |
| 6965 | python-scipy |
| 6966 | python-umap-learn)) |
| 6967 | (native-inputs (list python-setuptools)) |
| 6968 | (home-page "https://github.com/swolock/scrublet") |
| 6969 | (synopsis "Tool to identify and remove doublets in single-cell data") |
| 6970 | (description "This package provides a tool for identifying and removing |
| 6971 | doublets in single-cell RNA-seq data.") |
| 6972 | (license license:expat))) |
| 6973 | |
| 6974 | (define-public python-cwlformat |
| 6975 | (package |
| 6976 | (name "python-cwlformat") |
| 6977 | (version "2022.02.18") |
| 6978 | (source |
| 6979 | ;; The PyPI tarball is missing Readme.md. Readme.md is required for the |
| 6980 | ;; build. |
| 6981 | (origin |
| 6982 | (method git-fetch) |
| 6983 | (uri (git-reference |
| 6984 | (url "https://github.com/rabix/cwl-format") |
| 6985 | (commit version))) |
| 6986 | (file-name (git-file-name name version)) |
| 6987 | (sha256 |
| 6988 | (base32 |
| 6989 | "0agkz2w86k91rc9m5vx5hsqi5nm6fcmzkng6j99hjapz0r9233ql")))) |
| 6990 | (build-system pyproject-build-system) |
| 6991 | (arguments |
| 6992 | (list |
| 6993 | #:test-flags |
| 6994 | ;; Assert fails to compare large files. |
| 6995 | #~(list "--deselect=tests/test_battery.py::test_formatting_battery"))) |
| 6996 | (native-inputs |
| 6997 | (list python-pytest |
| 6998 | python-setuptools)) |
| 6999 | (propagated-inputs |
| 7000 | (list python-importlib-resources |
| 7001 | python-ruamel.yaml)) |
| 7002 | (home-page "https://github.com/rabix/cwl-format") |
| 7003 | (synopsis "Prettifier for CWL code") |
| 7004 | (description "@code{python-cwlformat} is a specification and a reference |
| 7005 | implementation for a very opinionated @acronym{CWL, Common Workflow Language} |
| 7006 | code formatter. It outputs CWL in a standardized YAML format.") |
| 7007 | (license license:asl2.0))) |
| 7008 | |
| 7009 | (define-public python-cwl-upgrader |
| 7010 | (package |
| 7011 | (name "python-cwl-upgrader") |
| 7012 | (version "1.2.11") |
| 7013 | (source |
| 7014 | (origin |
| 7015 | (method url-fetch) |
| 7016 | (uri (pypi-uri "cwl-upgrader" version)) |
| 7017 | (sha256 |
| 7018 | (base32 |
| 7019 | "12j6z8nvwnzjjyypz59hwj5hmrcri2r6aknw52n9dbj6lbzbdd2p")))) |
| 7020 | (build-system pyproject-build-system) |
| 7021 | (native-inputs |
| 7022 | (list python-pytest python-setuptools)) |
| 7023 | (propagated-inputs |
| 7024 | (list python-ruamel.yaml |
| 7025 | python-schema-salad)) |
| 7026 | (home-page "https://github.com/common-workflow-language/cwl-upgrader") |
| 7027 | (synopsis "CWL document upgrader") |
| 7028 | (description "@code{python-cwl-upgrader} is a standalone upgrader for |
| 7029 | @acronym{CWL, Common Workflow Language} documents from version draft-3, v1.0, |
| 7030 | and v1.1 to v1.2.") |
| 7031 | (license license:asl2.0))) |
| 7032 | |
| 7033 | (define-public python-cwl-utils |
| 7034 | (package |
| 7035 | (name "python-cwl-utils") |
| 7036 | (version "0.32") |
| 7037 | (source |
| 7038 | (origin |
| 7039 | (method url-fetch) |
| 7040 | (uri (pypi-uri "cwl-utils" version)) |
| 7041 | (sha256 |
| 7042 | (base32 |
| 7043 | "06wkw8d8cqm3hnz8xwnysz874gwaym36c358cr7frw5iglhvsj98")))) |
| 7044 | (build-system pyproject-build-system) |
| 7045 | (arguments |
| 7046 | (list |
| 7047 | #:test-flags |
| 7048 | #~(list "-k" |
| 7049 | (string-append "not test_graph_split" |
| 7050 | " and not test_load_document_with_remote_uri" |
| 7051 | " and not test_remote_packing" |
| 7052 | " and not test_remote_packing_github_soft_links" |
| 7053 | " and not test_value_from_two_concatenated_expressions")))) |
| 7054 | (inputs |
| 7055 | (list node-lts)) |
| 7056 | (native-inputs |
| 7057 | (list python-mypy-extensions |
| 7058 | python-pytest |
| 7059 | python-pytest-mock |
| 7060 | python-setuptools)) |
| 7061 | (propagated-inputs |
| 7062 | (list python-cwl-upgrader |
| 7063 | python-cwlformat |
| 7064 | python-packaging |
| 7065 | python-rdflib |
| 7066 | python-requests |
| 7067 | python-ruamel.yaml |
| 7068 | python-schema-salad)) |
| 7069 | (home-page "https://github.com/common-workflow-language/cwl-utils") |
| 7070 | (synopsis "Python utilities for CWL") |
| 7071 | (description "@code{python-cwl-utils} provides python utilities and |
| 7072 | autogenerated classes for loading and parsing CWL v1.0, CWL v1.1, and CWL v1.2 |
| 7073 | documents.") |
| 7074 | (license license:asl2.0))) |
| 7075 | |
| 7076 | (define-public cwltool |
| 7077 | (package |
| 7078 | (name "cwltool") |
| 7079 | (version "3.1.20260315121657") |
| 7080 | (source (origin |
| 7081 | (method git-fetch) |
| 7082 | (uri (git-reference |
| 7083 | (url "https://github.com/common-workflow-language/cwltool") |
| 7084 | (commit version))) |
| 7085 | (file-name (git-file-name name version)) |
| 7086 | (sha256 |
| 7087 | (base32 |
| 7088 | "07glkzm9af9n1jsmqk6vgrjkxhgjask9jy56g7zca20sz7hpmiyi")))) |
| 7089 | (build-system pyproject-build-system) |
| 7090 | (arguments |
| 7091 | (list |
| 7092 | #:test-flags |
| 7093 | ;; These tests try to connect to the internet. |
| 7094 | #~(list "--ignore=tests/test_content_type.py" |
| 7095 | "--ignore=tests/test_udocker.py" |
| 7096 | "--ignore=tests/test_http_input.py" |
| 7097 | "-k" |
| 7098 | (string-append |
| 7099 | ;; Causes |
| 7100 | ;; INTERNALERROR> RuntimeError: Unexpectedly no active |
| 7101 | ;; workers available |
| 7102 | "not test_env_filtering" |
| 7103 | ;; Tries to write to /tmp/guix-build-cwltool-3.fastq |
| 7104 | " and not test_iwdr_writable_secondaryfiles" |
| 7105 | ;; Tries to use cwl-runners. |
| 7106 | " and not test_v1_0_arg_empty_prefix_separate_false" |
| 7107 | ;; Tries to connect to the internet. |
| 7108 | " and not test_issue_1765_print_deps_with_workflows_having_namespace_location_steps")) |
| 7109 | #:phases |
| 7110 | #~(modify-phases %standard-phases |
| 7111 | (add-after 'unpack 'loosen-version-restrictions |
| 7112 | (lambda _ |
| 7113 | (substitute* "setup.py" |
| 7114 | (("== 1.5.1") "> 1.5.1")))) ; prov |
| 7115 | (add-after 'unpack 'patch-tests |
| 7116 | (lambda _ |
| 7117 | (substitute* '("tests/subgraph/env-tool2.cwl" |
| 7118 | "tests/subgraph/env-tool2_req.cwl" |
| 7119 | "tests/subgraph/env-wf2_subwf-packed.cwl" |
| 7120 | "tests/subgraph/env-tool2_no_env.cwl") |
| 7121 | (("\"/bin/sh\"") (string-append "\"" (which "sh") "\"")))))))) |
| 7122 | (inputs |
| 7123 | (list python-argcomplete |
| 7124 | python-bagit |
| 7125 | python-coloredlogs |
| 7126 | python-cwl-utils |
| 7127 | python-mypy-extensions |
| 7128 | python-prov |
| 7129 | python-pydot |
| 7130 | python-psutil |
| 7131 | python-rdflib-6 |
| 7132 | python-requests |
| 7133 | python-rich-argparse |
| 7134 | python-ruamel.yaml |
| 7135 | python-schema-salad |
| 7136 | python-setuptools |
| 7137 | python-spython |
| 7138 | ;; Not listed as needed but still necessary: |
| 7139 | node-lts)) |
| 7140 | (native-inputs |
| 7141 | (list python-arcp |
| 7142 | python-mock |
| 7143 | python-pytest |
| 7144 | python-pytest-mock |
| 7145 | python-pytest-xdist)) |
| 7146 | (home-page |
| 7147 | "https://github.com/common-workflow-language/common-workflow-language") |
| 7148 | (synopsis "Common Workflow Language reference implementation") |
| 7149 | (description |
| 7150 | "This is the reference implementation of the @acronym{CWL, Common Workflow |
| 7151 | Language} standards. The CWL open standards are for describing analysis |
| 7152 | workflows and tools in a way that makes them portable and scalable across a |
| 7153 | variety of software and hardware environments, from workstations to cluster, |
| 7154 | cloud, and high performance computing (HPC) environments. CWL is designed to |
| 7155 | meet the needs of data-intensive science, such as Bioinformatics, Medical |
| 7156 | Imaging, Astronomy, Physics, and Chemistry. The @acronym{cwltool, CWL reference |
| 7157 | implementation} is intended to be feature complete and to provide comprehensive |
| 7158 | validation of CWL files as well as provide other tools related to working with |
| 7159 | CWL descriptions.") |
| 7160 | (license license:asl2.0))) |
| 7161 | |
| 7162 | (define-public ravanan |
| 7163 | (package |
| 7164 | (name "ravanan") |
| 7165 | (version "0.2.0") |
| 7166 | (source |
| 7167 | (origin |
| 7168 | (method git-fetch) |
| 7169 | (uri (git-reference |
| 7170 | (url "https://github.com/arunisaac/ravanan") |
| 7171 | (commit (string-append "v" version)))) |
| 7172 | (file-name (git-file-name name version)) |
| 7173 | (sha256 |
| 7174 | (base32 |
| 7175 | "1ap9h2d92wjvnn8914baqkx6xn8zdanxmpjfg81v3qx35pn938al")))) |
| 7176 | (arguments |
| 7177 | (list #:make-flags |
| 7178 | #~(list (string-append "prefix=" #$output) |
| 7179 | (string-append "NODE=" (search-input-file %build-inputs "bin/node"))) |
| 7180 | #:modules `(((guix build guile-build-system) |
| 7181 | #:select (target-guile-effective-version)) |
| 7182 | ,@%default-gnu-imported-modules) |
| 7183 | #:phases |
| 7184 | (with-imported-modules `((guix build guile-build-system) |
| 7185 | ,@%default-gnu-imported-modules) |
| 7186 | #~(modify-phases %standard-phases |
| 7187 | (replace 'patch-source-shebangs |
| 7188 | (lambda* (#:key inputs #:allow-other-keys) |
| 7189 | (substitute* "bin/ravanan" |
| 7190 | (("^exec guile") |
| 7191 | (string-append "exec " |
| 7192 | (search-input-file inputs "/bin/guile")))))) |
| 7193 | (delete 'configure) |
| 7194 | (add-after 'install 'wrap |
| 7195 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 7196 | (let ((out (assoc-ref outputs "out")) |
| 7197 | (effective-version (target-guile-effective-version))) |
| 7198 | (wrap-program (string-append out "/bin/ravanan") |
| 7199 | `("GUILE_LOAD_PATH" prefix |
| 7200 | (,(string-append out "/share/guile/site/" effective-version) |
| 7201 | ,(getenv "GUILE_LOAD_PATH"))) |
| 7202 | `("GUILE_LOAD_COMPILED_PATH" prefix |
| 7203 | (,(string-append out "/lib/guile/" |
| 7204 | effective-version "/site-ccache") |
| 7205 | ,(getenv "GUILE_LOAD_COMPILED_PATH"))))))))))) |
| 7206 | (inputs |
| 7207 | (list bash-minimal |
| 7208 | node |
| 7209 | (lookup-package-input guix "guile") |
| 7210 | guile-filesystem |
| 7211 | guile-gcrypt |
| 7212 | guile-json-4 |
| 7213 | guile-libyaml |
| 7214 | guix)) |
| 7215 | (native-inputs |
| 7216 | (list guile-run64 |
| 7217 | lzip)) |
| 7218 | (build-system gnu-build-system) |
| 7219 | (home-page "https://forge.systemreboot.net/ravanan/") |
| 7220 | (synopsis "High-reproducibility CWL runner powered by Guix") |
| 7221 | (description "ravanan is a @acronym{CWL, Common Workflow Language} |
| 7222 | implementation that is powered by GNU Guix and provides strong reproducibility |
| 7223 | guarantees. ravanan provides strong caching of intermediate results so the |
| 7224 | same step of a workflow is never run twice. ravanan captures logs from every |
| 7225 | step of the workflow for easy tracing back in case of job failures. ravanan |
| 7226 | currently runs on single machines and on slurm via its API.") |
| 7227 | (license license:gpl3+))) |
| 7228 | |
| 7229 | (define-public python-dendropy |
| 7230 | (package |
| 7231 | (name "python-dendropy") |
| 7232 | (version "5.0.8") |
| 7233 | (source |
| 7234 | (origin |
| 7235 | (method git-fetch) |
| 7236 | (uri (git-reference |
| 7237 | (url "https://github.com/jeetsukumaran/DendroPy") |
| 7238 | (commit (string-append "v" version)))) |
| 7239 | (file-name (git-file-name name version)) |
| 7240 | (sha256 |
| 7241 | (base32 |
| 7242 | "0gcg4brixwh1dykrwkb2iyg9q27zz6d4gd7p05p08r8pbvsscqh2")))) |
| 7243 | (build-system pyproject-build-system) |
| 7244 | (arguments |
| 7245 | (list |
| 7246 | ;; tests: 1047 passed, 5 deselected, 12 warnings |
| 7247 | #:test-flags |
| 7248 | #~(list "-k" |
| 7249 | (string-join |
| 7250 | ;; These tests fail because we have no "paup" executable. |
| 7251 | (list "not test_group1" |
| 7252 | "test_basic_split_counting_under_different_rootings" |
| 7253 | "test_basic_split_count_with_incorrect_weight_treatment_raises_error" |
| 7254 | "test_basic_split_count_with_incorrect_rootings_raises_error") |
| 7255 | " and not ")))) |
| 7256 | (native-inputs |
| 7257 | (list python-pytest |
| 7258 | python-setuptools)) |
| 7259 | (home-page "https://dendropy.org/") |
| 7260 | (synopsis "Library for phylogenetics and phylogenetic computing") |
| 7261 | (description |
| 7262 | "DendroPy is a library for phylogenetics and phylogenetic computing: reading, |
| 7263 | writing, simulation, processing and manipulation of phylogenetic |
| 7264 | trees (phylogenies) and characters.") |
| 7265 | (license license:bsd-3))) |
| 7266 | |
| 7267 | (define-public python-py2bit |
| 7268 | (package |
| 7269 | (name "python-py2bit") |
| 7270 | (version "0.3.3") |
| 7271 | (source |
| 7272 | (origin |
| 7273 | (method url-fetch) |
| 7274 | (uri (pypi-uri "py2bit" version)) |
| 7275 | (sha256 |
| 7276 | (base32 |
| 7277 | "0w1p4l1jwg9kkifm0jsg33a212ps0jn61islmnng2afp77y5nkr6")))) |
| 7278 | (build-system pyproject-build-system) |
| 7279 | (arguments |
| 7280 | (list #:test-flags #~(list "py2bitTest/test.py"))) |
| 7281 | (native-inputs (list python-pytest python-setuptools python-setuptools-scm)) |
| 7282 | (home-page "https://github.com/dpryan79/py2bit") |
| 7283 | (synopsis "Access 2bit files using lib2bit") |
| 7284 | (description |
| 7285 | "This package provides Python bindings for lib2bit to access 2bit files |
| 7286 | with Python.") |
| 7287 | (license license:expat))) |
| 7288 | |
| 7289 | (define-public deacon |
| 7290 | (package |
| 7291 | (name "deacon") |
| 7292 | (version "0.18.0") |
| 7293 | (source |
| 7294 | (origin |
| 7295 | (method url-fetch) |
| 7296 | (uri (crate-uri "deacon" version)) |
| 7297 | (file-name (string-append name "-" version ".tar.gz")) |
| 7298 | (sha256 |
| 7299 | (base32 "1m7r864mr30m2bpaax3l2hz14r8imbqyhj8iz9m2q362dh19xygm")))) |
| 7300 | (build-system cargo-build-system) |
| 7301 | (arguments |
| 7302 | (list |
| 7303 | #:install-source? #f |
| 7304 | #:features ''("ensure_simd/scalar"))) ; Avoid AVX2 dependency. |
| 7305 | (native-inputs (list pkg-config)) |
| 7306 | (inputs (cons* bzip2 |
| 7307 | xz |
| 7308 | `(,zstd "lib") |
| 7309 | (cargo-inputs 'deacon))) |
| 7310 | (home-page "https://github.com/bede/deacon") |
| 7311 | (synopsis |
| 7312 | "Accelerated DNA sequence search and [host] depletion using minimizers") |
| 7313 | (description |
| 7314 | "Deacon filters DNA sequences in FASTA/Q files and streams using |
| 7315 | SIMD-accelerated minimizer comparison with query sequence(s), emitting either |
| 7316 | matching sequences (search mode), or sequences without matches (deplete mode). |
| 7317 | Sequences match when they share enough distinct minimizers with the indexed |
| 7318 | query to exceed chosen absolute and relative thresholds. Query size has little |
| 7319 | impact on filtering speed, enabling ultrafast search and depletion with gene-, |
| 7320 | genome- and pangenome-scale queries using a laptop.") |
| 7321 | ;; Upstream suggests compiling with '-C target-cpu=native' |
| 7322 | (properties '((tunable? . #t))) |
| 7323 | (license license:expat))) |
| 7324 | |
| 7325 | (define-public delly |
| 7326 | (package |
| 7327 | (name "delly") |
| 7328 | (version "1.7.3") |
| 7329 | (source (origin |
| 7330 | (method git-fetch) |
| 7331 | (uri (git-reference |
| 7332 | (url "https://github.com/dellytools/delly") |
| 7333 | (commit (string-append "v" version)))) |
| 7334 | (file-name (git-file-name name version)) |
| 7335 | (sha256 |
| 7336 | (base32 "1ri7m7iv3wakm7zdwqdzm5m71y0swad9n78dzrzr9gs3j7j5yxjs")) |
| 7337 | (modules '((guix build utils))) |
| 7338 | (snippet |
| 7339 | '(delete-file-recursively "src/htslib")))) |
| 7340 | (build-system gnu-build-system) |
| 7341 | (arguments |
| 7342 | (list |
| 7343 | #:tests? #f ;There are no tests to run. |
| 7344 | #:make-flags |
| 7345 | #~(list "PARALLEL=1" ; Allow parallel execution at run-time. |
| 7346 | (string-append "prefix=" #$output)) |
| 7347 | #:phases |
| 7348 | #~(modify-phases %standard-phases |
| 7349 | (delete 'configure) ; There is no configure phase. |
| 7350 | (add-after 'install 'install-templates |
| 7351 | (lambda _ |
| 7352 | (let ((templates (string-append #$output |
| 7353 | "/share/delly/templates"))) |
| 7354 | (mkdir-p templates) |
| 7355 | (copy-recursively "excludeTemplates" templates))))))) |
| 7356 | (inputs |
| 7357 | (list boost bzip2 htslib zlib)) |
| 7358 | (home-page "https://github.com/dellytools/delly") |
| 7359 | (synopsis "Integrated structural variant prediction method") |
| 7360 | (description "Delly is an integrated structural variant prediction method |
| 7361 | that can discover and genotype deletions, tandem duplications, inversions and |
| 7362 | translocations at single-nucleotide resolution in short-read massively parallel |
| 7363 | sequencing data. It uses paired-ends and split-reads to sensitively and |
| 7364 | accurately delineate genomic rearrangements throughout the genome.") |
| 7365 | (license license:gpl3+))) |
| 7366 | |
| 7367 | (define-public transanno |
| 7368 | (package |
| 7369 | (name "transanno") |
| 7370 | (version "0.4.5") |
| 7371 | (source |
| 7372 | (origin |
| 7373 | (method git-fetch) |
| 7374 | (uri (git-reference |
| 7375 | (url "https://github.com/informationsea/transanno") |
| 7376 | (commit (string-append "v" version)))) |
| 7377 | (file-name (git-file-name name version)) |
| 7378 | (sha256 |
| 7379 | (base32 |
| 7380 | "0x62v8qhnpw8579kcqpr9k5ldv2y3awjp7a32f1j8qky0i1jgxp1")) |
| 7381 | (snippet |
| 7382 | '(with-output-to-file "liftover-rs/build.rs" |
| 7383 | (lambda _ |
| 7384 | (format #true |
| 7385 | "fn main() {~@ |
| 7386 | println!(\"cargo:rustc-link-lib=lzma\");~@ |
| 7387 | }~%")))))) |
| 7388 | (build-system cargo-build-system) |
| 7389 | (arguments |
| 7390 | (list |
| 7391 | #:install-source? #false ;fails |
| 7392 | #:phases |
| 7393 | #~(modify-phases %standard-phases |
| 7394 | (add-after 'unpack 'prepare-test-files |
| 7395 | (lambda _ |
| 7396 | (delete-file "Cargo.lock") |
| 7397 | (substitute* "liftover-rs/prepare-test.sh" |
| 7398 | (("/bin/bash") |
| 7399 | (string-append #$(this-package-native-input "bash") |
| 7400 | "/bin/bash"))) |
| 7401 | (invoke "bash" "prepare-test-files.sh"))) |
| 7402 | (add-before 'install 'chdir |
| 7403 | (lambda _ (chdir "transanno")))))) |
| 7404 | (native-inputs (list bash pkg-config)) |
| 7405 | (inputs (cons* xz `(,zstd "lib") (cargo-inputs 'transanno))) |
| 7406 | (home-page "https://github.com/informationsea/transanno") |
| 7407 | (synopsis "LiftOver tool for new genome assemblies") |
| 7408 | (description "This package provides an accurate VCF/GFF3/GTF LiftOver tool |
| 7409 | for new genome assemblies.") |
| 7410 | (license license:gpl3+))) |
| 7411 | |
| 7412 | (define-public trf |
| 7413 | (package |
| 7414 | (name "trf") |
| 7415 | (version "4.09.1") |
| 7416 | (source (origin |
| 7417 | (method git-fetch) |
| 7418 | (uri (git-reference |
| 7419 | (url "https://github.com/Benson-Genomics-Lab/TRF") |
| 7420 | (commit (string-append "v" version)))) |
| 7421 | (file-name (git-file-name name version)) |
| 7422 | (sha256 |
| 7423 | (base32 "0fhwr4s1mf8nw8fr5imwjvjr42b59p97zr961ifm8xl1bajz4wpg")))) |
| 7424 | (build-system gnu-build-system) |
| 7425 | (home-page "https://github.com/Benson-Genomics-Lab/TRF") |
| 7426 | (synopsis "Tandem Repeats Finder: a program to analyze DNA sequences") |
| 7427 | (description "A tandem repeat in DNA is two or more adjacent, approximate |
| 7428 | copies of a pattern of nucleotides. Tandem Repeats Finder is a program to |
| 7429 | locate and display tandem repeats in DNA sequences. In order to use the |
| 7430 | program, the user submits a sequence in FASTA format. The output consists of |
| 7431 | two files: a repeat table file and an alignment file. Submitted sequences may |
| 7432 | be of arbitrary length. Repeats with pattern size in the range from 1 to 2000 |
| 7433 | bases are detected.") |
| 7434 | (license license:agpl3+))) |
| 7435 | |
| 7436 | (define-public trinityrnaseq |
| 7437 | (package |
| 7438 | (name "trinityrnaseq") |
| 7439 | (version "2.15.2") |
| 7440 | (source (origin |
| 7441 | (method git-fetch) |
| 7442 | (uri (git-reference |
| 7443 | (url "https://github.com/trinityrnaseq/trinityrnaseq.git") |
| 7444 | (commit (string-append "Trinity-v" version)) |
| 7445 | (recursive? #true))) |
| 7446 | (file-name (git-file-name name version)) |
| 7447 | (sha256 |
| 7448 | (base32 |
| 7449 | "06qvxy6wvvjpn1mkg8m78syyn98xj76569gpl2jbc9q036i56kh8")))) |
| 7450 | (build-system gnu-build-system) |
| 7451 | (arguments |
| 7452 | (list |
| 7453 | #:test-target "test" |
| 7454 | #:modules |
| 7455 | '((guix build gnu-build-system) |
| 7456 | (guix build utils) |
| 7457 | (ice-9 match) |
| 7458 | (srfi srfi-1)) |
| 7459 | #:make-flags |
| 7460 | #~(list (string-append "CC=" #$(cc-for-target))) |
| 7461 | #:phases |
| 7462 | #~(modify-phases %standard-phases |
| 7463 | (replace 'configure |
| 7464 | (lambda _ |
| 7465 | (setenv "SHELL" (which "sh")) |
| 7466 | (setenv "CONFIG_SHELL" (which "sh")) |
| 7467 | ;; Do not require version.h, which triggers a local build of a |
| 7468 | ;; vendored htslib. |
| 7469 | (substitute* "trinity-plugins/bamsifter/Makefile" |
| 7470 | (("sift_bam_max_cov.cpp htslib/version.h") |
| 7471 | "sift_bam_max_cov.cpp")))) |
| 7472 | (add-after 'build 'build-plugins |
| 7473 | (lambda _ |
| 7474 | ;; Run this in the subdirectory to avoid running the |
| 7475 | ;; tests right here. |
| 7476 | (with-directory-excursion "trinity-plugins" |
| 7477 | (invoke "make" "plugins")))) |
| 7478 | ;; The install script uses rsync, provides no overrides for the |
| 7479 | ;; default location at /usr/local/bin, and patching it would change |
| 7480 | ;; all lines that do something. |
| 7481 | (replace 'install |
| 7482 | (lambda* (#:key inputs #:allow-other-keys) |
| 7483 | (let ((share (string-append #$output "/share/trinity/")) |
| 7484 | (bin (string-append #$output "/bin/"))) |
| 7485 | (mkdir-p bin) |
| 7486 | (copy-recursively "." share) |
| 7487 | |
| 7488 | (wrap-program (string-append share "Trinity") |
| 7489 | `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE"))) |
| 7490 | `("PERL5LIB" ":" = (,(getenv "PERL5LIB"))) |
| 7491 | `("PYTHONPATH" ":" = (,(getenv "GUIX_PYTHONPATH"))) |
| 7492 | `("PATH" ":" = |
| 7493 | ,(cons (string-append share "/trinity-plugins/BIN") |
| 7494 | (filter-map (match-lambda |
| 7495 | ((name . dir) |
| 7496 | (string-append dir "/bin"))) |
| 7497 | inputs)))) |
| 7498 | (symlink (string-append share "Trinity") |
| 7499 | (string-append bin "Trinity")))))))) |
| 7500 | (inputs |
| 7501 | (list blast+ |
| 7502 | bowtie |
| 7503 | fastqc |
| 7504 | hisat |
| 7505 | htslib |
| 7506 | icedtea-8 |
| 7507 | jellyfish |
| 7508 | kallisto |
| 7509 | multiqc |
| 7510 | perl |
| 7511 | perl-uri-escape |
| 7512 | python-numpy |
| 7513 | python-wrapper |
| 7514 | r-ape |
| 7515 | r-argparse |
| 7516 | r-biobase |
| 7517 | r-ctc |
| 7518 | r-deseq2 |
| 7519 | r-edger |
| 7520 | r-fastcluster |
| 7521 | r-glimma |
| 7522 | r-goplot |
| 7523 | r-goseq |
| 7524 | r-gplots |
| 7525 | r-minimal |
| 7526 | r-qvalue |
| 7527 | r-rots |
| 7528 | r-sm |
| 7529 | r-tidyverse |
| 7530 | rsem |
| 7531 | salmon |
| 7532 | samtools |
| 7533 | sra-tools |
| 7534 | star |
| 7535 | zlib)) |
| 7536 | (propagated-inputs |
| 7537 | (list coreutils |
| 7538 | gzip |
| 7539 | which)) |
| 7540 | (native-inputs (list cmake-minimal)) |
| 7541 | (home-page "https://github.com/trinityrnaseq/trinityrnaseq/wiki") |
| 7542 | (synopsis "Trinity RNA-Seq de novo transcriptome assembly") |
| 7543 | (description "Trinity assembles transcript sequences from Illumina RNA-Seq |
| 7544 | data. Trinity represents a novel method for the efficient and robust de novo |
| 7545 | reconstruction of transcriptomes from RNA-seq data. Trinity combines three |
| 7546 | independent software modules: Inchworm, Chrysalis, and Butterfly, applied |
| 7547 | sequentially to process large volumes of RNA-seq reads. Trinity partitions |
| 7548 | the sequence data into many individual de Bruijn graphs, each representing the |
| 7549 | transcriptional complexity at a given gene or locus, and then processes each |
| 7550 | graph independently to extract full-length splicing isoforms and to tease |
| 7551 | apart transcripts derived from paralogous genes.") |
| 7552 | (license license:bsd-3))) |
| 7553 | |
| 7554 | (define-public repeat-masker |
| 7555 | (package |
| 7556 | (name "repeat-masker") |
| 7557 | (version "4.1.2-p1") |
| 7558 | (source (origin |
| 7559 | (method url-fetch) |
| 7560 | (uri (string-append "http://www.repeatmasker.org/" |
| 7561 | "RepeatMasker/RepeatMasker-" |
| 7562 | version ".tar.gz")) |
| 7563 | (sha256 |
| 7564 | (base32 "15hfdfpzmdjcx7ng7rjfid69bmvgn3z9g9r43qhjnhjhq3v4prab")))) |
| 7565 | (build-system gnu-build-system) |
| 7566 | (arguments |
| 7567 | `(#:tests? #false ; there are none |
| 7568 | #:phases |
| 7569 | (modify-phases %standard-phases |
| 7570 | (delete 'configure) |
| 7571 | (replace 'build |
| 7572 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 7573 | (let ((share (string-append (assoc-ref outputs "out") |
| 7574 | "/share/RepeatMasker"))) |
| 7575 | (mkdir-p share) |
| 7576 | (copy-recursively "." share) |
| 7577 | (with-directory-excursion share |
| 7578 | (invoke "perl" "configure" |
| 7579 | "--trf_prgm" (which "trf") |
| 7580 | "--hmmer_dir" |
| 7581 | (string-append (assoc-ref inputs "hmmer") |
| 7582 | "/bin")))))) |
| 7583 | (replace 'install |
| 7584 | (lambda* (#:key outputs #:allow-other-keys) |
| 7585 | (let* ((out (assoc-ref outputs "out")) |
| 7586 | (share (string-append out "/share/RepeatMasker")) |
| 7587 | (bin (string-append out "/bin")) |
| 7588 | (path (getenv "PERL5LIB"))) |
| 7589 | (install-file (string-append share "/RepeatMasker") bin) |
| 7590 | (wrap-program (string-append bin "/RepeatMasker") |
| 7591 | `("PERL5LIB" ":" prefix (,path ,share))))))))) |
| 7592 | (inputs |
| 7593 | (list bash-minimal |
| 7594 | perl |
| 7595 | perl-text-soundex |
| 7596 | python |
| 7597 | python-h5py |
| 7598 | hmmer |
| 7599 | trf)) |
| 7600 | (home-page "https://github.com/Benson-Genomics-Lab/TRF") |
| 7601 | (synopsis "Tandem Repeats Finder: a program to analyze DNA sequences") |
| 7602 | (description "A tandem repeat in DNA is two or more adjacent, approximate |
| 7603 | copies of a pattern of nucleotides. Tandem Repeats Finder is a program to |
| 7604 | locate and display tandem repeats in DNA sequences. In order to use the |
| 7605 | program, the user submits a sequence in FASTA format. The output consists of |
| 7606 | two files: a repeat table file and an alignment file. Submitted sequences may |
| 7607 | be of arbitrary length. Repeats with pattern size in the range from 1 to 2000 |
| 7608 | bases are detected.") |
| 7609 | (license license:osl2.1))) |
| 7610 | |
| 7611 | (define-public trust4 |
| 7612 | (package |
| 7613 | (name "trust4") |
| 7614 | (version "1.1.0") |
| 7615 | (source |
| 7616 | (origin |
| 7617 | (method git-fetch) |
| 7618 | (uri (git-reference |
| 7619 | (url "https://github.com/liulab-dfci/TRUST4") |
| 7620 | (commit (string-append "v" version)))) |
| 7621 | (file-name (git-file-name name version)) |
| 7622 | (sha256 |
| 7623 | (base32 "170k4rrchg7f2jyn3v4y4fxxq1d49n1vnvhx5xcnnr6jql8q3h08")) |
| 7624 | (modules '((guix build utils))) |
| 7625 | (snippet '(begin |
| 7626 | ;; Remove bundled samtools |
| 7627 | (delete-file-recursively "samtools-0.1.19"))))) |
| 7628 | (build-system gnu-build-system) |
| 7629 | (arguments |
| 7630 | (list |
| 7631 | #:tests? #f ;there are no tests |
| 7632 | #:phases |
| 7633 | #~(modify-phases %standard-phases |
| 7634 | (add-after 'unpack 'use-samtools-headers |
| 7635 | (lambda* (#:key inputs #:allow-other-keys) |
| 7636 | (substitute* "Makefile" |
| 7637 | (("LINKPATH= -I./samtools-0.1.19 -L./samtools-0.1.19") |
| 7638 | (string-append "LINKPATH= -I." |
| 7639 | #$(this-package-native-input "samtools") |
| 7640 | "/include/samtools" |
| 7641 | " -L." |
| 7642 | #$(this-package-native-input "samtools") |
| 7643 | "/lib")) |
| 7644 | (("./samtools-0.1.19/") |
| 7645 | (string-append #$(this-package-native-input |
| 7646 | "samtools") "/lib/"))) |
| 7647 | (substitute* "alignments.hpp" |
| 7648 | (("samtools-0.1.19") |
| 7649 | (string-append #$(this-package-native-input |
| 7650 | "samtools") "/include/samtools"))))) |
| 7651 | (delete 'configure) ; No configure. |
| 7652 | (replace 'install |
| 7653 | (lambda* (#:key outputs #:allow-other-keys) |
| 7654 | (let ((bin (string-append (assoc-ref outputs "out") "/bin")) |
| 7655 | (scripts (string-append #$output |
| 7656 | "/share/trust4/scripts"))) |
| 7657 | (install-file "annotator" bin) |
| 7658 | (install-file "bam-extractor" bin) |
| 7659 | (install-file "fastq-extractor" bin) |
| 7660 | (install-file "run-trust4" bin) |
| 7661 | (install-file "trust4" bin) |
| 7662 | ;; install scripts stored in the scrips dir |
| 7663 | (for-each (lambda (file) |
| 7664 | (chmod file #o555)) |
| 7665 | (find-files "scripts" "\\.p(y|l)")) |
| 7666 | (copy-recursively "scripts" scripts) |
| 7667 | (delete-file-recursively "scripts") |
| 7668 | ;; install the rest of the scripts that are in the main dir |
| 7669 | (for-each (lambda (file) |
| 7670 | (chmod file #o555) |
| 7671 | (install-file file bin)) |
| 7672 | (find-files "." "\\.(pl|py|sh)")))))))) |
| 7673 | (native-inputs (list automake samtools-0.1)) |
| 7674 | (inputs (list perl python-wrapper zlib)) |
| 7675 | (home-page "https://github.com/liulab-dfci/TRUST4") |
| 7676 | (synopsis "TCR and BCR assembly from RNA-seq data") |
| 7677 | (description "This package is analyzing @acronym{TCR, T cell receptor} and |
| 7678 | @acronym{BCR, B cell receptor} sequences using unselected RNA sequencing data, |
| 7679 | profiled from fluid and solid tissues, including tumors. TRUST4 performs de |
| 7680 | novo assembly on V, J, C genes including the hypervariable @acronym{CDR3, |
| 7681 | complementarity-determining region 3} and reports consensus contigs of BCR/TCR |
| 7682 | sequences. TRUST4 then realigns the contigs to IMGT reference gene sequences to |
| 7683 | identify the corresponding gene and CDR3 details. TRUST4 supports both single-end |
| 7684 | and paired-end bulk or single-cell sequencing data with any read length.") |
| 7685 | (license license:gpl3))) |
| 7686 | |
| 7687 | (define-public python-airr |
| 7688 | (package |
| 7689 | (name "python-airr") |
| 7690 | (version "1.5.1") |
| 7691 | (source |
| 7692 | (origin |
| 7693 | (method url-fetch) |
| 7694 | (uri (pypi-uri "airr" version)) |
| 7695 | (sha256 |
| 7696 | (base32 "0jbigfdwa23xv5riw0ljdfq2qwg1b2fav2kfi81zxd1g1jprxy3i")))) |
| 7697 | (build-system pyproject-build-system) |
| 7698 | (native-inputs |
| 7699 | (list python-jsondiff |
| 7700 | python-pytest |
| 7701 | python-setuptools)) |
| 7702 | (propagated-inputs |
| 7703 | (list python-pandas |
| 7704 | python-pyyaml |
| 7705 | python-yamlordereddictloader)) |
| 7706 | (home-page "http://docs.airr-community.org") |
| 7707 | (synopsis "Data Representation Standard library for antibody and TCR sequences") |
| 7708 | (description "Python-airr provides a library by the AIRR community to for |
| 7709 | describing, reporting, storing, and sharing adaptive immune receptor |
| 7710 | repertoire (AIRR) data, such as sequences of antibodies and T cell |
| 7711 | receptors (TCRs).") |
| 7712 | (license license:cc-by4.0))) |
| 7713 | |
| 7714 | (define-public diamond |
| 7715 | (package |
| 7716 | (name "diamond") |
| 7717 | (version "2.1.6") |
| 7718 | (source (origin |
| 7719 | (method git-fetch) |
| 7720 | (uri (git-reference |
| 7721 | (url "https://github.com/bbuchfink/diamond") |
| 7722 | (commit (string-append "v" version)))) |
| 7723 | (file-name (git-file-name name version)) |
| 7724 | (sha256 |
| 7725 | (base32 |
| 7726 | "0kb17jwlsrvgswfahzznrffv1i6ybwwmq99qs7iga5yzbx64jp6q")))) |
| 7727 | (build-system cmake-build-system) |
| 7728 | (arguments |
| 7729 | (list #:configure-flags '(list "-DX86=OFF"))) ;avoid SSE4 and AVX2 |
| 7730 | (inputs (list zlib)) |
| 7731 | (home-page "https://github.com/bbuchfink/diamond") |
| 7732 | (synopsis "Accelerated BLAST compatible local sequence aligner") |
| 7733 | (description |
| 7734 | "DIAMOND is a BLAST-compatible local aligner for mapping protein and |
| 7735 | translated DNA query sequences against a protein reference database (BLASTP |
| 7736 | and BLASTX alignment mode). The speedup over BLAST is up to 20,000 on short |
| 7737 | reads at a typical sensitivity of 90-99% relative to BLAST depending on the |
| 7738 | data and settings.") |
| 7739 | (license license:gpl3+))) |
| 7740 | |
| 7741 | (define-public eddylab-squid |
| 7742 | (package |
| 7743 | (name "eddylab-squid") |
| 7744 | (version "1.9g") |
| 7745 | (source |
| 7746 | (origin |
| 7747 | (method url-fetch) |
| 7748 | (uri (string-append "http://eddylab.org/software/squid/squid-" |
| 7749 | version ".tar.gz")) |
| 7750 | (sha256 |
| 7751 | (base32 |
| 7752 | "19ywv1h581a84yyjnp64gwww99vhgbxi8v4rl37xp92ag7l44brh")))) |
| 7753 | (build-system gnu-build-system) |
| 7754 | (arguments |
| 7755 | `(#:phases |
| 7756 | (modify-phases %standard-phases |
| 7757 | (add-before 'check 'set-perl-search-path |
| 7758 | (lambda _ |
| 7759 | ;; Work around "dotless @INC" build failure. |
| 7760 | (setenv "PERL5LIB" |
| 7761 | (string-append (getcwd) "/Testsuite:" |
| 7762 | (getenv "PERL5LIB")))))))) |
| 7763 | (inputs (list perl)) |
| 7764 | (home-page "http://eddylab.org/software.html") |
| 7765 | (synopsis "C function library for sequence analysis") |
| 7766 | (description "SQUID is Sean Eddy's personal library of C functions |
| 7767 | and utility programs for sequence analysis.") |
| 7768 | (license license:gpl2))) |
| 7769 | |
| 7770 | (define-public edirect |
| 7771 | (package |
| 7772 | (name "edirect") |
| 7773 | (version "13.3.20200128") |
| 7774 | (source (origin |
| 7775 | (method url-fetch) |
| 7776 | (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect" |
| 7777 | "/versions/" version |
| 7778 | "/edirect-" version ".tar.gz")) |
| 7779 | (sha256 |
| 7780 | (base32 |
| 7781 | "093zp7klv81ph0y8mm8d78a9hnpfxbv2kdym70gzdf3vz176rw33")) |
| 7782 | (modules '((guix build utils))) |
| 7783 | (snippet |
| 7784 | '(begin (delete-file "Mozilla-CA.tar.gz") |
| 7785 | (substitute* "rchive.go" |
| 7786 | ;; This go library does not have any license. |
| 7787 | (("github.com/fiam/gounidecode/unidecode") |
| 7788 | "golang.org/rainycape/unidecode")))))) |
| 7789 | (build-system perl-build-system) |
| 7790 | (arguments |
| 7791 | `(#:phases |
| 7792 | (modify-phases %standard-phases |
| 7793 | (delete 'configure) |
| 7794 | (delete 'build) |
| 7795 | (delete 'check) ; simple check after install |
| 7796 | (add-after 'unpack 'patch-programs |
| 7797 | (lambda* (#:key inputs #:allow-other-keys) |
| 7798 | ;; Ignore errors about missing xtract.Linux and rchive.Linux. |
| 7799 | (substitute* "pm-refresh" |
| 7800 | (("cat \\\"\\$target") |
| 7801 | "grep ^[[:digit:]] \"$target")))) |
| 7802 | (replace 'install |
| 7803 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 7804 | (let ((bin (string-append (assoc-ref outputs "out") "/bin")) |
| 7805 | (edirect-go (assoc-ref inputs "edirect-go-programs"))) |
| 7806 | (for-each |
| 7807 | (lambda (file) |
| 7808 | (install-file file bin)) |
| 7809 | '("archive-pubmed" "asp-cp" "asp-ls" "download-ncbi-data" |
| 7810 | "download-pubmed" "edirect.pl" "efetch" "epost" "esearch" |
| 7811 | "fetch-pubmed" "ftp-cp" "ftp-ls" "has-asp" "index-pubmed" |
| 7812 | "pm-prepare" "pm-refresh" "pm-stash" "pm-collect" |
| 7813 | "pm-index" "pm-invert" "pm-merge" "pm-promote")) |
| 7814 | (symlink (string-append edirect-go "/bin/xtract.Linux") |
| 7815 | (string-append bin "/xtract")) |
| 7816 | (symlink (string-append edirect-go "/bin/rchive.Linux") |
| 7817 | (string-append bin "/rchive"))))) |
| 7818 | (add-after 'install 'wrap-program |
| 7819 | (lambda* (#:key outputs #:allow-other-keys) |
| 7820 | ;; Make sure everything can run in a pure environment. |
| 7821 | (let ((out (assoc-ref outputs "out")) |
| 7822 | (path (getenv "PERL5LIB"))) |
| 7823 | (for-each |
| 7824 | (lambda (file) |
| 7825 | (wrap-program file |
| 7826 | `("PERL5LIB" ":" prefix (,path))) |
| 7827 | (wrap-program file |
| 7828 | `("PATH" ":" prefix (,(string-append out "/bin") |
| 7829 | ,(dirname (which "sed")) |
| 7830 | ,(dirname (which "gzip")) |
| 7831 | ,(dirname (which "grep")) |
| 7832 | ,(dirname (which "perl")) |
| 7833 | ,(dirname (which "uname")))))) |
| 7834 | (find-files out "."))))) |
| 7835 | (add-after 'wrap-program 'check |
| 7836 | (lambda* (#:key outputs #:allow-other-keys) |
| 7837 | (invoke (string-append (assoc-ref outputs "out") |
| 7838 | "/bin/edirect.pl") |
| 7839 | "-filter" "-help")))))) |
| 7840 | (inputs |
| 7841 | (list bash-minimal |
| 7842 | edirect-go-programs |
| 7843 | perl-html-parser |
| 7844 | perl-encode-locale |
| 7845 | perl-file-listing |
| 7846 | perl-html-tagset |
| 7847 | perl-html-tree |
| 7848 | perl-http-cookies |
| 7849 | perl-http-date |
| 7850 | perl-http-message |
| 7851 | perl-http-negotiate |
| 7852 | perl-lwp-mediatypes |
| 7853 | perl-lwp-protocol-https |
| 7854 | perl-net-http |
| 7855 | perl-uri |
| 7856 | perl-www-robotrules |
| 7857 | perl-xml-simple |
| 7858 | perl)) |
| 7859 | (home-page "https://www.ncbi.nlm.nih.gov/books/NBK179288/") |
| 7860 | (synopsis "Tools for accessing the NCBI's set of databases") |
| 7861 | (description |
| 7862 | "Entrez Direct (EDirect) is a method for accessing the National Center |
| 7863 | for Biotechnology Information's (NCBI) set of interconnected |
| 7864 | databases (publication, sequence, structure, gene, variation, expression, |
| 7865 | etc.) from a terminal. Functions take search terms from command-line |
| 7866 | arguments. Individual operations are combined to build multi-step queries. |
| 7867 | Record retrieval and formatting normally complete the process. |
| 7868 | |
| 7869 | EDirect also provides an argument-driven function that simplifies the |
| 7870 | extraction of data from document summaries or other results that are returned |
| 7871 | in structured XML format. This can eliminate the need for writing custom |
| 7872 | software to answer ad hoc questions.") |
| 7873 | (native-search-paths |
| 7874 | ;; Ideally this should be set for LWP somewhere. |
| 7875 | (list (search-path-specification |
| 7876 | (variable "PERL_LWP_SSL_CA_FILE") |
| 7877 | (file-type 'regular) |
| 7878 | (separator #f) |
| 7879 | (files '("/etc/ssl/certs/ca-certificates.crt"))))) |
| 7880 | (license license:public-domain))) |
| 7881 | |
| 7882 | (define-public edirect-go-programs |
| 7883 | (package |
| 7884 | (inherit edirect) |
| 7885 | (name "edirect-go-programs") |
| 7886 | (build-system go-build-system) |
| 7887 | (arguments |
| 7888 | `(#:install-source? #f |
| 7889 | #:tests? #f ; No tests. |
| 7890 | #:import-path "ncbi.nlm.nih.gov/entrez/edirect" |
| 7891 | #:phases |
| 7892 | (modify-phases %standard-phases |
| 7893 | (replace 'build |
| 7894 | (lambda* (#:key import-path #:allow-other-keys) |
| 7895 | (with-directory-excursion (string-append "src/" import-path) |
| 7896 | (invoke "go" "build" "-v" "-x" "j2x.go") |
| 7897 | (invoke "go" "build" "-v" "-x" "t2x.go") |
| 7898 | (invoke "go" "build" "-v" "-x" "-o" |
| 7899 | "xtract.Linux" "xtract.go" "common.go") |
| 7900 | (invoke "go" "build" "-v" "-x" "-o" |
| 7901 | "rchive.Linux" "rchive.go" "common.go") |
| 7902 | (invoke "go" "build" "-v" "-x" "-o" "symbols.Linux" "s2p.go")))) |
| 7903 | (replace 'install |
| 7904 | (lambda* (#:key outputs import-path #:allow-other-keys) |
| 7905 | (let ((dest (string-append (assoc-ref outputs "out") "/bin")) |
| 7906 | (source (string-append "src/" import-path "/"))) |
| 7907 | (for-each (lambda (file) |
| 7908 | (format #t "installing ~a~%" file) |
| 7909 | (install-file (string-append source file) dest)) |
| 7910 | '("j2x" "t2x" "symbols.Linux" "xtract.Linux" "rchive.Linux")) |
| 7911 | #t)))))) |
| 7912 | (native-inputs '()) |
| 7913 | (propagated-inputs '()) |
| 7914 | (inputs |
| 7915 | (list go-github-com-fatih-color |
| 7916 | go-github-com-fogleman-gg |
| 7917 | go-github-com-gedex-inflector |
| 7918 | go-github-com-golang-freetype |
| 7919 | go-github-com-klauspost-cpuid |
| 7920 | go-github-com-pbnjay-memory |
| 7921 | go-github-com-surgebase-porter2 |
| 7922 | go-golang-org-rainycape-unidecode |
| 7923 | go-golang-org-x-image |
| 7924 | go-golang-org-x-text)))) |
| 7925 | |
| 7926 | (define-public python-baltica |
| 7927 | (package |
| 7928 | (name "python-baltica") |
| 7929 | (version "1.1.2") |
| 7930 | (source (origin |
| 7931 | (method git-fetch) |
| 7932 | (uri (git-reference |
| 7933 | (url "https://github.com/dieterich-lab/Baltica") |
| 7934 | (commit (string-append "v" version)))) |
| 7935 | (file-name (git-file-name name version)) |
| 7936 | (sha256 |
| 7937 | (base32 |
| 7938 | "001ac03v9pbqqzf9pv7v8gf0296ksa4f0v3wdmpa6m9701skqi4r")))) |
| 7939 | (build-system pyproject-build-system) |
| 7940 | (arguments |
| 7941 | (list |
| 7942 | #:phases |
| 7943 | '(modify-phases %standard-phases |
| 7944 | (replace 'check |
| 7945 | (lambda* (#:key tests? #:allow-other-keys) |
| 7946 | (when tests? |
| 7947 | ;; The tests need to be run from elsewhere... |
| 7948 | (mkdir-p "/tmp/test") |
| 7949 | (copy-recursively ".tests" "/tmp/test") |
| 7950 | (with-directory-excursion "/tmp/test" |
| 7951 | (invoke "pytest" "-v" "--doctest-modules")))))))) |
| 7952 | (propagated-inputs |
| 7953 | (list gunicorn |
| 7954 | python-anndata |
| 7955 | python-click |
| 7956 | python-flask |
| 7957 | python-flask-wtf |
| 7958 | python-h5py |
| 7959 | python-numpy |
| 7960 | python-psutil |
| 7961 | python-pysam |
| 7962 | python-pyyaml |
| 7963 | python-scipy |
| 7964 | r-biocmanager |
| 7965 | r-dplyr |
| 7966 | r-genomicranges |
| 7967 | r-here |
| 7968 | r-openxlsx |
| 7969 | r-optparse |
| 7970 | r-readr |
| 7971 | r-rsamtools |
| 7972 | r-stringr |
| 7973 | r-tidyr |
| 7974 | r-upsetr |
| 7975 | r-yaml |
| 7976 | snakemake)) |
| 7977 | (native-inputs (list python-cython python-pyfakefs python-pytest)) |
| 7978 | (home-page "https://github.com/dieterich-lab/Baltica") |
| 7979 | (synopsis "Integrated splice junction usage analysis") |
| 7980 | (description |
| 7981 | "This framework facilitates the execution of @dfn{differential junction |
| 7982 | usage} (DJU) methods. Additionally, it enables the integration of results from |
| 7983 | multiple DJU methods.") |
| 7984 | (license license:expat))) |
| 7985 | |
| 7986 | (define-public python-bamnostic |
| 7987 | (package |
| 7988 | (name "python-bamnostic") |
| 7989 | (version "1.3.0") |
| 7990 | (source |
| 7991 | (origin |
| 7992 | (method git-fetch) |
| 7993 | (uri (git-reference |
| 7994 | (url "https://github.com/betteridiot/bamnostic/") |
| 7995 | (commit (string-append "v" version)))) |
| 7996 | (file-name (git-file-name name version)) |
| 7997 | (sha256 |
| 7998 | (base32 "1rlr46zcb0hzi9lj9naf3gkqqqxhzbwd84zxyjsaa8dvcdm23x14")))) |
| 7999 | (build-system pyproject-build-system) |
| 8000 | (native-inputs (list python-pytest python-setuptools)) |
| 8001 | (home-page "https://github.com/betteridiot/bamnostic/") |
| 8002 | (synopsis "Tool for binary alignment map, random access and parsing") |
| 8003 | (description |
| 8004 | "Bamnostic is a pure Python @dfn{Binary Alignment Map} (BAM) file parser |
| 8005 | and random access tool.") |
| 8006 | (license license:bsd-3))) |
| 8007 | |
| 8008 | (define-public python-modbedtools |
| 8009 | (package |
| 8010 | (name "python-modbedtools") |
| 8011 | (version "0.2.0") |
| 8012 | (source |
| 8013 | (origin |
| 8014 | (method url-fetch) |
| 8015 | (uri (pypi-uri "modbedtools" version)) |
| 8016 | (sha256 |
| 8017 | (base32 "1cl8ski098daw85vcygc22c7shpk3z34zs0rpa584w93xspsv10r")))) |
| 8018 | (build-system pyproject-build-system) |
| 8019 | (propagated-inputs (list python-pysam)) |
| 8020 | (native-inputs (list python-setuptools |
| 8021 | python-setuptools-scm)) |
| 8022 | ;; No tests in PyPI archive, git provides no tests scenarios either; there |
| 8023 | ;; is some test data in "test" directory but no description in README how |
| 8024 | ;; to use them for testing the module. |
| 8025 | (arguments (list #:tests? #f)) |
| 8026 | (home-page "https://github.com/lidaof/modbedtools") |
| 8027 | (synopsis |
| 8028 | "Generate modbed track files for visualization on WashU Epigenome Browser") |
| 8029 | (description |
| 8030 | "modbedtools is a python command line tool to generate modbed files for |
| 8031 | visualization on the WashU Epigenome Browser.") |
| 8032 | (license license:expat))) |
| 8033 | |
| 8034 | (define-public python-ete3 |
| 8035 | (package |
| 8036 | (name "python-ete3") |
| 8037 | (version "3.1.3") |
| 8038 | (source (origin |
| 8039 | (method git-fetch) |
| 8040 | (uri (git-reference |
| 8041 | (url "https://github.com/etetoolkit/ete") |
| 8042 | (commit version))) |
| 8043 | (file-name (git-file-name name version)) |
| 8044 | (sha256 |
| 8045 | (base32 |
| 8046 | "1i6533wsm06mz0sdrisqai929j744cnczwjgsmxl847q5k16kngd")))) |
| 8047 | (build-system pyproject-build-system) |
| 8048 | (arguments |
| 8049 | (list |
| 8050 | #:test-flags |
| 8051 | '(list "-k" |
| 8052 | ;; This test crashes Python in the build container |
| 8053 | (string-append "not test_renderer" |
| 8054 | ;; These all need internet access |
| 8055 | " and not test_00_update_database" |
| 8056 | " and not test_01tree_annotation" |
| 8057 | " and not test_get_topology" |
| 8058 | " and not test_merged_id" |
| 8059 | " and not test_ncbi_compare" |
| 8060 | " and not test_ncbiquery") |
| 8061 | "ete3/test/test_api.py") |
| 8062 | #:phases |
| 8063 | '(modify-phases %standard-phases |
| 8064 | (add-after 'unpack 'python312-compatibility |
| 8065 | (lambda _ |
| 8066 | (substitute* '("ete3/test/test_arraytable.py" |
| 8067 | "ete3/test/test_evol.py") |
| 8068 | (("assert_") "assertTrue"))))))) |
| 8069 | (propagated-inputs |
| 8070 | (list python-lxml |
| 8071 | python-numpy |
| 8072 | python-pyqt |
| 8073 | python-scipy |
| 8074 | python-six)) |
| 8075 | (native-inputs |
| 8076 | (list python-pytest python-setuptools)) |
| 8077 | (home-page "http://etetoolkit.org") |
| 8078 | (synopsis "Python environment for phylogenetic tree exploration") |
| 8079 | (description |
| 8080 | "This package provides a Python environment for phylogenetic tree |
| 8081 | exploration.") |
| 8082 | (license license:gpl3+))) |
| 8083 | |
| 8084 | (define-public python-illumina-utils |
| 8085 | (package |
| 8086 | (name "python-illumina-utils") |
| 8087 | (version "2.13") |
| 8088 | (source |
| 8089 | (origin |
| 8090 | (method git-fetch) |
| 8091 | (uri (git-reference |
| 8092 | (url "https://github.com/meren/illumina-utils") |
| 8093 | (commit (string-append "v" version)))) |
| 8094 | (file-name (git-file-name name version)) |
| 8095 | (sha256 |
| 8096 | (base32 "15cyb5slw07va5siq8nzc0nwcgnvx1hmqqrgwk2v0fxy250fp9v4")))) |
| 8097 | (build-system pyproject-build-system) |
| 8098 | (arguments |
| 8099 | (list |
| 8100 | #:tests? #f ;there are none |
| 8101 | #:phases |
| 8102 | #~(modify-phases %standard-phases |
| 8103 | (add-after 'unpack 'adjust-requirements |
| 8104 | (lambda _ |
| 8105 | (substitute* "requirements.txt" |
| 8106 | (("python-Levenshtein") |
| 8107 | "levenshtein"))))))) |
| 8108 | (propagated-inputs (list python-levenshtein python-matplotlib python-numpy)) |
| 8109 | (native-inputs (list python-pip python-setuptools)) |
| 8110 | (home-page "https://github.com/meren/illumina-utils") |
| 8111 | (synopsis "Library and scripts to work with Illumina paired-end data") |
| 8112 | (description |
| 8113 | "This package provides a library and collection of scripts to work with |
| 8114 | Illumina paired-end data (for CASAVA 1.8+).") |
| 8115 | (license license:gpl2+))) |
| 8116 | |
| 8117 | (define-public python-pyani |
| 8118 | (package |
| 8119 | (name "python-pyani") |
| 8120 | (version "0.2.12") |
| 8121 | (source (origin |
| 8122 | (method url-fetch) |
| 8123 | (uri (pypi-uri "pyani" version)) |
| 8124 | (sha256 |
| 8125 | (base32 |
| 8126 | "124kdg7168nbh4a5wisfws1fgkd89dd4js9v6dml2lvgclbv4mjg")))) |
| 8127 | (build-system pyproject-build-system) |
| 8128 | ;; This contains two test data files but no way to run the tests. |
| 8129 | (arguments (list #:tests? #false)) |
| 8130 | (propagated-inputs |
| 8131 | (list python-biopython python-matplotlib python-pandas |
| 8132 | python-scipy python-seaborn)) |
| 8133 | (native-inputs (list python-setuptools)) |
| 8134 | (home-page "https://widdowquinn.github.io/pyani/") |
| 8135 | (synopsis "Calculate genome-scale average nucleotide identity") |
| 8136 | (description |
| 8137 | "Pyani provides a package and script for calculation of genome-scale |
| 8138 | average nucleotide identity.") |
| 8139 | (license license:expat))) |
| 8140 | |
| 8141 | (define-public python-pyahocorasick |
| 8142 | (package |
| 8143 | (name "python-pyahocorasick") |
| 8144 | (version "2.2.0") |
| 8145 | (source |
| 8146 | (origin |
| 8147 | (method git-fetch) |
| 8148 | (uri (git-reference |
| 8149 | (url "https://github.com/WojciechMula/pyahocorasick") |
| 8150 | (commit (string-append "v" version)))) |
| 8151 | (file-name (git-file-name name version)) |
| 8152 | (sha256 |
| 8153 | (base32 "0r9n8awy80dg8dmgza4kpgwbpkvjf4s85cyswnq04h3x6cf62lll")))) |
| 8154 | (build-system pyproject-build-system) |
| 8155 | (native-inputs (list python-pytest python-setuptools)) |
| 8156 | (home-page "https://github.com/WojciechMula/pyahocorasick") |
| 8157 | (synopsis "Library for finding multiple key strings in text") |
| 8158 | (description |
| 8159 | "Pyahocorasick is a fast, memory-efficient library for multi-pattern string search. |
| 8160 | This means that you can find multiple key strings occurrences |
| 8161 | at once in some input text.") |
| 8162 | (license license:bsd-3))) |
| 8163 | |
| 8164 | (define-public exonerate |
| 8165 | (package |
| 8166 | (name "exonerate") |
| 8167 | (version "2.4.0") |
| 8168 | (source |
| 8169 | (origin |
| 8170 | (method url-fetch) |
| 8171 | (uri |
| 8172 | (string-append |
| 8173 | "http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/" |
| 8174 | "exonerate-" version ".tar.gz")) |
| 8175 | (sha256 |
| 8176 | (base32 |
| 8177 | "0hj0m9xygiqsdxvbg79wq579kbrx1mdrabi2bzqz2zn9qwfjcjgq")))) |
| 8178 | (build-system gnu-build-system) |
| 8179 | (arguments |
| 8180 | `(#:parallel-build? #f)) ; Building in parallel fails on some machines. |
| 8181 | (native-inputs |
| 8182 | (list pkg-config)) |
| 8183 | (inputs |
| 8184 | (list glib)) |
| 8185 | (home-page |
| 8186 | "https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate") |
| 8187 | (synopsis "Generic tool for biological sequence alignment") |
| 8188 | (description |
| 8189 | "Exonerate is a generic tool for pairwise sequence comparison. It allows |
| 8190 | the alignment of sequences using a many alignment models, either exhaustive |
| 8191 | dynamic programming or a variety of heuristics.") |
| 8192 | (license license:gpl3))) |
| 8193 | |
| 8194 | (define-public express |
| 8195 | (package |
| 8196 | (name "express") |
| 8197 | (version "1.5.3") |
| 8198 | (source (origin |
| 8199 | (method git-fetch) |
| 8200 | (uri (git-reference |
| 8201 | (url "https://github.com/adarob/eXpress") |
| 8202 | (commit version))) |
| 8203 | (file-name (git-file-name name version)) |
| 8204 | (sha256 |
| 8205 | (base32 |
| 8206 | "18nb22n7x820fzjngf4qgyb3mspqkw7xyk7v7s5ps6wfrd8qwscb")))) |
| 8207 | (build-system cmake-build-system) |
| 8208 | (arguments |
| 8209 | (list |
| 8210 | #:tests? #f ;no "check" target |
| 8211 | #:phases |
| 8212 | #~(modify-phases %standard-phases |
| 8213 | (add-after 'unpack 'use-shared-boost-libs-and-set-bamtools-paths |
| 8214 | (lambda* (#:key inputs #:allow-other-keys) |
| 8215 | (substitute* "CMakeLists.txt" |
| 8216 | (("set\\(Boost_USE_STATIC_LIBS ON\\)") |
| 8217 | "set(Boost_USE_STATIC_LIBS OFF)") |
| 8218 | (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/bamtools/include") |
| 8219 | (search-input-directory inputs "/include/bamtools")) |
| 8220 | (("\\$\\{PROJECT_SOURCE_DIR\\}/bamtools/lib/libbamtools.a") |
| 8221 | (search-input-file inputs "/lib/libbamtools.so")) |
| 8222 | (("libbamtools.a") "libbamtools.so")) |
| 8223 | (substitute* "src/CMakeLists.txt" |
| 8224 | (("libprotobuf.a") "libprotobuf.so")))) |
| 8225 | (add-after 'unpack 'remove-update-check |
| 8226 | (lambda _ |
| 8227 | (substitute* "src/main.cpp" |
| 8228 | (("#include \"update_check.h\"") "") |
| 8229 | (("check_version\\(PACKAGE_VERSION\\);") ""))))))) |
| 8230 | (inputs |
| 8231 | (list boost-1.83 bamtools protobuf zlib)) |
| 8232 | (home-page "http://bio.math.berkeley.edu/eXpress") |
| 8233 | (synopsis "Streaming quantification for high-throughput genomic sequencing") |
| 8234 | (description |
| 8235 | "eXpress is a streaming tool for quantifying the abundances of a set of |
| 8236 | target sequences from sampled subsequences. Example applications include |
| 8237 | transcript-level RNA-Seq quantification, allele-specific/haplotype expression |
| 8238 | analysis (from RNA-Seq), transcription factor binding quantification in |
| 8239 | ChIP-Seq, and analysis of metagenomic data.") |
| 8240 | (properties `((lint-hidden-cpe-vendors . ("openjsf" "qs_project")))) |
| 8241 | (license license:artistic2.0))) |
| 8242 | |
| 8243 | (define-public fasttree |
| 8244 | (package |
| 8245 | (name "fasttree") |
| 8246 | (version "2.1.10") |
| 8247 | (source (origin |
| 8248 | (method url-fetch) |
| 8249 | (uri (string-append |
| 8250 | "http://www.microbesonline.org/fasttree/FastTree-" |
| 8251 | version ".c")) |
| 8252 | (sha256 |
| 8253 | (base32 |
| 8254 | "0vcjdvy1j4m702vmak4svbfkrpcw63k7wymfksjp9a982zy8kjsl")))) |
| 8255 | (build-system gnu-build-system) |
| 8256 | (arguments |
| 8257 | `(#:tests? #f ; no "check" target |
| 8258 | #:phases |
| 8259 | (modify-phases %standard-phases |
| 8260 | (delete 'unpack) |
| 8261 | (delete 'configure) |
| 8262 | (replace 'build |
| 8263 | (lambda* (#:key source #:allow-other-keys) |
| 8264 | (invoke "gcc" |
| 8265 | "-O3" |
| 8266 | "-finline-functions" |
| 8267 | "-funroll-loops" |
| 8268 | "-Wall" |
| 8269 | "-o" |
| 8270 | "FastTree" |
| 8271 | source |
| 8272 | "-lm") |
| 8273 | (invoke "gcc" |
| 8274 | "-DOPENMP" |
| 8275 | "-fopenmp" |
| 8276 | "-O3" |
| 8277 | "-finline-functions" |
| 8278 | "-funroll-loops" |
| 8279 | "-Wall" |
| 8280 | "-o" |
| 8281 | "FastTreeMP" |
| 8282 | source |
| 8283 | "-lm") |
| 8284 | #t)) |
| 8285 | (replace 'install |
| 8286 | (lambda* (#:key outputs #:allow-other-keys) |
| 8287 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) |
| 8288 | (install-file "FastTree" bin) |
| 8289 | (install-file "FastTreeMP" bin) |
| 8290 | #t)))))) |
| 8291 | (home-page "http://www.microbesonline.org/fasttree") |
| 8292 | (synopsis "Infers approximately-maximum-likelihood phylogenetic trees") |
| 8293 | (description |
| 8294 | "FastTree can handle alignments with up to a million of sequences in a |
| 8295 | reasonable amount of time and memory. For large alignments, FastTree is |
| 8296 | 100-1,000 times faster than PhyML 3.0 or RAxML 7.") |
| 8297 | (license license:gpl2+))) |
| 8298 | |
| 8299 | (define-public flash |
| 8300 | (package |
| 8301 | (name "flash") |
| 8302 | (version "1.2.11") |
| 8303 | (source |
| 8304 | (origin |
| 8305 | (method url-fetch) |
| 8306 | (uri (string-append "mirror://sourceforge/flashpage/FLASH-" |
| 8307 | version ".tar.gz")) |
| 8308 | (sha256 |
| 8309 | (base32 |
| 8310 | "1b1ns9ghbcxy92xwa2a53ikqacvnyhvca0zfv0s7986xzvvscp38")))) |
| 8311 | (build-system gnu-build-system) |
| 8312 | (arguments |
| 8313 | (list |
| 8314 | #:make-flags #~(list (string-append "CC=" #$(cc-for-target))) |
| 8315 | #:tests? #f ;no tests |
| 8316 | #:phases |
| 8317 | #~(modify-phases %standard-phases |
| 8318 | ;; No configure script |
| 8319 | (delete 'configure) |
| 8320 | ;; No install target |
| 8321 | (replace 'install |
| 8322 | (lambda _ |
| 8323 | (install-file "flash" |
| 8324 | (string-append #$output "/bin"))))))) |
| 8325 | (inputs (list zlib)) |
| 8326 | (home-page "http://ccb.jhu.edu/software/FLASH/") |
| 8327 | (synopsis "Merge paired-end nucleotide reads from NGS experiments") |
| 8328 | (description "FLASH (Fast Length Adjustment of SHort reads) is a tool to |
| 8329 | merge paired-end reads from next-generation sequencing experiments. FLASH is |
| 8330 | designed to merge pairs of reads when the original DNA fragments are shorter |
| 8331 | than twice the length of reads. The resulting longer reads can significantly |
| 8332 | improve genome assemblies. They can also improve transcriptome assembly when |
| 8333 | FLASH is used to merge RNA-seq data.") |
| 8334 | (license license:gpl3+))) |
| 8335 | |
| 8336 | (define-public flexbar |
| 8337 | (package |
| 8338 | (name "flexbar") |
| 8339 | (version "3.5.0") |
| 8340 | (source (origin |
| 8341 | (method git-fetch) |
| 8342 | (uri (git-reference |
| 8343 | (url "https://github.com/seqan/flexbar") |
| 8344 | (commit (string-append "v" version)))) |
| 8345 | (file-name (git-file-name name version)) |
| 8346 | (sha256 |
| 8347 | (base32 |
| 8348 | "1w0c592wmi3xin2wlb9vmxp7f8f3s9nhl3y9ih4djrlfqyim70h9")))) |
| 8349 | (build-system cmake-build-system) |
| 8350 | (arguments |
| 8351 | (list |
| 8352 | #:phases |
| 8353 | #~(modify-phases %standard-phases |
| 8354 | (add-after 'unpack 'do-not-tune-to-CPU |
| 8355 | (lambda _ |
| 8356 | (substitute* "src/CMakeLists.txt" |
| 8357 | ((" -march=native") "")))) |
| 8358 | (replace 'check |
| 8359 | (lambda _ |
| 8360 | (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) |
| 8361 | (with-directory-excursion "../source/test" |
| 8362 | (invoke "bash" "flexbar_test.sh")))) |
| 8363 | (replace 'install |
| 8364 | (lambda* (#:key outputs #:allow-other-keys) |
| 8365 | (install-file "flexbar" (string-append #$output "/bin/"))))))) |
| 8366 | (inputs |
| 8367 | (list tbb-2020 zlib)) |
| 8368 | (native-inputs |
| 8369 | (list pkg-config seqan-2)) |
| 8370 | (home-page "https://github.com/seqan/flexbar") |
| 8371 | (synopsis "Barcode and adapter removal tool for sequencing platforms") |
| 8372 | (description |
| 8373 | "Flexbar preprocesses high-throughput nucleotide sequencing data |
| 8374 | efficiently. It demultiplexes barcoded runs and removes adapter sequences. |
| 8375 | Moreover, trimming and filtering features are provided. Flexbar increases |
| 8376 | read mapping rates and improves genome and transcriptome assemblies. It |
| 8377 | supports next-generation sequencing data in fasta/q and csfasta/q format from |
| 8378 | Illumina, Roche 454, and the SOLiD platform.") |
| 8379 | (license license:bsd-3))) |
| 8380 | |
| 8381 | (define-public fxtract |
| 8382 | (let ((util-commit "776ca85a18a47492af3794745efcb4a905113115")) |
| 8383 | (package |
| 8384 | (name "fxtract") |
| 8385 | (version "2.3") |
| 8386 | (source |
| 8387 | (origin |
| 8388 | (method git-fetch) |
| 8389 | (uri (git-reference |
| 8390 | (url "https://github.com/ctSkennerton/fxtract") |
| 8391 | (commit version))) |
| 8392 | (file-name (git-file-name name version)) |
| 8393 | (sha256 |
| 8394 | (base32 |
| 8395 | "0hab3gpwf4w9s87qlbswq6ws1qqybh4dcqk79q1ahyldzai5fgp5")))) |
| 8396 | (build-system gnu-build-system) |
| 8397 | (arguments |
| 8398 | `(#:make-flags ,#~(list |
| 8399 | (string-append "PREFIX=" #$output) |
| 8400 | "CC=gcc") |
| 8401 | #:test-target "fxtract_test" |
| 8402 | #:phases |
| 8403 | (modify-phases %standard-phases |
| 8404 | (delete 'configure) |
| 8405 | (add-before 'build 'copy-util |
| 8406 | (lambda* (#:key inputs #:allow-other-keys) |
| 8407 | (rmdir "util") |
| 8408 | (copy-recursively (assoc-ref inputs "ctskennerton-util") "util") |
| 8409 | #t)) |
| 8410 | ;; Do not use make install as this requires additional dependencies. |
| 8411 | (replace 'install |
| 8412 | (lambda* (#:key outputs #:allow-other-keys) |
| 8413 | (let* ((out (assoc-ref outputs "out")) |
| 8414 | (bin (string-append out"/bin"))) |
| 8415 | (install-file "fxtract" bin) |
| 8416 | #t)))))) |
| 8417 | (inputs |
| 8418 | (list pcre zlib)) |
| 8419 | (native-inputs |
| 8420 | ;; ctskennerton-util is licensed under GPL2. |
| 8421 | `(("ctskennerton-util" |
| 8422 | ,(origin |
| 8423 | (method git-fetch) |
| 8424 | (uri (git-reference |
| 8425 | (url "https://github.com/ctSkennerton/util") |
| 8426 | (commit util-commit))) |
| 8427 | (file-name (string-append |
| 8428 | "ctstennerton-util-" util-commit "-checkout")) |
| 8429 | (sha256 |
| 8430 | (base32 |
| 8431 | "0cls1hd4vgj3f36fpzzg4xc77d6f3hpc60cbpfmn2gdr7ykzzad7")))))) |
| 8432 | (home-page "https://github.com/ctSkennerton/fxtract") |
| 8433 | (synopsis "Extract sequences from FASTA and FASTQ files") |
| 8434 | (description |
| 8435 | "Fxtract extracts sequences from a protein or nucleotide fastx (FASTA |
| 8436 | or FASTQ) file given a subsequence. It uses a simple substring search for |
| 8437 | basic tasks but can change to using POSIX regular expressions, PCRE, hash |
| 8438 | lookups or multi-pattern searching as required. By default fxtract looks in |
| 8439 | the sequence of each record but can also be told to look in the header, |
| 8440 | comment or quality sections.") |
| 8441 | ;; 'util' requires SSE instructions. |
| 8442 | (supported-systems '("x86_64-linux")) |
| 8443 | (license license:expat)))) |
| 8444 | |
| 8445 | (define-public gemma |
| 8446 | (package |
| 8447 | (name "gemma") |
| 8448 | (version "0.98.5") |
| 8449 | (source (origin |
| 8450 | (method git-fetch) |
| 8451 | (uri (git-reference |
| 8452 | (url "https://github.com/genetics-statistics/GEMMA") |
| 8453 | (commit (string-append "v" version)))) |
| 8454 | (file-name (git-file-name name version)) |
| 8455 | (sha256 |
| 8456 | (base32 |
| 8457 | "1dm8pf1fbdmv2yiz5aybcvk3050m5350gq8xlr4j6swzm3wwhydn")) |
| 8458 | (modules '((guix build utils))) |
| 8459 | (snippet |
| 8460 | #~(begin |
| 8461 | (delete-file-recursively "contrib"))))) |
| 8462 | (build-system gnu-build-system) |
| 8463 | (inputs |
| 8464 | (list gsl openblas zlib)) |
| 8465 | (native-inputs |
| 8466 | (list catch2-1 |
| 8467 | perl |
| 8468 | shunit2 |
| 8469 | which)) |
| 8470 | (arguments |
| 8471 | (list |
| 8472 | #:phases |
| 8473 | #~(modify-phases %standard-phases |
| 8474 | (delete 'configure) |
| 8475 | (add-after 'unpack 'prepare-build |
| 8476 | (lambda _ |
| 8477 | (mkdir-p "bin") |
| 8478 | (substitute* "Makefile" |
| 8479 | (("/usr/local/opt/openblas") |
| 8480 | #$(this-package-input "openblas"))))) |
| 8481 | (replace 'check |
| 8482 | (lambda* (#:key tests? #:allow-other-keys) |
| 8483 | (when tests? |
| 8484 | ;; 'make slow-check' expects shunit2-2.0.3. |
| 8485 | (with-directory-excursion "test" |
| 8486 | (invoke "./test_suite.sh"))))) |
| 8487 | (replace 'install |
| 8488 | (lambda _ |
| 8489 | (install-file "bin/gemma" (string-append #$output "/bin"))))))) |
| 8490 | (home-page "https://github.com/genetics-statistics/GEMMA") |
| 8491 | (synopsis "Tool for genome-wide efficient mixed model association") |
| 8492 | (description |
| 8493 | "@acronym{GEMMA, Genome-wide Efficient Mixed Model Association} provides a |
| 8494 | standard linear mixed model resolver with application in @acronym{GWAS, |
| 8495 | genome-wide association studies}.") |
| 8496 | (license license:gpl3))) |
| 8497 | |
| 8498 | (define-public hisat |
| 8499 | (package |
| 8500 | (name "hisat") |
| 8501 | (version "0.1.6") |
| 8502 | (source (origin |
| 8503 | (method url-fetch) |
| 8504 | (uri (string-append |
| 8505 | "http://ccb.jhu.edu/software/hisat/downloads/hisat-" |
| 8506 | version "-beta-source.zip")) |
| 8507 | (sha256 |
| 8508 | (base32 |
| 8509 | "177z85vqp9b30vgxl5py5hz4mm37ila37nzhfam23ci9iyfxgyv9")))) |
| 8510 | (build-system gnu-build-system) |
| 8511 | (arguments |
| 8512 | `(#:tests? #f ;no check target |
| 8513 | #:make-flags '("allall" |
| 8514 | ;; Disable unsupported `popcnt' instructions on |
| 8515 | ;; architectures other than x86_64 |
| 8516 | ,@(if (string-prefix? "x86_64" |
| 8517 | (or (%current-target-system) |
| 8518 | (%current-system))) |
| 8519 | '() |
| 8520 | '("POPCNT_CAPABILITY=0"))) |
| 8521 | #:phases |
| 8522 | (modify-phases %standard-phases |
| 8523 | (add-after 'unpack 'patch-sources |
| 8524 | (lambda _ |
| 8525 | ;; XXX Cannot use snippet because zip files are not supported |
| 8526 | (substitute* "Makefile" |
| 8527 | (("^CC = .*$") "CC = gcc") |
| 8528 | (("^CPP = .*$") "CPP = g++") |
| 8529 | ;; replace BUILD_HOST and BUILD_TIME for deterministic build |
| 8530 | (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"") |
| 8531 | (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")) |
| 8532 | (substitute* '("hisat-build" "hisat-inspect") |
| 8533 | (("/usr/bin/env") (which "env"))) |
| 8534 | ;; This "extended character" is not considered valid. |
| 8535 | (substitute* "processor_support.h" |
| 8536 | (("“") "\"") |
| 8537 | (("”") "\"")))) |
| 8538 | (replace 'install |
| 8539 | (lambda* (#:key outputs #:allow-other-keys) |
| 8540 | (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) |
| 8541 | (for-each (lambda (file) |
| 8542 | (install-file file bin)) |
| 8543 | (find-files |
| 8544 | "." |
| 8545 | "hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))))) |
| 8546 | (delete 'configure)))) |
| 8547 | (native-inputs |
| 8548 | (list gcc-10 unzip)) |
| 8549 | (inputs |
| 8550 | (list perl python zlib)) |
| 8551 | ;; Non-portable SSE instructions are used so building fails on platforms |
| 8552 | ;; other than x86_64. |
| 8553 | (supported-systems '("x86_64-linux")) |
| 8554 | (home-page "https://ccb.jhu.edu/software/hisat/index.shtml") |
| 8555 | (synopsis "Hierarchical indexing for spliced alignment of transcripts") |
| 8556 | (description |
| 8557 | "HISAT is a fast and sensitive spliced alignment program for mapping |
| 8558 | RNA-seq reads. In addition to one global FM index that represents a whole |
| 8559 | genome, HISAT uses a large set of small FM indexes that collectively cover the |
| 8560 | whole genome. These small indexes (called local indexes) combined with |
| 8561 | several alignment strategies enable effective alignment of RNA-seq reads, in |
| 8562 | particular, reads spanning multiple exons.") |
| 8563 | (license license:gpl3+))) |
| 8564 | |
| 8565 | (define-public hisat2 |
| 8566 | (package |
| 8567 | (name "hisat2") |
| 8568 | (version "2.2.3") |
| 8569 | (source |
| 8570 | (origin |
| 8571 | (method git-fetch) |
| 8572 | (uri (git-reference |
| 8573 | (url "https://github.com/DaehwanKimLab/hisat2/") |
| 8574 | (commit (string-append "v" version)))) |
| 8575 | (file-name (git-file-name name version)) |
| 8576 | (sha256 |
| 8577 | (base32 |
| 8578 | "03z7rdg0x0wzc3bzsf249jnj4m0ywy97vm5rc4pxsiwzsd0a7c1m")))) |
| 8579 | (build-system gnu-build-system) |
| 8580 | (arguments |
| 8581 | (list |
| 8582 | #:tests? #f ; no check target |
| 8583 | #:make-flags |
| 8584 | #~(list (string-append "CC=" #$(cc-for-target)) |
| 8585 | (string-append "CXX=" #$(cxx-for-target)) |
| 8586 | "allall") |
| 8587 | #:modules `((guix build gnu-build-system) |
| 8588 | (guix build utils) |
| 8589 | (srfi srfi-26)) |
| 8590 | #:phases |
| 8591 | #~(modify-phases %standard-phases |
| 8592 | (add-after 'unpack 'make-deterministic |
| 8593 | (lambda _ |
| 8594 | (substitute* "Makefile" |
| 8595 | (("`hostname`") "guix") |
| 8596 | (("`date`") "0")))) |
| 8597 | (delete 'configure) |
| 8598 | (add-before 'build 'build-manual |
| 8599 | (lambda _ |
| 8600 | (mkdir-p "doc") |
| 8601 | (invoke "make" "doc"))) |
| 8602 | (replace 'install |
| 8603 | (lambda _ |
| 8604 | (for-each |
| 8605 | (cute install-file <> (string-append #$output "/bin/")) |
| 8606 | (find-files "." |
| 8607 | "hisat2(-(build|align|inspect)(-(s|l)(-debug)*)*)*$")) |
| 8608 | (install-file "doc/manual.inc.html" |
| 8609 | (string-append #$output "/share/doc/hisat2/"))))))) |
| 8610 | (native-inputs |
| 8611 | (list perl pandoc)) ; for documentation |
| 8612 | (inputs |
| 8613 | (list python-wrapper)) |
| 8614 | (home-page "https://daehwankimlab.github.io/hisat2/") |
| 8615 | (synopsis "Graph-based alignment of genomic sequencing reads") |
| 8616 | (description "HISAT2 is a fast and sensitive alignment program for mapping |
| 8617 | next-generation sequencing reads (both DNA and RNA) to a population of human |
| 8618 | genomes (as well as to a single reference genome). In addition to using one |
| 8619 | global @dfn{graph FM} (GFM) index that represents a population of human |
| 8620 | genomes, HISAT2 uses a large set of small GFM indexes that collectively cover |
| 8621 | the whole genome. These small indexes, combined with several alignment |
| 8622 | strategies, enable rapid and accurate alignment of sequencing reads. This new |
| 8623 | indexing scheme is called a @dfn{Hierarchical Graph FM index} (HGFM).") |
| 8624 | ;; HISAT2 contains files from Bowtie2, which is released under |
| 8625 | ;; GPLv2 or later. The HISAT2 source files are released under |
| 8626 | ;; GPLv3 or later. |
| 8627 | (license license:gpl3+))) |
| 8628 | |
| 8629 | (define-public homer |
| 8630 | (package |
| 8631 | (name "homer") |
| 8632 | (version "4.11.1") |
| 8633 | (source |
| 8634 | (origin |
| 8635 | (method url-fetch/zipbomb) |
| 8636 | (uri (string-append "http://homer.ucsd.edu/homer/data/software/homer.v" |
| 8637 | version ".zip")) |
| 8638 | (sha256 |
| 8639 | (base32 |
| 8640 | "0ay802swzq6ix9d8fkinpplcvyc1xyi3cjmj2x08jab7c40cvlc0")))) |
| 8641 | (build-system gnu-build-system) |
| 8642 | (arguments |
| 8643 | (list |
| 8644 | #:phases |
| 8645 | #~(modify-phases %standard-phases |
| 8646 | (replace 'configure |
| 8647 | (lambda* (#:key inputs #:allow-other-keys) |
| 8648 | (let ((share (string-append #$output "/share/homer"))) |
| 8649 | (mkdir-p share) |
| 8650 | (copy-file (assoc-ref inputs "config.txt") |
| 8651 | (string-append share "/config.txt")) |
| 8652 | (substitute* "configureHomer.pl" |
| 8653 | (("my \\$homeDir = \\$1;") |
| 8654 | (string-append "my $homeDir = \"" share "\";")))))) |
| 8655 | (replace 'build |
| 8656 | (lambda _ |
| 8657 | (let ((share (string-append #$output "/share/homer"))) |
| 8658 | (copy-recursively "." share)) |
| 8659 | (invoke "perl" "configureHomer.pl" "-local"))) |
| 8660 | (replace 'check |
| 8661 | (lambda* (#:key tests? #:allow-other-keys) |
| 8662 | (when tests? |
| 8663 | (invoke (string-append #$output "/share/homer/bin/homer2"))))) |
| 8664 | (replace 'install |
| 8665 | (lambda _ |
| 8666 | (mkdir-p (string-append #$output "/bin")) |
| 8667 | (symlink (string-append #$output "/share/homer/bin/homer2") |
| 8668 | (string-append #$output "/bin/homer2")) |
| 8669 | (symlink (string-append #$output "/share/homer/bin/homer") |
| 8670 | (string-append #$output "/bin/homer")) |
| 8671 | (for-each patch-shebang |
| 8672 | (find-files (string-append #$output "/share/homer/bin") |
| 8673 | "\\.pl$")) |
| 8674 | ;; Also load config file from user's home directory. |
| 8675 | (substitute* (string-append #$output "/share/homer/bin/HomerConfig.pm") |
| 8676 | (("#parseConfigFile") "parseConfigFile"))))))) |
| 8677 | (inputs |
| 8678 | (list perl)) |
| 8679 | (native-inputs |
| 8680 | `(("perl" ,perl) |
| 8681 | ("unzip" ,unzip) |
| 8682 | ("config.txt" |
| 8683 | ,(origin |
| 8684 | (method url-fetch) |
| 8685 | (uri (string-append "https://web.archive.org/web/20200531014112id_/" |
| 8686 | "http://homer.ucsd.edu/homer/update.txt")) |
| 8687 | (sha256 |
| 8688 | (base32 |
| 8689 | "1hf17pk8r6b297ysd27bvxzyn8pxdhxd8wj8g0lqlifbid9fw04h")))))) |
| 8690 | (home-page "http://homer.ucsd.edu/homer") |
| 8691 | (synopsis "Motif discovery and next generation sequencing analysis") |
| 8692 | (description |
| 8693 | "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of |
| 8694 | tools for Motif Discovery and next-gen sequencing analysis. It is a |
| 8695 | collection of command line programs written in Perl and C++. HOMER was |
| 8696 | primarily written as a de novo motif discovery algorithm and is well suited |
| 8697 | for finding 8-20 bp motifs in large scale genomics data. HOMER contains many |
| 8698 | useful tools for analyzing ChIP-Seq, GRO-Seq, RNA-Seq, DNase-Seq, Hi-C and |
| 8699 | numerous other types of functional genomics sequencing data sets.") |
| 8700 | (license license:gpl3+))) |
| 8701 | |
| 8702 | (define-public hmmer |
| 8703 | (package |
| 8704 | (name "hmmer") |
| 8705 | (version "3.3.2") |
| 8706 | (source |
| 8707 | (origin |
| 8708 | (method url-fetch) |
| 8709 | (uri (string-append |
| 8710 | "http://eddylab.org/software/hmmer/hmmer-" version ".tar.gz")) |
| 8711 | (sha256 |
| 8712 | (base32 |
| 8713 | "0s9wf6n0qanbx8qs6igfl3vyjikwbrvh4d9d6mv54yp3xysykzlj")))) |
| 8714 | (build-system gnu-build-system) |
| 8715 | (native-inputs (list perl python)) ; for tests |
| 8716 | (home-page "http://hmmer.org/") |
| 8717 | (synopsis "Biosequence analysis using profile hidden Markov models") |
| 8718 | (description |
| 8719 | "HMMER is used for searching sequence databases for homologs of protein |
| 8720 | sequences, and for making protein sequence alignments. It implements methods |
| 8721 | using probabilistic models called profile hidden Markov models (profile |
| 8722 | HMMs).") |
| 8723 | ;; hmmer uses non-portable SSE intrinsics so building fails on other |
| 8724 | ;; platforms. |
| 8725 | (supported-systems '("x86_64-linux" "i686-linux")) |
| 8726 | (license license:bsd-3))) |
| 8727 | |
| 8728 | (define-public htseq |
| 8729 | (package |
| 8730 | (name "htseq") |
| 8731 | (version "2.0.9") |
| 8732 | (source (origin |
| 8733 | (method git-fetch) |
| 8734 | (uri (git-reference |
| 8735 | (url "https://github.com/htseq/htseq") |
| 8736 | (commit (string-append "release_" version)))) |
| 8737 | (file-name (git-file-name name version)) |
| 8738 | (sha256 |
| 8739 | (base32 |
| 8740 | "1wyv5aqdx1i48i01xnav1cvv5zjv9n4nxplcgplwzxz9pxiw3kcb")))) |
| 8741 | (build-system pyproject-build-system) |
| 8742 | (propagated-inputs |
| 8743 | (list python-numpy |
| 8744 | python-pysam)) |
| 8745 | (native-inputs |
| 8746 | (list python-cython |
| 8747 | python-matplotlib |
| 8748 | python-pandas |
| 8749 | python-pytest |
| 8750 | python-scipy |
| 8751 | python-setuptools |
| 8752 | swig-4.0)) |
| 8753 | (home-page "https://github.com/htseq") |
| 8754 | (synopsis "Framework for analyzing high-throughput sequencing data") |
| 8755 | (description |
| 8756 | "This package provides a framework to process and analyze data from |
| 8757 | high-throughput sequencing (HTS) assays") |
| 8758 | (license license:gpl3+))) |
| 8759 | |
| 8760 | (define-public python-genomepy |
| 8761 | (package |
| 8762 | (name "python-genomepy") |
| 8763 | (version "0.16.3") |
| 8764 | (source |
| 8765 | (origin |
| 8766 | (method git-fetch) |
| 8767 | (uri (git-reference |
| 8768 | (url "https://github.com/vanheeringen-lab/genomepy") |
| 8769 | (commit version))) |
| 8770 | (file-name (git-file-name name version)) |
| 8771 | (sha256 |
| 8772 | (base32 "0bsvsvid6vl54qck3iwylfcyxc8v7xy0klwv7558zl6yckw3i4p0")))) |
| 8773 | (build-system pyproject-build-system) |
| 8774 | (arguments |
| 8775 | (list |
| 8776 | ;; The tests require internet access. |
| 8777 | #:tests? #false |
| 8778 | #:phases |
| 8779 | '(modify-phases %standard-phases |
| 8780 | ;; Needed by tests |
| 8781 | (add-after 'unpack 'set-HOME |
| 8782 | (lambda _ (setenv "HOME" "/tmp")))))) |
| 8783 | (propagated-inputs (list mysql-connector-python |
| 8784 | python-appdirs |
| 8785 | python-biopython |
| 8786 | python-click |
| 8787 | python-colorama |
| 8788 | python-diskcache |
| 8789 | python-filelock |
| 8790 | python-loguru |
| 8791 | python-mygene |
| 8792 | python-norns |
| 8793 | python-numpy |
| 8794 | python-pandas |
| 8795 | python-pyfaidx |
| 8796 | python-requests |
| 8797 | python-tqdm)) |
| 8798 | (native-inputs (list python-hatchling)) |
| 8799 | (home-page "https://vanheeringen-lab.github.io/genomepy/") |
| 8800 | (synopsis "Genes and genomes at your fingertips") |
| 8801 | (description "genomepy is designed to provide a simple and straightforward |
| 8802 | way to download and use genomic data. This includes |
| 8803 | |
| 8804 | @enumerate |
| 8805 | @item searching available data, |
| 8806 | @item showing the available metadata, |
| 8807 | @item automatically downloading, preprocessing and matching data, and |
| 8808 | @item generating optional aligner indexes. |
| 8809 | @end enumerate |
| 8810 | |
| 8811 | All with sensible, yet controllable defaults.") |
| 8812 | (license license:expat))) |
| 8813 | |
| 8814 | (define-public java-htsjdk |
| 8815 | (package |
| 8816 | (name "java-htsjdk") |
| 8817 | (version "2.3.0") ; last version without build dependency on gradle |
| 8818 | (source (origin |
| 8819 | (method git-fetch) |
| 8820 | (uri (git-reference |
| 8821 | (url "https://github.com/samtools/htsjdk") |
| 8822 | (commit version))) |
| 8823 | (file-name (git-file-name name version)) |
| 8824 | (sha256 |
| 8825 | (base32 |
| 8826 | "1b178ixcabanm834ydjl3jiakpyxdmki32hqfv2abrzn3rcwa28i")) |
| 8827 | (modules '((guix build utils))) |
| 8828 | (snippet |
| 8829 | ;; Delete pre-built binaries |
| 8830 | '(begin |
| 8831 | (delete-file-recursively "lib") |
| 8832 | (mkdir-p "lib") |
| 8833 | #t)))) |
| 8834 | (build-system ant-build-system) |
| 8835 | (arguments |
| 8836 | (list |
| 8837 | #:tests? #f ; test require Internet access |
| 8838 | #:jdk icedtea-8 |
| 8839 | #:make-flags |
| 8840 | #~(list (string-append "-Ddist=" #$output "/share/java/htsjdk/")) |
| 8841 | #:build-target "all" |
| 8842 | #:phases |
| 8843 | #~(modify-phases %standard-phases |
| 8844 | ;; The build phase also installs the jars |
| 8845 | (delete 'install)))) |
| 8846 | (inputs |
| 8847 | (list java-commons-compress |
| 8848 | java-commons-jexl-2 |
| 8849 | java-commons-logging-minimal |
| 8850 | java-ngs |
| 8851 | java-snappy-1 |
| 8852 | java-xz)) |
| 8853 | (native-inputs |
| 8854 | (list java-testng)) |
| 8855 | (home-page "https://samtools.github.io/htsjdk/") |
| 8856 | (synopsis "Java API for high-throughput sequencing data (HTS) formats") |
| 8857 | (description |
| 8858 | "HTSJDK is an implementation of a unified Java library for accessing |
| 8859 | common file formats, such as SAM and VCF, used for high-throughput |
| 8860 | sequencing (HTS) data. There are also an number of useful utilities for |
| 8861 | manipulating HTS data.") |
| 8862 | (license license:expat))) |
| 8863 | |
| 8864 | (define-public java-htsjdk-latest |
| 8865 | (package |
| 8866 | (name "java-htsjdk") |
| 8867 | (version "2.14.3") |
| 8868 | (source (origin |
| 8869 | (method git-fetch) |
| 8870 | (uri (git-reference |
| 8871 | (url "https://github.com/samtools/htsjdk") |
| 8872 | (commit version))) |
| 8873 | (file-name (string-append name "-" version "-checkout")) |
| 8874 | (sha256 |
| 8875 | (base32 |
| 8876 | "1lmya1fdjy03mz6zmdmd86j9v9vfhqb3952mqq075navx1i6g4bc")))) |
| 8877 | (build-system ant-build-system) |
| 8878 | (arguments |
| 8879 | (list |
| 8880 | #:tests? #f ; test require Scala |
| 8881 | #:jdk icedtea-8 |
| 8882 | #:jar-name "htsjdk.jar" |
| 8883 | #:phases |
| 8884 | #~(modify-phases %standard-phases |
| 8885 | (add-after 'unpack 'remove-useless-build.xml |
| 8886 | (lambda _ |
| 8887 | (delete-file "build.xml"))) |
| 8888 | ;; The tests require the scalatest package. |
| 8889 | (add-after 'unpack 'remove-tests |
| 8890 | (lambda _ |
| 8891 | (delete-file-recursively "src/test")))))) |
| 8892 | (inputs |
| 8893 | (list java-commons-compress |
| 8894 | java-commons-jexl-2 |
| 8895 | java-commons-logging-minimal |
| 8896 | java-ngs |
| 8897 | java-snappy-1 |
| 8898 | java-xz)) |
| 8899 | (native-inputs |
| 8900 | (list java-junit)) |
| 8901 | (home-page "https://samtools.github.io/htsjdk/") |
| 8902 | (synopsis "Java API for high-throughput sequencing data (HTS) formats") |
| 8903 | (description |
| 8904 | "HTSJDK is an implementation of a unified Java library for accessing |
| 8905 | common file formats, such as SAM and VCF, used for high-throughput |
| 8906 | sequencing (HTS) data. There are also an number of useful utilities for |
| 8907 | manipulating HTS data.") |
| 8908 | (license license:expat))) |
| 8909 | |
| 8910 | ;; This is needed for picard 2.10.3 |
| 8911 | (define-public java-htsjdk-2.10.1 |
| 8912 | (package (inherit java-htsjdk-latest) |
| 8913 | (name "java-htsjdk") |
| 8914 | (version "2.10.1") |
| 8915 | (source (origin |
| 8916 | (method git-fetch) |
| 8917 | (uri (git-reference |
| 8918 | (url "https://github.com/samtools/htsjdk") |
| 8919 | (commit version))) |
| 8920 | (file-name (string-append name "-" version "-checkout")) |
| 8921 | (sha256 |
| 8922 | (base32 |
| 8923 | "1kxh7slm2pm3x9p6jxa1wqsq9a31dhiiflhxnxqcisan4k3rwia2")))) |
| 8924 | (build-system ant-build-system) |
| 8925 | (arguments |
| 8926 | (list |
| 8927 | #:tests? #f ; tests require Scala |
| 8928 | #:jdk icedtea-8 |
| 8929 | #:jar-name "htsjdk.jar" |
| 8930 | #:phases |
| 8931 | #~(modify-phases %standard-phases |
| 8932 | (add-after 'unpack 'remove-useless-build.xml |
| 8933 | (lambda _ (delete-file "build.xml"))) |
| 8934 | ;; The tests require the scalatest package. |
| 8935 | (add-after 'unpack 'remove-tests |
| 8936 | (lambda _ (delete-file-recursively "src/test")))))))) |
| 8937 | |
| 8938 | (define-public java-maxent |
| 8939 | (package |
| 8940 | (name "java-maxent") |
| 8941 | (version "3.4.4") |
| 8942 | (source (origin |
| 8943 | (method git-fetch) |
| 8944 | (uri (git-reference |
| 8945 | (url "https://github.com/mrmaxent/Maxent") |
| 8946 | (commit (string-append "v" version)))) |
| 8947 | (file-name (git-file-name name version)) |
| 8948 | (sha256 |
| 8949 | (base32 |
| 8950 | "12q7hhly76l77vm8w8v9icga2gn6xs0bw33a7wb7zikcmvizcyp0")))) |
| 8951 | (build-system ant-build-system) |
| 8952 | (arguments |
| 8953 | (list |
| 8954 | #:tests? #false ;there are none |
| 8955 | #:jdk icedtea-8 |
| 8956 | #:phases |
| 8957 | #~(modify-phases %standard-phases |
| 8958 | (replace 'build |
| 8959 | (lambda* (#:key inputs #:allow-other-keys) |
| 8960 | ;; See https://github.com/mrmaxent/Maxent/pull/11 |
| 8961 | (substitute* "density/Extractor.java" |
| 8962 | (("float") "double")) |
| 8963 | (with-directory-excursion "gnu/getopt/" |
| 8964 | (invoke "make")) |
| 8965 | (mkdir-p "ptii") |
| 8966 | (with-directory-excursion "ptii" |
| 8967 | (invoke "tar" "xvf" (assoc-ref inputs "ptii") |
| 8968 | "--strip-components=1") |
| 8969 | (copy-recursively "com" "../com")) |
| 8970 | (delete-file-recursively "ptii") |
| 8971 | (apply invoke "javac" "-cp" (getcwd) "-g" |
| 8972 | (find-files "com/microstar/xml" "\\.java$")) |
| 8973 | (apply invoke "javac" "-cp" (getcwd) "-g" |
| 8974 | (find-files "density" "\\.java$")) |
| 8975 | |
| 8976 | ;; This needs the proprietary com.sun.image.codec.jpeg module. |
| 8977 | (delete-file "ptolemy/plot/servlet/PlotServlet.java") |
| 8978 | (apply invoke "javac" "-cp" |
| 8979 | (string-append (getcwd) ":" (getenv "CLASSPATH")) "-g" |
| 8980 | (find-files "ptolemy/plot" "\\.java$")) |
| 8981 | (apply invoke "javac" "-cp" (getcwd) "-g" |
| 8982 | (find-files "com" "\\.java$")) |
| 8983 | (apply invoke "javac" "-cp" (getcwd) "-g" |
| 8984 | (find-files "gui" "\\.java$")) |
| 8985 | (apply invoke "jar" "cvfm" "maxent.jar" |
| 8986 | (cons* "density/mc.mf" |
| 8987 | "density/parameters.csv" |
| 8988 | (append (find-files "density" "\\.class$") |
| 8989 | (find-files "density" "\\.html$") |
| 8990 | (find-files "gnu/getopt" ".*") |
| 8991 | (find-files "gui/layouts" "\\.class$") |
| 8992 | (find-files "com/macfaq/io" "\\.class$") |
| 8993 | (find-files "density/tools" "\\.class$") |
| 8994 | (find-files "ptolemy/plot" "\\.class$")))))) |
| 8995 | (replace 'install |
| 8996 | (lambda _ |
| 8997 | (install-file "maxent.jar" |
| 8998 | (string-append #$output "/share/java/maxent/"))))))) |
| 8999 | (inputs |
| 9000 | (list java-classpathx-servletapi)) |
| 9001 | (native-inputs |
| 9002 | `(("make" ,gnu-make) |
| 9003 | ;; For com.microstar.xml |
| 9004 | ("ptii" |
| 9005 | ,(let ((version "4.0.1")) |
| 9006 | (origin |
| 9007 | (method url-fetch) |
| 9008 | (uri (string-append "https://ptolemy.berkeley.edu/ptolemyII/ptII" |
| 9009 | (version-major+minor version) |
| 9010 | "/ptII" version ".src.tar.gz")) |
| 9011 | (sha256 |
| 9012 | (base32 |
| 9013 | "0ifmmvrcipcnd4b9im1g379ffrs7g7k99sw5vv9d9h3hzq6hqv21"))))))) |
| 9014 | (home-page "http://biodiversityinformatics.amnh.org/open_source/maxent") |
| 9015 | (synopsis "Model species geographic distributions") |
| 9016 | (description |
| 9017 | "Maxent is a stand-alone Java application for modelling species |
| 9018 | geographic distributions.") |
| 9019 | (license license:expat))) |
| 9020 | |
| 9021 | ;; This version matches java-htsjdk 2.3.0. Later versions also require a more |
| 9022 | ;; recent version of java-htsjdk, which depends on gradle. |
| 9023 | (define-public java-picard |
| 9024 | (package |
| 9025 | (name "java-picard") |
| 9026 | (version "2.3.0") |
| 9027 | (source (origin |
| 9028 | (method git-fetch) |
| 9029 | (uri (git-reference |
| 9030 | (url "https://github.com/broadinstitute/picard") |
| 9031 | (commit version))) |
| 9032 | (file-name (string-append "java-picard-" version "-checkout")) |
| 9033 | (sha256 |
| 9034 | (base32 |
| 9035 | "1ll7mf4r3by92w2nhlmpa591xd1f46xlkwh59mq6fvbb5pdwzvx6")) |
| 9036 | (modules '((guix build utils))) |
| 9037 | (snippet |
| 9038 | '(begin |
| 9039 | ;; Delete pre-built binaries. |
| 9040 | (delete-file-recursively "lib") |
| 9041 | (mkdir-p "lib") |
| 9042 | (substitute* "build.xml" |
| 9043 | ;; Remove build-time dependency on git. |
| 9044 | (("failifexecutionfails=\"true\"") |
| 9045 | "failifexecutionfails=\"false\"") |
| 9046 | ;; Use our htsjdk. |
| 9047 | (("depends=\"compile-htsjdk, ") |
| 9048 | "depends=\"") |
| 9049 | (("depends=\"compile-htsjdk-tests, ") |
| 9050 | "depends=\"") |
| 9051 | ;; Build picard-lib.jar before building picard.jar |
| 9052 | (("name=\"picard-jar\" depends=\"" line) |
| 9053 | (string-append line "picard-lib-jar, "))) |
| 9054 | #t)))) |
| 9055 | (build-system ant-build-system) |
| 9056 | (arguments |
| 9057 | `(#:build-target "picard-jar" |
| 9058 | #:test-target "test" |
| 9059 | ;; Tests require jacoco:coverage. |
| 9060 | #:tests? #f |
| 9061 | #:make-flags |
| 9062 | ,#~(list (string-append "-Dhtsjdk_lib_dir=" |
| 9063 | #$(this-package-input "java-htsjdk") |
| 9064 | "/share/java/htsjdk/") |
| 9065 | "-Dhtsjdk-classes=dist/tmp" |
| 9066 | (string-append "-Dhtsjdk-version=" |
| 9067 | #$(package-version java-htsjdk))) |
| 9068 | #:jdk ,icedtea-8 |
| 9069 | #:phases |
| 9070 | (modify-phases %standard-phases |
| 9071 | ;; FIXME: this phase fails with "duplicate entry: htsjdk/samtools/AbstractBAMFileIndex$1.class" |
| 9072 | (delete 'generate-jar-indices) |
| 9073 | (add-after 'unpack 'fix-guava |
| 9074 | (lambda _ |
| 9075 | (substitute* "src/java/picard/cmdline/CommandLineParser.java" |
| 9076 | (("CharMatcher.ASCII") "CharMatcher.ascii()")))) |
| 9077 | (add-after 'unpack 'use-our-htsjdk |
| 9078 | (lambda* (#:key inputs #:allow-other-keys) |
| 9079 | (substitute* "build.xml" |
| 9080 | (("\\$\\{htsjdk\\}/lib") |
| 9081 | (search-input-directory inputs |
| 9082 | "share/java/htsjdk"))))) |
| 9083 | (add-after 'unpack 'make-test-target-independent |
| 9084 | (lambda* (#:key inputs #:allow-other-keys) |
| 9085 | (substitute* "build.xml" |
| 9086 | (("name=\"test\" depends=\"compile, ") |
| 9087 | "name=\"test\" depends=\"")) |
| 9088 | #t)) |
| 9089 | (replace 'install (install-jars "dist"))))) |
| 9090 | (inputs |
| 9091 | (list java-htsjdk java-guava)) |
| 9092 | (native-inputs |
| 9093 | (list java-testng)) |
| 9094 | (home-page "https://broadinstitute.github.io/picard/") |
| 9095 | (synopsis "Tools for manipulating high-throughput sequencing data and formats") |
| 9096 | (description "Picard is a set of Java command line tools for manipulating |
| 9097 | high-throughput sequencing (HTS) data and formats. Picard is implemented |
| 9098 | using the HTSJDK Java library to support accessing file formats that are |
| 9099 | commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and |
| 9100 | VCF.") |
| 9101 | (license license:expat))) |
| 9102 | |
| 9103 | ;; This is needed for dropseq-tools |
| 9104 | (define-public java-picard-2.10.3 |
| 9105 | (package |
| 9106 | (name "java-picard") |
| 9107 | (version "2.10.3") |
| 9108 | (source (origin |
| 9109 | (method git-fetch) |
| 9110 | (uri (git-reference |
| 9111 | (url "https://github.com/broadinstitute/picard") |
| 9112 | (commit version))) |
| 9113 | (file-name (string-append "java-picard-" version "-checkout")) |
| 9114 | (sha256 |
| 9115 | (base32 |
| 9116 | "1ajlx31l6i1k3y2rhnmgq07sz99g2czqfqgkr9mihmdjp3gwjhvi")))) |
| 9117 | (build-system ant-build-system) |
| 9118 | (arguments |
| 9119 | `(#:jar-name "picard.jar" |
| 9120 | ;; Tests require jacoco:coverage. |
| 9121 | #:tests? #f |
| 9122 | #:jdk ,icedtea-8 |
| 9123 | #:main-class "picard.cmdline.PicardCommandLine" |
| 9124 | #:modules ((guix build ant-build-system) |
| 9125 | (guix build utils) |
| 9126 | (guix build java-utils) |
| 9127 | (sxml simple) |
| 9128 | (sxml transform) |
| 9129 | (sxml xpath)) |
| 9130 | #:phases |
| 9131 | (modify-phases %standard-phases |
| 9132 | ;; FIXME: this phase fails with "duplicate entry: htsjdk/samtools/AbstractBAMFileIndex$1.class" |
| 9133 | (delete 'generate-jar-indices) |
| 9134 | (add-after 'unpack 'remove-useless-build.xml |
| 9135 | (lambda _ (delete-file "build.xml") #t)) |
| 9136 | (add-after 'unpack 'fix-guava |
| 9137 | (lambda _ |
| 9138 | (substitute* "src/main/java/picard/cmdline/CommandLineParser.java" |
| 9139 | (("CharMatcher.ASCII") "CharMatcher.ascii()")))) |
| 9140 | ;; This is necessary to ensure that htsjdk is found when using |
| 9141 | ;; picard.jar as an executable. |
| 9142 | (add-before 'build 'edit-classpath-in-manifest |
| 9143 | (lambda* (#:key inputs #:allow-other-keys) |
| 9144 | (chmod "build.xml" #o664) |
| 9145 | (call-with-output-file "build.xml.new" |
| 9146 | (lambda (port) |
| 9147 | (sxml->xml |
| 9148 | (pre-post-order |
| 9149 | (with-input-from-file "build.xml" |
| 9150 | (lambda _ (xml->sxml #:trim-whitespace? #t))) |
| 9151 | `((target . ,(lambda (tag . kids) |
| 9152 | (let ((name ((sxpath '(name *text*)) |
| 9153 | (car kids))) |
| 9154 | ;; FIXME: We're breaking the line |
| 9155 | ;; early with a dummy path to |
| 9156 | ;; ensure that the store reference |
| 9157 | ;; isn't broken apart and can still |
| 9158 | ;; be found by the reference |
| 9159 | ;; scanner. |
| 9160 | (msg (format #f |
| 9161 | "\ |
| 9162 | Class-Path: /~a \ |
| 9163 | ~a/share/java/htsjdk.jar${line.separator}${line.separator}" |
| 9164 | ;; maximum line length is 70 |
| 9165 | (string-tabulate (const #\b) 57) |
| 9166 | (assoc-ref inputs "java-htsjdk")))) |
| 9167 | (if (member "manifest" name) |
| 9168 | `(,tag ,@kids |
| 9169 | (replaceregexp |
| 9170 | (@ (file "${manifest.file}") |
| 9171 | (match "\\r\\n\\r\\n") |
| 9172 | (replace "${line.separator}"))) |
| 9173 | (echo |
| 9174 | (@ (message ,msg) |
| 9175 | (file "${manifest.file}") |
| 9176 | (append "true")))) |
| 9177 | `(,tag ,@kids))))) |
| 9178 | (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) |
| 9179 | (*text* . ,(lambda (_ txt) txt)))) |
| 9180 | port))) |
| 9181 | (rename-file "build.xml.new" "build.xml") |
| 9182 | #t))))) |
| 9183 | (propagated-inputs |
| 9184 | (list java-htsjdk-2.10.1)) |
| 9185 | (native-inputs |
| 9186 | (list java-testng java-guava)) |
| 9187 | (home-page "https://broadinstitute.github.io/picard/") |
| 9188 | (synopsis "Tools for manipulating high-throughput sequencing data and formats") |
| 9189 | (description "Picard is a set of Java command line tools for manipulating |
| 9190 | high-throughput sequencing (HTS) data and formats. Picard is implemented |
| 9191 | using the HTSJDK Java library to support accessing file formats that are |
| 9192 | commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and |
| 9193 | VCF.") |
| 9194 | (license license:expat))) |
| 9195 | |
| 9196 | ;; This is the last version of Picard to provide net.sf.samtools |
| 9197 | (define-public java-picard-1.113 |
| 9198 | (package (inherit java-picard) |
| 9199 | (name "java-picard") |
| 9200 | (version "1.113") |
| 9201 | (source (origin |
| 9202 | (method git-fetch) |
| 9203 | (uri (git-reference |
| 9204 | (url "https://github.com/broadinstitute/picard") |
| 9205 | (commit version))) |
| 9206 | (file-name (string-append "java-picard-" version "-checkout")) |
| 9207 | (sha256 |
| 9208 | (base32 |
| 9209 | "0lkpvin2fz3hhly4l02kk56fqy8lmlgyzr9kmvljk6ry6l1hw973")) |
| 9210 | (modules '((guix build utils))) |
| 9211 | (snippet |
| 9212 | '(begin |
| 9213 | ;; Delete pre-built binaries. |
| 9214 | (delete-file-recursively "lib") |
| 9215 | (mkdir-p "lib"))))) |
| 9216 | (build-system ant-build-system) |
| 9217 | (arguments |
| 9218 | `(#:build-target "picard-jar" |
| 9219 | #:test-target "test" |
| 9220 | ;; FIXME: the class path at test time is wrong. |
| 9221 | ;; [testng] Error: A JNI error has occurred, please check your installation and try again |
| 9222 | ;; [testng] Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException |
| 9223 | #:tests? #f |
| 9224 | #:jdk ,icedtea-8 |
| 9225 | #:ant ,ant/java8 |
| 9226 | ;; This is only used for tests. |
| 9227 | #:make-flags |
| 9228 | (list "-Dsamjdk.intel_deflater_so_path=lib/jni/libIntelDeflater.so") |
| 9229 | #:phases |
| 9230 | (modify-phases %standard-phases |
| 9231 | ;; FIXME: This phase fails. |
| 9232 | (delete 'generate-jar-indices) |
| 9233 | ;; Do not use bundled ant bzip2. |
| 9234 | (add-after 'unpack 'use-ant-bzip |
| 9235 | (lambda* (#:key inputs #:allow-other-keys) |
| 9236 | (substitute* "build.xml" |
| 9237 | (("\\$\\{lib\\}/apache-ant-1.8.2-bzip2.jar") |
| 9238 | (search-input-file inputs "/lib/ant.jar"))))) |
| 9239 | (add-after 'unpack 'make-test-target-independent |
| 9240 | (lambda* (#:key inputs #:allow-other-keys) |
| 9241 | (substitute* "build.xml" |
| 9242 | (("name=\"test\" depends=\"compile, ") |
| 9243 | "name=\"test\" depends=\"compile-tests, ") |
| 9244 | (("name=\"compile\" depends=\"compile-src, compile-tests\"") |
| 9245 | "name=\"compile\" depends=\"compile-src\"")))) |
| 9246 | (add-after 'unpack 'fix-deflater-path |
| 9247 | (lambda* (#:key outputs #:allow-other-keys) |
| 9248 | (substitute* "src/java/net/sf/samtools/Defaults.java" |
| 9249 | (("getStringProperty\\(\"intel_deflater_so_path\", null\\)") |
| 9250 | (string-append "getStringProperty(\"intel_deflater_so_path\", \"" |
| 9251 | (assoc-ref outputs "out") |
| 9252 | "/lib/jni/libIntelDeflater.so" |
| 9253 | "\")"))))) |
| 9254 | ;; Build the deflater library, because we've previously deleted the |
| 9255 | ;; pre-built one. This can only be built with access to the JDK |
| 9256 | ;; sources. |
| 9257 | (add-after 'build 'build-jni |
| 9258 | (lambda* (#:key inputs #:allow-other-keys) |
| 9259 | (mkdir-p "lib/jni") |
| 9260 | (mkdir-p "jdk-src") |
| 9261 | (invoke "tar" "--strip-components=1" "-C" "jdk-src" |
| 9262 | "-xf" (assoc-ref inputs "jdk-src")) |
| 9263 | (invoke "javah" "-jni" |
| 9264 | "-classpath" "classes" |
| 9265 | "-d" "lib/" |
| 9266 | "net.sf.samtools.util.zip.IntelDeflater") |
| 9267 | (with-directory-excursion "src/c/inteldeflater" |
| 9268 | (invoke "gcc" "-I../../../lib" "-I." |
| 9269 | (string-append "-I" (assoc-ref inputs "jdk") |
| 9270 | "/include/linux") |
| 9271 | "-I../../../jdk-src/src/share/native/common/" |
| 9272 | "-I../../../jdk-src/src/solaris/native/common/" |
| 9273 | "-c" "-O3" "-fPIC" "IntelDeflater.c") |
| 9274 | (invoke "gcc" "-shared" |
| 9275 | "-o" "../../../lib/jni/libIntelDeflater.so" |
| 9276 | "IntelDeflater.o" "-lz" "-lstdc++")))) |
| 9277 | ;; We can only build everything else after building the JNI library. |
| 9278 | (add-after 'build-jni 'build-rest |
| 9279 | (lambda* (#:key make-flags #:allow-other-keys) |
| 9280 | (apply invoke `("ant" "all" ,@make-flags)))) |
| 9281 | (add-before 'build 'set-JAVA6_HOME |
| 9282 | (lambda _ |
| 9283 | (setenv "JAVA6_HOME" (getenv "JAVA_HOME")))) |
| 9284 | (replace 'install (install-jars "dist")) |
| 9285 | (add-after 'install 'install-jni-lib |
| 9286 | (lambda* (#:key outputs #:allow-other-keys) |
| 9287 | (let ((jni (string-append (assoc-ref outputs "out") |
| 9288 | "/lib/jni"))) |
| 9289 | (mkdir-p jni) |
| 9290 | (install-file "lib/jni/libIntelDeflater.so" jni))))))) |
| 9291 | (inputs |
| 9292 | (list java-snappy-1 |
| 9293 | java-commons-jexl-2 |
| 9294 | java-cofoja |
| 9295 | ant/java8 ;for bzip2 support at runtime |
| 9296 | zlib)) |
| 9297 | (native-inputs |
| 9298 | `(("ant-apache-bcel" ,ant-apache-bcel) |
| 9299 | ("ant-junit" ,ant-junit) |
| 9300 | ("java-testng" ,java-testng) |
| 9301 | ("java-commons-bcel" ,java-commons-bcel) |
| 9302 | ("java-jcommander" ,java-jcommander) |
| 9303 | ("jdk" ,icedtea-8 "jdk") |
| 9304 | ("jdk-src" ,(car (assoc-ref (package-native-inputs icedtea-8) "jdk-drop"))))))) |
| 9305 | |
| 9306 | (define-public fastqc |
| 9307 | (package |
| 9308 | (name "fastqc") |
| 9309 | (version "0.11.9") |
| 9310 | (source |
| 9311 | (origin |
| 9312 | (method git-fetch) |
| 9313 | (uri (git-reference |
| 9314 | (url "https://github.com/s-andrews/FastQC") |
| 9315 | (commit (string-append "v" version)))) |
| 9316 | (file-name (git-file-name name version)) |
| 9317 | (sha256 |
| 9318 | (base32 |
| 9319 | "00y9drm0bkpxw8xfl8ysss18jmnhj8blgqgr6fpa58rkpfcbg8qk")) |
| 9320 | (snippet |
| 9321 | '(for-each delete-file |
| 9322 | '("cisd-jhdf5.jar" |
| 9323 | "sam-1.103.jar" |
| 9324 | "jbzip2-0.9.jar"))))) |
| 9325 | (build-system ant-build-system) |
| 9326 | (arguments |
| 9327 | (list |
| 9328 | #:tests? #f ;there are no tests |
| 9329 | #:build-target "build" |
| 9330 | #:phases |
| 9331 | #~(modify-phases %standard-phases |
| 9332 | (add-after 'unpack 'fix-dependencies |
| 9333 | (lambda* (#:key inputs #:allow-other-keys) |
| 9334 | (substitute* '("build.xml" ".classpath") |
| 9335 | (("jbzip2-0.9.jar") |
| 9336 | (search-input-file inputs "/share/java/jbzip2.jar")) |
| 9337 | (("sam-1.103.jar") |
| 9338 | (search-input-file inputs "/share/java/sam-1.112.jar")) |
| 9339 | (("cisd-jhdf5.jar") |
| 9340 | (search-input-file inputs "/share/java/sis-jhdf5.jar"))))) |
| 9341 | ;; There is no installation target |
| 9342 | (replace 'install |
| 9343 | (lambda* (#:key inputs #:allow-other-keys) |
| 9344 | (let* ((bin (string-append #$output "/bin")) |
| 9345 | (share (string-append #$output "/share/fastqc/")) |
| 9346 | (exe (string-append share "/fastqc"))) |
| 9347 | (for-each mkdir-p (list bin share)) |
| 9348 | (copy-recursively "bin" share) |
| 9349 | (substitute* exe |
| 9350 | (("my \\$java_bin = \"java\";") |
| 9351 | (string-append "my $java_bin = \"" |
| 9352 | ;; Use java from the JRE, not the JDK |
| 9353 | #$(this-package-input "icedtea") "/bin/java" |
| 9354 | "\";")) |
| 9355 | (("\\$RealBin\\$delimiter\\$RealBin.*") |
| 9356 | (string-append |
| 9357 | (string-join |
| 9358 | (list |
| 9359 | share |
| 9360 | (search-input-file inputs "/share/java/sam-1.112.jar") |
| 9361 | (search-input-file inputs "/share/java/jbzip2.jar") |
| 9362 | (search-input-file inputs "/share/java/sis-jhdf5.jar")) |
| 9363 | "$delimiter") |
| 9364 | "\";\n"))) |
| 9365 | (chmod exe #o555) |
| 9366 | (symlink exe (string-append bin "/fastqc")))))))) |
| 9367 | (inputs |
| 9368 | (list icedtea |
| 9369 | java-cisd-jhdf5 |
| 9370 | java-picard-1.113 |
| 9371 | java-jbzip2 |
| 9372 | perl)) ;needed for the wrapper script |
| 9373 | (native-inputs |
| 9374 | (list unzip)) |
| 9375 | (home-page "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/") |
| 9376 | (synopsis "Quality control tool for high throughput sequence data") |
| 9377 | (description |
| 9378 | "FastQC aims to provide a simple way to do some quality control |
| 9379 | checks on raw sequence data coming from high throughput sequencing |
| 9380 | pipelines. It provides a modular set of analyses which you can use to |
| 9381 | give a quick impression of whether your data has any problems of which |
| 9382 | you should be aware before doing any further analysis. |
| 9383 | |
| 9384 | The main functions of FastQC are: |
| 9385 | |
| 9386 | @itemize |
| 9387 | @item Import of data from BAM, SAM or FastQ files (any variant); |
| 9388 | @item Providing a quick overview to tell you in which areas there may |
| 9389 | be problems; |
| 9390 | @item Summary graphs and tables to quickly assess your data; |
| 9391 | @item Export of results to an HTML based permanent report; |
| 9392 | @item Offline operation to allow automated generation of reports |
| 9393 | without running the interactive application. |
| 9394 | @end itemize\n") |
| 9395 | (license license:gpl3+))) |
| 9396 | |
| 9397 | (define-public fastp |
| 9398 | (package |
| 9399 | (name "fastp") |
| 9400 | (version "0.23.2") |
| 9401 | (source |
| 9402 | (origin |
| 9403 | (method git-fetch) |
| 9404 | (uri (git-reference |
| 9405 | (url "https://github.com/OpenGene/fastp") |
| 9406 | (commit (string-append "v" version)))) |
| 9407 | (file-name (git-file-name name version)) |
| 9408 | (sha256 |
| 9409 | (base32 |
| 9410 | "04nmrqpjc3qni0cbazlwvpg8rk1mkfmfma0n4q3zivs3zi6rfnav")))) |
| 9411 | (build-system gnu-build-system) |
| 9412 | (arguments |
| 9413 | (list |
| 9414 | #:tests? #false ;there are none |
| 9415 | #:make-flags |
| 9416 | #~(list (string-append "PREFIX=" #$output)) |
| 9417 | #:phases |
| 9418 | #~(modify-phases %standard-phases |
| 9419 | (delete 'configure) |
| 9420 | (add-before 'install 'create-target-dir |
| 9421 | (lambda _ |
| 9422 | (mkdir-p (string-append #$output "/bin"))))))) |
| 9423 | (inputs |
| 9424 | (list isa-l libdeflate)) |
| 9425 | (home-page "https://github.com/OpenGene/fastp/") |
| 9426 | (synopsis "All-in-one FastQ preprocessor") |
| 9427 | (description |
| 9428 | "Fastp is a tool designed to provide fast all-in-one preprocessing for |
| 9429 | FastQ files. This tool has multi-threading support to afford high |
| 9430 | performance.") |
| 9431 | (license license:expat))) |
| 9432 | |
| 9433 | (define-public htscodecs |
| 9434 | (package |
| 9435 | (name "htscodecs") |
| 9436 | (version "1.6.1") |
| 9437 | (source (origin |
| 9438 | (method url-fetch) |
| 9439 | (uri (string-append "https://github.com/samtools/htscodecs/" |
| 9440 | "releases/download/v" |
| 9441 | version "/htscodecs-" version ".tar.gz")) |
| 9442 | (sha256 |
| 9443 | (base32 |
| 9444 | "0n962938clim15d5mmggsm7ki2ycyjwqvjgddihjlpdsr5qv28aq")))) |
| 9445 | (build-system gnu-build-system) |
| 9446 | (inputs (list bzip2 zlib)) |
| 9447 | (home-page "https://github.com/samtools/htscodecs") |
| 9448 | (synopsis "Custom compression for CRAM and others") |
| 9449 | (description |
| 9450 | "This package implements the custom CRAM codecs used for \"EXTERNAL\" |
| 9451 | block types. These consist of two variants of the rANS codec (8-bit and |
| 9452 | 16-bit renormalisation, with run-length encoding and bit-packing also |
| 9453 | supported in the latter), a dynamic arithmetic coder, and custom codecs for |
| 9454 | name/ID compression and quality score compression derived from fqzcomp.") |
| 9455 | (license |
| 9456 | (list license:public-domain ;c_range_coder.h, rANS_byte.h, and rANS_word.h |
| 9457 | license:bsd-3)))) ;all the rest |
| 9458 | |
| 9459 | (define-public htslib |
| 9460 | (package |
| 9461 | (name "htslib") |
| 9462 | (version "1.23") |
| 9463 | (source (origin |
| 9464 | (method url-fetch) |
| 9465 | (uri (string-append |
| 9466 | "https://github.com/samtools/htslib/releases/download/" |
| 9467 | version "/htslib-" version ".tar.bz2")) |
| 9468 | (sha256 |
| 9469 | (base32 |
| 9470 | "1kg4nwm6qjdhf3v2x2r4hl1y22k0rfb5vfa5cc4h7slwxycp34k3")) |
| 9471 | (snippet |
| 9472 | #~(begin |
| 9473 | (use-modules (guix build utils)) |
| 9474 | (delete-file-recursively "htscodecs"))))) |
| 9475 | (build-system gnu-build-system) |
| 9476 | ;; Let htslib translate "gs://" and "s3://" to regular https links with |
| 9477 | ;; "--enable-gcs" and "--enable-s3". For these options to work, we also |
| 9478 | ;; need to set "--enable-libcurl". |
| 9479 | (arguments |
| 9480 | `(#:configure-flags '("--enable-gcs" |
| 9481 | "--enable-libcurl" |
| 9482 | "--enable-s3" |
| 9483 | "--with-external-htscodecs"))) |
| 9484 | (inputs |
| 9485 | (list bzip2 curl openssl xz)) |
| 9486 | ;; This is referred to in the pkg-config file as a required library. |
| 9487 | (propagated-inputs |
| 9488 | (list htscodecs zlib)) |
| 9489 | (native-inputs |
| 9490 | (list perl)) |
| 9491 | (home-page "https://www.htslib.org") |
| 9492 | (synopsis "C library for reading/writing high-throughput sequencing data") |
| 9493 | (description |
| 9494 | "HTSlib is a C library for reading/writing high-throughput sequencing |
| 9495 | data. It also provides the @command{bgzip}, @command{htsfile}, and |
| 9496 | @command{tabix} utilities.") |
| 9497 | ;; Files under cram/ are released under the modified BSD license; |
| 9498 | ;; the rest is released under the Expat license |
| 9499 | (license (list license:expat license:bsd-3)))) |
| 9500 | |
| 9501 | ;; For [email protected], remove when no longer required. |
| 9502 | (define-public htslib-1.21 |
| 9503 | (hidden-package |
| 9504 | (package |
| 9505 | (inherit htslib) |
| 9506 | (name "htslib") |
| 9507 | (version "1.21") |
| 9508 | (source |
| 9509 | (origin |
| 9510 | (inherit (package-source htslib)) |
| 9511 | (method url-fetch) |
| 9512 | (uri (string-append |
| 9513 | "https://github.com/samtools/htslib/releases/download/" |
| 9514 | version "/htslib-" version ".tar.bz2")) |
| 9515 | (sha256 |
| 9516 | (base32 "08qq1yn6lqqnww532s11nr6gz0gfpn58rn3gy90kd5pl6pki1dc4"))))))) |
| 9517 | |
| 9518 | ;; This package should be removed once no packages rely upon it. |
| 9519 | (define htslib-1.3 |
| 9520 | (package/inherit htslib |
| 9521 | (version "1.3.1") |
| 9522 | (source (origin |
| 9523 | (method url-fetch) |
| 9524 | (uri (string-append |
| 9525 | "https://github.com/samtools/htslib/releases/download/" |
| 9526 | version "/htslib-" version ".tar.bz2")) |
| 9527 | (sha256 |
| 9528 | (base32 |
| 9529 | "1rja282fwdc25ql6izkhdyh8ppw8x2fs0w0js78zgkmqjlikmma9")))))) |
| 9530 | |
| 9531 | (define-public idr |
| 9532 | (package |
| 9533 | (name "idr") |
| 9534 | (version "2.0.4.2") |
| 9535 | (source (origin |
| 9536 | (method git-fetch) |
| 9537 | (uri (git-reference |
| 9538 | (url "https://github.com/kundajelab/idr") |
| 9539 | (commit version))) |
| 9540 | (file-name (git-file-name name version)) |
| 9541 | (sha256 |
| 9542 | (base32 |
| 9543 | "01491ffhhj5plmpvvwmzp6c5arp5390h3jdpgsai92y6xbsgvxz8")) |
| 9544 | ;; Delete generated C code. |
| 9545 | (snippet |
| 9546 | '(begin (delete-file "idr/inv_cdf.c") #t)))) |
| 9547 | (build-system pyproject-build-system) |
| 9548 | ;; There is only one test ("test_inv_cdf.py") and it tests features that |
| 9549 | ;; are no longer part of this package. It also asserts False, which |
| 9550 | ;; causes the tests to always fail. |
| 9551 | (arguments |
| 9552 | (list |
| 9553 | #:tests? #f |
| 9554 | #:phases |
| 9555 | '(modify-phases %standard-phases |
| 9556 | (add-after 'unpack 'numpy-compatibility |
| 9557 | (lambda _ |
| 9558 | (substitute* "idr/idr.py" |
| 9559 | (("numpy.int") "int")) |
| 9560 | (substitute* "idr/inv_cdf.pyx" |
| 9561 | (("np.int_t") "np.int64_t"))))))) |
| 9562 | (propagated-inputs |
| 9563 | (list python-scipy python-sympy python-numpy python-matplotlib)) |
| 9564 | (native-inputs |
| 9565 | (list python-cython |
| 9566 | python-setuptools)) |
| 9567 | (home-page "https://github.com/nboley/idr") |
| 9568 | (synopsis "Tool to measure the irreproducible discovery rate (IDR)") |
| 9569 | (description |
| 9570 | "The IDR (Irreproducible Discovery Rate) framework is a unified approach |
| 9571 | to measure the reproducibility of findings identified from replicate |
| 9572 | experiments and provide highly stable thresholds based on reproducibility.") |
| 9573 | (license license:gpl2+))) |
| 9574 | |
| 9575 | (define-public isolator |
| 9576 | (let ((commit "24bafc0a102dce213bfc2b5b9744136ceadaba03") |
| 9577 | (revision "1")) |
| 9578 | (package |
| 9579 | (name "isolator") |
| 9580 | (version (git-version "0.0.2" revision commit)) |
| 9581 | (source |
| 9582 | (origin |
| 9583 | (method git-fetch) |
| 9584 | (uri (git-reference |
| 9585 | (url "https://github.com/dcjones/isolator.git") |
| 9586 | (commit commit))) |
| 9587 | (file-name (git-file-name name version)) |
| 9588 | (sha256 |
| 9589 | (base32 |
| 9590 | "12mbcfqhiggcjvzizf2ff7b05z31i47njcyzcivpw5j74pfbr3dv")))) |
| 9591 | (build-system cmake-build-system) |
| 9592 | (arguments |
| 9593 | (list |
| 9594 | #:tests? #f ;no check target |
| 9595 | #:phases |
| 9596 | '(modify-phases %standard-phases |
| 9597 | (add-after 'unpack 'fix-std |
| 9598 | (lambda _ |
| 9599 | (substitute* '("src/summarize.cpp" |
| 9600 | "src/shredder.cpp") |
| 9601 | (("isnan") "std::isnan") |
| 9602 | (("isinf") "std::isinf"))))))) |
| 9603 | (inputs |
| 9604 | (list boost-1.83 hdf5 zlib)) |
| 9605 | (home-page "https://github.com/dcjones/isolator") |
| 9606 | (synopsis "Tools for the analysis of RNA-Seq experiments") |
| 9607 | (description "Isolator analyzes RNA-Seq experiments. Isolator has a |
| 9608 | particular focus on producing stable, consistent estimates. It implements a |
| 9609 | full hierarchical Bayesian model of an entire RNA-Seq experiment. It saves |
| 9610 | all the samples generated by the sampler, which can be processed to compute |
| 9611 | posterior probabilities for arbitrarily complex questions, far beyond the |
| 9612 | confines of pairwise tests. It aggressively corrects for technical effects, |
| 9613 | such as random priming bias, GC-bias, 3' bias, and fragmentation effects. |
| 9614 | Compared to other MCMC approaches, it is exceedingly efficient, though |
| 9615 | generally slower than modern maximum likelihood approaches.") |
| 9616 | (license license:expat)))) |
| 9617 | |
| 9618 | (define-public jellyfish |
| 9619 | (package |
| 9620 | (name "jellyfish") |
| 9621 | (version "2.3.0") |
| 9622 | (source (origin |
| 9623 | (method url-fetch) |
| 9624 | (uri (string-append "https://github.com/gmarcais/Jellyfish/" |
| 9625 | "releases/download/v" version |
| 9626 | "/jellyfish-" version ".tar.gz")) |
| 9627 | (sha256 |
| 9628 | (base32 |
| 9629 | "0npa62wzasdibas5zp3n8j3armsci4kyvh0jw7jr0am4gg7vg5g1")))) |
| 9630 | (build-system gnu-build-system) |
| 9631 | (outputs '("out" ;for library |
| 9632 | "python")) ;for Python bindings |
| 9633 | (arguments |
| 9634 | (list |
| 9635 | #:configure-flags |
| 9636 | #~(list "--without-sse" ; configure script probes for CPU features when SSE is enabled. |
| 9637 | (string-append "--enable-python-binding=" #$output:python)) |
| 9638 | #:phases |
| 9639 | '(modify-phases %standard-phases |
| 9640 | (add-before 'check 'set-SHELL-variable |
| 9641 | (lambda _ |
| 9642 | ;; generator_manager.hpp either uses /bin/sh or $SHELL |
| 9643 | ;; to run tests. |
| 9644 | (setenv "SHELL" (which "bash"))))))) |
| 9645 | (native-inputs |
| 9646 | (list bc |
| 9647 | time |
| 9648 | python-wrapper |
| 9649 | python-setuptools |
| 9650 | pkg-config)) |
| 9651 | (inputs |
| 9652 | (list htslib)) |
| 9653 | (synopsis "Tool for fast counting of k-mers in DNA") |
| 9654 | (description |
| 9655 | "Jellyfish is a tool for fast, memory-efficient counting of k-mers in |
| 9656 | DNA. A k-mer is a substring of length k, and counting the occurrences of all |
| 9657 | such substrings is a central step in many analyses of DNA sequence. Jellyfish |
| 9658 | is a command-line program that reads FASTA and multi-FASTA files containing |
| 9659 | DNA sequences. It outputs its k-mer counts in a binary format, which can be |
| 9660 | translated into a human-readable text format using the @code{jellyfish dump} |
| 9661 | command, or queried for specific k-mers with @code{jellyfish query}.") |
| 9662 | (home-page "http://www.genome.umd.edu/jellyfish.html") |
| 9663 | ;; JELLYFISH seems to be 64-bit only. |
| 9664 | (supported-systems %64bit-supported-systems) |
| 9665 | ;; One of these licenses may be picked |
| 9666 | (license (list license:gpl3+ license:bsd-3)))) |
| 9667 | |
| 9668 | (define-public kaiju |
| 9669 | (package |
| 9670 | (name "kaiju") |
| 9671 | (version "1.9.0") |
| 9672 | (source (origin |
| 9673 | (method git-fetch) |
| 9674 | (uri (git-reference |
| 9675 | (url "https://github.com/bioinformatics-centre/kaiju") |
| 9676 | (commit (string-append "v" version)))) |
| 9677 | (file-name (git-file-name name version)) |
| 9678 | (sha256 |
| 9679 | (base32 |
| 9680 | "1hfmadkfs6jjd7l3byly5xxb0ifm3dm1wis11sjbqfcv6l89snmg")))) |
| 9681 | (build-system gnu-build-system) |
| 9682 | (arguments |
| 9683 | (list |
| 9684 | #:tests? #f ; There are no tests. |
| 9685 | #:phases |
| 9686 | #~(modify-phases %standard-phases |
| 9687 | (delete 'configure) |
| 9688 | (add-before 'build 'move-to-src-dir |
| 9689 | (lambda _ (chdir "src"))) |
| 9690 | (replace 'install |
| 9691 | (lambda _ |
| 9692 | (let ((bin (string-append #$output "/bin"))) |
| 9693 | (mkdir-p bin) |
| 9694 | (copy-recursively "../bin" bin) |
| 9695 | (let ((path (search-path-as-list '("bin") |
| 9696 | '#$(match (package-inputs this-package) |
| 9697 | (((_ pkg) ...) pkg))))) |
| 9698 | (for-each (lambda (script) |
| 9699 | (let ((exe (string-append bin "/" script))) |
| 9700 | (chmod exe #o555) |
| 9701 | (wrap-script exe |
| 9702 | #:guile #$(file-append guile-3.0 "/bin/guile") |
| 9703 | `("PATH" ":" prefix ,path)))) |
| 9704 | (list "kaiju-convertMAR.py" |
| 9705 | "kaiju-gbk2faa.pl" |
| 9706 | "kaiju-makedb"))))))))) |
| 9707 | (inputs |
| 9708 | (list bzip2 |
| 9709 | coreutils |
| 9710 | curl |
| 9711 | gawk |
| 9712 | guile-3.0 ;for wrap-script |
| 9713 | gzip |
| 9714 | perl |
| 9715 | python-wrapper |
| 9716 | tar |
| 9717 | wget |
| 9718 | zlib)) |
| 9719 | (home-page "https://kaiju.binf.ku.dk/") |
| 9720 | (synopsis "Fast and sensitive taxonomic classification for metagenomics") |
| 9721 | (description "Kaiju is a program for sensitive taxonomic classification |
| 9722 | of high-throughput sequencing reads from metagenomic whole genome sequencing |
| 9723 | experiments.") |
| 9724 | (license license:gpl3+))) |
| 9725 | |
| 9726 | (define-public macs |
| 9727 | (package |
| 9728 | (name "macs") |
| 9729 | (version "3.0.4") |
| 9730 | (source |
| 9731 | (origin |
| 9732 | (method git-fetch) |
| 9733 | (uri (git-reference |
| 9734 | (url "https://github.com/macs3-project/MACS") |
| 9735 | (commit (string-append "v" version)) |
| 9736 | (recursive? #true))) |
| 9737 | (file-name (git-file-name name version)) |
| 9738 | (sha256 |
| 9739 | (base32 "16cv6bvvppi0z69r5l357ai8x4jg61rx8xrvcapk1wz6mh9naf5s")))) |
| 9740 | (build-system pyproject-build-system) |
| 9741 | (arguments |
| 9742 | (list |
| 9743 | #:test-flags |
| 9744 | ;; AssertionError: np.float32(1.0) != np.float64(-1.0) |
| 9745 | ;; calculated step by step: |
| 9746 | ;; 6.559423e-18 |
| 9747 | ;; expected: |
| 9748 | ;; -2.98155597e-18 |
| 9749 | #~(list (string-append "--deselect=test/test_SignalProcessing.py::" |
| 9750 | "Test_maxima::test_implement_smooth_here")))) |
| 9751 | (native-inputs |
| 9752 | (list python-cython |
| 9753 | python-pytest |
| 9754 | python-setuptools |
| 9755 | zlib)) |
| 9756 | (propagated-inputs |
| 9757 | (list python-cykhash |
| 9758 | python-hmmlearn |
| 9759 | python-numpy |
| 9760 | python-scikit-learn |
| 9761 | python-scipy)) |
| 9762 | (home-page "https://github.com/macs3-project/MACS") |
| 9763 | (synopsis "Model based analysis for ChIP-Seq data") |
| 9764 | (description |
| 9765 | "MACS is an implementation of a ChIP-Seq analysis algorithm for |
| 9766 | identifying transcript factor binding sites named Model-based Analysis of |
| 9767 | ChIP-Seq (MACS). MACS captures the influence of genome complexity to evaluate |
| 9768 | the significance of enriched ChIP regions and it improves the spatial |
| 9769 | resolution of binding sites through combining the information of both |
| 9770 | sequencing tag position and orientation.") |
| 9771 | (license license:bsd-3))) |
| 9772 | |
| 9773 | ;; 2026-05-29 |
| 9774 | (define-deprecated/public-alias macs-3 macs) |
| 9775 | |
| 9776 | (define-public maffilter |
| 9777 | (package |
| 9778 | (name "maffilter") |
| 9779 | (version "1.3.1") |
| 9780 | (source |
| 9781 | (origin |
| 9782 | (method git-fetch) |
| 9783 | (uri (git-reference |
| 9784 | (url "https://github.com/jydu/maffilter") |
| 9785 | (commit (string-append "v" version)))) |
| 9786 | (file-name (git-file-name name version)) |
| 9787 | (sha256 |
| 9788 | (base32 "196c16qw82niqqyzi7j1ga1n0zmir73bm26kg04m0i5aq2cpa0ml")))) |
| 9789 | (build-system cmake-build-system) |
| 9790 | (arguments (list #:tests? #false)) ;there are none |
| 9791 | (inputs |
| 9792 | (list boost |
| 9793 | bpp-core |
| 9794 | bpp-phyl |
| 9795 | bpp-phyl-omics |
| 9796 | bpp-seq |
| 9797 | bpp-seq-omics |
| 9798 | zlib)) |
| 9799 | (home-page "https://jydu.github.io/maffilter/") |
| 9800 | (synopsis "Multiple alignment format file processor") |
| 9801 | (description |
| 9802 | "MafFilter is a program dedicated to the analysis of genome alignments. |
| 9803 | It parses and manipulates @acronym{MAF, multiple alignment format} files as |
| 9804 | well as more simple fasta files. This package can be used to design a |
| 9805 | pipeline as a series of consecutive filters, each performing a dedicated |
| 9806 | analysis. Many of the filters are available, from alignment cleaning to |
| 9807 | phylogeny reconstruction and population genetics analysis. Despite various |
| 9808 | filtering options and format conversion tools, MafFilter can compute a wide |
| 9809 | range of statistics (phylogenetic trees, nucleotide diversity, inference of |
| 9810 | selection, etc.).") |
| 9811 | (license license:gpl3+))) |
| 9812 | |
| 9813 | (define-public mafft |
| 9814 | (package |
| 9815 | (name "mafft") |
| 9816 | (version "7.475") |
| 9817 | (source (origin |
| 9818 | (method url-fetch) |
| 9819 | (uri (string-append |
| 9820 | "https://mafft.cbrc.jp/alignment/software/mafft-" version |
| 9821 | "-without-extensions-src.tgz")) |
| 9822 | (file-name (string-append name "-" version ".tgz")) |
| 9823 | (sha256 |
| 9824 | (base32 |
| 9825 | "0i2i2m3blh2xkbkdk48hxfssks30ny0v381gdl7zwhcvp0axs26r")))) |
| 9826 | (build-system gnu-build-system) |
| 9827 | (arguments |
| 9828 | `(#:tests? #f ; no automated tests, though there are tests in the read me |
| 9829 | #:make-flags ,#~(list (string-append "PREFIX=" #$output) |
| 9830 | (string-append "BINDIR=" |
| 9831 | (string-append #$output "/bin"))) |
| 9832 | #:phases |
| 9833 | (modify-phases %standard-phases |
| 9834 | (add-after 'unpack 'enter-dir |
| 9835 | (lambda _ (chdir "core") #t)) |
| 9836 | (add-after 'enter-dir 'patch-makefile |
| 9837 | (lambda _ |
| 9838 | ;; on advice from the MAFFT authors, there is no need to |
| 9839 | ;; distribute mafft-profile, mafft-distance, or |
| 9840 | ;; mafft-homologs.rb as they are too "specialised". |
| 9841 | (substitute* "Makefile" |
| 9842 | ;; remove mafft-homologs.rb from SCRIPTS |
| 9843 | (("^SCRIPTS = mafft mafft-homologs.rb") |
| 9844 | "SCRIPTS = mafft") |
| 9845 | ;; remove mafft-homologs from MANPAGES |
| 9846 | (("^MANPAGES = mafft.1 mafft-homologs.1") |
| 9847 | "MANPAGES = mafft.1") |
| 9848 | ;; remove mafft-distance from PROGS |
| 9849 | (("^PROGS = dvtditr dndfast7 dndblast sextet5 mafft-distance") |
| 9850 | "PROGS = dvtditr dndfast7 dndblast sextet5") |
| 9851 | ;; remove mafft-profile from PROGS |
| 9852 | (("splittbfast disttbfast tbfast mafft-profile 2cl mccaskillwrap") |
| 9853 | "splittbfast disttbfast tbfast f2cl mccaskillwrap") |
| 9854 | (("^rm -f mafft-profile mafft-profile.exe") "#") |
| 9855 | (("^rm -f mafft-distance mafft-distance.exe") ")#") |
| 9856 | ;; do not install MAN pages in libexec folder |
| 9857 | (("^\t\\$\\(INSTALL\\) -m 644 \\$\\(MANPAGES\\) \ |
| 9858 | \\$\\(DESTDIR\\)\\$\\(LIBDIR\\)") "#")))) |
| 9859 | (add-after 'enter-dir 'patch-paths |
| 9860 | (lambda* (#:key inputs #:allow-other-keys) |
| 9861 | (substitute* '("pairash.c" |
| 9862 | "mafft.tmpl") |
| 9863 | (("perl") (which "perl")) |
| 9864 | (("([\"`| ])awk" _ prefix) |
| 9865 | (string-append prefix (which "awk"))) |
| 9866 | (("grep") (which "grep"))))) |
| 9867 | (delete 'configure) |
| 9868 | (add-after 'install 'wrap-programs |
| 9869 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 9870 | (let* ((out (assoc-ref outputs "out")) |
| 9871 | (bin (string-append out "/bin")) |
| 9872 | (path (string-append |
| 9873 | (assoc-ref inputs "coreutils") "/bin:"))) |
| 9874 | (for-each (lambda (file) |
| 9875 | (wrap-program file |
| 9876 | `("PATH" ":" prefix (,path)))) |
| 9877 | (find-files bin)))))))) |
| 9878 | (inputs |
| 9879 | (list bash-minimal perl ruby gawk grep coreutils)) |
| 9880 | (home-page "https://mafft.cbrc.jp/alignment/software/") |
| 9881 | (synopsis "Multiple sequence alignment program") |
| 9882 | (description |
| 9883 | "MAFFT offers a range of multiple alignment methods for nucleotide and |
| 9884 | protein sequences. For instance, it offers L-INS-i (accurate; for alignment |
| 9885 | of <~200 sequences) and FFT-NS-2 (fast; for alignment of <~30,000 |
| 9886 | sequences).") |
| 9887 | (license (license:non-copyleft |
| 9888 | "https://mafft.cbrc.jp/alignment/software/license.txt" |
| 9889 | "BSD-3 with different formatting")))) |
| 9890 | |
| 9891 | (define-public mageck |
| 9892 | (package |
| 9893 | (name "mageck") |
| 9894 | (version "0.5.9.5") |
| 9895 | (source (origin |
| 9896 | (method url-fetch) |
| 9897 | (uri (string-append "mirror://sourceforge/mageck/" |
| 9898 | (version-major+minor version) |
| 9899 | "/mageck-" version ".tar.gz")) |
| 9900 | (sha256 |
| 9901 | (base32 |
| 9902 | "0fnry7d3ngiw0jarvmwd3pxy5vvsf931m4aifz6mjfd6dl1ihsmh")))) |
| 9903 | (build-system pyproject-build-system) |
| 9904 | (arguments |
| 9905 | (list |
| 9906 | #:modules '((guix build pyproject-build-system) |
| 9907 | (guix build utils) |
| 9908 | (srfi srfi-1) |
| 9909 | (ice-9 match)) |
| 9910 | #:phases |
| 9911 | #~(modify-phases %standard-phases |
| 9912 | (add-after 'unpack 'use-python3 |
| 9913 | (lambda _ |
| 9914 | (substitute* "bin/mageck" |
| 9915 | (("python2") "python")))) |
| 9916 | (add-after 'unpack 'numpy-compatibility |
| 9917 | (lambda _ |
| 9918 | (substitute* "mageck/cnv_normalization.py" |
| 9919 | (("np.float") "float")))) |
| 9920 | ;; The build system declares executables both in "scripts" and |
| 9921 | ;; "data", which all are supposed to end up in #$output/bin. The |
| 9922 | ;; pyproject-build-system gets confused by this, though, so we have |
| 9923 | ;; to manually install the mageck executable after the 'install |
| 9924 | ;; phase. |
| 9925 | (add-after 'unpack 'patch-build-system |
| 9926 | (lambda _ |
| 9927 | (substitute* "setup.py" |
| 9928 | (("scripts=\\['bin/mageck'\\],") "")))) |
| 9929 | (add-after 'install 'install-mageck |
| 9930 | (lambda _ |
| 9931 | (install-file "bin/mageck" (string-append #$output "/bin")))) |
| 9932 | (add-after 'install-mageck 'make-excutable |
| 9933 | (lambda _ |
| 9934 | (for-each (lambda (file) (chmod file #o555)) |
| 9935 | (find-files (string-append #$output "/bin"))))) |
| 9936 | (replace 'check |
| 9937 | (lambda* (#:key tests? #:allow-other-keys) |
| 9938 | (when tests? |
| 9939 | (let ((tests '(("demo1" "run.sh") |
| 9940 | ("demo2" "runmageck.sh") |
| 9941 | ("demo3" "run.sh") |
| 9942 | ("demo4" "run.sh")))) |
| 9943 | (setenv "PATH" |
| 9944 | (string-append #$output "/bin:" |
| 9945 | (getenv "PATH"))) |
| 9946 | (for-each (match-lambda |
| 9947 | ((dir script) |
| 9948 | (with-directory-excursion (string-append "demo/" dir) |
| 9949 | (invoke "bash" script)))) |
| 9950 | tests)))))))) |
| 9951 | (native-inputs |
| 9952 | (list python-setuptools)) |
| 9953 | (inputs |
| 9954 | (list python-numpy-1 |
| 9955 | python-scipy |
| 9956 | python-matplotlib |
| 9957 | python-statsmodels |
| 9958 | python-pyqt |
| 9959 | r-minimal |
| 9960 | r-xtable |
| 9961 | r-gplots)) |
| 9962 | (home-page "https://sourceforge.net/projects/mageck/") |
| 9963 | (synopsis "Model-based analysis of genome-wide CRISPR-Cas9 Knockout") |
| 9964 | (description |
| 9965 | "Model-based Analysis of Genome-wide CRISPR-Cas9 |
| 9966 | Knockout (MAGeCK) is a computational tool to identify important genes |
| 9967 | from the recent genome-scale CRISPR-Cas9 knockout screens |
| 9968 | technology. Its features include: |
| 9969 | |
| 9970 | @enumerate |
| 9971 | @item Simple, easy to use pipeline to screen genes in Genome-wide |
| 9972 | CRISPR-Cas9 Knockout experiments; |
| 9973 | @item High sensitivity and low false discovery rate; |
| 9974 | @item Fully utilize the screening data by performing both positive and |
| 9975 | negative screening in one dataset; |
| 9976 | @item Provide statistical evaluation in genes, sgRNAs and pathways; |
| 9977 | @item Require as few as 2 samples; |
| 9978 | @item Identify cell-type specific targets; |
| 9979 | @item A set of visualization features that generate publication |
| 9980 | standard figures. |
| 9981 | @end enumerate\n") |
| 9982 | (license license:bsd-3))) |
| 9983 | |
| 9984 | (define-public mash |
| 9985 | (package |
| 9986 | (name "mash") |
| 9987 | (version "2.3") |
| 9988 | (source (origin |
| 9989 | (method git-fetch) |
| 9990 | (uri (git-reference |
| 9991 | (url "https://github.com/marbl/mash") |
| 9992 | (commit (string-append "v" version)))) |
| 9993 | (file-name (git-file-name name version)) |
| 9994 | (sha256 |
| 9995 | (base32 |
| 9996 | "00x4pvxwp3isf0qign1qmxwxc9rwzn5b3igjw9hyn3vx17bsx92q")) |
| 9997 | (modules '((guix build utils))) |
| 9998 | (snippet |
| 9999 | ;; Delete bundled kseq. |
| 10000 | ;; TODO: Also delete bundled murmurhash and open bloom filter. |
| 10001 | '(delete-file "src/mash/kseq.h")) |
| 10002 | (patches (search-patches "mash-add-missing-headers.patch")))) |
| 10003 | (build-system gnu-build-system) |
| 10004 | (arguments |
| 10005 | `(#:tests? #f ; No tests. |
| 10006 | #:configure-flags |
| 10007 | ,#~(list |
| 10008 | (string-append "--with-capnp=" #$(this-package-input "capnproto")) |
| 10009 | (string-append "--with-gsl=" #$(this-package-input "gsl"))) |
| 10010 | #:make-flags (list "CC=gcc") |
| 10011 | #:phases |
| 10012 | (modify-phases %standard-phases |
| 10013 | (replace 'bootstrap |
| 10014 | ;; The bootstrap script is missing a shebang. |
| 10015 | (lambda _ |
| 10016 | (invoke "bash" "./bootstrap.sh"))) |
| 10017 | (add-after 'unpack 'fix-includes |
| 10018 | (lambda _ |
| 10019 | (substitute* '("src/mash/Sketch.cpp" |
| 10020 | "src/mash/CommandFind.cpp" |
| 10021 | "src/mash/CommandScreen.cpp" |
| 10022 | "src/mash/CommandTaxScreen.cpp") |
| 10023 | (("^#include \"kseq\\.h\"") |
| 10024 | "#include \"htslib/kseq.h\"")))) |
| 10025 | (add-after 'fix-includes 'use-c++14 |
| 10026 | (lambda _ |
| 10027 | ;; capnproto 1.0 requires c++14 to build. |
| 10028 | (substitute* (list "configure.ac" "Makefile.in") |
| 10029 | (("c\\+\\+11") "c++14"))))))) |
| 10030 | (native-inputs |
| 10031 | (list autoconf)) |
| 10032 | (inputs |
| 10033 | (list ;; Capnproto and htslib are statically embedded in the final |
| 10034 | ;; application. Therefore we also list their licenses, below. |
| 10035 | capnproto |
| 10036 | htslib |
| 10037 | gsl |
| 10038 | zlib)) |
| 10039 | (supported-systems '("x86_64-linux")) |
| 10040 | (home-page "https://mash.readthedocs.io") |
| 10041 | (synopsis "Fast genome and metagenome distance estimation using MinHash") |
| 10042 | (description "Mash is a fast sequence distance estimator that uses the |
| 10043 | MinHash algorithm and is designed to work with genomes and metagenomes in the |
| 10044 | form of assemblies or reads.") |
| 10045 | (license (list license:bsd-3 ; Mash |
| 10046 | license:expat ; HTSlib and capnproto |
| 10047 | license:public-domain ; MurmurHash 3 |
| 10048 | license:cpl1.0)))) ; Open Bloom Filter |
| 10049 | |
| 10050 | (define-public metabat |
| 10051 | (package |
| 10052 | (name "metabat") |
| 10053 | (version "2.15") |
| 10054 | (source |
| 10055 | (origin |
| 10056 | (method git-fetch) |
| 10057 | (uri (git-reference |
| 10058 | (url "https://bitbucket.org/berkeleylab/metabat.git") |
| 10059 | (commit (string-append "v" version)))) |
| 10060 | (file-name (git-file-name name version)) |
| 10061 | (sha256 |
| 10062 | (base32 |
| 10063 | "0v3gsps0ypani14102z2y1a2wignhpf7s1h45mxmj5f783rkhqd9")))) |
| 10064 | (build-system cmake-build-system) |
| 10065 | (arguments |
| 10066 | `(#:configure-flags |
| 10067 | ,#~(list (string-append "-Dzlib_LIB=" #$(this-package-input "zlib") |
| 10068 | "/lib/libz.so") |
| 10069 | (string-append "-Dhtslib_LIB=" #$(this-package-input "htslib") |
| 10070 | "/lib/libhts.so") |
| 10071 | (string-append "-DBOOST_ROOT=" #$(this-package-input "boost"))) |
| 10072 | #:phases |
| 10073 | (modify-phases %standard-phases |
| 10074 | (add-after 'unpack 'configure-version-file |
| 10075 | (lambda _ |
| 10076 | (copy-file "metabat_version.h.in" "metabat_version.h") |
| 10077 | (substitute* "metabat_version.h" |
| 10078 | (("@_time_stamp@") "19700101") |
| 10079 | (("@GIT_IS_DIRTY@") "0") |
| 10080 | (("@GIT_RETRIEVED_STATE@") "0") |
| 10081 | (("@GIT_HEAD_SHA1@") (string-append "v" ,version))))) |
| 10082 | (add-after 'unpack 'do-not-use-bundled-libraries |
| 10083 | (lambda _ |
| 10084 | (substitute* "CMakeLists.txt" |
| 10085 | (("include\\(cmake.*") "")) |
| 10086 | (substitute* "src/CMakeLists.txt" |
| 10087 | (("set\\(Boost.*") "") |
| 10088 | (("add_dependencies.*") ""))))))) |
| 10089 | (inputs |
| 10090 | (list zlib perl samtools htslib boost-1.83)) |
| 10091 | (home-page "https://bitbucket.org/berkeleylab/metabat") |
| 10092 | (synopsis |
| 10093 | "Reconstruction of single genomes from complex microbial communities") |
| 10094 | (description |
| 10095 | "Grouping large genomic fragments assembled from shotgun metagenomic |
| 10096 | sequences to deconvolute complex microbial communities, or metagenome binning, |
| 10097 | enables the study of individual organisms and their interactions. MetaBAT is |
| 10098 | an automated metagenome binning software, which integrates empirical |
| 10099 | probabilistic distances of genome abundance and tetranucleotide frequency.") |
| 10100 | ;; The source code contains inline assembly. |
| 10101 | (supported-systems '("x86_64-linux" "i686-linux")) |
| 10102 | (license (license:non-copyleft "file://license.txt" |
| 10103 | "See license.txt in the distribution.")))) |
| 10104 | |
| 10105 | (define-public metal |
| 10106 | (package |
| 10107 | (name "metal") |
| 10108 | (version "2011-03-25") |
| 10109 | (source |
| 10110 | (origin |
| 10111 | (method url-fetch) |
| 10112 | (uri (string-append "http://csg.sph.umich.edu/abecasis/Metal/" |
| 10113 | "download/generic-metal-" version ".tar.gz")) |
| 10114 | (sha256 |
| 10115 | (base32 |
| 10116 | "1bk00hc0xagmq0mabmbb8bykl75qd4kfyirba869h4x6hmn4a0f3")))) |
| 10117 | (build-system gnu-build-system) |
| 10118 | (arguments |
| 10119 | (list |
| 10120 | #:tests? #f |
| 10121 | #:make-flags |
| 10122 | #~(list (string-append "INSTALLDIR=" #$output "/bin") "all") |
| 10123 | #:phases |
| 10124 | '(modify-phases %standard-phases |
| 10125 | (replace 'configure |
| 10126 | (lambda _ |
| 10127 | (substitute* "Makefile" |
| 10128 | (("^CFLAGS=") "CFLAGS=-std=c++11 "))))))) |
| 10129 | (inputs (list zlib `(,zlib "static"))) |
| 10130 | (home-page "http://csg.sph.umich.edu/abecasis/Metal/") |
| 10131 | (synopsis "Facilitate meta-analysis of large datasets") |
| 10132 | (description "METAL is a tool for meta-analysis genomewide association |
| 10133 | scans. METAL can combine either test statistics and standard errors or |
| 10134 | p-values across studies (taking sample size and direction of effect into |
| 10135 | account). METAL analysis is a convenient alternative to a direct analysis of |
| 10136 | merged data from multiple studies. It is especially appropriate when data |
| 10137 | from the individual studies cannot be analyzed together because of differences |
| 10138 | in ethnicity, phenotype distribution, gender or constraints in sharing of |
| 10139 | individual level data imposed. Meta-analysis results in little or no loss of |
| 10140 | efficiency compared to analysis of a combined dataset including data from all |
| 10141 | individual studies.") |
| 10142 | (license license:bsd-3))) |
| 10143 | |
| 10144 | (define-public minced |
| 10145 | (package |
| 10146 | (name "minced") |
| 10147 | (version "0.3.2") |
| 10148 | (source (origin |
| 10149 | (method git-fetch) |
| 10150 | (uri (git-reference |
| 10151 | (url "https://github.com/ctSkennerton/minced") |
| 10152 | (commit version))) |
| 10153 | (file-name (git-file-name name version)) |
| 10154 | (sha256 |
| 10155 | (base32 |
| 10156 | "1f5h9him0gd355cnx7p6pnxpknhckd4g0v62mg8zyhfbx9as25fv")))) |
| 10157 | (build-system gnu-build-system) |
| 10158 | (arguments |
| 10159 | `(#:test-target "test" |
| 10160 | #:phases |
| 10161 | (modify-phases %standard-phases |
| 10162 | (delete 'configure) |
| 10163 | (add-before 'check 'fix-test |
| 10164 | (lambda _ |
| 10165 | ;; Fix test for latest version. |
| 10166 | (substitute* "t/Aquifex_aeolicus_VF5.expected" |
| 10167 | (("minced:0.1.6") "minced:0.2.0")) |
| 10168 | #t)) |
| 10169 | (replace 'install ; No install target. |
| 10170 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 10171 | (let* ((out (assoc-ref outputs "out")) |
| 10172 | (bin (string-append out "/bin")) |
| 10173 | (wrapper (string-append bin "/minced"))) |
| 10174 | ;; Minced comes with a wrapper script that tries to figure out where |
| 10175 | ;; it is located before running the JAR. Since these paths are known |
| 10176 | ;; to us, we build our own wrapper to avoid coreutils dependency. |
| 10177 | (install-file "minced.jar" bin) |
| 10178 | (with-output-to-file wrapper |
| 10179 | (lambda _ |
| 10180 | (display |
| 10181 | (string-append |
| 10182 | "#!" (assoc-ref inputs "bash") "/bin/sh\n\n" |
| 10183 | (assoc-ref inputs "jre") "/bin/java -jar " |
| 10184 | bin "/minced.jar \"$@\"\n")))) |
| 10185 | (chmod wrapper #o555)) |
| 10186 | #t))))) |
| 10187 | (native-inputs |
| 10188 | `(("jdk" ,icedtea "jdk"))) |
| 10189 | (inputs |
| 10190 | `(("bash" ,bash) |
| 10191 | ("jre" ,icedtea "out"))) |
| 10192 | (home-page "https://github.com/ctSkennerton/minced") |
| 10193 | (synopsis "Mining CRISPRs in Environmental Datasets") |
| 10194 | (description |
| 10195 | "MinCED is a program to find Clustered Regularly Interspaced Short |
| 10196 | Palindromic Repeats (CRISPRs) in DNA sequences. It can be used for |
| 10197 | unassembled metagenomic reads, but is mainly designed for full genomes and |
| 10198 | assembled metagenomic sequence.") |
| 10199 | (license license:gpl3+))) |
| 10200 | |
| 10201 | (define-public muscle |
| 10202 | (package |
| 10203 | (name "muscle") |
| 10204 | (version "3.8.1551") |
| 10205 | (source (origin |
| 10206 | (method url-fetch/tarbomb) |
| 10207 | (uri (string-append |
| 10208 | "http://www.drive5.com/muscle/muscle_src_" |
| 10209 | version ".tar.gz")) |
| 10210 | (sha256 |
| 10211 | (base32 |
| 10212 | "0bj8kj7sdizy3987zx6w7axihk40fk8rn76mpbqqjcnd64i5a367")))) |
| 10213 | (build-system gnu-build-system) |
| 10214 | (arguments |
| 10215 | `(#:make-flags (list "LDLIBS = -lm") |
| 10216 | #:phases |
| 10217 | (modify-phases %standard-phases |
| 10218 | (delete 'configure) |
| 10219 | (replace 'check |
| 10220 | ;; There are no tests, so just test if it runs. |
| 10221 | (lambda _ (invoke "./muscle" "-version") #t)) |
| 10222 | (replace 'install |
| 10223 | (lambda* (#:key outputs #:allow-other-keys) |
| 10224 | (let* ((out (assoc-ref outputs "out")) |
| 10225 | (bin (string-append out "/bin"))) |
| 10226 | (install-file "muscle" bin) |
| 10227 | #t)))))) |
| 10228 | (home-page "http://www.drive5.com/muscle") |
| 10229 | (synopsis "Multiple sequence alignment program") |
| 10230 | (description |
| 10231 | "MUSCLE aims to be a fast and accurate multiple sequence alignment |
| 10232 | program for nucleotide and protein sequences.") |
| 10233 | ;; License information found in 'muscle -h' and usage.cpp. |
| 10234 | (license license:public-domain))) |
| 10235 | |
| 10236 | (define-public music |
| 10237 | (let ((commit "b1caecdb164b1ab80acccb9463abe2526a56f69f") |
| 10238 | (revision "1")) |
| 10239 | (package |
| 10240 | (name "music") |
| 10241 | (version (git-version "0.0.0" revision commit)) |
| 10242 | (source (origin |
| 10243 | (method git-fetch) |
| 10244 | (uri (git-reference |
| 10245 | (url "https://github.com/gersteinlab/MUSIC.git") |
| 10246 | (commit commit))) |
| 10247 | (file-name (git-file-name name version)) |
| 10248 | (sha256 |
| 10249 | (base32 |
| 10250 | "0arj300h8cpbya7y98g066xsxcg2a65h3y0qs250rlj072f1b4ia")))) |
| 10251 | (build-system gnu-build-system) |
| 10252 | (arguments |
| 10253 | (list |
| 10254 | #:tests? #f ; no "check" target |
| 10255 | #:phases |
| 10256 | #~(modify-phases %standard-phases |
| 10257 | (delete 'configure) |
| 10258 | ;; There is no "install" target. |
| 10259 | (replace 'install |
| 10260 | (lambda _ |
| 10261 | (let ((bin (string-append #$output "/bin"))) |
| 10262 | (install-file "bin/MUSIC" bin))))))) |
| 10263 | (home-page "https://github.com/gersteinlab/MUSIC/") |
| 10264 | (synopsis "Multiscale enrichment calling for ChIP-Seq datasets") |
| 10265 | (description |
| 10266 | "MUSIC is an algorithm for identification of enriched regions at |
| 10267 | multiple scales in the read depth signals from ChIP-Seq experiments.") |
| 10268 | ;; See https://github.com/gersteinlab/MUSIC/issues/6 |
| 10269 | (license license:gpl2+) |
| 10270 | (properties '((lint-hidden-cpe-vendors . ("apple"))))))) |
| 10271 | |
| 10272 | (define-public newick-utils |
| 10273 | ;; There are no recent releases so we package from git. |
| 10274 | (let ((commit "da121155a977197cab9fbb15953ca1b40b11eb87")) |
| 10275 | (package |
| 10276 | (name "newick-utils") |
| 10277 | (version (string-append "1.6-1." (string-take commit 8))) |
| 10278 | (source (origin |
| 10279 | (method git-fetch) |
| 10280 | (uri (git-reference |
| 10281 | (url "https://github.com/tjunier/newick_utils") |
| 10282 | (commit commit))) |
| 10283 | (file-name (string-append name "-" version "-checkout")) |
| 10284 | (sha256 |
| 10285 | (base32 |
| 10286 | "1hkw21rq1mwf7xp0rmbb2gqc0i6p11108m69i7mr7xcjl268pxnb")))) |
| 10287 | (build-system gnu-build-system) |
| 10288 | (arguments |
| 10289 | `(#:tests? ,(not (or (target-riscv64?) ;XXX: stuck on riscv64-linux |
| 10290 | (%current-target-system))) |
| 10291 | #:make-flags (list "CFLAGS=-O2 -g -fcommon"))) |
| 10292 | (inputs |
| 10293 | ;; XXX: TODO: Enable Lua and Guile bindings. |
| 10294 | ;; https://github.com/tjunier/newick_utils/issues/13 |
| 10295 | (list libxml2 flex bison)) |
| 10296 | (native-inputs |
| 10297 | (list autoconf automake libtool)) |
| 10298 | (synopsis "Programs for working with newick format phylogenetic trees") |
| 10299 | (description |
| 10300 | "Newick-utils is a suite of utilities for processing phylogenetic trees |
| 10301 | in Newick format. Functions include re-rooting, extracting subtrees, |
| 10302 | trimming, pruning, condensing, drawing (ASCII graphics or SVG).") |
| 10303 | (home-page "https://github.com/tjunier/newick_utils") |
| 10304 | (license license:bsd-3)))) |
| 10305 | |
| 10306 | (define-public orfm |
| 10307 | (package |
| 10308 | (name "orfm") |
| 10309 | (version "0.7.1") |
| 10310 | (source (origin |
| 10311 | (method url-fetch) |
| 10312 | (uri (string-append |
| 10313 | "https://github.com/wwood/OrfM/releases/download/v" |
| 10314 | version "/orfm-" version ".tar.gz")) |
| 10315 | (sha256 |
| 10316 | (base32 |
| 10317 | "16iigyr2gd8x0imzkk1dr3k5xsds9bpmwg31ayvjg0f4pir9rwqr")))) |
| 10318 | (build-system gnu-build-system) |
| 10319 | (inputs (list zlib)) |
| 10320 | (native-inputs |
| 10321 | (list ruby-bio-commandeer ruby-rspec ruby)) |
| 10322 | (synopsis "Simple and not slow open reading frame (ORF) caller") |
| 10323 | (description |
| 10324 | "An ORF caller finds stretches of DNA that, when translated, are not |
| 10325 | interrupted by stop codons. OrfM finds and prints these ORFs.") |
| 10326 | (home-page "https://github.com/wwood/OrfM") |
| 10327 | (license license:lgpl3+))) |
| 10328 | |
| 10329 | (define-public prank |
| 10330 | (package |
| 10331 | (name "prank") |
| 10332 | (version "170427") |
| 10333 | (source (origin |
| 10334 | (method url-fetch) |
| 10335 | (uri (string-append |
| 10336 | "http://wasabiapp.org/download/prank/prank.source." |
| 10337 | version ".tgz")) |
| 10338 | (sha256 |
| 10339 | (base32 |
| 10340 | "0nc8g9c5rkdxcir46s0in9ci1sxwzbjibxrvkksf22ybnplvagk2")))) |
| 10341 | (build-system gnu-build-system) |
| 10342 | (arguments |
| 10343 | `(#:phases |
| 10344 | (modify-phases %standard-phases |
| 10345 | (add-after 'unpack 'enter-src-dir |
| 10346 | (lambda _ (chdir "src"))) |
| 10347 | (add-after 'unpack 'remove-m64-flag |
| 10348 | ;; Prank will build with the correct 'bit-ness' without this flag |
| 10349 | ;; and this allows building on 32-bit machines. |
| 10350 | (lambda _ |
| 10351 | (substitute* "src/Makefile" |
| 10352 | (("-m64") "")))) |
| 10353 | (delete 'configure) |
| 10354 | (replace 'install |
| 10355 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 10356 | (let* ((out (assoc-ref outputs "out")) |
| 10357 | (bin (string-append out "/bin")) |
| 10358 | (man (string-append out "/share/man/man1")) |
| 10359 | (path (string-append |
| 10360 | (assoc-ref inputs "mafft") "/bin:" |
| 10361 | (assoc-ref inputs "exonerate") "/bin:" |
| 10362 | (assoc-ref inputs "bppsuite") "/bin"))) |
| 10363 | (install-file "prank" bin) |
| 10364 | (wrap-program (string-append bin "/prank") |
| 10365 | `("PATH" ":" prefix (,path))) |
| 10366 | (install-file "prank.1" man))))))) |
| 10367 | (inputs |
| 10368 | (list mafft exonerate bppsuite)) |
| 10369 | (home-page "http://wasabiapp.org/software/prank/") |
| 10370 | (synopsis "Probabilistic multiple sequence alignment program") |
| 10371 | (description |
| 10372 | "PRANK is a probabilistic multiple sequence alignment program for DNA, |
| 10373 | codon and amino-acid sequences. It is based on a novel algorithm that treats |
| 10374 | insertions correctly and avoids over-estimation of the number of deletion |
| 10375 | events. In addition, PRANK borrows ideas from maximum likelihood methods used |
| 10376 | in phylogenetics and correctly takes into account the evolutionary distances |
| 10377 | between sequences. Lastly, PRANK allows for defining a potential structure |
| 10378 | for sequences to be aligned and then, simultaneously with the alignment, |
| 10379 | predicts the locations of structural units in the sequences.") |
| 10380 | (license license:gpl2+))) |
| 10381 | |
| 10382 | (define-public proteinortho |
| 10383 | (package |
| 10384 | (name "proteinortho") |
| 10385 | (version "6.3.2") |
| 10386 | (source (origin |
| 10387 | (method git-fetch) |
| 10388 | (uri (git-reference |
| 10389 | (url "https://gitlab.com/paulklemm_PHD/proteinortho.git") |
| 10390 | (commit (string-append "v" version)))) |
| 10391 | (file-name (git-file-name name version)) |
| 10392 | (sha256 |
| 10393 | (base32 |
| 10394 | "0p8iaxq193fh67hw3cydvdah1vz1c3f18227gj1mhkww0ms7g6xa")) |
| 10395 | (modules '((guix build utils))) |
| 10396 | (snippet |
| 10397 | '(begin |
| 10398 | ;; Remove pre-built scripts and source tarballs. |
| 10399 | (delete-file-recursively "src/BUILD/") |
| 10400 | (delete-file "src/lapack-3.8.0.tar.gz"))))) |
| 10401 | (build-system gnu-build-system) |
| 10402 | (arguments |
| 10403 | (list |
| 10404 | #:test-target "test" |
| 10405 | #:parallel-tests? #f |
| 10406 | #:make-flags |
| 10407 | #~(list (string-append "CC=" #$(cc-for-target)) |
| 10408 | (string-append "CXX=" #$(cxx-for-target)) |
| 10409 | (string-append "PREFIX=" #$output) |
| 10410 | (string-append "INSTALLDIR=" #$output "/bin")) |
| 10411 | #:phases |
| 10412 | #~(modify-phases %standard-phases |
| 10413 | (delete 'configure) |
| 10414 | (add-before 'install 'make-install-directory |
| 10415 | ;; The install directory is not created during 'make install'. |
| 10416 | (lambda* (#:key outputs #:allow-other-keys) |
| 10417 | (mkdir-p (string-append (assoc-ref outputs "out") "/bin")))) |
| 10418 | (add-after 'install 'wrap-programs |
| 10419 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 10420 | (let ((path (getenv "PATH")) |
| 10421 | (out (assoc-ref outputs "out")) |
| 10422 | (guile (search-input-file inputs "bin/guile"))) |
| 10423 | (for-each (lambda (script) |
| 10424 | (wrap-script script #:guile guile |
| 10425 | `("PATH" ":" prefix (,path)))) |
| 10426 | (cons (string-append out "/bin/proteinortho") |
| 10427 | (find-files out "\\.(pl|py)$"))))))))) |
| 10428 | (inputs |
| 10429 | (list bash-minimal |
| 10430 | guile-3.0 ; for wrap-script |
| 10431 | diamond |
| 10432 | perl |
| 10433 | python-wrapper |
| 10434 | blast+ |
| 10435 | openblas)) |
| 10436 | (native-inputs |
| 10437 | (list which)) |
| 10438 | (home-page "https://www.bioinf.uni-leipzig.de/Software/proteinortho") |
| 10439 | (synopsis "Detect orthologous genes across species") |
| 10440 | (description |
| 10441 | "Proteinortho is a tool to detect orthologous genes across different |
| 10442 | species. For doing so, it compares similarities of given gene sequences and |
| 10443 | clusters them to find significant groups. The algorithm was designed to handle |
| 10444 | large-scale data and can be applied to hundreds of species at once.") |
| 10445 | (properties `((tunable? . #t))) |
| 10446 | (license license:gpl3+))) |
| 10447 | |
| 10448 | (define-public prodigal |
| 10449 | (package |
| 10450 | (name "prodigal") |
| 10451 | ;; Check for a new home page when updating this package: |
| 10452 | ;; https://github.com/hyattpd/Prodigal/issues/36#issuecomment-536617588 |
| 10453 | (version "2.6.3") |
| 10454 | (source (origin |
| 10455 | (method git-fetch) |
| 10456 | (uri (git-reference |
| 10457 | (url "https://github.com/hyattpd/Prodigal") |
| 10458 | (commit (string-append "v" version)))) |
| 10459 | (file-name (git-file-name name version)) |
| 10460 | (sha256 |
| 10461 | (base32 |
| 10462 | "1fs1hqk83qjbjhrvhw6ni75zakx5ki1ayy3v6wwkn3xvahc9hi5s")))) |
| 10463 | (build-system gnu-build-system) |
| 10464 | (arguments |
| 10465 | `(#:tests? #f ; no check target |
| 10466 | #:make-flags |
| 10467 | ,#~(list (string-append "INSTALLDIR=" #$output "/bin")) |
| 10468 | #:phases |
| 10469 | (modify-phases %standard-phases |
| 10470 | (delete 'configure)))) |
| 10471 | (home-page "https://github.com/hyattpd/Prodigal") |
| 10472 | (synopsis "Protein-coding gene prediction for Archaea and Bacteria") |
| 10473 | (description |
| 10474 | "Prodigal runs smoothly on finished genomes, draft genomes, and |
| 10475 | metagenomes, providing gene predictions in GFF3, Genbank, or Sequin table |
| 10476 | format. It runs quickly, in an unsupervised fashion, handles gaps, handles |
| 10477 | partial genes, and identifies translation initiation sites.") |
| 10478 | (license license:gpl3+))) |
| 10479 | |
| 10480 | (define-public roary |
| 10481 | (package |
| 10482 | (name "roary") |
| 10483 | (version "3.12.0") |
| 10484 | (source |
| 10485 | (origin |
| 10486 | (method url-fetch) |
| 10487 | (uri (string-append |
| 10488 | "mirror://cpan/authors/id/A/AJ/AJPAGE/Bio-Roary-" |
| 10489 | version ".tar.gz")) |
| 10490 | (sha256 |
| 10491 | (base32 |
| 10492 | "0qxrds9wx7cfhlkihrp6697kx0flhhxymap9fwan0b3rbdhcnmff")))) |
| 10493 | (build-system perl-build-system) |
| 10494 | (arguments |
| 10495 | `(#:phases |
| 10496 | (modify-phases %standard-phases |
| 10497 | (delete 'configure) |
| 10498 | (delete 'build) |
| 10499 | (replace 'check |
| 10500 | (lambda _ |
| 10501 | ;; The tests are not run by default, so we run each test file |
| 10502 | ;; directly. |
| 10503 | (setenv "PATH" (string-append (getcwd) "/bin" ":" |
| 10504 | (getenv "PATH"))) |
| 10505 | (setenv "PERL5LIB" (string-append (getcwd) "/lib" ":" |
| 10506 | (getenv "PERL5LIB"))) |
| 10507 | (for-each (lambda (file) |
| 10508 | (display file)(display "\n") |
| 10509 | (invoke "perl" file)) |
| 10510 | (find-files "t" ".*\\.t$")))) |
| 10511 | (replace 'install |
| 10512 | ;; There is no 'install' target in the Makefile. |
| 10513 | (lambda* (#:key outputs #:allow-other-keys) |
| 10514 | (let* ((out (assoc-ref outputs "out")) |
| 10515 | (bin (string-append out "/bin")) |
| 10516 | (perl (string-append out "/lib/perl5/site_perl")) |
| 10517 | (roary-plots "contrib/roary_plots")) |
| 10518 | (mkdir-p bin) |
| 10519 | (mkdir-p perl) |
| 10520 | (copy-recursively "bin" bin) |
| 10521 | (copy-recursively "lib" perl)))) |
| 10522 | (add-after 'install 'wrap-programs |
| 10523 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 10524 | (let* ((out (assoc-ref outputs "out")) |
| 10525 | (perl5lib (getenv "PERL5LIB")) |
| 10526 | (path (getenv "PATH"))) |
| 10527 | (for-each (lambda (prog) |
| 10528 | (let ((binary (string-append out "/" prog))) |
| 10529 | (wrap-program binary |
| 10530 | `("PERL5LIB" ":" prefix |
| 10531 | (,(string-append perl5lib ":" out |
| 10532 | "/lib/perl5/site_perl")))) |
| 10533 | (wrap-program binary |
| 10534 | `("PATH" ":" prefix |
| 10535 | (,(string-append path ":" out "/bin")))))) |
| 10536 | (find-files "bin" ".*[^R]$")) |
| 10537 | (let ((file |
| 10538 | (string-append out "/bin/roary-create_pan_genome_plots.R")) |
| 10539 | (r-site-lib (getenv "R_LIBS_SITE")) |
| 10540 | (coreutils-path |
| 10541 | (dirname (search-input-file inputs "bin/chmod")))) |
| 10542 | (wrap-program file |
| 10543 | `("R_LIBS_SITE" ":" prefix |
| 10544 | (,(string-append r-site-lib ":" out "/site-library/")))) |
| 10545 | (wrap-program file |
| 10546 | `("PATH" ":" prefix |
| 10547 | (,(string-append coreutils-path ":" out "/bin"))))))))))) |
| 10548 | (native-inputs |
| 10549 | (list perl-env-path perl-test-files perl-test-most perl-test-output)) |
| 10550 | (inputs |
| 10551 | (list bash-minimal |
| 10552 | perl-array-utils |
| 10553 | bioperl-minimal |
| 10554 | perl-digest-md5-file |
| 10555 | perl-exception-class |
| 10556 | perl-file-find-rule |
| 10557 | perl-file-grep |
| 10558 | perl-file-slurper |
| 10559 | perl-file-which |
| 10560 | perl-graph |
| 10561 | perl-graph-readwrite |
| 10562 | perl-log-log4perl |
| 10563 | perl-moose |
| 10564 | perl-perlio-utf8_strict |
| 10565 | perl-text-csv |
| 10566 | bedtools |
| 10567 | cd-hit |
| 10568 | blast+ |
| 10569 | mcl |
| 10570 | parallel |
| 10571 | prank |
| 10572 | mafft |
| 10573 | fasttree |
| 10574 | grep |
| 10575 | sed |
| 10576 | gawk |
| 10577 | r-minimal |
| 10578 | r-ggplot2 |
| 10579 | coreutils)) |
| 10580 | (home-page "https://sanger-pathogens.github.io/Roary/") |
| 10581 | (synopsis "High speed stand-alone pan genome pipeline") |
| 10582 | (description |
| 10583 | "Roary is a high speed stand alone pan genome pipeline, which takes |
| 10584 | annotated assemblies in GFF3 format (produced by the Prokka program) and |
| 10585 | calculates the pan genome. Using a standard desktop PC, it can analyse |
| 10586 | datasets with thousands of samples, without compromising the quality of the |
| 10587 | results. 128 samples can be analysed in under 1 hour using 1 GB of RAM and a |
| 10588 | single processor. Roary is not intended for metagenomics or for comparing |
| 10589 | extremely diverse sets of genomes.") |
| 10590 | (license license:gpl3))) |
| 10591 | |
| 10592 | (define-public raxml |
| 10593 | (package |
| 10594 | (name "raxml") |
| 10595 | (version "8.2.12") |
| 10596 | (source |
| 10597 | (origin |
| 10598 | (method git-fetch) |
| 10599 | (uri (git-reference |
| 10600 | (url "https://github.com/stamatak/standard-RAxML") |
| 10601 | (commit (string-append "v" version)))) |
| 10602 | (file-name (git-file-name name version)) |
| 10603 | (sha256 |
| 10604 | (base32 |
| 10605 | "1jqjzhch0rips0vp04prvb8vmc20c5pdmsqn8knadcf91yy859fh")))) |
| 10606 | (build-system gnu-build-system) |
| 10607 | (arguments |
| 10608 | `(#:tests? #f ; There are no tests. |
| 10609 | ;; Use 'standard' Makefile rather than SSE or AVX ones. |
| 10610 | #:make-flags (list "-f" "Makefile.HYBRID.gcc") |
| 10611 | #:phases |
| 10612 | (modify-phases %standard-phases |
| 10613 | (delete 'configure) |
| 10614 | (replace 'install |
| 10615 | (lambda* (#:key outputs #:allow-other-keys) |
| 10616 | (let* ((out (assoc-ref outputs "out")) |
| 10617 | (bin (string-append out "/bin")) |
| 10618 | (executable "raxmlHPC-HYBRID")) |
| 10619 | (install-file executable bin) |
| 10620 | (symlink (string-append bin "/" executable) "raxml")) |
| 10621 | #t))))) |
| 10622 | (inputs |
| 10623 | (list openmpi)) |
| 10624 | (home-page "https://cme.h-its.org/exelixis/web/software/raxml/index.html") |
| 10625 | (synopsis "Randomized Axelerated Maximum Likelihood phylogenetic trees") |
| 10626 | (description |
| 10627 | "RAxML is a tool for phylogenetic analysis and post-analysis of large |
| 10628 | phylogenies.") |
| 10629 | ;; The source includes x86 specific code |
| 10630 | (supported-systems '("x86_64-linux" "i686-linux")) |
| 10631 | (license license:gpl2+))) |
| 10632 | |
| 10633 | (define-public rsem |
| 10634 | (package |
| 10635 | (name "rsem") |
| 10636 | (version "1.3.3") |
| 10637 | (source |
| 10638 | (origin |
| 10639 | (method git-fetch) |
| 10640 | (uri (git-reference |
| 10641 | (url "https://github.com/deweylab/RSEM") |
| 10642 | (commit (string-append "v" version)))) |
| 10643 | (sha256 |
| 10644 | (base32 "1yl4i7z20n2p84j1lmk15aiak3yqc6fiw0q5a4pndw7pxfiq3rzp")) |
| 10645 | (file-name (git-file-name name version)) |
| 10646 | (modules '((guix build utils))) |
| 10647 | (snippet |
| 10648 | '(begin |
| 10649 | ;; remove bundled copy of boost and samtools |
| 10650 | (delete-file-recursively "boost") |
| 10651 | (delete-file-recursively "samtools-1.3"))))) |
| 10652 | (build-system gnu-build-system) |
| 10653 | (arguments |
| 10654 | `(#:tests? #f ;no "check" target |
| 10655 | #:make-flags |
| 10656 | ,#~(list (string-append "BOOST=" |
| 10657 | #$(this-package-input "boost") |
| 10658 | "/include/") |
| 10659 | (string-append "SAMHEADERS=" |
| 10660 | #$(this-package-input "htslib") |
| 10661 | "/include/htslib/sam.h") |
| 10662 | (string-append "SAMLIBS=" |
| 10663 | #$(this-package-input "htslib") |
| 10664 | "/lib/libhts.so")) |
| 10665 | #:phases |
| 10666 | (modify-phases %standard-phases |
| 10667 | ;; No "configure" script. |
| 10668 | (replace 'configure |
| 10669 | (lambda _ |
| 10670 | (substitute* "Makefile" |
| 10671 | (("^all : \\$\\(PROGRAMS\\).*") "all: $(PROGRAMS)\n") |
| 10672 | ;; Do not build bundled samtools library. |
| 10673 | (("^\\$\\(SAMLIBS\\).*") "") |
| 10674 | ;; Needed for Boost |
| 10675 | (("gnu\\+\\+98") "gnu++11")) |
| 10676 | ;; C++11 compatibility |
| 10677 | (substitute* "buildReadIndex.cpp" |
| 10678 | (("success = \\(getline") |
| 10679 | "success = (bool)(getline")) |
| 10680 | (substitute* '("PairedEndHit.h" |
| 10681 | "SingleHit.h") |
| 10682 | (("return \\(in>>sid>>pos") |
| 10683 | "return (bool)(in>>sid>>pos")))) |
| 10684 | (replace 'install |
| 10685 | (lambda* (#:key outputs #:allow-other-keys) |
| 10686 | (let* ((out (string-append (assoc-ref outputs "out"))) |
| 10687 | (bin (string-append out "/bin/")) |
| 10688 | (perl (string-append out "/lib/perl5/site_perl"))) |
| 10689 | (mkdir-p bin) |
| 10690 | (mkdir-p perl) |
| 10691 | (for-each (lambda (file) |
| 10692 | (install-file file bin)) |
| 10693 | (find-files "." "rsem-.*")) |
| 10694 | (install-file "rsem_perl_utils.pm" perl)))) |
| 10695 | (add-after 'install 'wrap-program |
| 10696 | (lambda* (#:key outputs #:allow-other-keys) |
| 10697 | (let ((out (assoc-ref outputs "out"))) |
| 10698 | (for-each (lambda (prog) |
| 10699 | (wrap-program (string-append out "/bin/" prog) |
| 10700 | `("PERL5LIB" ":" prefix |
| 10701 | (,(string-append out "/lib/perl5/site_perl"))))) |
| 10702 | '("rsem-calculate-expression" |
| 10703 | "rsem-control-fdr" |
| 10704 | "rsem-generate-data-matrix" |
| 10705 | "rsem-generate-ngvector" |
| 10706 | "rsem-plot-transcript-wiggles" |
| 10707 | "rsem-prepare-reference" |
| 10708 | "rsem-run-ebseq" |
| 10709 | "rsem-run-prsem-testing-procedure")))))))) |
| 10710 | (inputs |
| 10711 | (list bash-minimal boost-1.83 r-minimal perl htslib-1.3 zlib)) |
| 10712 | (home-page "https://deweylab.biostat.wisc.edu/rsem/") |
| 10713 | (synopsis "Estimate gene expression levels from RNA-Seq data") |
| 10714 | (description |
| 10715 | "RSEM is a software package for estimating gene and isoform expression |
| 10716 | levels from RNA-Seq data. The RSEM package provides a user-friendly |
| 10717 | interface, supports threads for parallel computation of the EM algorithm, |
| 10718 | single-end and paired-end read data, quality scores, variable-length reads and |
| 10719 | RSPD estimation. In addition, it provides posterior mean and 95% credibility |
| 10720 | interval estimates for expression levels. For visualization, it can generate |
| 10721 | BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.") |
| 10722 | (license license:gpl3+))) |
| 10723 | |
| 10724 | (define-public rseqc |
| 10725 | (package |
| 10726 | (name "rseqc") |
| 10727 | (version "3.0.1") |
| 10728 | (source |
| 10729 | (origin |
| 10730 | (method url-fetch) |
| 10731 | (uri |
| 10732 | (string-append "mirror://sourceforge/rseqc/" |
| 10733 | "RSeQC-" version ".tar.gz")) |
| 10734 | (sha256 |
| 10735 | (base32 |
| 10736 | "0gbb9iyb7swiv5455fm5rg98r7l6qn27v564yllqjd574hncpx6m")))) |
| 10737 | (build-system pyproject-build-system) |
| 10738 | (arguments (list #:tests? #f)) ; No tests. |
| 10739 | (inputs |
| 10740 | (list python-bx-python |
| 10741 | python-cython |
| 10742 | python-numpy |
| 10743 | python-pybigwig |
| 10744 | python-pyparsing |
| 10745 | python-pysam |
| 10746 | python-setuptools |
| 10747 | zlib)) |
| 10748 | (home-page "https://rseqc.sourceforge.net/") |
| 10749 | (synopsis "RNA-seq quality control package") |
| 10750 | (description |
| 10751 | "RSeQC provides a number of modules that can comprehensively evaluate |
| 10752 | high throughput sequence data, especially RNA-seq data. Some basic modules |
| 10753 | inspect sequence quality, nucleotide composition bias, PCR bias and GC bias, |
| 10754 | while RNA-seq specific modules evaluate sequencing saturation, mapped reads |
| 10755 | distribution, coverage uniformity, strand specificity, etc.") |
| 10756 | (license license:gpl3+))) |
| 10757 | |
| 10758 | (define-public seek |
| 10759 | ;; There are no release tarballs. And the installation instructions at |
| 10760 | ;; http://seek.princeton.edu/installation.jsp only mention a mercurial |
| 10761 | ;; changeset ID. This is a git repository, though. So we just take the |
| 10762 | ;; most recent commit. |
| 10763 | (let ((commit "196ed4c7633246e9c628e4330d77577ccfd7f1e5") |
| 10764 | (revision "1")) |
| 10765 | (package |
| 10766 | (name "seek") |
| 10767 | (version (git-version "1" revision commit)) |
| 10768 | (source (origin |
| 10769 | (method git-fetch) |
| 10770 | (uri (git-reference |
| 10771 | (url "https://github.com/FunctionLab/sleipnir.git") |
| 10772 | (commit commit) |
| 10773 | (recursive? #true))) |
| 10774 | (file-name (git-file-name name version)) |
| 10775 | (sha256 |
| 10776 | (base32 |
| 10777 | "0c658n8nz563a96dsi4gl2685vxph0yfmmqq5yjc6i4xin1jy1ab")))) |
| 10778 | (build-system cmake-build-system) |
| 10779 | (arguments |
| 10780 | `(#:configure-flags |
| 10781 | ,#~(list (string-append "-DSVM_LIBRARY=" |
| 10782 | #$(this-package-input "libsvm") |
| 10783 | "/lib/libsvm.so") |
| 10784 | (string-append "-DSVM_INCLUDE=" |
| 10785 | #$(this-package-input "libsvm") |
| 10786 | "/include")) |
| 10787 | #:tests? #false ; tests only fail in the build container |
| 10788 | #:phases |
| 10789 | (modify-phases %standard-phases |
| 10790 | ;; The check phase expects to find the unit_tests executable in the |
| 10791 | ;; "build/bin" directory, but it is actually in "build/tests". |
| 10792 | (replace 'check |
| 10793 | (lambda* (#:key tests? #:allow-other-keys) |
| 10794 | (when tests? |
| 10795 | (invoke "tests/unit_tests"))))))) |
| 10796 | (inputs |
| 10797 | `(("apache-thrift:include" ,apache-thrift "include") |
| 10798 | ("apache-thrift:lib" ,apache-thrift "lib") |
| 10799 | ("gsl" ,gsl) |
| 10800 | ("boost" ,boost) |
| 10801 | ("gengetopt" ,gengetopt) |
| 10802 | ("libsvm" ,libsvm) |
| 10803 | ("log4cpp" ,log4cpp) |
| 10804 | ("python" ,python) |
| 10805 | ("readline" ,readline))) |
| 10806 | (native-inputs |
| 10807 | (list pkg-config)) |
| 10808 | (home-page "https://seek.princeton.edu") |
| 10809 | (synopsis "Gene co-expression search engine") |
| 10810 | (description |
| 10811 | "SEEK is a computational gene co-expression search engine. SEEK provides |
| 10812 | biologists with a way to navigate the massive human expression compendium that |
| 10813 | now contains thousands of expression datasets. SEEK returns a robust ranking |
| 10814 | of co-expressed genes in the biological area of interest defined by the user's |
| 10815 | query genes. It also prioritizes thousands of expression datasets according |
| 10816 | to the user's query of interest.") |
| 10817 | (license license:cc-by3.0)))) |
| 10818 | |
| 10819 | (define-public samtools |
| 10820 | (package |
| 10821 | (name "samtools") |
| 10822 | (version "1.19") |
| 10823 | (source |
| 10824 | (origin |
| 10825 | (method url-fetch) |
| 10826 | (uri |
| 10827 | (string-append "https://github.com/samtools/samtools" |
| 10828 | "/releases/download/" version |
| 10829 | "/samtools-" version ".tar.bz2")) |
| 10830 | (sha256 |
| 10831 | (base32 |
| 10832 | "10wby07w33rfypy4kf73v9wwnbyh0lrazbsmrgrvcl88w8c3nszs")) |
| 10833 | (modules '((guix build utils))) |
| 10834 | ;; Delete bundled htslib. |
| 10835 | (snippet '(delete-file-recursively "htslib-1.19")))) |
| 10836 | (build-system gnu-build-system) |
| 10837 | (arguments |
| 10838 | `(#:configure-flags (list "--with-ncurses") |
| 10839 | ;; The samtools test suite (and software) expects SSE-based math, even on |
| 10840 | ;; i686-linux, and not 387-based math. Adjust the CPPFLAGS accordingly. |
| 10841 | ,@(if (target-x86-32?) |
| 10842 | `(#:make-flags (list "CPPFLAGS = -msse -mfpmath=sse")) |
| 10843 | '()) |
| 10844 | #:phases |
| 10845 | (modify-phases %standard-phases |
| 10846 | (add-after 'unpack 'patch-tests |
| 10847 | (lambda _ |
| 10848 | (substitute* "test/test.pl" |
| 10849 | ;; The test script calls out to /bin/bash |
| 10850 | (("/bin/bash") (which "bash")))))))) |
| 10851 | (native-inputs (list pkg-config)) |
| 10852 | (inputs |
| 10853 | (list htslib ncurses perl python zlib)) |
| 10854 | (home-page "https://samtools.sourceforge.net") |
| 10855 | (synopsis "Utilities to efficiently manipulate nucleotide sequence alignments") |
| 10856 | (description |
| 10857 | "Samtools implements various utilities for post-processing nucleotide |
| 10858 | sequence alignments in the SAM, BAM, and CRAM formats, including indexing, |
| 10859 | variant calling (in conjunction with bcftools), and a simple alignment |
| 10860 | viewer.") |
| 10861 | (license license:expat))) |
| 10862 | |
| 10863 | (define-public samtools-0.1 |
| 10864 | ;; This is the most recent version of the 0.1 line of samtools. The input |
| 10865 | ;; and output formats differ greatly from that used and produced by samtools |
| 10866 | ;; 1.x and is still used in many bioinformatics pipelines. |
| 10867 | (package (inherit samtools) |
| 10868 | (version "0.1.19") |
| 10869 | (source |
| 10870 | (origin |
| 10871 | (method url-fetch) |
| 10872 | (uri |
| 10873 | (string-append "mirror://sourceforge/samtools/samtools/" |
| 10874 | version "/samtools-" version ".tar.bz2")) |
| 10875 | (sha256 |
| 10876 | (base32 "1m33xsfwz0s8qi45lylagfllqg7fphf4dr0780rsvw75av9wk06h")))) |
| 10877 | (arguments |
| 10878 | `(#:tests? #f ;no "check" target |
| 10879 | #:make-flags |
| 10880 | (list "LIBCURSES=-lncurses") |
| 10881 | ,@(substitute-keyword-arguments arguments |
| 10882 | ((#:modules _ #f) |
| 10883 | '((ice-9 ftw) |
| 10884 | (ice-9 regex) |
| 10885 | (guix build gnu-build-system) |
| 10886 | (guix build utils))) |
| 10887 | ((#:phases phases) |
| 10888 | `(modify-phases ,phases |
| 10889 | (replace 'install |
| 10890 | (lambda* (#:key outputs #:allow-other-keys) |
| 10891 | (let ((bin (string-append |
| 10892 | (assoc-ref outputs "out") "/bin"))) |
| 10893 | (mkdir-p bin) |
| 10894 | (install-file "samtools" bin) |
| 10895 | #t))) |
| 10896 | (add-after 'install 'install-library |
| 10897 | (lambda* (#:key outputs #:allow-other-keys) |
| 10898 | (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) |
| 10899 | (install-file "libbam.a" lib)))) |
| 10900 | (add-after 'install 'install-headers |
| 10901 | (lambda* (#:key outputs #:allow-other-keys) |
| 10902 | (let ((include (string-append (assoc-ref outputs "out") |
| 10903 | "/include/samtools/"))) |
| 10904 | (for-each (lambda (file) |
| 10905 | (install-file file include)) |
| 10906 | (scandir "." (lambda (name) |
| 10907 | (string-match "\\.h$" name))))))) |
| 10908 | (delete 'patch-tests) |
| 10909 | (delete 'configure)))))))) |
| 10910 | |
| 10911 | (define-public savvy |
| 10912 | (package |
| 10913 | (name "savvy") |
| 10914 | (version "2.1.0") |
| 10915 | (source |
| 10916 | (origin |
| 10917 | (method git-fetch) |
| 10918 | (uri (git-reference |
| 10919 | (url "https://github.com/statgen/savvy") |
| 10920 | (commit (string-append "v" version)))) |
| 10921 | (file-name (git-file-name name version)) |
| 10922 | (sha256 |
| 10923 | (base32 |
| 10924 | "03jh89gl67adnpkwx8yrdn62pd9sg69k21gxh15my2vvpfl1pxlx")))) |
| 10925 | (build-system cmake-build-system) |
| 10926 | (arguments |
| 10927 | (list |
| 10928 | #:configure-flags |
| 10929 | '(list "-DBUILD_TESTS=ON" |
| 10930 | "-DBUILD_EVAL=ON") |
| 10931 | #:phases |
| 10932 | '(modify-phases %standard-phases |
| 10933 | (add-after 'unpack 'use-shared-libraries |
| 10934 | (lambda _ |
| 10935 | ;; Do not prefer static libraries. |
| 10936 | (substitute* "CMakeLists.txt" |
| 10937 | (("set\\(CMAKE_FIND_LIBRARY_SUFFIXES \".a;.*") ""))))))) |
| 10938 | (native-inputs (list pkg-config)) |
| 10939 | (inputs (list htslib)) |
| 10940 | (propagated-inputs (list streambuf-shrinkwrap)) |
| 10941 | (home-page "https://github.com/statgen/savvy/") |
| 10942 | (synopsis "Interface to various variant calling formats") |
| 10943 | (description |
| 10944 | "Savvy is the official C++ interface for the SAV file format and offers |
| 10945 | seamless support for BCF and VCF files.") |
| 10946 | (license license:mpl2.0))) |
| 10947 | |
| 10948 | (define-public morpheus |
| 10949 | (package |
| 10950 | (name "morpheus") |
| 10951 | (version "2.3.6") |
| 10952 | (source |
| 10953 | (origin |
| 10954 | (method git-fetch) |
| 10955 | (uri (git-reference |
| 10956 | (url "https://gitlab.com/morpheus.lab/morpheus") |
| 10957 | (commit (string-append "v" version)))) |
| 10958 | (file-name (git-file-name name version)) |
| 10959 | (sha256 |
| 10960 | (base32 "1jyzbkz8d39kjicrk3ihcx7yvq5wsynvnlcw922bqqsw8nwnn12c")) |
| 10961 | (modules '((guix build utils))) |
| 10962 | (snippet |
| 10963 | '(begin |
| 10964 | (delete-file-recursively "3rdparty/eigen") |
| 10965 | (substitute* '("morpheus/core/cpm_shape_tracker.cpp" |
| 10966 | "morpheus/core/membranemapper.h" |
| 10967 | "morpheus/testing/components/motility/directed_motion_test.cpp" |
| 10968 | "morpheus/testing/components/interaction/generator_cell_sorting.cpp" |
| 10969 | "morpheus/testing/components/interaction/test_cell_sorting.cpp" |
| 10970 | "morpheus/testing/core/cpm/generator_csm_plane.cpp" |
| 10971 | "morpheus/testing/test_operators.h") |
| 10972 | (("#include \"eigen/") "#include \"eigen3/")))))) |
| 10973 | ;; This is for a different Morpheus. |
| 10974 | (properties '((lint-hidden-cve "CVE-2022-31261"))) |
| 10975 | (build-system cmake-build-system) |
| 10976 | (arguments |
| 10977 | (list |
| 10978 | #:configure-flags |
| 10979 | '(list "-DMORPHEUS_GUI=OFF" |
| 10980 | "-DDOWNLOAD_XTENSOR=OFF") |
| 10981 | #:phases |
| 10982 | '(modify-phases %standard-phases |
| 10983 | (add-after 'unpack 'disable-gtest-download |
| 10984 | (lambda _ |
| 10985 | (substitute* "3rdparty/CMakeLists.txt" |
| 10986 | (("add_subdirectory\\(GTest\\)") "")))) |
| 10987 | (replace 'check |
| 10988 | (lambda* (#:key tests? #:allow-other-keys) |
| 10989 | (when tests? |
| 10990 | (invoke "ctest" "--output-junit" "test_results.xml"))))))) |
| 10991 | (inputs (list boost |
| 10992 | eigen |
| 10993 | file |
| 10994 | gnuplot |
| 10995 | libtiff |
| 10996 | libxslt |
| 10997 | xsimd |
| 10998 | xtensor |
| 10999 | xtl |
| 11000 | zlib)) |
| 11001 | (native-inputs |
| 11002 | (list doxygen googletest xxd)) |
| 11003 | (home-page "https://gitlab.com/morpheus.lab/morpheus") |
| 11004 | (synopsis "Multicellular simulation") |
| 11005 | (description |
| 11006 | "Morpheus is a modeling and simulation environment for the study of |
| 11007 | multi-scale and multicellular systems.") |
| 11008 | (license license:bsd-3))) |
| 11009 | |
| 11010 | (define-public mosaik |
| 11011 | (let ((commit "5c25216d3522d6a33e53875cd76a6d65001e4e67")) |
| 11012 | (package |
| 11013 | (name "mosaik") |
| 11014 | (version "2.2.30") |
| 11015 | (source (origin |
| 11016 | ;; There are no release tarballs nor tags. |
| 11017 | (method git-fetch) |
| 11018 | (uri (git-reference |
| 11019 | (url "https://github.com/wanpinglee/MOSAIK") |
| 11020 | (commit commit))) |
| 11021 | (file-name (string-append name "-" version)) |
| 11022 | (sha256 |
| 11023 | (base32 |
| 11024 | "17gj3s07cm77r41z92awh0bim7w7q7fbn0sf5nkqmcm1vw052qgw")))) |
| 11025 | (build-system gnu-build-system) |
| 11026 | (arguments |
| 11027 | `(#:tests? #f ; no tests |
| 11028 | #:make-flags (list "CC=gcc") |
| 11029 | #:phases |
| 11030 | (modify-phases %standard-phases |
| 11031 | (replace 'configure |
| 11032 | (lambda _ (chdir "src") #t)) |
| 11033 | (replace 'install |
| 11034 | (lambda* (#:key outputs #:allow-other-keys) |
| 11035 | (let ((bin (string-append (assoc-ref outputs "out") |
| 11036 | "/bin"))) |
| 11037 | (mkdir-p bin) |
| 11038 | (copy-recursively "../bin" bin) |
| 11039 | #t)))))) |
| 11040 | (inputs |
| 11041 | `(("perl" ,perl) |
| 11042 | ("zlib:static" ,zlib "static") |
| 11043 | ("zlib" ,zlib))) |
| 11044 | (supported-systems '("x86_64-linux")) |
| 11045 | (home-page "https://github.com/wanpinglee/MOSAIK") |
| 11046 | (synopsis "Map nucleotide sequence reads to reference genomes") |
| 11047 | (description |
| 11048 | "MOSAIK is a program for mapping second and third-generation sequencing |
| 11049 | reads to a reference genome. MOSAIK can align reads generated by all the |
| 11050 | major sequencing technologies, including Illumina, Applied Biosystems SOLiD, |
| 11051 | Roche 454, Ion Torrent and Pacific BioSciences SMRT.") |
| 11052 | ;; MOSAIK is released under the GPLv2+ with the exception of third-party |
| 11053 | ;; code released into the public domain: |
| 11054 | ;; 1. fastlz by Ariya Hidayat - http://www.fastlz.org/ |
| 11055 | ;; 2. MD5 implementation - RSA Data Security, RFC 1321 |
| 11056 | (license (list license:gpl2+ license:public-domain))))) |
| 11057 | |
| 11058 | (define-public mosaicatcher |
| 11059 | (package |
| 11060 | (name "mosaicatcher") |
| 11061 | (version "0.3.1") |
| 11062 | (source (origin |
| 11063 | ;; There are no release tarballs nor tags. |
| 11064 | (method git-fetch) |
| 11065 | (uri (git-reference |
| 11066 | (url "https://github.com/friendsofstrandseq/mosaicatcher") |
| 11067 | (commit (string-append version "-dev")))) |
| 11068 | (file-name (git-file-name name version)) |
| 11069 | (sha256 |
| 11070 | (base32 |
| 11071 | "1n2s5wvvj2y0vfgjkg1q11xahpbagxz7h2vf5q7qyy25s12kbzbd")) |
| 11072 | (patches (search-patches "mosaicatcher-unbundle-htslib.patch")))) |
| 11073 | (build-system cmake-build-system) |
| 11074 | (arguments |
| 11075 | `(#:tests? #false ; there are no tests |
| 11076 | #:phases |
| 11077 | (modify-phases %standard-phases |
| 11078 | (add-after 'unpack 'chdir |
| 11079 | (lambda _ (chdir "src"))) |
| 11080 | (replace 'install |
| 11081 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 11082 | (let* ((target (assoc-ref outputs "out")) |
| 11083 | (bin (string-append target "/bin")) |
| 11084 | (share (string-append target "/share/mosaicatcher"))) |
| 11085 | (install-file "mosaic" bin) |
| 11086 | (mkdir-p share) |
| 11087 | (copy-recursively "../R" share))))))) |
| 11088 | (inputs |
| 11089 | (list boost htslib)) |
| 11090 | (home-page "https://github.com/friendsofstrandseq/mosaicatcher") |
| 11091 | (synopsis "Count and classify Strand-seq reads") |
| 11092 | (description |
| 11093 | "Mosaicatcher counts Strand-seq reads and classifies strand states of |
| 11094 | each chromosome in each cell using a Hidden Markov Model.") |
| 11095 | (license license:expat))) |
| 11096 | |
| 11097 | (define-public ngs-sdk |
| 11098 | (package |
| 11099 | (name "ngs-sdk") |
| 11100 | (version "2.10.5") |
| 11101 | (source (origin |
| 11102 | (method git-fetch) |
| 11103 | (uri (git-reference |
| 11104 | (url "https://github.com/ncbi/ngs") |
| 11105 | (commit version))) |
| 11106 | (file-name (git-file-name name version)) |
| 11107 | (sha256 |
| 11108 | (base32 |
| 11109 | "1ix51c25hjn57w93qmwzw80xh2i34wx8j2hn7szh8p6w8i3az5qa")))) |
| 11110 | (build-system gnu-build-system) |
| 11111 | (arguments |
| 11112 | `(#:parallel-build? #f ; not supported |
| 11113 | #:tests? #f ; no "check" target |
| 11114 | #:phases |
| 11115 | (modify-phases %standard-phases |
| 11116 | (replace 'configure |
| 11117 | (lambda* (#:key outputs #:allow-other-keys) |
| 11118 | (let ((out (assoc-ref outputs "out"))) |
| 11119 | ;; Allow 'konfigure.perl' to find 'package.prl'. |
| 11120 | (setenv "PERL5LIB" |
| 11121 | (string-append ".:" (getenv "PERL5LIB"))) |
| 11122 | |
| 11123 | ;; The 'configure' script doesn't recognize things like |
| 11124 | ;; '--enable-fast-install'. |
| 11125 | (invoke "./configure" |
| 11126 | (string-append "--build-prefix=" (getcwd) "/build") |
| 11127 | (string-append "--prefix=" out)) |
| 11128 | #t))) |
| 11129 | (add-after 'unpack 'enter-dir |
| 11130 | (lambda _ (chdir "ngs-sdk") #t))))) |
| 11131 | (native-inputs (list perl)) |
| 11132 | ;; According to the test |
| 11133 | ;; unless ($MARCH =~ /x86_64/i || $MARCH =~ /i?86/i) |
| 11134 | ;; in ngs-sdk/setup/konfigure.perl |
| 11135 | (supported-systems '("i686-linux" "x86_64-linux")) |
| 11136 | (home-page "https://github.com/ncbi/ngs") |
| 11137 | (synopsis "API for accessing Next Generation Sequencing data") |
| 11138 | (description |
| 11139 | "NGS is a domain-specific API for accessing reads, alignments and pileups |
| 11140 | produced from Next Generation Sequencing. The API itself is independent from |
| 11141 | any particular back-end implementation, and supports use of multiple back-ends |
| 11142 | simultaneously.") |
| 11143 | (license license:public-domain))) |
| 11144 | |
| 11145 | (define-public java-ngs |
| 11146 | (package (inherit ngs-sdk) |
| 11147 | (name "java-ngs") |
| 11148 | (arguments |
| 11149 | `(,@(substitute-keyword-arguments |
| 11150 | `(#:modules ((guix build gnu-build-system) |
| 11151 | (guix build utils) |
| 11152 | (srfi srfi-1) |
| 11153 | (srfi srfi-26)) |
| 11154 | ,@(package-arguments ngs-sdk)) |
| 11155 | ((#:phases phases) |
| 11156 | `(modify-phases ,phases |
| 11157 | (replace 'enter-dir (lambda _ (chdir "ngs-java") #t))))))) |
| 11158 | (inputs |
| 11159 | `(("jdk" ,icedtea "jdk") |
| 11160 | ("ngs-sdk" ,ngs-sdk))) |
| 11161 | (synopsis "Java bindings for NGS SDK"))) |
| 11162 | |
| 11163 | (define-public ncbi-vdb |
| 11164 | (package |
| 11165 | (name "ncbi-vdb") |
| 11166 | (version "2.10.6") |
| 11167 | (source (origin |
| 11168 | (method git-fetch) |
| 11169 | (uri (git-reference |
| 11170 | (url "https://github.com/ncbi/ncbi-vdb") |
| 11171 | (commit version))) |
| 11172 | (file-name (git-file-name name version)) |
| 11173 | (sha256 |
| 11174 | (base32 |
| 11175 | "0m8hlxscidsfqm9x9fyi62q6lpf1dv5115kgjjgnrkl49q9c27m6")))) |
| 11176 | (build-system gnu-build-system) |
| 11177 | (arguments |
| 11178 | (list |
| 11179 | #:parallel-build? #f ; not supported |
| 11180 | #:tests? #f ; no "check" target |
| 11181 | #:make-flags '(list "HAVE_HDF5=1") |
| 11182 | #:phases |
| 11183 | #~(modify-phases %standard-phases |
| 11184 | #; |
| 11185 | (add-after 'unpack 'make-files-writable |
| 11186 | (lambda _ (for-each make-file-writable (find-files "." ".*")))) |
| 11187 | (add-before 'configure 'set-perl-search-path |
| 11188 | (lambda _ |
| 11189 | ;; Work around "dotless @INC" build failure. |
| 11190 | (setenv "PERL5LIB" |
| 11191 | (string-append (getcwd) "/setup:" |
| 11192 | (getenv "PERL5LIB"))))) |
| 11193 | ;; See https://github.com/ncbi/ncbi-vdb/issues/14 |
| 11194 | (add-after 'unpack 'patch-krypto-flags |
| 11195 | (lambda _ |
| 11196 | (substitute* "libs/krypto/Makefile" |
| 11197 | (("-Wa,-march=generic64\\+aes") "") |
| 11198 | (("-Wa,-march=generic64\\+sse4") "")))) |
| 11199 | (replace 'configure |
| 11200 | (lambda _ |
| 11201 | ;; Override include path for libmagic |
| 11202 | (substitute* "setup/package.prl" |
| 11203 | (("name => 'magic', Include => '/usr/include'") |
| 11204 | (string-append "name=> 'magic', Include => '" |
| 11205 | #$(this-package-input "file") |
| 11206 | "/include" "'"))) |
| 11207 | |
| 11208 | ;; Install kdf5 library (needed by sra-tools) |
| 11209 | (substitute* "build/Makefile.install" |
| 11210 | (("LIBRARIES_TO_INSTALL =") |
| 11211 | "LIBRARIES_TO_INSTALL = kdf5.$(VERSION_LIBX) kdf5.$(VERSION_SHLX)")) |
| 11212 | |
| 11213 | (substitute* "build/Makefile.env" |
| 11214 | (("CFLAGS =" prefix) |
| 11215 | (string-append prefix "-msse2 "))) |
| 11216 | |
| 11217 | ;; Override search path for ngs-java |
| 11218 | (substitute* "setup/package.prl" |
| 11219 | (("/usr/local/ngs/ngs-java") |
| 11220 | #$(this-package-input "java-ngs"))) |
| 11221 | |
| 11222 | ;; The 'configure' script doesn't recognize things like |
| 11223 | ;; '--enable-fast-install'. |
| 11224 | (invoke "./configure" |
| 11225 | (string-append "--build-prefix=" (getcwd) "/build") |
| 11226 | (string-append "--prefix=" #$output) |
| 11227 | (string-append "--debug") |
| 11228 | (string-append "--with-xml2-prefix=" |
| 11229 | #$(this-package-input "libxml2")) |
| 11230 | (string-append "--with-ngs-sdk-prefix=" |
| 11231 | #$(this-package-input "ngs-sdk")) |
| 11232 | (string-append "--with-hdf5-prefix=" |
| 11233 | #$(this-package-input "hdf5"))))) |
| 11234 | (add-after 'install 'install-interfaces |
| 11235 | (lambda _ |
| 11236 | ;; Install interface libraries. On i686 the interface libraries |
| 11237 | ;; are installed to "linux/gcc/i386", so we need to use the Linux |
| 11238 | ;; architecture name ("i386") instead of the target system prefix |
| 11239 | ;; ("i686"). |
| 11240 | (mkdir (string-append #$output "/ilib")) |
| 11241 | (copy-recursively (string-append |
| 11242 | "build/ncbi-vdb/linux/gcc/" |
| 11243 | #$(platform-linux-architecture |
| 11244 | (lookup-platform-by-target-or-system |
| 11245 | (or (%current-target-system) |
| 11246 | (%current-system)))) |
| 11247 | "/rel/ilib") |
| 11248 | (string-append #$output "/ilib")) |
| 11249 | ;; Install interface headers |
| 11250 | (copy-recursively "interfaces" |
| 11251 | (string-append #$output "/include")))) |
| 11252 | (add-after 'install-interfaces 'install-libs |
| 11253 | (lambda _ |
| 11254 | (copy-recursively (string-append |
| 11255 | "build/ncbi-vdb/linux/gcc/" |
| 11256 | #$(platform-linux-architecture |
| 11257 | (lookup-platform-by-target-or-system |
| 11258 | (or (%current-target-system) |
| 11259 | (%current-system)))) |
| 11260 | "/rel/lib") |
| 11261 | (string-append #$output "/lib")))) |
| 11262 | ;; These files are needed by sra-tools. |
| 11263 | (add-after 'install 'install-configuration-files |
| 11264 | (lambda _ |
| 11265 | (let ((target (string-append #$output "/kfg"))) |
| 11266 | (mkdir target) |
| 11267 | (install-file "libs/kfg/default.kfg" target) |
| 11268 | (install-file "libs/kfg/certs.kfg" target))))))) |
| 11269 | (inputs |
| 11270 | (list file hdf5-1.10 java-ngs libxml2 ngs-sdk )) |
| 11271 | (native-inputs (list perl)) |
| 11272 | ;; NCBI-VDB requires SSE capability. |
| 11273 | (supported-systems '("i686-linux" "x86_64-linux")) |
| 11274 | (home-page "https://github.com/ncbi/ncbi-vdb") |
| 11275 | (synopsis "Database engine for genetic information") |
| 11276 | (description |
| 11277 | "The NCBI-VDB library implements a highly compressed columnar data |
| 11278 | warehousing engine that is most often used to store genetic information. |
| 11279 | Databases are stored in a portable image within the file system, and can be |
| 11280 | accessed/downloaded on demand across HTTP.") |
| 11281 | (license license:public-domain))) |
| 11282 | |
| 11283 | (define-public plink |
| 11284 | (package |
| 11285 | (name "plink") |
| 11286 | (version "1.07") |
| 11287 | (source |
| 11288 | (origin |
| 11289 | (method url-fetch) |
| 11290 | (uri (string-append |
| 11291 | "https://zzz.bwh.harvard.edu/plink/dist/plink-" |
| 11292 | version "-src.zip")) |
| 11293 | (sha256 |
| 11294 | (base32 "0as8gxm4pjyc8dxmm1sl873rrd7wn5qs0l29nqfnl31x8i467xaa")) |
| 11295 | (patches (search-patches "plink-1.07-unclobber-i.patch" |
| 11296 | "plink-endian-detection.patch")))) |
| 11297 | (build-system gnu-build-system) |
| 11298 | (arguments |
| 11299 | `(#:tests? #f ;no "check" target |
| 11300 | #:make-flags ,#~(list (string-append "LIB_LAPACK=" |
| 11301 | #$(this-package-input "openblas") |
| 11302 | "/lib/libopenblas.so") |
| 11303 | "WITH_LAPACK=1" |
| 11304 | "FORCE_DYNAMIC=1" |
| 11305 | ;; disable phoning home |
| 11306 | "WITH_WEBCHECK=") |
| 11307 | #:phases |
| 11308 | (modify-phases %standard-phases |
| 11309 | ;; no "configure" script |
| 11310 | (delete 'configure) |
| 11311 | (replace 'install |
| 11312 | (lambda* (#:key outputs #:allow-other-keys) |
| 11313 | (let ((bin (string-append (assoc-ref outputs "out") |
| 11314 | "/bin/"))) |
| 11315 | (install-file "plink" bin))))))) |
| 11316 | (inputs |
| 11317 | (list zlib libxcrypt openblas)) |
| 11318 | (native-inputs |
| 11319 | (list unzip gcc-7)) |
| 11320 | (home-page "http://pngu.mgh.harvard.edu/~purcell/plink/") |
| 11321 | (synopsis "Whole genome association analysis toolset") |
| 11322 | (description |
| 11323 | "PLINK is a whole genome association analysis toolset, designed to |
| 11324 | perform a range of basic, large-scale analyses in a computationally efficient |
| 11325 | manner. The focus of PLINK is purely on analysis of genotype/phenotype data, |
| 11326 | so there is no support for steps prior to this (e.g. study design and |
| 11327 | planning, generating genotype or CNV calls from raw data). Through |
| 11328 | integration with gPLINK and Haploview, there is some support for the |
| 11329 | subsequent visualization, annotation and storage of results.") |
| 11330 | ;; Code is released under GPLv2, except for fisher.h, which is under |
| 11331 | ;; LGPLv2.1+ |
| 11332 | (license (list license:gpl2 license:lgpl2.1+)))) |
| 11333 | |
| 11334 | (define-public plink-ng |
| 11335 | (package (inherit plink) |
| 11336 | (name "plink-ng") |
| 11337 | (version "2.0.0-a.6.16") |
| 11338 | (source |
| 11339 | (origin |
| 11340 | (method git-fetch) |
| 11341 | (uri (git-reference |
| 11342 | (url "https://github.com/chrchang/plink-ng") |
| 11343 | (commit (string-append "v" version)))) |
| 11344 | (file-name (git-file-name name version)) |
| 11345 | (sha256 |
| 11346 | (base32 "1v020l8b5njc458silaqfwl8jg7vn46wg8hh4iiq3ip6p31g2dm7")))) |
| 11347 | (build-system gnu-build-system) |
| 11348 | (arguments |
| 11349 | (list |
| 11350 | #:tests? #false ;TEST_EXTRACT_CHR doesn't produce expected files |
| 11351 | #:make-flags |
| 11352 | #~(list "BLASFLAGS=-lopenblas" |
| 11353 | "NO_SSE42=1" |
| 11354 | "NO_AVX2=1" |
| 11355 | "STATIC_ZSTD=" |
| 11356 | (string-append "CC=" #$(cc-for-target)) |
| 11357 | (string-append "PREFIX=" #$output) |
| 11358 | "DESTDIR=") |
| 11359 | #:phases |
| 11360 | #~(modify-phases %standard-phases |
| 11361 | (add-after 'unpack 'chdir |
| 11362 | (lambda _ (chdir "2.0/build_dynamic"))) |
| 11363 | (add-after 'chdir 'patch-headers |
| 11364 | (lambda _ |
| 11365 | (substitute* '("../include/pvar_ffi_support.h" |
| 11366 | "../include/pgenlib_ffi_support.h") |
| 11367 | (("#include \"include/pgenlib_misc.h\"") |
| 11368 | "#include <pgenlib_misc.h>")))) |
| 11369 | (delete 'configure) ; no "configure" script |
| 11370 | (replace 'check |
| 11371 | (lambda* (#:key tests? inputs #:allow-other-keys) |
| 11372 | (when tests? |
| 11373 | (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) |
| 11374 | (with-directory-excursion "../Tests" |
| 11375 | (substitute* "run_tests.sh" |
| 11376 | (("^./run_tests" m) |
| 11377 | (string-append (which "bash") " " m))) |
| 11378 | (invoke "bash" "run_tests.sh"))))) |
| 11379 | (add-after 'build 'build-library |
| 11380 | (lambda _ |
| 11381 | ;; Inspired by what r-saige does to the plink2 sources. |
| 11382 | (apply invoke "gcc" "-std=c++14" "-fPIC" "-O3" "-o" "libplink2.so" |
| 11383 | (append (find-files "../include" "\\.cc$") |
| 11384 | (list "-shared" "-lz" "-lzstd" "-lpthread" "-lm" "-ldeflate"))))) |
| 11385 | (replace 'install |
| 11386 | (lambda _ |
| 11387 | (install-file "plink2" (string-append #$output "/bin")) |
| 11388 | (install-file "libplink2.so" (string-append #$output "/lib")) |
| 11389 | (copy-recursively "../include" (string-append #$output "/include")) |
| 11390 | (for-each (lambda (header) |
| 11391 | (install-file header (string-append #$output "/include"))) |
| 11392 | (find-files "." "\\.h$"))))))) |
| 11393 | (inputs |
| 11394 | (list libdeflate openblas zlib `(,zstd "lib"))) |
| 11395 | (native-inputs |
| 11396 | (list diffutils python simde)) ; for tests |
| 11397 | (home-page "https://www.cog-genomics.org/plink/") |
| 11398 | (license license:gpl3+))) |
| 11399 | |
| 11400 | (define-public smithlab-cpp |
| 11401 | (let ((revision "1") |
| 11402 | (commit "728a097bec88c6f4b8528b685932049e660eff2e")) |
| 11403 | (package |
| 11404 | (name "smithlab-cpp") |
| 11405 | (version (string-append "0." revision "." (string-take commit 7))) |
| 11406 | (source (origin |
| 11407 | (method git-fetch) |
| 11408 | (uri (git-reference |
| 11409 | (url "https://github.com/smithlabcode/smithlab_cpp") |
| 11410 | (commit commit))) |
| 11411 | (file-name (string-append name "-" version "-checkout")) |
| 11412 | (sha256 |
| 11413 | (base32 |
| 11414 | "0d476lmj312xk77kr9fzrv7z1bv96yfyx0w7y62ycmnfbx32ll74")))) |
| 11415 | (build-system gnu-build-system) |
| 11416 | (arguments |
| 11417 | `(#:modules ((guix build gnu-build-system) |
| 11418 | (guix build utils) |
| 11419 | (srfi srfi-26)) |
| 11420 | #:tests? #f ;no "check" target |
| 11421 | #:phases |
| 11422 | (modify-phases %standard-phases |
| 11423 | (add-after 'unpack 'use-samtools-headers |
| 11424 | (lambda _ |
| 11425 | (substitute* '("SAM.cpp" |
| 11426 | "SAM.hpp") |
| 11427 | (("sam.h") "samtools/sam.h")) |
| 11428 | #t)) |
| 11429 | (replace 'install |
| 11430 | (lambda* (#:key outputs #:allow-other-keys) |
| 11431 | (let* ((out (assoc-ref outputs "out")) |
| 11432 | (lib (string-append out "/lib")) |
| 11433 | (include (string-append out "/include/smithlab-cpp"))) |
| 11434 | (mkdir-p lib) |
| 11435 | (mkdir-p include) |
| 11436 | (for-each (cut install-file <> lib) |
| 11437 | (find-files "." "\\.o$")) |
| 11438 | (for-each (cut install-file <> include) |
| 11439 | (find-files "." "\\.hpp$"))) |
| 11440 | #t)) |
| 11441 | (delete 'configure)))) |
| 11442 | (inputs |
| 11443 | (list samtools-0.1 zlib)) |
| 11444 | (home-page "https://github.com/smithlabcode/smithlab_cpp") |
| 11445 | (synopsis "C++ helper library for functions used in Smith lab projects") |
| 11446 | (description |
| 11447 | "Smithlab CPP is a C++ library that includes functions used in many of |
| 11448 | the Smith lab bioinformatics projects, such as a wrapper around Samtools data |
| 11449 | structures, classes for genomic regions, mapped sequencing reads, etc.") |
| 11450 | (license license:gpl3+)))) |
| 11451 | |
| 11452 | (define-public preseq |
| 11453 | (package |
| 11454 | (name "preseq") |
| 11455 | (version "2.0.3") |
| 11456 | (source (origin |
| 11457 | (method url-fetch) |
| 11458 | (uri (string-append "https://github.com/smithlabcode/preseq/" |
| 11459 | "releases/download/v" version |
| 11460 | "/preseq_v" version ".tar.bz2")) |
| 11461 | (sha256 |
| 11462 | (base32 "149x9xmk1wy1gff85325yfzqc0qk4sgp1w6gbyj9cnji4x1dszbl")) |
| 11463 | (modules '((guix build utils))) |
| 11464 | ;; Remove bundled samtools. |
| 11465 | (snippet '(delete-file-recursively "samtools")))) |
| 11466 | (build-system gnu-build-system) |
| 11467 | (arguments |
| 11468 | `(#:tests? #f ;no "check" target |
| 11469 | #:phases |
| 11470 | (modify-phases %standard-phases |
| 11471 | (delete 'configure)) |
| 11472 | #:make-flags |
| 11473 | ,#~(list (string-append "PREFIX=" #$output) |
| 11474 | (string-append "LIBBAM=" |
| 11475 | #$(this-package-input "samtools") |
| 11476 | "/lib/libbam.a") |
| 11477 | (string-append "SMITHLAB_CPP=" |
| 11478 | #$(this-package-input "smithlab-cpp") |
| 11479 | "/lib") |
| 11480 | "PROGS=preseq" |
| 11481 | "INCLUDEDIRS=$(SMITHLAB_CPP)/../include/smithlab-cpp $(SAMTOOLS_DIR)"))) |
| 11482 | (inputs |
| 11483 | (list gsl samtools-0.1 smithlab-cpp zlib)) |
| 11484 | (home-page "http://smithlabresearch.org/software/preseq/") |
| 11485 | (synopsis "Program for analyzing library complexity") |
| 11486 | (description |
| 11487 | "The preseq package is aimed at predicting and estimating the complexity |
| 11488 | of a genomic sequencing library, equivalent to predicting and estimating the |
| 11489 | number of redundant reads from a given sequencing depth and how many will be |
| 11490 | expected from additional sequencing using an initial sequencing experiment. |
| 11491 | The estimates can then be used to examine the utility of further sequencing, |
| 11492 | optimize the sequencing depth, or to screen multiple libraries to avoid low |
| 11493 | complexity samples.") |
| 11494 | (license license:gpl3+))) |
| 11495 | |
| 11496 | (define-public python-screed |
| 11497 | (package |
| 11498 | (name "python-screed") |
| 11499 | (version "1.1.3") |
| 11500 | (source |
| 11501 | (origin |
| 11502 | (method url-fetch) |
| 11503 | (uri (pypi-uri "screed" version)) |
| 11504 | (sha256 |
| 11505 | (base32 "1f3jw3g8d9cdgdggqpfgw42rfcpzdalbbral6l2mmafvqybids1p")))) |
| 11506 | (build-system pyproject-build-system) |
| 11507 | (native-inputs |
| 11508 | (list python-importlib-resources |
| 11509 | python-pytest |
| 11510 | python-setuptools |
| 11511 | python-setuptools-scm)) |
| 11512 | (home-page "https://github.com/dib-lab/screed/") |
| 11513 | (synopsis "Short read sequence database utilities") |
| 11514 | (description "Screed parses FASTA and FASTQ files and generates databases. |
| 11515 | Values such as sequence name, sequence description, sequence quality and the |
| 11516 | sequence itself can be retrieved from these databases.") |
| 11517 | (license license:bsd-3))) |
| 11518 | |
| 11519 | (define-public python-slamdunk |
| 11520 | (package |
| 11521 | (name "python-slamdunk") |
| 11522 | (version "0.4.3") |
| 11523 | (source |
| 11524 | (origin |
| 11525 | (method git-fetch) |
| 11526 | (uri (git-reference |
| 11527 | (url "https://github.com/t-neumann/slamdunk") |
| 11528 | (commit (string-append "v" version)))) |
| 11529 | (file-name (git-file-name name version)) |
| 11530 | (sha256 |
| 11531 | (base32 "0lv3h5k2pn1pz35kz0wk5xmricxzy8qscs2y7nwh0k6x4pn0m0s5")))) |
| 11532 | (build-system pyproject-build-system) |
| 11533 | (propagated-inputs (list python-biopython |
| 11534 | python-intervaltree |
| 11535 | python-joblib |
| 11536 | python-pandas |
| 11537 | python-pybedtools |
| 11538 | python-pysam)) |
| 11539 | (native-inputs (list python-cython python-pytest python-setuptools)) |
| 11540 | (home-page "https://t-neumann.github.io/slamdunk/") |
| 11541 | (synopsis "Streamline SLAM-seq analysis with high sensitivity") |
| 11542 | (description |
| 11543 | "SlamDunk is a fully automated tool for automated, robust, |
| 11544 | scalable and reproducible SLAMseq data analysis. Diagnostic plotting features |
| 11545 | and a MultiQC plugin will make your SLAMseq data ready for immediate QA and |
| 11546 | interpretation.") |
| 11547 | (license license:agpl3+))) |
| 11548 | |
| 11549 | (define-public python-taggd |
| 11550 | (package |
| 11551 | (name "python-taggd") |
| 11552 | (version "0.4.0") |
| 11553 | (source (origin |
| 11554 | (method git-fetch) |
| 11555 | (uri (git-reference |
| 11556 | (url "https://github.com/jfnavarro/taggd") |
| 11557 | (commit version))) |
| 11558 | (file-name (git-file-name name version)) |
| 11559 | (sha256 |
| 11560 | (base32 |
| 11561 | "17hi1vs1qwhxx8jnradnl9k471li6fjb6w5sljkpzjxy7rkxwb85")))) |
| 11562 | (build-system pyproject-build-system) |
| 11563 | (arguments |
| 11564 | (list |
| 11565 | #:phases |
| 11566 | #~(modify-phases %standard-phases |
| 11567 | (add-before 'check 'remove-local-taggd |
| 11568 | (lambda _ |
| 11569 | ;; This would otherwise interfere with finding the installed |
| 11570 | ;; taggd when running tests. |
| 11571 | (delete-file-recursively "taggd")))))) |
| 11572 | (propagated-inputs |
| 11573 | (list python-numpy |
| 11574 | python-pysam |
| 11575 | python-tqdm |
| 11576 | python-aiofiles |
| 11577 | python-dnaio |
| 11578 | python-types-aiofiles |
| 11579 | python-types-tqdm)) |
| 11580 | (native-inputs |
| 11581 | (list python-cython python-pytest python-setuptools)) |
| 11582 | (home-page "https://github.com/jfnavarro/taggd") |
| 11583 | (synopsis "Genetic barcode demultiplexing") |
| 11584 | (description "This package provides TagGD barcode demultiplexing utilities |
| 11585 | for Spatial Transcriptomics data.") |
| 11586 | (license license:bsd-3))) |
| 11587 | |
| 11588 | (define-public stpipeline |
| 11589 | (package |
| 11590 | (name "stpipeline") |
| 11591 | (version "2.1.0") |
| 11592 | (source |
| 11593 | (origin |
| 11594 | (method git-fetch) |
| 11595 | (uri (git-reference |
| 11596 | (url "https://github.com/jfnavarro/st_pipeline") |
| 11597 | (commit version))) |
| 11598 | (file-name (git-file-name name version)) |
| 11599 | (sha256 |
| 11600 | (base32 "03j3426ihhb6k6crpdb0cfvygc4bxqn20iq7bvidgcigbq0as7sd")))) |
| 11601 | (build-system pyproject-build-system) |
| 11602 | (arguments |
| 11603 | (list |
| 11604 | #:test-flags |
| 11605 | ;; This test fails with pandas@3, try to disable it on the next update. |
| 11606 | #~(list "--deselect=tests/integration_test.py::test_multi_qa") |
| 11607 | #:phases '(modify-phases %standard-phases |
| 11608 | ;; requirements.txt and pyproject.toml have all versions |
| 11609 | ;; of the dependencies hardcoded. All tests pass, so it should |
| 11610 | ;; be good enough. |
| 11611 | ;; However, the sanity-check of any Python package that has |
| 11612 | ;; stpipelines a dependency, would fail too. |
| 11613 | (delete 'sanity-check)))) |
| 11614 | (propagated-inputs (list htseq |
| 11615 | python-distance |
| 11616 | python-dnaio |
| 11617 | python-numpy |
| 11618 | python-pandas |
| 11619 | python-pysam |
| 11620 | python-regex |
| 11621 | python-scikit-learn |
| 11622 | python-scipy |
| 11623 | python-seaborn |
| 11624 | python-taggd |
| 11625 | python-types-regex |
| 11626 | samtools |
| 11627 | star)) |
| 11628 | (native-inputs (list python-cython |
| 11629 | python-pytest |
| 11630 | python-poetry-core)) |
| 11631 | (home-page "https://github.com/jfnavarro/st_pipeline") |
| 11632 | (synopsis "Pipeline for spatial mapping of unique transcripts") |
| 11633 | (description |
| 11634 | "This package provides an automated pipeline for spatial mapping of |
| 11635 | unique transcripts.") |
| 11636 | (license license:expat))) |
| 11637 | |
| 11638 | (define-public sra-tools |
| 11639 | (package |
| 11640 | (name "sra-tools") |
| 11641 | (version "2.10.6") |
| 11642 | (source |
| 11643 | (origin |
| 11644 | (method git-fetch) |
| 11645 | (uri (git-reference |
| 11646 | (url "https://github.com/ncbi/sra-tools") |
| 11647 | (commit version))) |
| 11648 | (file-name (git-file-name name version)) |
| 11649 | (sha256 |
| 11650 | (base32 |
| 11651 | "1cr2mijkfs5sm35ffjs6861qsd1qkgnhnbavdv65zg5d655abbjf")))) |
| 11652 | (build-system gnu-build-system) |
| 11653 | (arguments |
| 11654 | (list |
| 11655 | #:parallel-build? #f ; not supported |
| 11656 | #:tests? #f ; no "check" target |
| 11657 | #:make-flags |
| 11658 | #~(list (string-append "DEFAULT_CRT=" |
| 11659 | #$(this-package-input "ncbi-vdb") |
| 11660 | "/kfg/certs.kfg") |
| 11661 | (string-append "DEFAULT_KFG=" |
| 11662 | #$(this-package-input "ncbi-vdb") |
| 11663 | "/kfg/default.kfg") |
| 11664 | (string-append "VDB_LIBDIR=" |
| 11665 | #$(this-package-input "ncbi-vdb") |
| 11666 | #$(if (string-prefix? "x86_64" |
| 11667 | (or (%current-target-system) |
| 11668 | (%current-system))) |
| 11669 | "/lib64" |
| 11670 | "/lib32"))) |
| 11671 | #:phases |
| 11672 | #~(modify-phases %standard-phases |
| 11673 | (add-before 'configure 'set-perl-search-path |
| 11674 | (lambda _ |
| 11675 | ;; Work around "dotless @INC" build failure. |
| 11676 | (setenv "PERL5LIB" |
| 11677 | (string-append (getcwd) "/setup:" |
| 11678 | (getenv "PERL5LIB"))))) |
| 11679 | (replace 'configure |
| 11680 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 11681 | ;; The build system expects a directory containing the sources and |
| 11682 | ;; raw build output of ncbi-vdb, including files that are not |
| 11683 | ;; installed. Since we are building against an installed version of |
| 11684 | ;; ncbi-vdb, the following modifications are needed. |
| 11685 | (substitute* "setup/konfigure.perl" |
| 11686 | ;; Make the configure script look for the "ilib" directory of |
| 11687 | ;; "ncbi-vdb" without first checking for the existence of a |
| 11688 | ;; matching library in its "lib" directory. |
| 11689 | (("^ my \\$f = File::Spec->catdir\\(\\$libdir, \\$lib\\);") |
| 11690 | "my $f = File::Spec->catdir($ilibdir, $ilib);") |
| 11691 | ;; Look for interface libraries in ncbi-vdb's "ilib" directory. |
| 11692 | (("my \\$ilibdir = File::Spec->catdir\\(\\$builddir, 'ilib'\\);") |
| 11693 | "my $ilibdir = File::Spec->catdir($dir, 'ilib');")) |
| 11694 | |
| 11695 | ;; Dynamic linking |
| 11696 | (substitute* "tools/copycat/Makefile" |
| 11697 | (("smagic-static") "lmagic")) |
| 11698 | (substitute* "tools/driver-tool/utf8proc/Makefile" |
| 11699 | (("CC\\?=gcc") "myCC=gcc") |
| 11700 | (("\\(CC\\)") "(myCC)")) |
| 11701 | |
| 11702 | ;; Don't link libxml2 statically |
| 11703 | (substitute* "build/ld.linux.exe.sh" |
| 11704 | (("grep -q 'OS_DISTRIBUTOR = Ubuntu.*") "true\n")) |
| 11705 | |
| 11706 | ;; The 'configure' script doesn't recognize things like |
| 11707 | ;; '--enable-fast-install'. |
| 11708 | (invoke "./configure" |
| 11709 | (string-append "--build-prefix=" (getcwd) "/build") |
| 11710 | (string-append "--prefix=" #$output) |
| 11711 | (string-append "--debug") |
| 11712 | (string-append "--with-fuse-prefix=" |
| 11713 | #$(this-package-input "fuse")) |
| 11714 | (string-append "--with-magic-prefix=" |
| 11715 | #$(this-package-input "file")) |
| 11716 | (string-append "--with-xml2-prefix=" |
| 11717 | #$(this-package-input "libxml2")) |
| 11718 | (string-append "--with-ncbi-vdb-sources=" |
| 11719 | #$(this-package-input "ncbi-vdb")) |
| 11720 | (string-append "--with-ncbi-vdb-build=" |
| 11721 | #$(this-package-input "ncbi-vdb")) |
| 11722 | (string-append "--with-ngs-sdk-prefix=" |
| 11723 | #$(this-package-input "ngs-sdk")) |
| 11724 | (string-append "--with-hdf5-prefix=" |
| 11725 | #$(this-package-input "hdf5")))))))) |
| 11726 | (native-inputs (list perl)) |
| 11727 | (inputs |
| 11728 | (list ngs-sdk |
| 11729 | ncbi-vdb |
| 11730 | file |
| 11731 | fuse-2 |
| 11732 | hdf5-1.10 |
| 11733 | libxml2 |
| 11734 | zlib |
| 11735 | python-wrapper)) |
| 11736 | (home-page |
| 11737 | "https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software") |
| 11738 | (synopsis "Tools and libraries for reading and writing sequencing data") |
| 11739 | (description |
| 11740 | "The SRA Toolkit from NCBI is a collection of tools and libraries for |
| 11741 | reading of sequencing files from the Sequence Read Archive (SRA) database and |
| 11742 | writing files into the .sra format.") |
| 11743 | (license license:public-domain))) |
| 11744 | |
| 11745 | (define-public seqan |
| 11746 | (package |
| 11747 | (name "seqan") |
| 11748 | (version "3.0.3") |
| 11749 | (source (origin |
| 11750 | (method url-fetch) |
| 11751 | (uri (string-append "https://github.com/seqan/seqan3/releases/" |
| 11752 | "download/" version "/seqan3-" |
| 11753 | version "-Source.tar.xz")) |
| 11754 | (sha256 |
| 11755 | (base32 |
| 11756 | "1h2z0cvgidhkmh5xsbw75waqbrqbbv6kkrvb0b92xfh3gqpaiz22")))) |
| 11757 | (build-system cmake-build-system) |
| 11758 | (arguments |
| 11759 | `(#:phases |
| 11760 | (modify-phases %standard-phases |
| 11761 | (replace 'check |
| 11762 | (lambda _ |
| 11763 | (invoke "ctest" "test" "--output-on-failure")))))) |
| 11764 | (native-inputs |
| 11765 | (list bzip2 cereal zlib)) |
| 11766 | (home-page "https://www.seqan.de") |
| 11767 | (synopsis "Library for nucleotide sequence analysis") |
| 11768 | (description |
| 11769 | "SeqAn is a C++ library of efficient algorithms and data structures for |
| 11770 | the analysis of sequences with the focus on biological data. It contains |
| 11771 | algorithms and data structures for string representation and their |
| 11772 | manipulation, online and indexed string search, efficient I/O of |
| 11773 | bioinformatics file formats, sequence alignment, and more.") |
| 11774 | (license license:bsd-3))) |
| 11775 | |
| 11776 | (define-public seqan-2 |
| 11777 | (package |
| 11778 | (inherit seqan) |
| 11779 | (version "2.4.0") |
| 11780 | (source (origin |
| 11781 | (method url-fetch) |
| 11782 | (uri (string-append "https://github.com/seqan/seqan/releases/" |
| 11783 | "download/seqan-v" version |
| 11784 | "/seqan-library-" version ".tar.xz")) |
| 11785 | (sha256 |
| 11786 | (base32 |
| 11787 | "19a1rlxx03qy1i1iriicly68w64yjxbv24g9gdywnfmq998v35yx")))) |
| 11788 | ;; The documentation is 7.8MB and the includes are 3.6MB heavy, so it |
| 11789 | ;; makes sense to split the outputs. |
| 11790 | (outputs '("out" "doc")) |
| 11791 | (build-system trivial-build-system) |
| 11792 | (arguments |
| 11793 | `(#:modules ((guix build utils)) |
| 11794 | #:builder |
| 11795 | ,#~(begin |
| 11796 | (use-modules (guix build utils)) |
| 11797 | (let ((tar #$(this-package-native-input "tar")) |
| 11798 | (xz #$(this-package-native-input "xz")) |
| 11799 | (out #$output) |
| 11800 | (doc #$output:doc)) |
| 11801 | (setenv "PATH" (string-append tar "/bin:" xz "/bin")) |
| 11802 | (invoke "tar" "xvf" #$(this-package-native-input "source")) |
| 11803 | (chdir (string-append "seqan-library-" #$version)) |
| 11804 | (copy-recursively "include" (string-append out "/include")) |
| 11805 | (copy-recursively "share" (string-append doc "/share")))))) |
| 11806 | (native-inputs |
| 11807 | `(("source" ,source) |
| 11808 | ("tar" ,tar) |
| 11809 | ("xz" ,xz))))) |
| 11810 | |
| 11811 | (define-public seqan-1 |
| 11812 | (package (inherit seqan) |
| 11813 | (name "seqan") |
| 11814 | (version "1.4.2") |
| 11815 | (source (origin |
| 11816 | (method url-fetch) |
| 11817 | (uri (string-append "https://packages.seqan.de/seqan-library/" |
| 11818 | "seqan-library-" version ".tar.bz2")) |
| 11819 | (sha256 |
| 11820 | (base32 |
| 11821 | "05s3wrrwn50f81aklfm65i4a749zag1vr8z03k21xm0pdxy47yvp")))) |
| 11822 | ;; The documentation is 7.8MB and the includes are 3.6MB heavy, so it |
| 11823 | ;; makes sense to split the outputs. |
| 11824 | (outputs '("out" "doc")) |
| 11825 | (build-system trivial-build-system) |
| 11826 | (arguments |
| 11827 | `(#:modules ((guix build utils)) |
| 11828 | #:builder |
| 11829 | ,#~(begin |
| 11830 | (use-modules (guix build utils)) |
| 11831 | (let ((tar #$(this-package-native-input "tar")) |
| 11832 | (bzip #$(this-package-native-input "bzip2")) |
| 11833 | (out #$output) |
| 11834 | (doc #$output:doc)) |
| 11835 | (setenv "PATH" (string-append tar "/bin:" bzip "/bin")) |
| 11836 | (invoke "tar" "xvf" #$(this-package-native-input "source")) |
| 11837 | (chdir (string-append "seqan-library-" #$version)) |
| 11838 | (copy-recursively "include" (string-append out "/include")) |
| 11839 | (copy-recursively "share" (string-append doc "/share")))))) |
| 11840 | (native-inputs |
| 11841 | `(("source" ,source) |
| 11842 | ("tar" ,tar) |
| 11843 | ("bzip2" ,bzip2))))) |
| 11844 | |
| 11845 | (define-public seqmagick |
| 11846 | (let ((commit "dee6ab9839cff317142e55678bb12c4c9ab2150f") |
| 11847 | (revision "0")) |
| 11848 | (package |
| 11849 | (name "seqmagick") |
| 11850 | (version (git-version "0.8.6" revision commit)) |
| 11851 | (source |
| 11852 | (origin |
| 11853 | (method git-fetch) |
| 11854 | (uri (git-reference |
| 11855 | (url "https://github.com/fhcrc/seqmagick") |
| 11856 | (commit commit))) |
| 11857 | (file-name (git-file-name name version)) |
| 11858 | (sha256 |
| 11859 | (base32 "0syipb7m44s5bqrhs17bwr28svy2s83j8d93kbazav92jzszzsw4")))) |
| 11860 | (build-system pyproject-build-system) |
| 11861 | (arguments |
| 11862 | (list |
| 11863 | #:phases |
| 11864 | #~(modify-phases %standard-phases |
| 11865 | (add-after 'unpack 'set-version |
| 11866 | ;; Alternative of setup.py version check: |
| 11867 | ;; |
| 11868 | ;; subprocess.call( |
| 11869 | ;; ('mkdir -p seqmagick/data && ' |
| 11870 | ;; 'git describe --tags --dirty > seqmagick/data/ver.tmp ' |
| 11871 | ;; '&& mv seqmagick/data/ver.tmp seqmagick/data/ver ' |
| 11872 | ;; '|| rm -f seqmagick/data/ver.tmp'), |
| 11873 | ;; shell=True, stderr=open(os.devnull, "w")) |
| 11874 | ;; |
| 11875 | (lambda _ |
| 11876 | (mkdir "seqmagick/data") |
| 11877 | (with-output-to-file "seqmagick/data/ver" |
| 11878 | (lambda _ (display #$version)))))))) |
| 11879 | (native-inputs |
| 11880 | (list python-pynose |
| 11881 | python-setuptools)) |
| 11882 | (inputs (list python-biopython python-pygtrie)) |
| 11883 | (home-page "https://github.com/fhcrc/seqmagick") |
| 11884 | (synopsis "Tools for converting and modifying sequence files") |
| 11885 | (description |
| 11886 | "Bioinformaticians often have to convert sequence files between formats |
| 11887 | and do little manipulations on them, and it's not worth writing scripts for |
| 11888 | that. Seqmagick is a utility to expose the file format conversion in |
| 11889 | BioPython in a convenient way. Instead of having a big mess of scripts, there |
| 11890 | is one that takes arguments.") |
| 11891 | (license license:gpl3)))) |
| 11892 | |
| 11893 | (define-public seqtk |
| 11894 | (package |
| 11895 | (name "seqtk") |
| 11896 | (version "1.3") |
| 11897 | (source (origin |
| 11898 | (method git-fetch) |
| 11899 | (uri (git-reference |
| 11900 | (url "https://github.com/lh3/seqtk") |
| 11901 | (commit (string-append "v" version)))) |
| 11902 | (file-name (git-file-name name version)) |
| 11903 | (sha256 |
| 11904 | (base32 |
| 11905 | "1bfzlqa84b5s1qi22blmmw2s8xdyp9h9ydcq22pfjhh5gab3yz6l")))) |
| 11906 | (build-system gnu-build-system) |
| 11907 | (arguments |
| 11908 | `(#:phases |
| 11909 | (modify-phases %standard-phases |
| 11910 | (delete 'configure) |
| 11911 | (replace 'check |
| 11912 | ;; There are no tests, so we just run a sanity check. |
| 11913 | (lambda _ (invoke "./seqtk" "seq") #t)) |
| 11914 | (replace 'install |
| 11915 | (lambda* (#:key outputs #:allow-other-keys) |
| 11916 | (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) |
| 11917 | (install-file "seqtk" bin) |
| 11918 | #t)))))) |
| 11919 | (inputs |
| 11920 | (list zlib)) |
| 11921 | (home-page "https://github.com/lh3/seqtk") |
| 11922 | (synopsis "Toolkit for processing biological sequences in FASTA/Q format") |
| 11923 | (description |
| 11924 | "Seqtk is a fast and lightweight tool for processing sequences in the |
| 11925 | FASTA or FASTQ format. It parses both FASTA and FASTQ files which can be |
| 11926 | optionally compressed by gzip.") |
| 11927 | (license license:expat))) |
| 11928 | |
| 11929 | (define-public snap-aligner |
| 11930 | (package |
| 11931 | (name "snap-aligner") |
| 11932 | (version "2.0.0") |
| 11933 | (source (origin |
| 11934 | (method git-fetch) |
| 11935 | (uri (git-reference |
| 11936 | (url "https://github.com/amplab/snap") |
| 11937 | (commit (string-append "v" version)))) |
| 11938 | (file-name (git-file-name name version)) |
| 11939 | (sha256 |
| 11940 | (base32 |
| 11941 | "0yag3jcazdqfxgmw0vbi91i98kj9sr0aqx83qqj6m5b45wxs7jms")))) |
| 11942 | (build-system gnu-build-system) |
| 11943 | (arguments |
| 11944 | '(#:phases |
| 11945 | (modify-phases %standard-phases |
| 11946 | (delete 'configure) |
| 11947 | (replace 'check |
| 11948 | (lambda* (#:key tests? #:allow-other-keys) |
| 11949 | (when tests? (invoke "./unit_tests")))) |
| 11950 | (replace 'install |
| 11951 | (lambda* (#:key outputs #:allow-other-keys) |
| 11952 | (let* ((out (assoc-ref outputs "out")) |
| 11953 | (bin (string-append out "/bin"))) |
| 11954 | (install-file "snap-aligner" bin) |
| 11955 | (install-file "SNAPCommand" bin))))))) |
| 11956 | (native-inputs |
| 11957 | (list zlib)) |
| 11958 | (home-page "https://snap.cs.berkeley.edu/") |
| 11959 | (synopsis "Short read DNA sequence aligner") |
| 11960 | (description |
| 11961 | "SNAP is a fast and accurate aligner for short DNA reads. It is |
| 11962 | optimized for modern read lengths of 100 bases or higher, and takes advantage |
| 11963 | of these reads to align data quickly through a hash-based indexing scheme.") |
| 11964 | ;; 32-bit systems are not supported by the unpatched code. |
| 11965 | ;; Following the bug reports https://github.com/amplab/snap/issues/68 and |
| 11966 | ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812378 we see that |
| 11967 | ;; systems without a lot of memory cannot make good use of this program. |
| 11968 | (supported-systems '("x86_64-linux")) |
| 11969 | (license license:asl2.0))) |
| 11970 | |
| 11971 | (define-public sortmerna |
| 11972 | (package |
| 11973 | (name "sortmerna") |
| 11974 | (version "4.3.7") |
| 11975 | (source |
| 11976 | (origin |
| 11977 | (method git-fetch) |
| 11978 | (uri (git-reference |
| 11979 | (url "https://github.com/biocore/sortmerna") |
| 11980 | (commit (string-append "v" version)))) |
| 11981 | (file-name (git-file-name name version)) |
| 11982 | (sha256 |
| 11983 | (base32 |
| 11984 | "14p3zi6ysnrs2l33r5mc0fr0la2jnnxmqdcif02fppln8w31j753")))) |
| 11985 | (build-system cmake-build-system) |
| 11986 | (outputs '("out" ;for binaries |
| 11987 | "db")) ;for sequence databases |
| 11988 | (arguments |
| 11989 | (list |
| 11990 | #:tests? #false ;unclear how to run them |
| 11991 | #:configure-flags |
| 11992 | #~(list "-DWITH_TESTS=ON" |
| 11993 | "-DCMAKE_CXX_FLAGS=-pthread" |
| 11994 | "-DZLIB_STATIC=OFF" |
| 11995 | "-DROCKSDB_STATIC=OFF" |
| 11996 | "-DPORTABLE=OFF" ;do not use static linking |
| 11997 | (string-append "-DROCKSDB_HOME=" |
| 11998 | #$(this-package-input "rocksdb")) |
| 11999 | (string-append "-DRAPIDJSON_HOME=" |
| 12000 | #$(this-package-input "rapidjson")) |
| 12001 | (string-append "-DRapidJson_DIR=" |
| 12002 | #$(this-package-input "rapidjson") |
| 12003 | "/lib/cmake/RapidJSON") |
| 12004 | (string-append "-DRapidJSON_INCLUDE_DIR=" |
| 12005 | #$(this-package-input "rapidjson") |
| 12006 | "/include")) |
| 12007 | #:phases |
| 12008 | '(modify-phases %standard-phases |
| 12009 | (add-after 'unpack 'fix-includes |
| 12010 | (lambda _ |
| 12011 | (substitute* "src/sortmerna/kseq_load.cpp" |
| 12012 | (("#include <iostream>" all) |
| 12013 | (string-append all "\n#include <cstdint>"))))) |
| 12014 | (add-after 'unpack 'find-concurrentqueue-headers |
| 12015 | (lambda* (#:key inputs #:allow-other-keys) |
| 12016 | ;; Ensure that headers can be found |
| 12017 | (setenv "CPLUS_INCLUDE_PATH" |
| 12018 | (string-append (search-input-directory |
| 12019 | inputs "/include/concurrentqueue") |
| 12020 | ":" |
| 12021 | (or (getenv "CPLUS_INCLUDE_PATH") ""))))) |
| 12022 | (replace 'install |
| 12023 | (lambda* (#:key outputs #:allow-other-keys) |
| 12024 | (let* ((out (assoc-ref outputs "out")) |
| 12025 | (bin (string-append out "/bin")) |
| 12026 | (db (assoc-ref outputs "db")) |
| 12027 | (share |
| 12028 | (string-append db "/share/sortmerna/rRNA_databases"))) |
| 12029 | (install-file "src/sortmerna/sortmerna" bin) |
| 12030 | (for-each (lambda (file) |
| 12031 | (install-file file share)) |
| 12032 | (find-files "../source/data/rRNA_databases" ".*fasta")))))))) |
| 12033 | (inputs |
| 12034 | (list concurrentqueue |
| 12035 | gflags ; because of rocksdb |
| 12036 | rapidjson rocksdb zlib)) |
| 12037 | (native-inputs |
| 12038 | (list pkg-config)) |
| 12039 | (home-page "https://bioinfo.lifl.fr/RNA/sortmerna/") |
| 12040 | (synopsis "Biological sequence analysis tool for NGS reads") |
| 12041 | (description |
| 12042 | "SortMeRNA is a biological sequence analysis tool for filtering, mapping |
| 12043 | and @acronym{OTU, operational taxonomic unit} picking of @acronym{NGS, next |
| 12044 | generation sequencing} reads. The core algorithm is based on approximate seeds |
| 12045 | and allows for fast and sensitive analyses of nucleotide sequences. The main |
| 12046 | application of SortMeRNA is filtering rRNA from metatranscriptomic data.") |
| 12047 | ;; The source includes x86 specific code |
| 12048 | (supported-systems '("x86_64-linux" "i686-linux")) |
| 12049 | (license license:lgpl3))) |
| 12050 | |
| 12051 | (define-public star |
| 12052 | (package |
| 12053 | (name "star") |
| 12054 | (version "2.7.8a") |
| 12055 | (source (origin |
| 12056 | (method git-fetch) |
| 12057 | (uri (git-reference |
| 12058 | (url "https://github.com/alexdobin/STAR") |
| 12059 | (commit version))) |
| 12060 | (file-name (git-file-name name version)) |
| 12061 | (sha256 |
| 12062 | (base32 |
| 12063 | "0zc5biymja9zml9yizcj1h68fq9c6sxfcav8a0lbgvgsm44rvans")) |
| 12064 | (modules '((guix build utils))) |
| 12065 | (snippet |
| 12066 | '(begin |
| 12067 | (substitute* "source/Makefile" |
| 12068 | (("/bin/rm") "rm")) |
| 12069 | ;; Remove pre-built binaries and bundled htslib sources. |
| 12070 | (delete-file-recursively "bin/MacOSX_x86_64") |
| 12071 | (delete-file-recursively "bin/Linux_x86_64") |
| 12072 | (delete-file-recursively "bin/Linux_x86_64_static") |
| 12073 | (delete-file-recursively "source/htslib") |
| 12074 | #t)))) |
| 12075 | (build-system gnu-build-system) |
| 12076 | (arguments |
| 12077 | '(#:tests? #f ;no check target |
| 12078 | #:make-flags '("STAR") |
| 12079 | #:phases |
| 12080 | (modify-phases %standard-phases |
| 12081 | (add-after 'unpack 'enter-source-dir |
| 12082 | (lambda _ (chdir "source") #t)) |
| 12083 | (add-after 'enter-source-dir 'make-reproducible |
| 12084 | (lambda _ |
| 12085 | (substitute* "Makefile" |
| 12086 | (("(COMPILATION_TIME_PLACE=\")(.*)(\")" _ pre mid post) |
| 12087 | (string-append pre "Built with Guix" post))) |
| 12088 | #t)) |
| 12089 | ;; See https://github.com/alexdobin/STAR/pull/562 |
| 12090 | (add-after 'enter-source-dir 'add-missing-header |
| 12091 | (lambda _ |
| 12092 | (substitute* "SoloReadFeature_inputRecords.cpp" |
| 12093 | (("#include \"binarySearch2.h\"" h) |
| 12094 | (string-append h "\n#include <math.h>"))) |
| 12095 | #t)) |
| 12096 | (add-after 'enter-source-dir 'do-not-use-bundled-htslib |
| 12097 | (lambda _ |
| 12098 | (substitute* "Makefile" |
| 12099 | (("(Depend.list: \\$\\(SOURCES\\) parametersDefault\\.xxd) htslib" |
| 12100 | _ prefix) prefix)) |
| 12101 | (substitute* '("BAMfunctions.cpp" |
| 12102 | "signalFromBAM.h" |
| 12103 | "bam_cat.h" |
| 12104 | "bam_cat.c" |
| 12105 | "STAR.cpp" |
| 12106 | "bamRemoveDuplicates.cpp") |
| 12107 | (("#include \"htslib/([^\"]+\\.h)\"" _ header) |
| 12108 | (string-append "#include <" header ">"))) |
| 12109 | (substitute* "IncludeDefine.h" |
| 12110 | (("\"htslib/(htslib/[^\"]+.h)\"" _ header) |
| 12111 | (string-append "<" header ">"))) |
| 12112 | #t)) |
| 12113 | (replace 'install |
| 12114 | (lambda* (#:key outputs #:allow-other-keys) |
| 12115 | (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) |
| 12116 | (install-file "STAR" bin)) |
| 12117 | #t)) |
| 12118 | (delete 'configure)))) |
| 12119 | (native-inputs |
| 12120 | (list xxd)) |
| 12121 | (inputs |
| 12122 | (list htslib zlib)) |
| 12123 | (home-page "https://github.com/alexdobin/STAR") |
| 12124 | (synopsis "Universal RNA-seq aligner") |
| 12125 | (description |
| 12126 | "The Spliced Transcripts Alignment to a Reference (STAR) software is |
| 12127 | based on a previously undescribed RNA-seq alignment algorithm that uses |
| 12128 | sequential maximum mappable seed search in uncompressed suffix arrays followed |
| 12129 | by seed clustering and stitching procedure. In addition to unbiased de novo |
| 12130 | detection of canonical junctions, STAR can discover non-canonical splices and |
| 12131 | chimeric (fusion) transcripts, and is also capable of mapping full-length RNA |
| 12132 | sequences.") |
| 12133 | ;; Only 64-bit systems are supported according to the README. |
| 12134 | (supported-systems '("x86_64-linux" "mips64el-linux")) |
| 12135 | ;; STAR is licensed under GPLv3 or later; htslib is MIT-licensed. |
| 12136 | (license license:gpl3+))) |
| 12137 | |
| 12138 | (define-public star-for-pigx |
| 12139 | (package |
| 12140 | (inherit star) |
| 12141 | (name "star") |
| 12142 | (version "2.7.3a") |
| 12143 | (source (origin |
| 12144 | (method git-fetch) |
| 12145 | (uri (git-reference |
| 12146 | (url "https://github.com/alexdobin/STAR") |
| 12147 | (commit version))) |
| 12148 | (file-name (git-file-name name version)) |
| 12149 | (sha256 |
| 12150 | (base32 |
| 12151 | "1hgiqw5qhs0pc1xazzihcfd92na02xyq2kb469z04y1v51kpvvjq")) |
| 12152 | (modules '((guix build utils))) |
| 12153 | (snippet |
| 12154 | '(begin |
| 12155 | (substitute* "source/Makefile" |
| 12156 | (("/bin/rm") "rm")) |
| 12157 | ;; Remove pre-built binaries and bundled htslib sources. |
| 12158 | (delete-file-recursively "bin/MacOSX_x86_64") |
| 12159 | (delete-file-recursively "bin/Linux_x86_64") |
| 12160 | (delete-file-recursively "bin/Linux_x86_64_static") |
| 12161 | (delete-file-recursively "source/htslib") |
| 12162 | #t)))))) |
| 12163 | |
| 12164 | (define-public starlong |
| 12165 | (package (inherit star) |
| 12166 | (name "starlong") |
| 12167 | (arguments |
| 12168 | (substitute-keyword-arguments arguments |
| 12169 | ((#:make-flags flags) |
| 12170 | `(list "STARlong")) |
| 12171 | ((#:phases phases) |
| 12172 | `(modify-phases ,phases |
| 12173 | ;; Allow extra long sequence reads. |
| 12174 | (add-after 'unpack 'make-extra-long |
| 12175 | (lambda _ |
| 12176 | (substitute* "source/IncludeDefine.h" |
| 12177 | (("(#define DEF_readNameLengthMax ).*" _ match) |
| 12178 | (string-append match "900000\n"))) |
| 12179 | #t)) |
| 12180 | (replace 'install |
| 12181 | (lambda* (#:key outputs #:allow-other-keys) |
| 12182 | (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) |
| 12183 | (install-file "STARlong" bin)) |
| 12184 | #t)))))))) |
| 12185 | |
| 12186 | (define-public subread |
| 12187 | (package |
| 12188 | (name "subread") |
| 12189 | (version "2.1.1") |
| 12190 | (source (origin |
| 12191 | (method url-fetch) |
| 12192 | (uri (string-append "mirror://sourceforge/subread/subread-" |
| 12193 | version "/subread-" version "-source.tar.gz")) |
| 12194 | (sha256 |
| 12195 | (base32 |
| 12196 | "1ahyn0dgz1aymmqrdfnhismny6x5g4m8jlc2wmkxgk9id33dg4k3")))) |
| 12197 | (build-system gnu-build-system) |
| 12198 | (arguments |
| 12199 | `(#:tests? #f ;no "check" target |
| 12200 | ;; The CC and CCFLAGS variables are set to contain a lot of x86_64 |
| 12201 | ;; optimizations by default, so we override these flags such that x86_64 |
| 12202 | ;; flags are only added when the build target is an x86_64 system. |
| 12203 | #:make-flags |
| 12204 | (list (let ((system ,(or (%current-target-system) |
| 12205 | (%current-system))) |
| 12206 | (flags '("-ggdb" "-fomit-frame-pointer" |
| 12207 | "-ffast-math" "-funroll-loops" |
| 12208 | "-fmessage-length=0" "-fcommon" |
| 12209 | "-O9" "-Wall" "-DMAKE_FOR_EXON" |
| 12210 | "-DMAKE_STANDALONE" |
| 12211 | "-DSUBREAD_VERSION=\\\"${SUBREAD_VERSION}\\\"")) |
| 12212 | (flags64 '("-mmmx" "-msse" "-msse2" "-msse3"))) |
| 12213 | (if (string-prefix? "x86_64" system) |
| 12214 | (string-append "CCFLAGS=" (string-join (append flags flags64))) |
| 12215 | (string-append "CCFLAGS=" (string-join flags)))) |
| 12216 | "-f" "Makefile.Linux" |
| 12217 | "CC=gcc ${CCFLAGS}") |
| 12218 | #:phases |
| 12219 | (modify-phases %standard-phases |
| 12220 | (add-after 'unpack 'enter-dir |
| 12221 | (lambda _ (chdir "src"))) |
| 12222 | (replace 'install |
| 12223 | (lambda* (#:key outputs #:allow-other-keys) |
| 12224 | (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) |
| 12225 | (mkdir-p bin) |
| 12226 | (copy-recursively "../bin" bin)))) |
| 12227 | ;; no "configure" script |
| 12228 | (delete 'configure)))) |
| 12229 | (inputs (list zlib)) |
| 12230 | (home-page "https://subread.sourceforge.net/") |
| 12231 | (synopsis "Tool kit for processing next-gen sequencing data") |
| 12232 | (description |
| 12233 | "The subread package contains the following tools: subread aligner, a |
| 12234 | general-purpose read aligner; subjunc aligner: detecting exon-exon junctions |
| 12235 | and mapping RNA-seq reads; featureCounts: counting mapped reads for genomic |
| 12236 | features; exactSNP: a SNP caller that discovers SNPs by testing signals |
| 12237 | against local background noises.") |
| 12238 | (license license:gpl3+))) |
| 12239 | |
| 12240 | (define-public stringtie |
| 12241 | (package |
| 12242 | (name "stringtie") |
| 12243 | (version "3.0.2") |
| 12244 | (source (origin |
| 12245 | (method url-fetch) |
| 12246 | (uri (string-append "http://ccb.jhu.edu/software/stringtie/dl/" |
| 12247 | "stringtie-" version ".tar.gz")) |
| 12248 | (sha256 |
| 12249 | (base32 |
| 12250 | "1mrqcvnhxbidyhf521naywb5ci579160ydqnl5kb4hqjqvm01mn2")) |
| 12251 | ;; This package bundles an annoying amount of third party source |
| 12252 | ;; code. |
| 12253 | (modules '((guix build utils))) |
| 12254 | (snippet |
| 12255 | '(delete-file-recursively "htslib")))) |
| 12256 | (build-system gnu-build-system) |
| 12257 | (arguments |
| 12258 | `(#:tests? #f ;no test suite |
| 12259 | #:make-flags '("LIBDEFLATE=-ldeflate" |
| 12260 | "LIBBZ2=-lbz2" |
| 12261 | "LIBLZMA=-llzma") |
| 12262 | #:phases |
| 12263 | (modify-phases %standard-phases |
| 12264 | ;; no configure script |
| 12265 | (delete 'configure) |
| 12266 | (add-before 'build 'use-system-samtools |
| 12267 | (lambda _ |
| 12268 | (substitute* "Makefile" |
| 12269 | ((" -lm") " -lm -lhts") |
| 12270 | ((" \\$\\{HTSLIB\\}/libhts\\.a") " ")))) |
| 12271 | (replace 'install |
| 12272 | (lambda* (#:key outputs #:allow-other-keys) |
| 12273 | (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) |
| 12274 | (install-file "stringtie" bin))))))) |
| 12275 | (inputs |
| 12276 | (list bzip2 htslib libdeflate zlib)) |
| 12277 | (home-page "https://ccb.jhu.edu/software/stringtie/") |
| 12278 | (synopsis "Transcript assembly and quantification for RNA-Seq data") |
| 12279 | (description |
| 12280 | "StringTie is a fast and efficient assembler of RNA-Seq sequence |
| 12281 | alignments into potential transcripts. It uses a novel network flow algorithm |
| 12282 | as well as an optional de novo assembly step to assemble and quantitate |
| 12283 | full-length transcripts representing multiple splice variants for each gene |
| 12284 | locus. Its input can include not only the alignments of raw reads used by |
| 12285 | other transcript assemblers, but also alignments of longer sequences that have |
| 12286 | been assembled from those reads. To identify differentially expressed genes |
| 12287 | between experiments, StringTie's output can be processed either by the |
| 12288 | Cuffdiff or Ballgown programs.") |
| 12289 | (license license:expat))) |
| 12290 | |
| 12291 | (define-public taxtastic |
| 12292 | (package |
| 12293 | (name "taxtastic") |
| 12294 | (version "0.11.1") |
| 12295 | (source (origin |
| 12296 | ;; The Pypi version does not include tests. |
| 12297 | (method git-fetch) |
| 12298 | (uri (git-reference |
| 12299 | (url "https://github.com/fhcrc/taxtastic") |
| 12300 | (commit (string-append "v" version)))) |
| 12301 | (file-name (git-file-name name version)) |
| 12302 | (sha256 |
| 12303 | (base32 |
| 12304 | "18h3vlyx9qp7xymd8ra6jn5h0vzlpzgcd75kslqyv2qcg1a7scc4")))) |
| 12305 | (build-system pyproject-build-system) |
| 12306 | (arguments |
| 12307 | (list |
| 12308 | #:test-flags #~(list "-k" "not test_new_nodes02") |
| 12309 | #:phases |
| 12310 | #~(modify-phases %standard-phases |
| 12311 | (add-after 'unpack 'prepare-directory |
| 12312 | (lambda _ |
| 12313 | ;; This package is unknown to pypi. |
| 12314 | (substitute* '("requirements.txt" "setup.py") |
| 12315 | ((".*psycopg-binary.*") "")) |
| 12316 | ;; This test fails, but the error is not caught by the test |
| 12317 | ;; framework, so the tests fail... |
| 12318 | (substitute* "tests/test_taxit.py" |
| 12319 | (("self.cmd_fails\\(''\\)") |
| 12320 | "self.cmd_fails('nothing')")) |
| 12321 | ;; This version file is expected to be created with git describe. |
| 12322 | (mkdir-p "taxtastic/data") |
| 12323 | (with-output-to-file "taxtastic/data/ver" |
| 12324 | (lambda () (display #$version)))))))) |
| 12325 | (native-inputs |
| 12326 | (list python-pytest python-setuptools)) |
| 12327 | (propagated-inputs |
| 12328 | (list python-biopython |
| 12329 | python-decorator |
| 12330 | python-dendropy |
| 12331 | python-fastalite |
| 12332 | python-jinja2 |
| 12333 | python-pandas |
| 12334 | python-psycopg |
| 12335 | python-psycopg2-binary |
| 12336 | python-pyyaml |
| 12337 | python-sqlalchemy-2 |
| 12338 | python-sqlparse)) |
| 12339 | (home-page "https://github.com/fhcrc/taxtastic") |
| 12340 | (synopsis "Tools for taxonomic naming and annotation") |
| 12341 | (description |
| 12342 | "Taxtastic is software written in python used to build and maintain |
| 12343 | reference packages i.e. collections of reference trees, reference alignments, |
| 12344 | profiles, and associated taxonomic information.") |
| 12345 | (license license:gpl3+))) |
| 12346 | |
| 12347 | (define-public vcftools |
| 12348 | (package |
| 12349 | (name "vcftools") |
| 12350 | (version "0.1.16") |
| 12351 | (source (origin |
| 12352 | (method url-fetch) |
| 12353 | (uri (string-append |
| 12354 | "https://github.com/vcftools/vcftools/releases/download/v" |
| 12355 | version "/vcftools-" version ".tar.gz")) |
| 12356 | (sha256 |
| 12357 | (base32 |
| 12358 | "1qqlx7flfv7axrjwkaz6njkscsl1d0jw98ns8d8bh1n1hd1pgz6v")))) |
| 12359 | (build-system gnu-build-system) |
| 12360 | (arguments |
| 12361 | `(#:tests? #f ; no "check" target |
| 12362 | #:make-flags |
| 12363 | ,#~(list |
| 12364 | "CFLAGS=-O2" ; override "-m64" flag |
| 12365 | (string-append "PREFIX=" #$output) |
| 12366 | (string-append "MANDIR=" #$output "/share/man/man1")))) |
| 12367 | (native-inputs |
| 12368 | (list pkg-config)) |
| 12369 | (inputs |
| 12370 | (list perl zlib)) |
| 12371 | (home-page "https://vcftools.github.io/") |
| 12372 | (synopsis "Tools for working with VCF files") |
| 12373 | (description |
| 12374 | "VCFtools is a program package designed for working with VCF files, such |
| 12375 | as those generated by the 1000 Genomes Project. The aim of VCFtools is to |
| 12376 | provide easily accessible methods for working with complex genetic variation |
| 12377 | data in the form of VCF files.") |
| 12378 | ;; The license is declared as LGPLv3 in the README and |
| 12379 | ;; at https://vcftools.github.io/license.html |
| 12380 | (license license:lgpl3))) |
| 12381 | |
| 12382 | (define-public infernal |
| 12383 | (package |
| 12384 | (name "infernal") |
| 12385 | (version "1.1.4") |
| 12386 | (source (origin |
| 12387 | (method url-fetch) |
| 12388 | (uri (string-append "http://eddylab.org/software/infernal/" |
| 12389 | "infernal-" version ".tar.gz")) |
| 12390 | (sha256 |
| 12391 | (base32 |
| 12392 | "1z4mgwqg1j4n5ika08ai8mg9yjyjhf4821jp83v2bgwzxrykqjgr")))) |
| 12393 | (build-system gnu-build-system) |
| 12394 | (native-inputs |
| 12395 | (list perl python)) ; for tests |
| 12396 | (home-page "http://eddylab.org/infernal/") |
| 12397 | (synopsis "Inference of RNA alignments") |
| 12398 | (description "Infernal (\"INFERence of RNA ALignment\") is a tool for |
| 12399 | searching DNA sequence databases for RNA structure and sequence similarities. |
| 12400 | It is an implementation of a special case of profile stochastic context-free |
| 12401 | grammars called @dfn{covariance models} (CMs). A CM is like a sequence |
| 12402 | profile, but it scores a combination of sequence consensus and RNA secondary |
| 12403 | structure consensus, so in many cases, it is more capable of identifying RNA |
| 12404 | homologs that conserve their secondary structure more than their primary |
| 12405 | sequence.") |
| 12406 | ;; Infernal 1.1.3 requires VMX or SSE capability for parallel instructions. |
| 12407 | (supported-systems '("i686-linux" "x86_64-linux")) |
| 12408 | (license license:bsd-3))) |
| 12409 | |
| 12410 | (define-public r-genenmf |
| 12411 | (let ((commit "7ac475261123232d3e691ef851936e05055becd4") |
| 12412 | (revision "1")) |
| 12413 | (package |
| 12414 | (name "r-genenmf") |
| 12415 | (version (git-version "0.9.2" revision commit)) |
| 12416 | (source |
| 12417 | (origin |
| 12418 | (method git-fetch) |
| 12419 | (uri (git-reference |
| 12420 | (url "https://github.com/carmonalab/GeneNMF") |
| 12421 | (commit commit))) |
| 12422 | (file-name (git-file-name name version)) |
| 12423 | (sha256 |
| 12424 | (base32 "0kv419nyyddpj2j2dvhxhwk5m26p39f3jc2r7rz98j86x6hgwgpl")))) |
| 12425 | (properties `((upstream-name . "GeneNMF"))) |
| 12426 | (build-system r-build-system) |
| 12427 | (propagated-inputs (list r-cluster |
| 12428 | r-colorspace |
| 12429 | r-dendextend |
| 12430 | r-irlba |
| 12431 | r-lsa |
| 12432 | r-matrix |
| 12433 | r-pheatmap |
| 12434 | r-rcppml |
| 12435 | r-seurat |
| 12436 | r-viridis)) |
| 12437 | (native-inputs (list r-knitr)) |
| 12438 | (home-page "https://github.com/carmonalab/GeneNMF") |
| 12439 | (synopsis "Non-Negative matrix factorization for single-cell omics") |
| 12440 | (description |
| 12441 | "This package provides a collection of methods to extract gene programs |
| 12442 | from single-cell gene expression data using @dfn{non-negative matrix |
| 12443 | factorization} (NMF). @code{GeneNMF} contains functions to directly interact |
| 12444 | with the Seurat toolkit and derive interpretable gene program signatures.") |
| 12445 | (license license:gpl3)))) |
| 12446 | |
| 12447 | (define-public r-ggexpress |
| 12448 | (let ((commit "82f169385f87af328ff971195c2f64ff3c573a8a") |
| 12449 | (revision "1")) |
| 12450 | (package |
| 12451 | (name "r-ggexpress") |
| 12452 | (version (git-version "0.6.6" revision commit)) |
| 12453 | (source (origin |
| 12454 | (method git-fetch) |
| 12455 | (uri (git-reference |
| 12456 | (url "https://github.com/vertesy/ggExpress") |
| 12457 | (commit commit))) |
| 12458 | (file-name (git-file-name name version)) |
| 12459 | (sha256 |
| 12460 | (base32 |
| 12461 | "122hnw8xv33ngcd4fd7hmf817a06ih1knrxxi0cgklj1fwinm0z4")))) |
| 12462 | (properties `((upstream-name . "ggExpress"))) |
| 12463 | (build-system r-build-system) |
| 12464 | (propagated-inputs (list r-cowplot |
| 12465 | r-ggplot2 |
| 12466 | r-ggpubr |
| 12467 | r-markdownhelpers |
| 12468 | r-markdownreports |
| 12469 | r-rcolorbrewer |
| 12470 | r-sessioninfo |
| 12471 | r-seurat |
| 12472 | r-sm |
| 12473 | r-stringendo |
| 12474 | r-tidyverse)) |
| 12475 | (home-page "https://github.com/vertesy/ggExpress") |
| 12476 | (synopsis |
| 12477 | "This is a fast tool to create, annotate and export plots in R") |
| 12478 | (description |
| 12479 | "This package is a set of R functions for generating precise figures. |
| 12480 | This tool helps you to create clean markdown reports about what you just |
| 12481 | discovered with your analysis script.") |
| 12482 | (license license:gpl3)))) |
| 12483 | |
| 12484 | (define-public r-gg3d |
| 12485 | (let ((commit "ffdd837d30c1671cd0895db94bdd7b1594dbfcb0") |
| 12486 | (revision "1")) |
| 12487 | (package |
| 12488 | (name "r-gg3d") |
| 12489 | (version (git-version "0.0.0.9000" revision commit)) |
| 12490 | (source (origin |
| 12491 | (method git-fetch) |
| 12492 | (uri (git-reference |
| 12493 | (url "https://github.com/AckerDWM/gg3D") |
| 12494 | (commit commit))) |
| 12495 | (file-name (git-file-name name version)) |
| 12496 | (sha256 |
| 12497 | (base32 |
| 12498 | "0vz5laj5vz9m1jzb7h7q9f37zjmxwhylhaidlsg61r57wpxvjr3p")))) |
| 12499 | (properties `((upstream-name . "gg3D"))) |
| 12500 | (build-system r-build-system) |
| 12501 | (propagated-inputs |
| 12502 | (list r-dplyr |
| 12503 | r-ggplot2 |
| 12504 | r-magrittr |
| 12505 | r-plot3d |
| 12506 | r-plyr |
| 12507 | r-scales)) |
| 12508 | (native-inputs (list r-knitr)) |
| 12509 | (home-page "https://github.com/AckerDWM/gg3D") |
| 12510 | (synopsis "3D perspective plots for ggplot2") |
| 12511 | (description |
| 12512 | "This package adds 3D perspective plotting of points, paths, and line, |
| 12513 | 3D perspective axes, 3D perspective annotations, and wireframe plots.") |
| 12514 | (license license:gpl3+)))) |
| 12515 | |
| 12516 | (define-public r-ggsankey |
| 12517 | (let ((commit "be08dd0f86eaee9f9ff9e7ff95d47930660a3c36") |
| 12518 | (revision "1")) |
| 12519 | (package |
| 12520 | (name "r-ggsankey") |
| 12521 | (version (git-version "0.0.99999" revision commit)) |
| 12522 | (source (origin |
| 12523 | (method git-fetch) |
| 12524 | (uri (git-reference |
| 12525 | (url "https://github.com/davidsjoberg/ggsankey") |
| 12526 | (commit commit))) |
| 12527 | (file-name (git-file-name name version)) |
| 12528 | (sha256 |
| 12529 | (base32 |
| 12530 | "0acpmydqqc91pq5p9wpkpmgqp3nhiljabd7d3i00kwhjxgm2bvba")))) |
| 12531 | (properties `((upstream-name . "ggsankey"))) |
| 12532 | (build-system r-build-system) |
| 12533 | (propagated-inputs (list r-dplyr |
| 12534 | r-ggplot2 |
| 12535 | r-magrittr |
| 12536 | r-purrr |
| 12537 | r-stringr |
| 12538 | r-tidyr)) |
| 12539 | (native-inputs (list r-testthat)) |
| 12540 | (home-page "https://github.com/davidsjoberg/ggsankey") |
| 12541 | (synopsis "Sankey, Alluvial and Sankey bump plots") |
| 12542 | (description |
| 12543 | "This package provides a package that makes it easy to implement |
| 12544 | sankey, alluvial and sankey bump plots in @code{ggplot2}.") |
| 12545 | (license license:expat)))) |
| 12546 | |
| 12547 | (define-public r-gutils |
| 12548 | (let ((commit "fc24db6f73898c3c25e400e7d627e3e5229003f2") |
| 12549 | (revision "2")) |
| 12550 | (package |
| 12551 | (name "r-gutils") |
| 12552 | (version (git-version "0.2.0" revision commit)) |
| 12553 | (source (origin |
| 12554 | (method git-fetch) |
| 12555 | (uri (git-reference |
| 12556 | (url "https://github.com/mskilab/gUtils") |
| 12557 | (commit commit))) |
| 12558 | (file-name (git-file-name name version)) |
| 12559 | (sha256 |
| 12560 | (base32 |
| 12561 | "11ijzy1zyjv2wgxrfcaan7g82jl27skd41hw4s2xh9lijkn8ilwh")))) |
| 12562 | (properties `((upstream-name . "gUtils"))) |
| 12563 | (build-system r-build-system) |
| 12564 | (arguments |
| 12565 | (list |
| 12566 | #:phases |
| 12567 | '(modify-phases %standard-phases |
| 12568 | ;; These deprecated procedures have been removed in testthat. |
| 12569 | (add-after 'unpack 'testthat-compatibility |
| 12570 | (lambda _ |
| 12571 | (substitute* "tests/testthat/test_rangeops.R" |
| 12572 | (("is_true\\(\\)") "expect_true"))))))) |
| 12573 | (propagated-inputs |
| 12574 | (list r-biocgenerics |
| 12575 | r-data-table |
| 12576 | r-genomeinfodb |
| 12577 | r-genomicranges |
| 12578 | r-iranges |
| 12579 | r-matrix |
| 12580 | r-s4vectors |
| 12581 | r-stringr)) |
| 12582 | (native-inputs (list r-testthat r-xvector)) |
| 12583 | (home-page "https://github.com/mskilab/gUtils") |
| 12584 | (synopsis "Additional capabilities and speed for GenomicRanges operations") |
| 12585 | (description |
| 12586 | "This is an R package providing additional capabilities and speed for |
| 12587 | @code{GenomicRanges} operations.") |
| 12588 | (license license:gpl2)))) |
| 12589 | |
| 12590 | (define-public r-bamutils |
| 12591 | (let ((commit "0a7d2d90cc720aac3fe44f964abf294f1b827f32") |
| 12592 | (revision "2")) |
| 12593 | (package |
| 12594 | (name "r-bamutils") |
| 12595 | (version (git-version "0.0.0.9000" revision commit)) |
| 12596 | (source (origin |
| 12597 | (method git-fetch) |
| 12598 | (uri (git-reference |
| 12599 | (url "https://github.com/mskilab/bamutils/") |
| 12600 | (commit commit))) |
| 12601 | (file-name (git-file-name name version)) |
| 12602 | (sha256 |
| 12603 | (base32 |
| 12604 | "1r3y8775y2j9w92pdp42iaif7nbh260xljrhaswkz6lp71phf1yw")))) |
| 12605 | (properties `((upstream-name . "bamUtils"))) |
| 12606 | (build-system r-build-system) |
| 12607 | ;; See https://github.com/mskilab-org/bamUtils/issues/12 |
| 12608 | (arguments (list #:tests? #false)) |
| 12609 | (propagated-inputs |
| 12610 | (list r-abind |
| 12611 | r-biocgenerics |
| 12612 | r-data-table |
| 12613 | r-genomicalignments |
| 12614 | r-genomicranges |
| 12615 | r-gutils |
| 12616 | r-rsamtools |
| 12617 | r-variantannotation)) |
| 12618 | (native-inputs (list r-testthat samtools)) |
| 12619 | (home-page "https://github.com/mskilab/bamutils/") |
| 12620 | (synopsis "Utility functions for manipulating BAMs") |
| 12621 | (description "This package provides utility functions for manipulating |
| 12622 | BAM files.") |
| 12623 | (license license:gpl2)))) |
| 12624 | |
| 12625 | (define-public r-gtrack |
| 12626 | (let ((commit "a694fa36cedafca2658da79fc8e5b673535b15e5") |
| 12627 | (revision "1")) |
| 12628 | (package |
| 12629 | (name "r-gtrack") |
| 12630 | (version (git-version "0.1.0" revision commit)) |
| 12631 | (source (origin |
| 12632 | (method git-fetch) |
| 12633 | (uri (git-reference |
| 12634 | (url "https://github.com/mskilab/gTrack/") |
| 12635 | (commit commit))) |
| 12636 | (file-name (git-file-name name version)) |
| 12637 | (sha256 |
| 12638 | (base32 |
| 12639 | "070qlrbqsbj9max2vx740zigqh0ymvnw2pm1ia5la3wb4dbfwh2b")))) |
| 12640 | (properties `((upstream-name . "gTrack"))) |
| 12641 | (build-system r-build-system) |
| 12642 | (propagated-inputs |
| 12643 | (list r-biocgenerics |
| 12644 | r-data-table |
| 12645 | r-genomeinfodb |
| 12646 | r-genomicranges |
| 12647 | r-gutils |
| 12648 | r-iranges |
| 12649 | r-matrix |
| 12650 | r-rcolorbrewer |
| 12651 | r-rcpp |
| 12652 | r-rcurl |
| 12653 | r-rtracklayer |
| 12654 | r-s4vectors)) |
| 12655 | (native-inputs (list r-testthat)) |
| 12656 | (home-page "https://github.com/mskilab/gTrack/") |
| 12657 | (synopsis "Plot tracks of complex genomic data across multiple genomic windows") |
| 12658 | (description |
| 12659 | "This package provides an object for plotting GRanges, RleList, UCSC |
| 12660 | file formats, and ffTrack objects in multi-track panels.") |
| 12661 | (license license:gpl2)))) |
| 12662 | |
| 12663 | (define-public r-gchain |
| 12664 | (let ((commit "19f8bb924fdadca136b9827b8538574b278e86a1") |
| 12665 | (revision "2")) |
| 12666 | (package |
| 12667 | (name "r-gchain") |
| 12668 | (version (git-version "0.2.0" revision commit)) |
| 12669 | (source (origin |
| 12670 | (method git-fetch) |
| 12671 | (uri (git-reference |
| 12672 | (url "https://github.com/mskilab/gChain/") |
| 12673 | (commit commit))) |
| 12674 | (file-name (git-file-name name version)) |
| 12675 | (sha256 |
| 12676 | (base32 |
| 12677 | "0cg7cy97g2w2dcd980jz5fawjjrfl590hdx3rsblavcdlnzcs3x4")))) |
| 12678 | (properties `((upstream-name . "gChain"))) |
| 12679 | (build-system r-build-system) |
| 12680 | (arguments |
| 12681 | (list |
| 12682 | #:phases |
| 12683 | '(modify-phases %standard-phases |
| 12684 | (add-after 'unpack 'biostrings-compatibility |
| 12685 | (lambda _ |
| 12686 | (substitute* "R/gChain.R" |
| 12687 | ((" pairwiseAlignment") " pwalign::pairwiseAlignment") |
| 12688 | (("alignedPattern") "pwalign::alignedPattern") |
| 12689 | (("deletion\\(") "pwalign::deletion(") |
| 12690 | (("insertion\\(") "pwalign::insertion(") |
| 12691 | (("Biostrings::pattern") "pwalign::pattern")))) |
| 12692 | (add-after 'unpack 'skip-bad-tests |
| 12693 | (lambda _ |
| 12694 | (substitute* "tests/testthat/test_gChain.R" |
| 12695 | ;; C stack usage 7973568 is too close to the limit |
| 12696 | ((".*'testing lift\\(\\) works'.*" m) |
| 12697 | (string-append m "skip('guix')")) |
| 12698 | ;; C stack usage 7973568 is too close to the limit |
| 12699 | ((".*'testing \"\\*\" works'.*" m) |
| 12700 | (string-append m "skip('guix')")))))))) |
| 12701 | (propagated-inputs |
| 12702 | (list r-bamutils |
| 12703 | r-biostrings |
| 12704 | r-data-table |
| 12705 | r-genomicalignments |
| 12706 | r-genomicranges |
| 12707 | r-gtrack |
| 12708 | r-gutils |
| 12709 | r-matrix |
| 12710 | r-rtracklayer)) |
| 12711 | (native-inputs (list r-pwalign r-testthat)) |
| 12712 | (home-page "https://github.com/mskilab/gChain/") |
| 12713 | (synopsis "Additional capabilities and speed for GenomicRanges operations") |
| 12714 | (description |
| 12715 | "This R package provides additional capabilities and speed for |
| 12716 | GenomicRanges operations.") |
| 12717 | (license license:gpl2)))) |
| 12718 | |
| 12719 | (define-public r-skitools |
| 12720 | (let ((commit "ba322dcc2c0ca24a7f3dabecfb37f95e0e2186d1") |
| 12721 | (revision "2")) |
| 12722 | (package |
| 12723 | (name "r-skitools") |
| 12724 | (version (git-version "0.0.0.9000" revision commit)) |
| 12725 | (source (origin |
| 12726 | (method git-fetch) |
| 12727 | (uri (git-reference |
| 12728 | (url "https://github.com/mskilab/skitools/") |
| 12729 | (commit commit))) |
| 12730 | (file-name (git-file-name name version)) |
| 12731 | (sha256 |
| 12732 | (base32 |
| 12733 | "1za371x1cmkmlmicbhzxwycg7g1z9q3d5j7ia2rzayf30s9rcc47")))) |
| 12734 | (properties `((upstream-name . "skitools"))) |
| 12735 | (build-system r-build-system) |
| 12736 | (arguments |
| 12737 | (list |
| 12738 | #:phases |
| 12739 | '(modify-phases %standard-phases |
| 12740 | (add-after 'unpack 'disable-bad-test |
| 12741 | (lambda _ |
| 12742 | ;; See https://github.com/mskilab-org/skitools/issues/11 |
| 12743 | (substitute* "tests/testthat/test_skitools.R" |
| 12744 | ((".*test ra.merge.*" m) |
| 12745 | (string-append m "skip('guix')\n")))))))) |
| 12746 | (propagated-inputs |
| 12747 | (list r-biostrings |
| 12748 | r-complexheatmap |
| 12749 | r-data-table |
| 12750 | r-devtools |
| 12751 | r-dt |
| 12752 | r-gchain |
| 12753 | r-genomeinfodb |
| 12754 | r-genomicranges |
| 12755 | r-ggplot2 |
| 12756 | r-gplots |
| 12757 | r-gutils |
| 12758 | r-htmlwidgets |
| 12759 | r-hwriter |
| 12760 | r-igraph |
| 12761 | r-iranges |
| 12762 | r-plotly |
| 12763 | r-rcolorbrewer |
| 12764 | r-reshape2 |
| 12765 | r-s4vectors |
| 12766 | r-stringr |
| 12767 | r-variantannotation)) |
| 12768 | (native-inputs (list r-bsgenome-hsapiens-ucsc-hg19)) |
| 12769 | (home-page "https://github.com/mskilab/skitools/") |
| 12770 | (synopsis "Various mskilab R utilities") |
| 12771 | (description |
| 12772 | "This package provides R miscellaneous utilities for basic data |
| 12773 | manipulation, debugging, visualization, lsf management, and common mskilab |
| 12774 | tasks.") |
| 12775 | (license license:expat)))) |
| 12776 | |
| 12777 | (define-public r-chromunity |
| 12778 | (let ((commit "101e30aafef23b4d8a4fba40375bf7d13a7c0b11") |
| 12779 | (revision "2")) |
| 12780 | (package |
| 12781 | (name "r-chromunity") |
| 12782 | (version (git-version "0.0.2" revision commit)) |
| 12783 | (source (origin |
| 12784 | (method git-fetch) |
| 12785 | (uri (git-reference |
| 12786 | (url "https://github.com/mskilab/chromunity") |
| 12787 | (commit commit))) |
| 12788 | (file-name (git-file-name name version)) |
| 12789 | (sha256 |
| 12790 | (base32 |
| 12791 | "1fq6l9xn6zl1nqr6ny2575r3iqmhf8dgsd7rxaglm6a7fy3r8zx7")))) |
| 12792 | (properties `((upstream-name . "chromunity"))) |
| 12793 | (build-system r-build-system) |
| 12794 | (arguments |
| 12795 | (list |
| 12796 | #:phases |
| 12797 | '(modify-phases %standard-phases |
| 12798 | (add-after 'unpack 'disable-bad-tests |
| 12799 | (lambda _ |
| 12800 | ;; This test operates on a NULL object. |
| 12801 | (substitute* "tests/testthat/test_chromunity.R" |
| 12802 | ((".*synergy.*" m) |
| 12803 | (string-append m "skip('guix')\n")))))))) |
| 12804 | (propagated-inputs |
| 12805 | (list r-arrow |
| 12806 | r-biocgenerics |
| 12807 | r-bsgenome-hsapiens-ucsc-hg38 |
| 12808 | r-data-table |
| 12809 | r-gchain |
| 12810 | r-genomicranges |
| 12811 | r-gutils |
| 12812 | r-igraph |
| 12813 | r-magrittr |
| 12814 | r-mass |
| 12815 | r-matrix |
| 12816 | r-pbmcapply |
| 12817 | r-plyr |
| 12818 | r-r6 |
| 12819 | r-zoo)) |
| 12820 | (native-inputs (list r-testthat)) |
| 12821 | (home-page "https://github.com/mskilab/chromunity") |
| 12822 | (synopsis "Discovery of communities in Pore-C concatemers") |
| 12823 | (description "This is a package for the discovery of communities in |
| 12824 | Pore-C concatemers.") |
| 12825 | (license license:gpl3)))) |
| 12826 | |
| 12827 | (define-public r-cmdstanr |
| 12828 | (let ((commit "a45d4f7d686aa6b57ce25f342a71eea79507f01c") |
| 12829 | (revision "1")) |
| 12830 | (package |
| 12831 | (name "r-cmdstanr") |
| 12832 | (version (git-version "0.8.1.9000" revision commit)) |
| 12833 | (source |
| 12834 | (origin |
| 12835 | (method git-fetch) |
| 12836 | (uri (git-reference |
| 12837 | (url "https://github.com/stan-dev/cmdstanr") |
| 12838 | (commit commit))) |
| 12839 | (file-name (git-file-name name version)) |
| 12840 | (sha256 |
| 12841 | (base32 "01vyh3sy704rs7yvaka2hp6vld0mdl7hbrs20dpbwidgm4ksrvsi")))) |
| 12842 | (properties `((upstream-name . "cmdstanr"))) |
| 12843 | (build-system r-build-system) |
| 12844 | (propagated-inputs (list r-checkmate |
| 12845 | r-data-table |
| 12846 | r-jsonlite |
| 12847 | r-posterior |
| 12848 | r-processx |
| 12849 | r-r6 |
| 12850 | r-rlang |
| 12851 | r-withr)) |
| 12852 | (native-inputs (list r-knitr r-testthat)) |
| 12853 | (home-page "https://github.com/stan-dev/cmdstanr") |
| 12854 | (synopsis "R interface to 'CmdStan'") |
| 12855 | (description |
| 12856 | "This package provides a lightweight interface to Stan |
| 12857 | <https://mc-stan.org>. The @code{CmdStanR} interface is an alternative |
| 12858 | to RStan that calls the command line interface for compilation and |
| 12859 | running algorithms instead of interfacing with C++ via Rcpp'.") |
| 12860 | (license license:bsd-3)))) |
| 12861 | |
| 12862 | (define-public r-dnamcrosshyb |
| 12863 | ;; There aren't any releases. |
| 12864 | (let ((commit "fe8acb33667e81f00dcb84e0fa75c87ab2db5d8f") |
| 12865 | (revision "1")) |
| 12866 | (package |
| 12867 | (name "r-dnamcrosshyb") |
| 12868 | (version (git-version "0.0.0.9000" revision commit)) |
| 12869 | (source |
| 12870 | (origin |
| 12871 | (method git-fetch) |
| 12872 | (uri (git-reference |
| 12873 | (url "https://github.com/pjhop/DNAmCrosshyb") |
| 12874 | (commit commit))) |
| 12875 | (file-name (git-file-name name version)) |
| 12876 | (sha256 |
| 12877 | (base32 "12j1xsiqpvny5rp23z1az0k4cj5ajbcwkg65z00s16vywi2rx6nb")))) |
| 12878 | (properties `((upstream-name . "DNAmCrosshyb"))) |
| 12879 | (build-system r-build-system) |
| 12880 | (propagated-inputs |
| 12881 | (list r-biocgenerics |
| 12882 | r-biocparallel |
| 12883 | r-biostrings |
| 12884 | r-bsgenome-hsapiens-ucsc-hg19-masked |
| 12885 | r-bsgenome-hsapiens-ucsc-hg38-masked |
| 12886 | r-dplyr |
| 12887 | r-genomicranges |
| 12888 | r-ggplot2 |
| 12889 | r-iranges |
| 12890 | r-magrittr |
| 12891 | r-minfi |
| 12892 | r-purrr |
| 12893 | r-s4vectors |
| 12894 | r-shiny |
| 12895 | r-stringi |
| 12896 | r-stringr |
| 12897 | r-tibble |
| 12898 | r-tidyr |
| 12899 | r-watermelon)) |
| 12900 | (home-page "https://github.com/pjhop/DNAmCrosshyb") |
| 12901 | (synopsis "DNAmCrosshyb") |
| 12902 | (description |
| 12903 | "This package provides helper functions to detect cross-hybridization |
| 12904 | on Illumina DNAm arrays.") |
| 12905 | (license license:gpl3)))) |
| 12906 | |
| 12907 | (define-public r-doubletcollection |
| 12908 | (let ((commit "c0d62f1853942ee6a087eaf7b000d9e4261e2dfd") |
| 12909 | (revision "1")) |
| 12910 | (package |
| 12911 | (name "r-doubletcollection") |
| 12912 | (version (git-version "1.1.0" revision commit)) |
| 12913 | (source (origin |
| 12914 | (method git-fetch) |
| 12915 | (uri (git-reference |
| 12916 | (url "https://github.com/xnnba1984/DoubletCollection") |
| 12917 | (commit commit))) |
| 12918 | (file-name (git-file-name name version)) |
| 12919 | (sha256 |
| 12920 | (base32 |
| 12921 | "02cvibyc2nwc4037ramm5cskjwyrb9ib9hkrfhmvhbslkn5ixz1v")))) |
| 12922 | (properties `((upstream-name . "DoubletCollection"))) |
| 12923 | (build-system r-build-system) |
| 12924 | ;; There are no tests. |
| 12925 | (arguments (list #:tests? #false)) |
| 12926 | (propagated-inputs (list r-biocgenerics |
| 12927 | r-doubletfinder |
| 12928 | r-gam |
| 12929 | r-ggplot2 |
| 12930 | r-ggthemes |
| 12931 | r-mast |
| 12932 | r-mclust |
| 12933 | r-prroc |
| 12934 | r-reticulate |
| 12935 | r-scales |
| 12936 | r-scdblfinder |
| 12937 | r-scds |
| 12938 | r-seurat |
| 12939 | r-singlecellexperiment |
| 12940 | r-slingshot |
| 12941 | r-summarizedexperiment |
| 12942 | python |
| 12943 | python-scrublet |
| 12944 | python-doubletdetection)) |
| 12945 | (native-inputs (list r-testthat)) |
| 12946 | (home-page "https://github.com/xnnba1984/DoubletCollection") |
| 12947 | (synopsis "Tool for finding doublets in scRNA-seq data") |
| 12948 | (description |
| 12949 | "This is an R package that integrates the installation of |
| 12950 | doublet-detection methods. In addition, this tool is used for execution and |
| 12951 | benchmark of those eight mentioned methods.") |
| 12952 | (license license:gpl3+)))) |
| 12953 | |
| 12954 | (define-public r-plsdabatch |
| 12955 | (let ((commit "4aadf3a99709afae462db310386b6cf5db20088c") |
| 12956 | (revision "1")) |
| 12957 | (package |
| 12958 | (name "r-plsdabatch") |
| 12959 | (version (git-version "0.2.3" revision commit)) |
| 12960 | (source (origin |
| 12961 | (method git-fetch) |
| 12962 | (uri (git-reference |
| 12963 | (url "https://github.com/EvaYiwenWang/PLSDAbatch") |
| 12964 | (commit commit))) |
| 12965 | (file-name (git-file-name name version)) |
| 12966 | (sha256 |
| 12967 | (base32 |
| 12968 | "047l923lq2ji7rwybh9b9zkblzvvhkpli5gb2x8g2q9f2n5022nr")))) |
| 12969 | (properties `((upstream-name . "PLSDAbatch"))) |
| 12970 | (build-system r-build-system) |
| 12971 | (propagated-inputs (list r-ggplot2 |
| 12972 | r-ggpubr |
| 12973 | r-gridextra |
| 12974 | r-lmertest |
| 12975 | r-mixomics |
| 12976 | r-mvtnorm |
| 12977 | r-performance |
| 12978 | r-rdpack |
| 12979 | r-scales)) |
| 12980 | (native-inputs (list r-knitr)) |
| 12981 | (home-page "https://github.com/EvaYiwenWang/PLSDAbatch") |
| 12982 | (synopsis "PLSDA-batch") |
| 12983 | (description |
| 12984 | "This package provides a new batch effect correction method based on |
| 12985 | Projection to Latent Structures Discriminant Analysis named “PLSDA-batch” to |
| 12986 | correct data prior to any downstream analysis. PLSDA-batch estimates latent |
| 12987 | components related to treatment and batch effects to remove batch variation. |
| 12988 | The method is multivariate, non-parametric and performs dimension reduction. |
| 12989 | Combined with centered log ratio transformation for addressing uneven library |
| 12990 | sizes and compositional structure, PLSDA-batch addresses all characteristics |
| 12991 | of microbiome data that existing correction methods have ignored so far.") |
| 12992 | (license license:gpl3)))) |
| 12993 | |
| 12994 | (define-public r-psupertime |
| 12995 | (let ((commit "73825a28d3bd9bc881c15ee0c4c218eec1c9c207") |
| 12996 | (revision "1")) |
| 12997 | (package |
| 12998 | (name "r-psupertime") |
| 12999 | (version (git-version "0.2.6" revision commit)) |
| 13000 | (source (origin |
| 13001 | (method git-fetch) |
| 13002 | (uri (git-reference |
| 13003 | (url "https://github.com/wmacnair/psupertime") |
| 13004 | (commit commit))) |
| 13005 | (file-name (git-file-name name version)) |
| 13006 | (sha256 |
| 13007 | (base32 |
| 13008 | "00h1r3ffz6m9dwcgkvyki8405b059qn6mnjsd8d76a1rabaf2vfh")))) |
| 13009 | (properties `((upstream-name . "psupertime"))) |
| 13010 | (build-system r-build-system) |
| 13011 | (propagated-inputs |
| 13012 | (list r-cowplot |
| 13013 | r-data-table |
| 13014 | r-fastcluster |
| 13015 | r-forcats |
| 13016 | r-ggplot2 |
| 13017 | r-glmnet |
| 13018 | r-knitr |
| 13019 | r-matrix |
| 13020 | r-rcolorbrewer |
| 13021 | r-scales |
| 13022 | r-scran |
| 13023 | r-singlecellexperiment |
| 13024 | r-stringr |
| 13025 | r-summarizedexperiment |
| 13026 | r-topgo)) |
| 13027 | (native-inputs (list r-knitr r-testthat)) |
| 13028 | (home-page "https://github.com/wmacnair/psupertime") |
| 13029 | (synopsis |
| 13030 | "Psupertime is supervised pseudotime for single cell RNAseq data") |
| 13031 | (description |
| 13032 | "Psupertime is supervised pseudotime for single cell RNAseq data. It |
| 13033 | uses single cell RNAseq data, where the cells have a known ordering. This |
| 13034 | ordering helps to identify a small number of genes which place cells in that |
| 13035 | known order. It can be used for discovery of relevant genes, for |
| 13036 | identification of subpopulations, and characterization of further unknown or |
| 13037 | differently labelled data.") |
| 13038 | (license license:gpl3)))) |
| 13039 | |
| 13040 | (define-public r-premessa |
| 13041 | (let ((commit "68b42bb984637d0f3ad6a0ecc83e9278994afc85") |
| 13042 | (revision "1")) |
| 13043 | (package |
| 13044 | (name "r-premessa") |
| 13045 | (version (git-version "0.3.4" revision commit)) |
| 13046 | (source (origin |
| 13047 | (method git-fetch) |
| 13048 | (uri (git-reference |
| 13049 | (url "https://github.com/ParkerICI/premessa") |
| 13050 | (commit commit))) |
| 13051 | (file-name (git-file-name name version)) |
| 13052 | (sha256 |
| 13053 | (base32 |
| 13054 | "1l0q431zk0lvg22130nx84gdqi7cpl05yah4am63lbx6m4c769pb")) |
| 13055 | (snippet |
| 13056 | '(delete-file "inst/normalizer_shinyGUI/www/d3.min.js")))) |
| 13057 | (properties `((upstream-name . "premessa"))) |
| 13058 | (build-system r-build-system) |
| 13059 | (arguments |
| 13060 | (list |
| 13061 | #:phases |
| 13062 | '(modify-phases %standard-phases |
| 13063 | (add-after 'unpack 'process-javascript |
| 13064 | (lambda* (#:key inputs #:allow-other-keys) |
| 13065 | (with-directory-excursion "inst/normalizer_shinyGUI/www/" |
| 13066 | (invoke "esbuild" (assoc-ref inputs "d3.v4.js") |
| 13067 | "--minify" "--outfile=d3.min.js"))))))) |
| 13068 | (propagated-inputs |
| 13069 | (list r-data-table |
| 13070 | r-flowcore |
| 13071 | r-ggplot2 |
| 13072 | r-gridextra |
| 13073 | r-hexbin |
| 13074 | r-jsonlite |
| 13075 | r-reshape |
| 13076 | r-rhandsontable |
| 13077 | r-shiny |
| 13078 | r-shinyjqui)) |
| 13079 | (native-inputs |
| 13080 | `(("esbuild" ,esbuild) |
| 13081 | ("d3.v4.js" |
| 13082 | ,(origin |
| 13083 | (method url-fetch) |
| 13084 | (uri "https://d3js.org/d3.v4.js") |
| 13085 | (sha256 |
| 13086 | (base32 |
| 13087 | "0y7byf6kcinfz9ac59jxc4v6kppdazmnyqfav0dm4h550fzfqqlg")))))) |
| 13088 | (home-page "https://github.com/ParkerICI/premessa") |
| 13089 | (synopsis "Pre-processing of flow and mass cytometry data") |
| 13090 | (description |
| 13091 | "This is an R package for pre-processing of flow and mass cytometry |
| 13092 | data. This package includes panel editing or renaming for FCS files, |
| 13093 | bead-based normalization and debarcoding.") |
| 13094 | (license license:gpl3)))) |
| 13095 | |
| 13096 | (define-public r-projectils |
| 13097 | (let ((commit "cc73b97471b4b6eea11ce779b5c4a7dc5c3e1709") |
| 13098 | (revision "1")) |
| 13099 | (package |
| 13100 | (name "r-projectils") |
| 13101 | (version (git-version "3.0.0" revision commit)) |
| 13102 | (source |
| 13103 | (origin |
| 13104 | (method git-fetch) |
| 13105 | (uri (git-reference |
| 13106 | (url "https://github.com/carmonalab/ProjecTILs") |
| 13107 | (commit commit))) |
| 13108 | (file-name (git-file-name name version)) |
| 13109 | (sha256 |
| 13110 | (base32 "0dpzvbhhb9andnj7angpj32cgkwd6rs6qgpl6i21pqzcn6vqqhqw")))) |
| 13111 | (properties `((upstream-name . "ProjecTILs"))) |
| 13112 | (build-system r-build-system) |
| 13113 | (propagated-inputs |
| 13114 | (list r-biocneighbors |
| 13115 | r-biocparallel |
| 13116 | r-dplyr |
| 13117 | r-ggplot2 |
| 13118 | r-matrix |
| 13119 | r-patchwork |
| 13120 | r-pheatmap |
| 13121 | r-pracma |
| 13122 | r-purrr |
| 13123 | r-rcolorbrewer |
| 13124 | r-reshape2 |
| 13125 | r-scales |
| 13126 | r-scgate |
| 13127 | r-seurat |
| 13128 | r-seuratobject |
| 13129 | r-stacas |
| 13130 | r-ucell |
| 13131 | r-umap |
| 13132 | r-uwot)) |
| 13133 | (home-page "https://github.com/carmonalab/ProjecTILs") |
| 13134 | (synopsis "Reference-based analysis of scRNA-seq data") |
| 13135 | (description |
| 13136 | "This package implements methods to project single-cell RNA-seq data |
| 13137 | onto a reference atlas, enabling interpretation of unknown cell transcriptomic |
| 13138 | states in the the context of known, reference states.") |
| 13139 | (license license:gpl3)))) |
| 13140 | |
| 13141 | (define-public r-presto |
| 13142 | (let ((commit "7636b3d0465c468c35853f82f1717d3a64b3c8f6") |
| 13143 | (revision "1")) |
| 13144 | (package |
| 13145 | (name "r-presto") |
| 13146 | (version (git-version "1.0.0" revision commit)) |
| 13147 | (source |
| 13148 | (origin |
| 13149 | (method git-fetch) |
| 13150 | (uri (git-reference |
| 13151 | (url "https://github.com/immunogenomics/presto") |
| 13152 | (commit commit))) |
| 13153 | (file-name (git-file-name name version)) |
| 13154 | (sha256 |
| 13155 | (base32 "07giligbadv3ap0p4hzsviqpgiipkqcq7x6p0g8lmb8xxpjz3y29")))) |
| 13156 | (properties |
| 13157 | '((upstream-name . "presto") |
| 13158 | (updater-extra-native-inputs . ("r-broom")))) |
| 13159 | (build-system r-build-system) |
| 13160 | (propagated-inputs |
| 13161 | (list r-data-table |
| 13162 | r-dplyr |
| 13163 | r-matrix |
| 13164 | r-purrr |
| 13165 | r-rcpp |
| 13166 | r-rcpparmadillo |
| 13167 | r-rlang |
| 13168 | r-tibble |
| 13169 | r-tidyr)) |
| 13170 | (native-inputs (list r-broom r-knitr r-testthat)) |
| 13171 | (home-page "https://github.com/immunogenomics/presto") |
| 13172 | (synopsis "Fast Functions for Differential Expression using Wilcox and AUC") |
| 13173 | (description "This package performs a fast Wilcoxon rank sum test and |
| 13174 | auROC analysis.") |
| 13175 | (license license:gpl3)))) |
| 13176 | |
| 13177 | (define-public r-sccustomize |
| 13178 | (let ((commit "397374590dae2ccc0c560897dcd1ce4382c18798") |
| 13179 | (revision "1")) |
| 13180 | (package |
| 13181 | (name "r-sccustomize") |
| 13182 | (version (git-version "2.0.1" revision commit)) |
| 13183 | (source |
| 13184 | (origin |
| 13185 | (method git-fetch) |
| 13186 | (uri (git-reference |
| 13187 | (url "https://github.com/samuel-marsh/scCustomize") |
| 13188 | (commit commit))) |
| 13189 | (file-name (git-file-name name version)) |
| 13190 | (sha256 |
| 13191 | (base32 "11bafm0mlck27fqd8brz80pxb8dc5q0aqbp8zv0s9sx97njp7wsl")))) |
| 13192 | (properties `((upstream-name . "scCustomize"))) |
| 13193 | (build-system r-build-system) |
| 13194 | (propagated-inputs (list r-circlize |
| 13195 | r-colorway |
| 13196 | r-cowplot |
| 13197 | r-data-table |
| 13198 | r-dittoseq |
| 13199 | r-dplyr |
| 13200 | r-forcats |
| 13201 | r-ggbeeswarm |
| 13202 | r-ggplot2 |
| 13203 | r-ggprism |
| 13204 | r-ggpubr |
| 13205 | r-ggrastr |
| 13206 | r-ggrepel |
| 13207 | r-glue |
| 13208 | r-janitor |
| 13209 | r-magrittr |
| 13210 | r-matrix |
| 13211 | r-paletteer |
| 13212 | r-patchwork |
| 13213 | r-pbapply |
| 13214 | r-purrr |
| 13215 | r-remotes |
| 13216 | r-scales |
| 13217 | r-scattermore |
| 13218 | r-seurat |
| 13219 | r-seuratobject |
| 13220 | r-stringi |
| 13221 | r-stringr |
| 13222 | r-tibble |
| 13223 | r-tidyr |
| 13224 | r-tidyselect |
| 13225 | r-viridis)) |
| 13226 | (native-inputs (list r-knitr)) |
| 13227 | (home-page "https://github.com/samuel-marsh/scCustomize") |
| 13228 | (synopsis "Custom visualization and analyses of single-cell sequencing") |
| 13229 | (description |
| 13230 | "This is a collection of functions created and/or curated to aid in the |
| 13231 | visualization and analysis of single-cell data using R.") |
| 13232 | (license license:gpl3+)))) |
| 13233 | |
| 13234 | (define-public r-markdownhelpers |
| 13235 | (let ((commit "793372d28ebed607cc1d35f909a1caedb2b41ffe") |
| 13236 | (revision "1")) |
| 13237 | (package |
| 13238 | (name "r-markdownhelpers") |
| 13239 | (version (git-version "0.2.0" revision commit)) |
| 13240 | (source (origin |
| 13241 | (method git-fetch) |
| 13242 | (uri (git-reference |
| 13243 | (url "https://github.com/vertesy/MarkdownHelpers") |
| 13244 | (commit commit))) |
| 13245 | (file-name (git-file-name name version)) |
| 13246 | (sha256 |
| 13247 | (base32 |
| 13248 | "1d18s2ydhfjm3hjkxz42dirhwrrv792m6mvkmypallaa2qnwrmkg")))) |
| 13249 | (properties `((upstream-name . "MarkdownHelpers"))) |
| 13250 | (build-system r-build-system) |
| 13251 | (propagated-inputs (list r-devtools r-stringendo r-usethis)) |
| 13252 | (home-page "https://github.com/vertesy/MarkdownHelpers") |
| 13253 | (synopsis "Helper functions for MarkdownReports and ggExpress") |
| 13254 | (description |
| 13255 | "This package provides a set of R functions to parse markdown and other |
| 13256 | generic helpers.") |
| 13257 | (license license:gpl3)))) |
| 13258 | |
| 13259 | (define-public r-markdownreports |
| 13260 | (let ((commit "3ba1103e3ddc6df3a0c090eb884f5e65c461eb31") |
| 13261 | (revision "1")) |
| 13262 | (package |
| 13263 | (name "r-markdownreports") |
| 13264 | (version (git-version "4.5.9" revision commit)) |
| 13265 | (source (origin |
| 13266 | (method git-fetch) |
| 13267 | (uri (git-reference |
| 13268 | (url "https://github.com/vertesy/MarkdownReports") |
| 13269 | (commit commit))) |
| 13270 | (file-name (git-file-name name version)) |
| 13271 | (sha256 |
| 13272 | (base32 |
| 13273 | "1xmasdb630b6nvxi5m1i8pyxiy49nxpzyxf9h8spdppx92rhdkc8")))) |
| 13274 | (properties `((upstream-name . "MarkdownReports"))) |
| 13275 | (build-system r-build-system) |
| 13276 | (propagated-inputs |
| 13277 | (list r-clipr |
| 13278 | r-codeandroll2 |
| 13279 | r-colorramps |
| 13280 | r-devtools |
| 13281 | r-gplots |
| 13282 | r-markdownhelpers |
| 13283 | r-rcolorbrewer |
| 13284 | r-readwriter |
| 13285 | r-sessioninfo |
| 13286 | r-sm |
| 13287 | r-stringendo |
| 13288 | r-venndiagram |
| 13289 | r-vioplot)) |
| 13290 | (home-page "https://github.com/vertesy/MarkdownReports") |
| 13291 | (synopsis "Tool for generating cientific figures and reports") |
| 13292 | (description |
| 13293 | "This is a set of R functions that allows you to generate precise |
| 13294 | figures. This tool will create clean markdown reports about what you just |
| 13295 | discovered.") |
| 13296 | (license license:gpl3)))) |
| 13297 | |
| 13298 | (define-public r-metacell |
| 13299 | (let ((commit "d6a6926d103ee0cb34a611c753572429c94a53d9") |
| 13300 | (revision "1")) |
| 13301 | (package |
| 13302 | (name "r-metacell") |
| 13303 | (version (git-version "0.3.41" revision commit)) |
| 13304 | (source |
| 13305 | (origin |
| 13306 | (method git-fetch) |
| 13307 | (uri (git-reference |
| 13308 | (url "https://github.com/tanaylab/metacell/") |
| 13309 | (commit commit))) |
| 13310 | (file-name (git-file-name name version)) |
| 13311 | (sha256 |
| 13312 | (base32 "0zrsckr3y35x37mj3ibm6scyqx925s84wzrz1i42fnm9n3msc265")))) |
| 13313 | (properties `((upstream-name . "metacell"))) |
| 13314 | (build-system r-build-system) |
| 13315 | (propagated-inputs (list r-cluster |
| 13316 | r-cowplot |
| 13317 | r-data-table |
| 13318 | r-dbscan |
| 13319 | r-domc |
| 13320 | r-dplyr |
| 13321 | r-entropy |
| 13322 | r-ggplot2 |
| 13323 | r-graph |
| 13324 | r-igraph |
| 13325 | r-kernsmooth |
| 13326 | r-magrittr |
| 13327 | r-matrix |
| 13328 | r-matrixstats |
| 13329 | r-pdist |
| 13330 | r-pheatmap |
| 13331 | r-plyr |
| 13332 | r-rcolorbrewer |
| 13333 | r-rcurl |
| 13334 | r-rgraphviz |
| 13335 | r-slam |
| 13336 | r-singlecellexperiment |
| 13337 | r-svglite |
| 13338 | r-tgconfig |
| 13339 | r-tgstat |
| 13340 | r-tgutil |
| 13341 | r-tidyr |
| 13342 | r-umap |
| 13343 | r-umap |
| 13344 | r-zoo)) |
| 13345 | (native-inputs (list r-knitr)) |
| 13346 | (home-page "https://github.com/tanaylab/metacell/") |
| 13347 | (synopsis "Meta cell analysis for single cell RNA-seq data") |
| 13348 | (description |
| 13349 | "This package facilitates the analysis of single-cell RNA-seq UMI matrices. |
| 13350 | It does this by computing partitions of a cell similarity graph into |
| 13351 | small homogeneous groups of cells, which are defined as metacells (MCs). |
| 13352 | The derived MCs are then used for building different representations of |
| 13353 | the data, allowing matrix or 2D graph visualization forming a basis for |
| 13354 | analysis of cell types, subtypes, transcriptional gradients,cell-cycle |
| 13355 | variation, gene modules and their regulatory models and more.") |
| 13356 | (license license:expat)))) |
| 13357 | |
| 13358 | (define-public r-metadeconfoundr |
| 13359 | ;; There are some relevant updates after the release of version 0.3.0. |
| 13360 | (let ((commit "90aec0226c5128bfcbbc08903452eff460d21424") |
| 13361 | (revision "1")) |
| 13362 | (package |
| 13363 | (name "r-metadeconfoundr") |
| 13364 | (version (git-version "0.3.0" revision commit)) |
| 13365 | (source |
| 13366 | (origin |
| 13367 | (method git-fetch) |
| 13368 | (uri (git-reference |
| 13369 | (url "https://github.com/TillBirkner/metadeconfoundR") |
| 13370 | (commit commit))) |
| 13371 | (file-name (git-file-name name version)) |
| 13372 | (sha256 |
| 13373 | (base32 "0zkqar27p5qwq46xbxsw5x1pl50xbkgqiizw5bydlyhwb0ga2f3h")))) |
| 13374 | (properties `((upstream-name . "metadeconfoundR"))) |
| 13375 | (build-system r-build-system) |
| 13376 | (propagated-inputs (list r-bigmemory |
| 13377 | r-detectseparation |
| 13378 | r-doparallel |
| 13379 | r-dosnow |
| 13380 | r-foreach |
| 13381 | r-futile-logger |
| 13382 | r-ggplot2 |
| 13383 | r-lme4 |
| 13384 | r-lmtest |
| 13385 | r-reshape2 |
| 13386 | r-snow)) |
| 13387 | (native-inputs (list r-knitr)) |
| 13388 | (home-page "https://github.com/TillBirkner/metadeconfoundR") |
| 13389 | (synopsis "Check multiple covariates for potential confounding effects") |
| 13390 | (description |
| 13391 | "This package detects naive associations between omics features and |
| 13392 | metadata in cross-sectional data-sets using non-parametric tests. In a second |
| 13393 | step, confounding effects between metadata associated to the same omics |
| 13394 | feature are detected and labeled using nested post-hoc model comparison tests. |
| 13395 | The generated output can be graphically summarized using the built-in plotting |
| 13396 | function.") |
| 13397 | (license license:gpl2)))) |
| 13398 | |
| 13399 | (define-public r-music |
| 13400 | (let ((commit "f21fe67f5670d5e9fca0ad7550abaae3423eb59c") |
| 13401 | (revision "2")) |
| 13402 | (package |
| 13403 | (name "r-music") |
| 13404 | (version (git-version "1.0.0" revision commit)) |
| 13405 | (source |
| 13406 | (origin |
| 13407 | (method git-fetch) |
| 13408 | (uri (git-reference |
| 13409 | (url "https://github.com/xuranw/MuSiC") |
| 13410 | (commit commit))) |
| 13411 | (file-name (git-file-name name version)) |
| 13412 | (sha256 |
| 13413 | (base32 "05q72sml35sw3rd0lyg7r9r3470q47x5dsjn4bpgzl99s5d76llx")))) |
| 13414 | (properties `((upstream-name . "MuSiC"))) |
| 13415 | (build-system r-build-system) |
| 13416 | (propagated-inputs (list r-biobase |
| 13417 | r-ggplot2 |
| 13418 | r-matrix |
| 13419 | r-mcmcpack |
| 13420 | r-nnls |
| 13421 | r-singlecellexperiment |
| 13422 | r-toast)) |
| 13423 | (native-inputs (list r-knitr)) |
| 13424 | (home-page "https://github.com/xuranw/MuSiC") |
| 13425 | (synopsis "Multi-subject single cell deconvolution") |
| 13426 | (description |
| 13427 | "MuSiC is a deconvolution method that utilizes cross-subject scRNA-seq |
| 13428 | to estimate cell type proportions in bulk RNA-seq data.") |
| 13429 | (license license:gpl3+)))) |
| 13430 | |
| 13431 | (define-public r-sleuth |
| 13432 | (package |
| 13433 | (name "r-sleuth") |
| 13434 | (version "0.30.1") |
| 13435 | (source |
| 13436 | (origin |
| 13437 | (method git-fetch) |
| 13438 | (uri (git-reference |
| 13439 | (url "https://github.com/pachterlab/sleuth") |
| 13440 | (commit (string-append "v" version)))) |
| 13441 | (file-name (git-file-name name version)) |
| 13442 | (sha256 |
| 13443 | (base32 "09xgc7r6iisjkk0c0wn0q56zy0aph386kphwixfzq4422y7vlqci")))) |
| 13444 | (properties `((upstream-name . "sleuth"))) |
| 13445 | (build-system r-build-system) |
| 13446 | ;; FIXME: there are 10 unknown failures. |
| 13447 | (arguments (list #:tests? #false)) |
| 13448 | (propagated-inputs (list r-aggregation |
| 13449 | r-data-table |
| 13450 | r-dplyr |
| 13451 | r-ggplot2 |
| 13452 | r-lazyeval |
| 13453 | r-matrixstats |
| 13454 | r-pheatmap |
| 13455 | r-reshape2 |
| 13456 | r-rhdf5 |
| 13457 | r-shiny |
| 13458 | r-tidyr)) |
| 13459 | (native-inputs (list r-knitr r-testthat)) |
| 13460 | (home-page "https://github.com/pachterlab/sleuth") |
| 13461 | (synopsis "Tools for investigating RNA-Seq") |
| 13462 | (description |
| 13463 | "Sleuth is a program for differential analysis of RNA-Seq data. |
| 13464 | It makes use of quantification uncertainty estimates obtained via Kallisto for |
| 13465 | accurate differential analysis of isoforms or genes, allows testing in the |
| 13466 | context of experiments with complex designs, and supports interactive |
| 13467 | exploratory data analysis via sleuth live.") |
| 13468 | (license license:gpl3))) |
| 13469 | |
| 13470 | (define-public r-snapatac |
| 13471 | (package |
| 13472 | (name "r-snapatac") |
| 13473 | (version "2.0") |
| 13474 | (source |
| 13475 | (origin |
| 13476 | (method git-fetch) |
| 13477 | (uri (git-reference |
| 13478 | (url "https://github.com/r3fang/SnapATAC") |
| 13479 | (commit (string-append "v" version)))) |
| 13480 | (file-name (git-file-name name version)) |
| 13481 | (sha256 |
| 13482 | (base32 "037jzlbl436fi7lkpq7d83i2vd1crnrik3vac2x6xj75dbikb2av")))) |
| 13483 | (properties `((upstream-name . "SnapATAC"))) |
| 13484 | (build-system r-build-system) |
| 13485 | (propagated-inputs |
| 13486 | (list r-bigmemory |
| 13487 | r-doparallel |
| 13488 | r-dosnow |
| 13489 | r-edger |
| 13490 | r-foreach |
| 13491 | r-genomicranges |
| 13492 | r-igraph |
| 13493 | r-iranges |
| 13494 | r-irlba |
| 13495 | r-matrix |
| 13496 | r-plyr |
| 13497 | r-plot3d |
| 13498 | r-rann |
| 13499 | r-raster |
| 13500 | r-rcolorbrewer |
| 13501 | r-rhdf5 |
| 13502 | r-rtsne |
| 13503 | r-scales |
| 13504 | r-viridis)) |
| 13505 | (home-page "https://github.com/r3fang/SnapATAC") |
| 13506 | (synopsis "Single nucleus analysis package for ATAC-Seq") |
| 13507 | (description |
| 13508 | "This package provides a fast and accurate analysis toolkit for single |
| 13509 | cell ATAC-seq (Assay for transposase-accessible chromatin using sequencing). |
| 13510 | Single cell ATAC-seq can resolve the heterogeneity of a complex tissue and |
| 13511 | reveal cell-type specific regulatory landscapes. However, the exceeding data |
| 13512 | sparsity has posed unique challenges for the data analysis. This package |
| 13513 | @code{r-snapatac} is an end-to-end bioinformatics pipeline for analyzing large- |
| 13514 | scale single cell ATAC-seq data which includes quality control, normalization, |
| 13515 | clustering analysis, differential analysis, motif inference and exploration of |
| 13516 | single cell ATAC-seq sequencing data.") |
| 13517 | (license license:gpl3))) |
| 13518 | |
| 13519 | (define-public r-tsis |
| 13520 | (let ((commit "24460298fbe1d26e4da390f6e4f3d4d9d62334dc") |
| 13521 | (revision "1")) |
| 13522 | (package |
| 13523 | (name "r-tsis") |
| 13524 | (version (git-version "0.2.0" revision commit)) |
| 13525 | (source (origin |
| 13526 | (method git-fetch) |
| 13527 | (uri (git-reference |
| 13528 | (url "https://github.com/wyguo/TSIS") |
| 13529 | (commit commit))) |
| 13530 | (file-name (git-file-name name version)) |
| 13531 | (sha256 |
| 13532 | (base32 |
| 13533 | "17c8i25iwhldvs3c51m0wny40iffm8szzijalpwrxhzbv0xa94rb")))) |
| 13534 | (properties `((upstream-name . "TSIS"))) |
| 13535 | (build-system r-build-system) |
| 13536 | (native-inputs (list r-knitr)) |
| 13537 | (home-page "https://github.com/wyguo/TSIS") |
| 13538 | (synopsis "Time-series isoform switch of alternative splicing") |
| 13539 | (description |
| 13540 | "TSIS is used for detecting transcript isoform switches in time-series |
| 13541 | data. Transcript isoform switches occur when a pair of alternatively spliced |
| 13542 | isoforms reverse the order of their relative expression levels. TSIS |
| 13543 | characterizes the transcript switch by defining the isoform switch time-points |
| 13544 | for any pair of transcript isoforms within a gene. In addition, this tool |
| 13545 | describes the switch using five different features or metrics. Also it |
| 13546 | filters the results with user’s specifications and visualizes the results |
| 13547 | using different plots for the user to examine further details of the |
| 13548 | switches.") |
| 13549 | (license license:gpl3)))) |
| 13550 | |
| 13551 | (define-public r-umi4cpackage |
| 13552 | (let ((commit "88b07d896a137418ba6c31c2474b9dbe1d86fc20") |
| 13553 | (revision "1")) |
| 13554 | (package |
| 13555 | (name "r-umi4cpackage") |
| 13556 | (version (git-version "0.0.1" revision commit)) |
| 13557 | (source |
| 13558 | (origin |
| 13559 | (method git-fetch) |
| 13560 | (uri (git-reference |
| 13561 | (url "https://github.com/tanaylab/umi4cpackage") |
| 13562 | (commit commit))) |
| 13563 | (file-name (git-file-name name version)) |
| 13564 | (sha256 |
| 13565 | (base32 "0bjzamdw2lcfhlbzc0vdva87c3wwnij8jsvnrpx4wyyxvpcz13m5")))) |
| 13566 | (properties `((upstream-name . "umi4cPackage"))) |
| 13567 | (build-system r-build-system) |
| 13568 | (arguments |
| 13569 | `(#:phases |
| 13570 | (modify-phases %standard-phases |
| 13571 | (add-after 'unpack 'fix-references |
| 13572 | (lambda _ |
| 13573 | (substitute* "inst/conf/paths.conf" |
| 13574 | (("TG3C\\.bowtie2_bin=.*") |
| 13575 | (string-append "TG3C.bowtie2_bin=" |
| 13576 | (which "bowtie2") "\n"))) |
| 13577 | (substitute* "inst/perl/map3c/TG3C/import3C.pl" |
| 13578 | (("\"perl") |
| 13579 | (string-append "\"" (which "perl"))))))))) |
| 13580 | (inputs |
| 13581 | (list perl bowtie)) |
| 13582 | (propagated-inputs |
| 13583 | (list r-misha r-zoo)) |
| 13584 | (native-inputs (list r-knitr)) |
| 13585 | (home-page "https://github.com/tanaylab/umi4cpackage") |
| 13586 | (synopsis "Processing and analysis of UMI-4C contact profiles") |
| 13587 | (description "This is a package that lets you process UMI-4C data from |
| 13588 | scratch to produce nice plots.") |
| 13589 | (license license:expat)))) |
| 13590 | |
| 13591 | (define-public r-shinycell |
| 13592 | (let ((commit |
| 13593 | "aecbd56e66802f28e397f5ae1f19403aadd12163") |
| 13594 | (revision "1")) |
| 13595 | (package |
| 13596 | (name "r-shinycell") |
| 13597 | (version (git-version "2.0.0" revision commit)) |
| 13598 | (source |
| 13599 | (origin |
| 13600 | (method git-fetch) |
| 13601 | (uri (git-reference |
| 13602 | (url "https://github.com/SGDDNB/ShinyCell") |
| 13603 | (commit commit))) |
| 13604 | (file-name (git-file-name name version)) |
| 13605 | (sha256 |
| 13606 | (base32 |
| 13607 | "13jn2ikmvljnzayk485g1mmq5abcp9m1b8n1djdb1agmn83zaki5")))) |
| 13608 | (properties `((upstream-name . "ShinyCell"))) |
| 13609 | (build-system r-build-system) |
| 13610 | (propagated-inputs |
| 13611 | (list r-data-table |
| 13612 | r-ggplot2 |
| 13613 | r-glue |
| 13614 | r-gridextra |
| 13615 | r-hdf5r |
| 13616 | r-matrix |
| 13617 | r-r-utils |
| 13618 | r-rcolorbrewer |
| 13619 | r-readr |
| 13620 | r-reticulate)) |
| 13621 | (home-page "https://github.com/SGDDNB/ShinyCell") |
| 13622 | (synopsis "Shiny interactive web apps for single-cell data") |
| 13623 | (description |
| 13624 | "This package provides Shiny apps for interactive exploration of |
| 13625 | single-cell data.") |
| 13626 | (license license:gpl3)))) |
| 13627 | |
| 13628 | (define-public r-archr |
| 13629 | (let ((commit "c61b0645d1482f80dcc24e25fbd915128c1b2500") |
| 13630 | (revision "1")) |
| 13631 | (package |
| 13632 | (name "r-archr") |
| 13633 | (version (git-version "1.0.2" revision commit)) |
| 13634 | (source |
| 13635 | (origin |
| 13636 | (method git-fetch) |
| 13637 | (uri (git-reference |
| 13638 | (url "https://github.com/GreenleafLab/ArchR") |
| 13639 | (commit commit))) |
| 13640 | (file-name (git-file-name name version)) |
| 13641 | (sha256 |
| 13642 | (base32 "0sgdfd8iwgj8cssj2zr3gmshg8nv54q6dd8asjf99i39qkni7p9i")))) |
| 13643 | (properties `((upstream-name . "ArchR"))) |
| 13644 | (build-system r-build-system) |
| 13645 | (propagated-inputs |
| 13646 | (list r-biocgenerics |
| 13647 | r-biostrings |
| 13648 | r-chromvar |
| 13649 | r-complexheatmap |
| 13650 | r-data-table |
| 13651 | r-genomicranges |
| 13652 | r-ggplot2 |
| 13653 | r-ggrepel |
| 13654 | r-gridextra |
| 13655 | r-gtable |
| 13656 | r-gtools |
| 13657 | r-magrittr |
| 13658 | r-matrix |
| 13659 | r-matrixstats |
| 13660 | r-motifmatchr |
| 13661 | r-nabor |
| 13662 | r-plyr |
| 13663 | r-rcpp |
| 13664 | r-rhdf5 |
| 13665 | r-rsamtools |
| 13666 | r-s4vectors |
| 13667 | r-stringr |
| 13668 | r-summarizedexperiment |
| 13669 | r-uwot)) |
| 13670 | (home-page "https://github.com/GreenleafLab/ArchR") |
| 13671 | (synopsis "Analyze single-cell regulatory chromatin in R") |
| 13672 | (description |
| 13673 | "This package is designed to streamline scATAC analyses in R.") |
| 13674 | (license license:gpl2+)))) |
| 13675 | |
| 13676 | (define-public r-azimuth |
| 13677 | (let ((commit "243ee5db80fcbffa3452c944254a325a3da2ef9e") |
| 13678 | (revision "1")) |
| 13679 | (package |
| 13680 | (name "r-azimuth") |
| 13681 | (version (git-version "0.5.0" revision commit)) |
| 13682 | (source |
| 13683 | (origin |
| 13684 | (method git-fetch) |
| 13685 | (uri (git-reference |
| 13686 | (url "https://github.com/satijalab/azimuth") |
| 13687 | (commit commit))) |
| 13688 | (file-name (git-file-name name version)) |
| 13689 | (sha256 |
| 13690 | (base32 "0vs4813kf2cv2j1z800ihwk62bw4dgmwgkd47rln58581chv39zm")))) |
| 13691 | (properties `((upstream-name . "Azimuth"))) |
| 13692 | (build-system r-build-system) |
| 13693 | (propagated-inputs (list r-bsgenome-hsapiens-ucsc-hg38 |
| 13694 | r-dt |
| 13695 | r-ensdb-hsapiens-v86 |
| 13696 | r-future |
| 13697 | r-ggplot2 |
| 13698 | r-glmgampoi |
| 13699 | r-googlesheets4 |
| 13700 | r-hdf5r |
| 13701 | r-htmltools |
| 13702 | r-httr |
| 13703 | r-jaspar2020 |
| 13704 | r-jsonlite |
| 13705 | r-matrix |
| 13706 | r-patchwork |
| 13707 | r-plotly |
| 13708 | r-presto |
| 13709 | r-rcpp |
| 13710 | r-rlang |
| 13711 | r-scales |
| 13712 | r-seurat |
| 13713 | r-seuratdata |
| 13714 | r-seuratdisk |
| 13715 | r-seuratobject |
| 13716 | r-shiny |
| 13717 | r-shinybs |
| 13718 | r-shinydashboard |
| 13719 | r-shinyjs |
| 13720 | r-signac |
| 13721 | r-stringr |
| 13722 | r-tfbstools |
| 13723 | r-withr)) |
| 13724 | (home-page "https://github.com/satijalab/azimuth") |
| 13725 | (synopsis |
| 13726 | "Shiny app showcasing a single-cell data query-reference mapping algorithm") |
| 13727 | (description "Azimuth utilizes an annotated reference dataset. It |
| 13728 | automates the processing, analysis, and interpretation. This applies |
| 13729 | specifically to new single-cell RNA-seq or ATAC-seq experiments. Azimuth |
| 13730 | leverages a reference-based mapping pipeline that inputs accounts matrix and |
| 13731 | performs normalization, visualization, cell annotation, and differential |
| 13732 | expression.") |
| 13733 | (license license:gpl3)))) |
| 13734 | |
| 13735 | (define-public r-icellnet |
| 13736 | ;; This is an arbitrary commit because there is no tag for 2.2.1. |
| 13737 | (let ((commit "e10ee4ae5feaf8130764dcb0736957d2a90b828c") |
| 13738 | (revision "1")) |
| 13739 | (package |
| 13740 | (name "r-icellnet") |
| 13741 | (version (git-version "2.2.1" revision commit)) |
| 13742 | (source (origin |
| 13743 | (method git-fetch) |
| 13744 | (uri (git-reference |
| 13745 | (url "https://github.com/soumelis-lab/ICELLNET") |
| 13746 | (commit commit))) |
| 13747 | (file-name (git-file-name name version)) |
| 13748 | (sha256 |
| 13749 | (base32 |
| 13750 | "0bszxw9zcsd1gxhg9q89jfzi95266wfjn74hp7z8yb99cr3j53k4")))) |
| 13751 | (build-system r-build-system) |
| 13752 | (arguments |
| 13753 | (list |
| 13754 | #:phases |
| 13755 | '(modify-phases %standard-phases |
| 13756 | (add-after 'unpack 'enter-dir |
| 13757 | (lambda _ (chdir "icellnet")))))) |
| 13758 | (propagated-inputs |
| 13759 | (list r-annotationdbi |
| 13760 | r-complexheatmap |
| 13761 | r-circlize |
| 13762 | r-data-table |
| 13763 | r-dplyr |
| 13764 | r-ggplot2 |
| 13765 | r-hgu133plus2-db |
| 13766 | r-jetset |
| 13767 | r-psych |
| 13768 | r-reshape2 |
| 13769 | r-rlist)) |
| 13770 | (home-page "https://github.com/soumelis-lab/ICELLNET") |
| 13771 | (synopsis "Transcriptomic-based framework to dissect cell communication") |
| 13772 | (description "This package provides a a transcriptomic-based framework |
| 13773 | to dissect cell communication in a global manner. It integrates an original |
| 13774 | expert-curated database of ligand-receptor interactions taking into account |
| 13775 | multiple subunits expression. Based on transcriptomic profiles (gene |
| 13776 | expression), this package computes communication scores between cells |
| 13777 | and provides several visualization modes that can be helpful to dig into |
| 13778 | cell-cell interaction mechanism and extend biological knowledge.") |
| 13779 | (license license:gpl3)))) |
| 13780 | |
| 13781 | (define-public r-scde |
| 13782 | (package |
| 13783 | (name "r-scde") |
| 13784 | (version "1.99.2") |
| 13785 | (source (origin |
| 13786 | (method git-fetch) |
| 13787 | (uri (git-reference |
| 13788 | (url "https://github.com/hms-dbmi/scde") |
| 13789 | (commit version))) |
| 13790 | (file-name (git-file-name name version)) |
| 13791 | (sha256 |
| 13792 | (base32 |
| 13793 | "10na2gyka24mszdxf92wz9h2c13hdf1ww30c68gfsw53lvvhhhxb")))) |
| 13794 | (build-system r-build-system) |
| 13795 | (propagated-inputs |
| 13796 | (list r-rcpp |
| 13797 | r-rcpparmadillo |
| 13798 | r-mgcv |
| 13799 | r-rook |
| 13800 | r-rjson |
| 13801 | r-cairo |
| 13802 | r-rcolorbrewer |
| 13803 | r-edger |
| 13804 | r-quantreg |
| 13805 | r-nnet |
| 13806 | r-rmtstat |
| 13807 | r-extremes |
| 13808 | r-pcamethods |
| 13809 | r-biocparallel |
| 13810 | r-flexmix)) |
| 13811 | (home-page "https://hms-dbmi.github.io/scde/") |
| 13812 | (synopsis "R package for analyzing single-cell RNA-seq data") |
| 13813 | (description "The SCDE package implements a set of statistical methods for |
| 13814 | analyzing single-cell RNA-seq data. SCDE fits individual error models for |
| 13815 | single-cell RNA-seq measurements. These models can then be used for |
| 13816 | assessment of differential expression between groups of cells, as well as |
| 13817 | other types of analysis. The SCDE package also contains the pagoda framework |
| 13818 | which applies pathway and gene set overdispersion analysis to identify aspects |
| 13819 | of transcriptional heterogeneity among single cells.") |
| 13820 | ;; See https://github.com/hms-dbmi/scde/issues/38 |
| 13821 | (license license:gpl2))) |
| 13822 | |
| 13823 | (define-public r-miamiplot |
| 13824 | (let ((commit "beede9c5d6431b4d822aa42e064e01baeb5dd4a0") |
| 13825 | (revision "1")) |
| 13826 | (package |
| 13827 | (name "r-miamiplot") |
| 13828 | (version (git-version "1.1.0" revision commit)) |
| 13829 | (source |
| 13830 | (origin |
| 13831 | (method git-fetch) |
| 13832 | (uri (git-reference |
| 13833 | (url "https://github.com/juliedwhite/miamiplot") |
| 13834 | (commit commit))) |
| 13835 | (file-name (git-file-name name version)) |
| 13836 | (sha256 |
| 13837 | (base32 "0wxxk1lk9jbf0imf59qp302ffasvs84idinkvzirs3dw9w3589n9")))) |
| 13838 | (properties `((upstream-name . "miamiplot"))) |
| 13839 | (build-system r-build-system) |
| 13840 | (propagated-inputs (list r-checkmate |
| 13841 | r-dplyr |
| 13842 | r-ggplot2 |
| 13843 | r-ggrepel |
| 13844 | r-gridextra |
| 13845 | r-magrittr |
| 13846 | r-rlang)) |
| 13847 | (native-inputs (list r-knitr)) |
| 13848 | (home-page "https://github.com/juliedwhite/miamiplot") |
| 13849 | (synopsis "Create a ggplot2 miami plot") |
| 13850 | (description |
| 13851 | "This package generates a Miami plot with centered chromosome labels. |
| 13852 | The output is a ggplot2 object. Users can specify which data they want |
| 13853 | plotted on top vs. bottom, whether to display significance line(s), what |
| 13854 | colors to give chromosomes, and what points to label.") |
| 13855 | (license license:gpl2)))) |
| 13856 | |
| 13857 | (define-public r-millefy |
| 13858 | (package |
| 13859 | (name "r-millefy") |
| 13860 | (version "0.1.9-beta") |
| 13861 | (source |
| 13862 | (origin |
| 13863 | (method git-fetch) |
| 13864 | (uri (git-reference |
| 13865 | (url "https://github.com/yuifu/millefy") |
| 13866 | (commit (string-append "v" version)))) |
| 13867 | (file-name (git-file-name name version)) |
| 13868 | (sha256 |
| 13869 | (base32 |
| 13870 | "0z2y0x99f761pxvg6n37cmnyrnj699jhjk43pvk05sa86iykgizl")))) |
| 13871 | (properties `((upstream-name . "millefy"))) |
| 13872 | (build-system r-build-system) |
| 13873 | (propagated-inputs |
| 13874 | (list r-data-table |
| 13875 | r-destiny |
| 13876 | r-dplyr |
| 13877 | r-genomicranges |
| 13878 | r-iranges |
| 13879 | r-magrittr |
| 13880 | r-rsamtools |
| 13881 | r-rtracklayer |
| 13882 | r-tidyr)) |
| 13883 | (native-inputs (list r-testthat)) |
| 13884 | (home-page "https://github.com/yuifu/millefy") |
| 13885 | (synopsis "Make millefy plot with single-cell RNA-seq data") |
| 13886 | (description "@code{Millefy} is a tool for visualizing read coverage of |
| 13887 | @dfn{scRNA-seq}(single-cell RNA sequencing) datasets in genomic contexts. By |
| 13888 | dynamically and automatically reorder single cells based on locus-specific |
| 13889 | pseudo time, @code{Millefy} highlights cell-to-cell heterogeneity in read coverage |
| 13890 | of scRNA-seq data.") |
| 13891 | (license license:expat))) |
| 13892 | |
| 13893 | (define-public r-misha |
| 13894 | (package |
| 13895 | (name "r-misha") |
| 13896 | (version "5.6.23") |
| 13897 | (source |
| 13898 | (origin |
| 13899 | (method git-fetch) |
| 13900 | (uri (git-reference |
| 13901 | (url "https://github.com/tanaylab/misha") |
| 13902 | (commit (string-append "v" version)))) |
| 13903 | (file-name (git-file-name name version)) |
| 13904 | (sha256 |
| 13905 | (base32 |
| 13906 | "1k973j04iq02dy4f7qgi3cmp3rcx5yinyx0m7vyag54rqanird8x")))) |
| 13907 | (build-system r-build-system) |
| 13908 | (propagated-inputs (list r-curl r-digest r-magrittr r-ps r-yaml)) |
| 13909 | (native-inputs (list r-knitr r-testthat)) |
| 13910 | (home-page "https://github.com/tanaylab/misha") |
| 13911 | (synopsis "Toolkit for analysis of genomic data") |
| 13912 | (description "This package is intended to help users to efficiently |
| 13913 | analyze genomic data resulting from various experiments.") |
| 13914 | (license license:gpl2))) |
| 13915 | |
| 13916 | (define-public r-scseqcomm |
| 13917 | (let ((commit "01076e703999f1a5aa76419d821b50aebe2b777a") |
| 13918 | (revision "0")) |
| 13919 | (package |
| 13920 | (name "r-scseqcomm") |
| 13921 | (version (git-version "0" revision commit)) |
| 13922 | (source |
| 13923 | (origin |
| 13924 | (method git-fetch) |
| 13925 | (uri (git-reference |
| 13926 | (url "https://gitlab.com/sysbiobig/scseqcomm") |
| 13927 | (commit commit))) |
| 13928 | (file-name (git-file-name name version)) |
| 13929 | (sha256 |
| 13930 | (base32 |
| 13931 | "1fw5si47d6agnz5fibmp2b1sv08pbpwv1j71w57xbav9044i032q")) |
| 13932 | ;; Delete bundled dependency. |
| 13933 | (modules '((guix build utils))) |
| 13934 | (snippet |
| 13935 | '(delete-file-recursively "other_deps")))) |
| 13936 | (build-system r-build-system) |
| 13937 | (inputs |
| 13938 | (list r-add2ggplot |
| 13939 | r-chorddiag |
| 13940 | r-doparallel |
| 13941 | r-dplyr |
| 13942 | r-foreach |
| 13943 | r-gridextra |
| 13944 | r-ggplot2 |
| 13945 | r-gtable |
| 13946 | r-htmlwidgets |
| 13947 | r-igraph |
| 13948 | r-matrix |
| 13949 | r-org-hs-eg-db |
| 13950 | r-psych |
| 13951 | r-rcolorbrewer |
| 13952 | r-rlang |
| 13953 | r-scico |
| 13954 | r-tidygraph |
| 13955 | r-topgo)) |
| 13956 | (native-inputs |
| 13957 | (list r-knitr)) |
| 13958 | (home-page "https://gitlab.com/sysbiobig/scseqcomm") |
| 13959 | (synopsis "Inter- and intra- cellular signaling from single cell RNA-seq") |
| 13960 | (description "This package is tools for analysing intercellular and |
| 13961 | intracellular signaling from single cell RNA-seq (scRNA-seq) data.") |
| 13962 | (license license:gpl3)))) |
| 13963 | |
| 13964 | (define-public r-shaman |
| 13965 | (let ((commit "d6944e8ac7bd1dbd5c6cec646eafc1d19d0ca96f") |
| 13966 | (release "2.0") |
| 13967 | (revision "2")) |
| 13968 | (package |
| 13969 | (name "r-shaman") |
| 13970 | (version (git-version release revision commit)) |
| 13971 | (source (origin |
| 13972 | (method git-fetch) |
| 13973 | (uri (git-reference |
| 13974 | (url "https://github.com/tanaylab/shaman") |
| 13975 | (commit commit))) |
| 13976 | (file-name (git-file-name name version)) |
| 13977 | (sha256 |
| 13978 | (base32 |
| 13979 | "03sx138dzpfiq23j49z0m0s4j79855mrg64hpj9c83408wzphxi6")) |
| 13980 | (snippet |
| 13981 | ;; This file will be generated. |
| 13982 | '(delete-file "inst/doc/shaman-package.R")))) |
| 13983 | (build-system r-build-system) |
| 13984 | (propagated-inputs |
| 13985 | (list r-data-table |
| 13986 | r-domc |
| 13987 | r-ggplot2 |
| 13988 | r-gviz |
| 13989 | r-misha |
| 13990 | r-plyr |
| 13991 | r-rann |
| 13992 | r-rcpp |
| 13993 | r-reshape2 |
| 13994 | ;; For vignettes |
| 13995 | r-rmarkdown |
| 13996 | r-knitr)) |
| 13997 | (home-page "https://github.com/tanaylab/shaman") |
| 13998 | (synopsis "Sampling HiC contact matrices for a-parametric normalization") |
| 13999 | (description "The Shaman package implements functions for |
| 14000 | resampling Hi-C matrices in order to generate expected contact |
| 14001 | distributions given constraints on marginal coverage and |
| 14002 | contact-distance probability distributions. The package also provides |
| 14003 | support for visualizing normalized matrices and statistical analysis |
| 14004 | of contact distributions around selected landmarks.") |
| 14005 | ;; Any version of the GPL |
| 14006 | (license license:gpl3+)))) |
| 14007 | |
| 14008 | (define-public r-centipede |
| 14009 | (package |
| 14010 | (name "r-centipede") |
| 14011 | (version "1.2") |
| 14012 | (source (origin |
| 14013 | (method url-fetch) |
| 14014 | (uri (string-append "http://download.r-forge.r-project.org/" |
| 14015 | "src/contrib/CENTIPEDE_" version ".tar.gz")) |
| 14016 | (sha256 |
| 14017 | (base32 |
| 14018 | "1hsx6qgwr0i67fhy9257zj7s0ppncph2hjgbia5nn6nfmj0ax6l9")))) |
| 14019 | (build-system r-build-system) |
| 14020 | (home-page "https://centipede.uchicago.edu/") |
| 14021 | (synopsis "Predict transcription factor binding sites") |
| 14022 | (description |
| 14023 | "CENTIPEDE applies a hierarchical Bayesian mixture model to infer regions |
| 14024 | of the genome that are bound by particular transcription factors. It starts |
| 14025 | by identifying a set of candidate binding sites, and then aims to classify the |
| 14026 | sites according to whether each site is bound or not bound by a transcription |
| 14027 | factor. CENTIPEDE is an unsupervised learning algorithm that discriminates |
| 14028 | between two different types of motif instances using as much relevant |
| 14029 | information as possible.") |
| 14030 | (license (list license:gpl2+ license:gpl3+)))) |
| 14031 | |
| 14032 | (define-public r-demultiplex |
| 14033 | (let ((commit "6e2a1422c8e6f418cfb271997eebc91f9195f299") |
| 14034 | (revision "1")) |
| 14035 | (package |
| 14036 | (name "r-demultiplex") |
| 14037 | (version (git-version "1.0.2" revision commit)) |
| 14038 | (source |
| 14039 | (origin |
| 14040 | (method git-fetch) |
| 14041 | (uri (git-reference |
| 14042 | (url "https://github.com/chris-mcginnis-ucsf/MULTI-seq") |
| 14043 | (commit commit))) |
| 14044 | (file-name (git-file-name name version)) |
| 14045 | (sha256 |
| 14046 | (base32 |
| 14047 | "01kv88wp8vdaq07sjk0d3d1cb553mq1xqg0war81pgmg63bgi38w")))) |
| 14048 | (properties `((upstream-name . "deMULTIplex"))) |
| 14049 | (build-system r-build-system) |
| 14050 | (propagated-inputs |
| 14051 | (list r-kernsmooth r-reshape2 r-rtsne r-shortread r-stringdist)) |
| 14052 | (home-page "https://github.com/chris-mcginnis-ucsf/MULTI-seq") |
| 14053 | (synopsis "MULTI-seq pre-processing and classification tools") |
| 14054 | (description |
| 14055 | "deMULTIplex is an R package for analyzing single-cell RNA sequencing |
| 14056 | data generated with the MULTI-seq sample multiplexing method. The package |
| 14057 | includes software to |
| 14058 | |
| 14059 | @enumerate |
| 14060 | @item Convert raw MULTI-seq sample barcode library FASTQs into a sample |
| 14061 | barcode UMI count matrix, and |
| 14062 | @item Classify cell barcodes into sample barcode groups. |
| 14063 | @end enumerate |
| 14064 | ") |
| 14065 | (license license:cc0)))) |
| 14066 | |
| 14067 | (define-public r-demultiplex2 |
| 14068 | (let ((commit "c1ce09e8b5784b485680cf96b90bbc12eed96907") |
| 14069 | (revision "2")) |
| 14070 | (package |
| 14071 | (name "r-demultiplex2") |
| 14072 | (version (git-version "1.0.2" revision commit)) |
| 14073 | (source |
| 14074 | (origin |
| 14075 | (method git-fetch) |
| 14076 | (uri (git-reference |
| 14077 | (url "https://github.com/Gartner-Lab/deMULTIplex2") |
| 14078 | (commit commit))) |
| 14079 | (file-name (git-file-name name version)) |
| 14080 | (sha256 |
| 14081 | (base32 "0fid5yh0hqg477h5xxq6c8yh8zs5jawjskzns05rndxhbzm51lpr")))) |
| 14082 | (properties `((upstream-name . "deMULTIplex2"))) |
| 14083 | (build-system r-build-system) |
| 14084 | (propagated-inputs (list r-data-table |
| 14085 | r-devtools |
| 14086 | r-dplyr |
| 14087 | r-ggextra |
| 14088 | r-ggplot2 |
| 14089 | r-gridextra |
| 14090 | r-magrittr |
| 14091 | r-mass |
| 14092 | r-matrix |
| 14093 | r-rcolorbrewer |
| 14094 | r-shortread |
| 14095 | r-stringdist |
| 14096 | r-tidyr |
| 14097 | r-uwot |
| 14098 | r-viridis |
| 14099 | r-xvector)) |
| 14100 | (home-page "https://github.com/Gartner-Lab/deMULTIplex2") |
| 14101 | (synopsis "Robust sample demultiplexing for scRNA-seq") |
| 14102 | (description |
| 14103 | "This package implements a bioinformatics algorithm for demultiplexing |
| 14104 | multiplexed single cell datasets. It is built on a statistical model of tag |
| 14105 | read counts derived from the physical mechanism of tag cross-contamination.") |
| 14106 | (license license:cc0)))) |
| 14107 | |
| 14108 | (define-public r-demuxmix |
| 14109 | (let ((commit "09a7918ca6e0cd23e6bbaed2b97388bc499e248e") |
| 14110 | (revision "1")) |
| 14111 | (package |
| 14112 | (name "r-demuxmix") |
| 14113 | (version (git-version "1.1.1" revision commit)) |
| 14114 | (source (origin |
| 14115 | (method git-fetch) |
| 14116 | (uri (git-reference |
| 14117 | (url "https://github.com/huklein/demuxmix") |
| 14118 | (commit commit))) |
| 14119 | (file-name (git-file-name name version)) |
| 14120 | (sha256 |
| 14121 | (base32 |
| 14122 | "03kfnns7m2447jsc3xplyv9qx8hvvdjmii7j837g3bb6smyxss96")))) |
| 14123 | (properties `((upstream-name . "demuxmix"))) |
| 14124 | (build-system r-build-system) |
| 14125 | (propagated-inputs (list r-ggplot2 r-gridextra r-mass r-matrix)) |
| 14126 | (native-inputs (list r-knitr r-testthat)) |
| 14127 | (home-page "https://github.com/huklein/demuxmix") |
| 14128 | (synopsis |
| 14129 | "Demultiplexing oligo-barcoded scRNA-seq data using regression mixture models") |
| 14130 | (description |
| 14131 | "This package is used for demultiplexing single-cell sequencing |
| 14132 | experiments of pooled cells. These cells are labeled with barcode |
| 14133 | oligonucleotides. The package implements methods to fit regression mixture |
| 14134 | models for a probabilistic classification of cells, including multiplet |
| 14135 | detection. Demultiplexing error rates can be estimated, and methods for |
| 14136 | quality control are provided.") |
| 14137 | (license license:artistic2.0)))) |
| 14138 | |
| 14139 | (define-public gdc-client |
| 14140 | (package |
| 14141 | (name "gdc-client") |
| 14142 | (version "2.3") |
| 14143 | (source |
| 14144 | (origin |
| 14145 | (method git-fetch) |
| 14146 | (uri (git-reference |
| 14147 | (url "https://github.com/NCI-GDC/gdc-client.git") |
| 14148 | (commit version))) |
| 14149 | (file-name (git-file-name name version)) |
| 14150 | (sha256 |
| 14151 | (base32 "1yzd8j3p7w9x00qj6mx8kvlv253063pdnf7ixpkqmmwzbjhv072s")))) |
| 14152 | (build-system pyproject-build-system) |
| 14153 | (arguments |
| 14154 | (list |
| 14155 | #:phases |
| 14156 | #~(modify-phases %standard-phases |
| 14157 | (add-after 'unpack 'relax-requirements |
| 14158 | (lambda _ |
| 14159 | (substitute* "setup.cfg" |
| 14160 | (("intervaltree~=3.0.2") "intervaltree") |
| 14161 | (("termcolor~=1.1.0") "termcolor"))))))) |
| 14162 | (native-inputs |
| 14163 | (list python-flask |
| 14164 | python-httmock |
| 14165 | python-moto |
| 14166 | python-pytest |
| 14167 | python-requests-mock |
| 14168 | python-setuptools)) |
| 14169 | (inputs |
| 14170 | (list python-importlib-metadata |
| 14171 | python-intervaltree |
| 14172 | python-jsonschema |
| 14173 | python-lxml |
| 14174 | python-progressbar2 |
| 14175 | python-pyyaml |
| 14176 | python-requests |
| 14177 | python-termcolor)) |
| 14178 | (home-page "https://gdc.nci.nih.gov/access-data/gdc-data-transfer-tool") |
| 14179 | (synopsis "GDC data transfer tool") |
| 14180 | (description |
| 14181 | "The gdc-client provides several convenience functions over |
| 14182 | the GDC API which provides general download/upload via HTTPS.") |
| 14183 | (license license:asl2.0))) |
| 14184 | |
| 14185 | (define-public vsearch |
| 14186 | (package |
| 14187 | (name "vsearch") |
| 14188 | (version "2.9.1") |
| 14189 | (source |
| 14190 | (origin |
| 14191 | (method git-fetch) |
| 14192 | (uri (git-reference |
| 14193 | (url "https://github.com/torognes/vsearch") |
| 14194 | (commit (string-append "v" version)))) |
| 14195 | (file-name (git-file-name name version)) |
| 14196 | (sha256 |
| 14197 | (base32 |
| 14198 | "0vhrpjfdf75ba04b24xknp41790cvcgwl0vgpy7qbzj5xh2521ss")) |
| 14199 | (patches (search-patches "vsearch-unbundle-cityhash.patch")) |
| 14200 | (snippet |
| 14201 | '(begin |
| 14202 | ;; Remove bundled cityhash sources. The vsearch source is adjusted |
| 14203 | ;; for this in the patch. |
| 14204 | (delete-file "src/city.h") |
| 14205 | (delete-file "src/citycrc.h") |
| 14206 | (delete-file "src/city.cc") |
| 14207 | #t)))) |
| 14208 | (build-system gnu-build-system) |
| 14209 | (inputs |
| 14210 | (list zlib bzip2 cityhash)) |
| 14211 | (native-inputs |
| 14212 | (list autoconf automake)) |
| 14213 | (synopsis "Sequence search tools for metagenomics") |
| 14214 | (description |
| 14215 | "VSEARCH supports DNA sequence searching, clustering, chimera detection, |
| 14216 | dereplication, pairwise alignment, shuffling, subsampling, sorting and |
| 14217 | masking. The tool takes advantage of parallelism in the form of SIMD |
| 14218 | vectorization as well as multiple threads to perform accurate alignments at |
| 14219 | high speed. VSEARCH uses an optimal global aligner (full dynamic programming |
| 14220 | Needleman-Wunsch).") |
| 14221 | (home-page "https://github.com/torognes/vsearch") |
| 14222 | ;; vsearch uses non-portable SSE intrinsics so building fails on other |
| 14223 | ;; platforms. |
| 14224 | (supported-systems '("x86_64-linux")) |
| 14225 | ;; Dual licensed; also includes public domain source. |
| 14226 | (license (list license:gpl3 license:bsd-2)))) |
| 14227 | |
| 14228 | (define-public pairadise |
| 14229 | (package |
| 14230 | (name "pairadise") |
| 14231 | (version "1.0.0") |
| 14232 | (source |
| 14233 | (origin |
| 14234 | (method git-fetch) |
| 14235 | (uri (git-reference |
| 14236 | (url "https://github.com/Xinglab/PAIRADISE") |
| 14237 | (commit (string-append "v" version)))) |
| 14238 | (file-name (git-file-name name version)) |
| 14239 | (sha256 |
| 14240 | (base32 |
| 14241 | "0ycwcqabm4zdng0a7j593g35d5yzvvwm7dyi3b8s19zdi4rjzrwd")))) |
| 14242 | (build-system pyproject-build-system) |
| 14243 | (arguments |
| 14244 | (list |
| 14245 | #:tests? #f ;no tests |
| 14246 | #:phases |
| 14247 | '(modify-phases %standard-phases |
| 14248 | (add-after 'unpack 'chdir |
| 14249 | (lambda _ (chdir "pairadise"))) |
| 14250 | (add-before 'build '2to3 |
| 14251 | (lambda _ (invoke "2to3" "--write" "--nobackups" ".")))))) |
| 14252 | (native-inputs (list python-setuptools)) |
| 14253 | (inputs (list star)) |
| 14254 | (propagated-inputs (list python-pysam)) |
| 14255 | (home-page "https://github.com/Xinglab/PAIRADISE") |
| 14256 | (synopsis "Paired replicate analysis of allelic differential splicing events") |
| 14257 | (description |
| 14258 | "PAIRADISE is a method for detecting @dfn{allele-specific alternative |
| 14259 | splicing} (ASAS) from RNA-seq data. Unlike conventional approaches that |
| 14260 | detect ASAS events one sample at a time, PAIRADISE aggregates ASAS signals |
| 14261 | across multiple individuals in a population. By treating the two alleles of |
| 14262 | an individual as paired, and multiple individuals sharing a heterozygous SNP |
| 14263 | as replicates, PAIRADISE formulates ASAS detection as a statistical problem |
| 14264 | for identifying differential alternative splicing from RNA-seq data with |
| 14265 | paired replicates.") |
| 14266 | (license license:gpl3+))) |
| 14267 | |
| 14268 | (define-public r-pairadise |
| 14269 | (package |
| 14270 | (inherit pairadise) |
| 14271 | (name "r-pairadise") |
| 14272 | (build-system r-build-system) |
| 14273 | (arguments |
| 14274 | (list |
| 14275 | #:phases |
| 14276 | '(modify-phases %standard-phases |
| 14277 | (add-after 'unpack 'chdir |
| 14278 | (lambda _ (chdir "pairadise/src/pairadise_model")))))) |
| 14279 | (inputs '()) |
| 14280 | (propagated-inputs (list r-doparallel r-foreach r-iterators r-nloptr)) |
| 14281 | (license license:expat))) |
| 14282 | |
| 14283 | (define-public r-pairwiseadonis |
| 14284 | ;; There is no tag for version 0.4.1, nor is there a release archive. |
| 14285 | (let ((commit "cb190f7668a0c82c0b0853927db239e7b9ec3e83") |
| 14286 | (revision "1")) |
| 14287 | (package |
| 14288 | (name "r-pairwiseadonis") |
| 14289 | ;; The versioning scheme of this package is inconsistent, with versions |
| 14290 | ;; progressing from 0.21 to 0.3 and then to 0.4.1, which does not follow |
| 14291 | ;; a standard numerical order or convention (e.g., semantic versioning). |
| 14292 | (version (git-version "0.4.1" revision commit)) |
| 14293 | (source |
| 14294 | (origin |
| 14295 | (method git-fetch) |
| 14296 | (uri (git-reference |
| 14297 | (url "https://github.com/pmartinezarbizu/pairwiseAdonis") |
| 14298 | (commit commit))) |
| 14299 | (file-name (git-file-name name version)) |
| 14300 | (sha256 |
| 14301 | (base32 "11hl6qqmr5vns476921802y0qmb46i1jf0rf7xfkyswlh6xkcl99")))) |
| 14302 | (properties `((upstream-name . "pairwiseAdonis"))) |
| 14303 | (build-system r-build-system) |
| 14304 | (arguments |
| 14305 | (list |
| 14306 | #:phases |
| 14307 | ;; Move into the subdirectory containing the R package files |
| 14308 | '(modify-phases %standard-phases |
| 14309 | (add-after 'unpack 'move-to-subdir |
| 14310 | (lambda _ (chdir "pairwiseAdonis")))))) |
| 14311 | (propagated-inputs |
| 14312 | (list r-cluster |
| 14313 | r-permute |
| 14314 | r-vegan)) |
| 14315 | (synopsis "Pairwise multilevel comparison using adonis") |
| 14316 | (description |
| 14317 | "This package implements two functions: |
| 14318 | @itemize |
| 14319 | @item @code{pairwise.adonis} is a wrapper function for multilevel pairwise |
| 14320 | comparison using adonis2 from package vegan. The function returns adjusted |
| 14321 | p-values using @code{p.adjust()}. It does not accept interaction between factors |
| 14322 | neither strata. |
| 14323 | @item @code{pairwise.adonis2} accepts a model formula like in adonis from vegan. |
| 14324 | You can use interactions between factors and define strata to constrain |
| 14325 | permutations. For pairwise comparison a list of unique pairwise combination of |
| 14326 | factors is produced. |
| 14327 | @end itemize") |
| 14328 | (home-page "https://github.com/pmartinezarbizu/pairwiseAdonis") |
| 14329 | (license license:gpl2+)))) |
| 14330 | |
| 14331 | (define-public pardre |
| 14332 | (package |
| 14333 | (name "pardre") |
| 14334 | (version "2.2.5") |
| 14335 | (source |
| 14336 | (origin |
| 14337 | (method url-fetch) |
| 14338 | (uri (string-append "mirror://sourceforge/pardre/ParDRe-rel" |
| 14339 | version ".tar.gz")) |
| 14340 | (sha256 |
| 14341 | (base32 |
| 14342 | "105s4f8zs8hh0sc32r9p725n7idza9cj5jvp5z1m5pljjhgk3if5")))) |
| 14343 | (build-system gnu-build-system) |
| 14344 | (arguments |
| 14345 | `(#:tests? #f ; tests require "prove" |
| 14346 | #:phases |
| 14347 | (modify-phases %standard-phases |
| 14348 | (delete 'configure) |
| 14349 | (replace 'install |
| 14350 | (lambda* (#:key outputs #:allow-other-keys) |
| 14351 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) |
| 14352 | (install-file "ParDRe" bin))))))) |
| 14353 | (inputs |
| 14354 | (list openmpi-c++ zlib)) |
| 14355 | (synopsis "Parallel tool to remove duplicate DNA reads") |
| 14356 | (description |
| 14357 | "ParDRe is a parallel tool to remove duplicate genetic sequence reads. |
| 14358 | Duplicate reads can be seen as identical or nearly identical sequences with |
| 14359 | some mismatches. This tool lets users avoid the analysis of unnecessary |
| 14360 | reads, reducing the time of subsequent procedures with the |
| 14361 | dataset (e.g. assemblies, mappings, etc.). The tool is implemented with MPI |
| 14362 | in order to exploit the parallel capabilities of multicore clusters. It is |
| 14363 | faster than multithreaded counterparts (end of 2015) for the same number of |
| 14364 | cores and, thanks to the message-passing technology, it can be executed on |
| 14365 | clusters.") |
| 14366 | (home-page "https://sourceforge.net/projects/pardre/") |
| 14367 | (license license:gpl3+))) |
| 14368 | |
| 14369 | (define-public ngshmmalign |
| 14370 | (package |
| 14371 | (name "ngshmmalign") |
| 14372 | (version "0.1.1") |
| 14373 | (source |
| 14374 | (origin |
| 14375 | (method url-fetch) |
| 14376 | (uri (string-append "https://github.com/cbg-ethz/ngshmmalign/" |
| 14377 | "releases/download/" version |
| 14378 | "/ngshmmalign-" version ".tar.bz2")) |
| 14379 | (sha256 |
| 14380 | (base32 |
| 14381 | "0jryvlssi2r2ii1dxnx39yk6bh4yqgq010fnxrgfgbaj3ykijlzv")))) |
| 14382 | (build-system cmake-build-system) |
| 14383 | (arguments '(#:tests? #false)) ; there are none |
| 14384 | (inputs |
| 14385 | (list boost)) |
| 14386 | (home-page "https://github.com/cbg-ethz/ngshmmalign/") |
| 14387 | (synopsis "Profile HMM aligner for NGS reads") |
| 14388 | (description |
| 14389 | "ngshmmalign is a profile HMM aligner for NGS reads designed particularly |
| 14390 | for small genomes (such as those of RNA viruses like HIV-1 and HCV) that |
| 14391 | experience substantial biological insertions and deletions.") |
| 14392 | (license license:gpl2+))) |
| 14393 | |
| 14394 | (define-public prinseq |
| 14395 | (package |
| 14396 | (name "prinseq") |
| 14397 | (version "0.20.4") |
| 14398 | (source |
| 14399 | (origin |
| 14400 | (method url-fetch) |
| 14401 | (uri (string-append "mirror://sourceforge/prinseq/standalone/" |
| 14402 | "prinseq-lite-" version ".tar.gz")) |
| 14403 | (sha256 |
| 14404 | (base32 |
| 14405 | "0vxmzvmm67whxrqdaaamwgjk7cf0fzfs5s673jgg00kz7g70splv")))) |
| 14406 | (build-system gnu-build-system) |
| 14407 | (arguments |
| 14408 | `(#:tests? #false ; no check target |
| 14409 | #:phases |
| 14410 | (modify-phases %standard-phases |
| 14411 | (delete 'configure) |
| 14412 | (delete 'build) |
| 14413 | (replace 'install |
| 14414 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 14415 | (let* ((out (assoc-ref outputs "out")) |
| 14416 | (bin (string-append out "/bin")) |
| 14417 | (scripts (find-files "." "prinseq.*.pl")) |
| 14418 | (guile (search-input-file inputs "bin/guile"))) |
| 14419 | (substitute* scripts |
| 14420 | (("\"perl -pe") |
| 14421 | (string-append "\"" (which "perl") " -pe"))) |
| 14422 | (for-each (lambda (file) |
| 14423 | (chmod file #o555) |
| 14424 | (install-file file bin) |
| 14425 | (wrap-script (string-append bin "/" (basename file)) |
| 14426 | #:guile guile |
| 14427 | `("PERL5LIB" ":" prefix |
| 14428 | (,(getenv "PERL5LIB"))))) |
| 14429 | scripts))))))) |
| 14430 | (inputs |
| 14431 | (list guile-3.0 ; for wrapper scripts |
| 14432 | perl |
| 14433 | perl-cairo |
| 14434 | perl-data-dumper |
| 14435 | perl-digest-md5 |
| 14436 | perl-getopt-long |
| 14437 | perl-json |
| 14438 | perl-statistics-pca)) |
| 14439 | (home-page "https://prinseq.sourceforge.net/") |
| 14440 | (synopsis "Preprocess sequence data in FASTA or FASTQ formats") |
| 14441 | (description |
| 14442 | "PRINSEQ is a bioinformatics tool to help you preprocess your genomic or |
| 14443 | metagenomic sequence data in FASTA or FASTQ formats. The tool is written in |
| 14444 | Perl and can be helpful if you want to filter, reformat, or trim your sequence |
| 14445 | data. It also generates basic statistics for your sequences.") |
| 14446 | (license license:gpl3+))) |
| 14447 | |
| 14448 | (define-public shorah |
| 14449 | (package |
| 14450 | (name "shorah") |
| 14451 | (version "1.99.3") |
| 14452 | (source |
| 14453 | (origin |
| 14454 | (method url-fetch) |
| 14455 | (uri (string-append "https://github.com/cbg-ethz/shorah" |
| 14456 | "/releases/download/v" version |
| 14457 | "/shorah-" version ".tar.xz")) |
| 14458 | (sha256 |
| 14459 | (base32 |
| 14460 | "0zclbvdvbbfv3qpln3f47qa1yn77wf68z2b30vcxrzq3vsla4kgb")))) |
| 14461 | (build-system gnu-build-system) |
| 14462 | (arguments |
| 14463 | `(#:phases |
| 14464 | (modify-phases %standard-phases |
| 14465 | (add-after 'unpack 'fix-test-wrapper |
| 14466 | (lambda* (#:key outputs #:allow-other-keys) |
| 14467 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) |
| 14468 | (substitute* "examples/run_end2end_test" |
| 14469 | (("\\$\\{interpreter\\} ../\\$\\{testscript\\}") |
| 14470 | (string-append bin "/${testscript}")))))) |
| 14471 | (delete 'check) |
| 14472 | (add-after 'install 'wrap-programs |
| 14473 | (lambda* (#:key outputs #:allow-other-keys) |
| 14474 | (let* ((out (assoc-ref outputs "out")) |
| 14475 | (site (string-append |
| 14476 | out "/lib/python" |
| 14477 | ,(version-major+minor |
| 14478 | (package-version python)) |
| 14479 | "/site-packages")) |
| 14480 | (pythonpath (getenv "GUIX_PYTHONPATH")) |
| 14481 | (script (string-append out "/bin/shorah"))) |
| 14482 | (chmod script #o555) |
| 14483 | (wrap-program script `("GUIX_PYTHONPATH" ":" prefix (,site ,pythonpath)))))) |
| 14484 | (add-after 'wrap-programs 'check |
| 14485 | (lambda* (#:key tests? #:allow-other-keys) |
| 14486 | (when tests? |
| 14487 | (invoke "make" "check"))))))) |
| 14488 | (inputs |
| 14489 | (list bash-minimal |
| 14490 | boost |
| 14491 | htslib |
| 14492 | python |
| 14493 | python-biopython |
| 14494 | python-numpy |
| 14495 | python-setuptools |
| 14496 | zlib)) |
| 14497 | (native-inputs |
| 14498 | (list pkg-config)) |
| 14499 | (home-page "") |
| 14500 | (synopsis "Short reads assembly into haplotypes") |
| 14501 | (description |
| 14502 | "ShoRAH is a project for the analysis of next generation sequencing data. |
| 14503 | It is designed to analyse genetically heterogeneous samples. Its tools |
| 14504 | provide error correction, haplotype reconstruction and estimation of the |
| 14505 | frequency of the different genetic variants present in a mixed sample.") |
| 14506 | (license license:gpl3+))) |
| 14507 | |
| 14508 | (define-public sickle |
| 14509 | (package |
| 14510 | (name "sickle") |
| 14511 | (version "1.33") |
| 14512 | (source |
| 14513 | (origin |
| 14514 | (method git-fetch) |
| 14515 | (uri (git-reference |
| 14516 | (url "https://github.com/najoshi/sickle") |
| 14517 | (commit (string-append "v" version)))) |
| 14518 | (file-name (git-file-name name version)) |
| 14519 | (sha256 |
| 14520 | (base32 "1bnq480lpylq9sfsa1y71b4qz0ipi2zjnp8ds48fh10ijlwmwmdc")))) |
| 14521 | (build-system gnu-build-system) |
| 14522 | (arguments |
| 14523 | (list |
| 14524 | #:tests? #f ;There are no tests |
| 14525 | #:phases |
| 14526 | #~(modify-phases %standard-phases |
| 14527 | (delete 'configure) |
| 14528 | (replace 'install |
| 14529 | (lambda _ |
| 14530 | (install-file "sickle" (string-append #$output "/bin"))))))) |
| 14531 | (propagated-inputs (list zlib)) |
| 14532 | (home-page "https://github.com/najoshi/sickle") |
| 14533 | (synopsis "Adaptive trimming tool for FASTQ files using quality") |
| 14534 | (description |
| 14535 | "Sickle is a tool that trims reads based on quality and length |
| 14536 | thresholds. It uses sliding windows to detect low-quality bases at the 3'-end |
| 14537 | and high-quality bases at the 5'-end. Additionally, it discards reads based |
| 14538 | on the length threshold.") |
| 14539 | (license license:expat))) |
| 14540 | |
| 14541 | (define-public ruby-bio-kseq |
| 14542 | (package |
| 14543 | (name "ruby-bio-kseq") |
| 14544 | (version "0.0.2") |
| 14545 | (source |
| 14546 | (origin |
| 14547 | (method url-fetch) |
| 14548 | (uri (rubygems-uri "bio-kseq" version)) |
| 14549 | (sha256 |
| 14550 | (base32 |
| 14551 | "1xyaha46khb5jc6wzkbf7040jagac49jbimn0vcrzid0j8jdikrz")))) |
| 14552 | (build-system ruby-build-system) |
| 14553 | (arguments |
| 14554 | `(#:test-target "spec")) |
| 14555 | (native-inputs |
| 14556 | (list bundler ruby-rspec ruby-rake-compiler)) |
| 14557 | (inputs |
| 14558 | (list zlib)) |
| 14559 | (synopsis "Ruby bindings for the kseq.h FASTA/Q parser") |
| 14560 | (description |
| 14561 | "@code{Bio::Kseq} provides ruby bindings to the @code{kseq.h} FASTA and |
| 14562 | FASTQ parsing code. It provides a fast iterator over sequences and their |
| 14563 | quality scores.") |
| 14564 | (home-page "https://github.com/gusevfe/bio-kseq") |
| 14565 | (license license:expat))) |
| 14566 | |
| 14567 | (define-public bio-locus |
| 14568 | (package |
| 14569 | (name "bio-locus") |
| 14570 | (version "0.0.7") |
| 14571 | (source |
| 14572 | (origin |
| 14573 | (method url-fetch) |
| 14574 | (uri (rubygems-uri "bio-locus" version)) |
| 14575 | (sha256 |
| 14576 | (base32 |
| 14577 | "02vmrxyimkj9sahsp4zhfhnmbvz6dbbqz1y01vglf8cbwvkajfl0")))) |
| 14578 | (build-system ruby-build-system) |
| 14579 | (native-inputs |
| 14580 | (list ruby-rspec)) |
| 14581 | (synopsis "Tool for fast querying of genome locations") |
| 14582 | (description |
| 14583 | "Bio-locus is a tabix-like tool for fast querying of genome |
| 14584 | locations. Many file formats in bioinformatics contain records that |
| 14585 | start with a chromosome name and a position for a SNP, or a start-end |
| 14586 | position for indels. Bio-locus allows users to store this chr+pos or |
| 14587 | chr+pos+alt information in a database.") |
| 14588 | (home-page "https://github.com/pjotrp/bio-locus") |
| 14589 | (license license:expat))) |
| 14590 | |
| 14591 | (define-public bio-blastxmlparser |
| 14592 | (package |
| 14593 | (name "bio-blastxmlparser") |
| 14594 | (version "2.0.4") |
| 14595 | (source (origin |
| 14596 | (method url-fetch) |
| 14597 | (uri (rubygems-uri "bio-blastxmlparser" version)) |
| 14598 | (sha256 |
| 14599 | (base32 |
| 14600 | "1wf4qygcmdjgcqm6flmvsagfr1gs9lf63mj32qv3z1f481zc5692")))) |
| 14601 | (build-system ruby-build-system) |
| 14602 | (propagated-inputs |
| 14603 | (list ruby-bio-logger ruby-nokogiri)) |
| 14604 | (inputs |
| 14605 | (list ruby-rspec)) |
| 14606 | (synopsis "Fast big data BLAST XML parser and library") |
| 14607 | (description |
| 14608 | "Very fast parallel big-data BLAST XML file parser which can be used as |
| 14609 | command line utility. Use blastxmlparser to: Parse BLAST XML; filter output; |
| 14610 | generate FASTA, JSON, YAML, RDF, JSON-LD, HTML, CSV, tabular output etc.") |
| 14611 | (home-page "https://github.com/pjotrp/blastxmlparser") |
| 14612 | (license license:expat))) |
| 14613 | |
| 14614 | (define-public bioruby |
| 14615 | (package |
| 14616 | (name "bioruby") |
| 14617 | (version "2.0.4") |
| 14618 | (source |
| 14619 | (origin |
| 14620 | (method url-fetch) |
| 14621 | (uri (rubygems-uri "bio" version)) |
| 14622 | (sha256 |
| 14623 | (base32 |
| 14624 | "08aknxk2ingwscwfqpw5vnax6jpk1sxfaialravladb63hcl8dx9")))) |
| 14625 | (build-system ruby-build-system) |
| 14626 | (propagated-inputs |
| 14627 | (list ruby-libxml)) |
| 14628 | (native-inputs |
| 14629 | (list which)) ; required for test phase |
| 14630 | (arguments |
| 14631 | (list |
| 14632 | #:phases |
| 14633 | #~(modify-phases %standard-phases |
| 14634 | (add-before 'build 'patch-test-command |
| 14635 | (lambda _ |
| 14636 | (substitute* '("test/functional/bio/test_command.rb") |
| 14637 | (("/bin/sh") (which "sh"))) |
| 14638 | (substitute* '("test/functional/bio/test_command.rb") |
| 14639 | (("/bin/ls") (which "ls"))) |
| 14640 | (substitute* '("test/functional/bio/test_command.rb") |
| 14641 | (("which") (which "which"))) |
| 14642 | (substitute* '("test/functional/bio/test_command.rb" |
| 14643 | "test/data/command/echoarg2.sh") |
| 14644 | (("/bin/echo") (which "echo")))))))) |
| 14645 | (synopsis "Ruby library, shell and utilities for bioinformatics") |
| 14646 | (description "BioRuby comes with a comprehensive set of Ruby development |
| 14647 | tools and libraries for bioinformatics and molecular biology. BioRuby has |
| 14648 | components for sequence analysis, pathway analysis, protein modelling and |
| 14649 | phylogenetic analysis; it supports many widely used data formats and provides |
| 14650 | easy access to databases, external programs and public web services, including |
| 14651 | BLAST, KEGG, GenBank, MEDLINE and GO.") |
| 14652 | (home-page "http://bioruby.org/") |
| 14653 | ;; Code is released under Ruby license, except for setup |
| 14654 | ;; (LGPLv2.1+) and scripts in samples (which have GPL2 and GPL2+) |
| 14655 | (license (list license:ruby license:lgpl2.1+ license:gpl2+ )))) |
| 14656 | |
| 14657 | (define-public centrifuge |
| 14658 | (package |
| 14659 | (name "centrifuge") |
| 14660 | (version "1.0.4") |
| 14661 | (source |
| 14662 | (origin |
| 14663 | (method git-fetch) |
| 14664 | (uri (git-reference |
| 14665 | (url "https://github.com/DaehwanKimLab/centrifuge.git") |
| 14666 | (commit (string-append "v" version)))) |
| 14667 | (file-name (git-file-name name version)) |
| 14668 | (sha256 |
| 14669 | (base32 |
| 14670 | "167610gbz1rrh6ir3j7jcmhzg3x5msn7x7a3dpv7wmwdndnnqvg0")))) |
| 14671 | (build-system gnu-build-system) |
| 14672 | (arguments |
| 14673 | (list |
| 14674 | #:tests? #false ; no check target |
| 14675 | #:make-flags |
| 14676 | #~(list (string-append "prefix=" #$output)) |
| 14677 | #:phases |
| 14678 | '(modify-phases %standard-phases |
| 14679 | (delete 'configure)))) |
| 14680 | (inputs (list python-wrapper)) |
| 14681 | (native-inputs |
| 14682 | (list pandoc perl ;for documentation |
| 14683 | which)) |
| 14684 | (home-page "https://github.com/DaehwanKimLab/centrifuge/") |
| 14685 | (synopsis "Classifier for metagenomic sequences") |
| 14686 | (description "Centrifuge is a microbial classification engine that enables |
| 14687 | rapid, accurate and sensitive labeling of reads and quantification of species |
| 14688 | on desktop computers. The system uses an indexing scheme based on the |
| 14689 | @dfn{Burrows-Wheeler transform} (BWT) and the @dfn{Ferragina-Manzini} (FM) |
| 14690 | index, optimized specifically for the metagenomic classification problem. |
| 14691 | Centrifuge requires a relatively small index (4.7 GB for all complete |
| 14692 | bacterial and viral genomes plus the human genome) and classifies sequences at |
| 14693 | very high speed, allowing it to process the millions of reads from a typical |
| 14694 | high-throughput DNA sequencing run within a few minutes.") |
| 14695 | (license license:gpl3+))) |
| 14696 | |
| 14697 | (define-public bio-vcf |
| 14698 | (package |
| 14699 | (name "bio-vcf") |
| 14700 | (version "0.9.5") |
| 14701 | (source |
| 14702 | (origin |
| 14703 | (method url-fetch) |
| 14704 | (uri (rubygems-uri "bio-vcf" version)) |
| 14705 | (sha256 |
| 14706 | (base32 |
| 14707 | "1glw5pn9s8z13spxk6yyfqaz80n9lga67f33w35nkpq9dwi2vg6g")))) |
| 14708 | (build-system ruby-build-system) |
| 14709 | (arguments |
| 14710 | (list |
| 14711 | #:phases |
| 14712 | #~(modify-phases %standard-phases |
| 14713 | (add-before 'check 'delete-failing-tests |
| 14714 | (lambda _ |
| 14715 | ;; This feature compares inspected strings, which can |
| 14716 | ;; easily cause differences across different Ruby |
| 14717 | ;; versions. |
| 14718 | (delete-file "features/vcf_header.feature")))))) |
| 14719 | (native-inputs |
| 14720 | (list ruby-cucumber)) |
| 14721 | (synopsis "Smart VCF parser DSL") |
| 14722 | (description |
| 14723 | "Bio-vcf provides a @acronym{DSL, domain specific language} for processing |
| 14724 | the VCF format. Record named fields can be queried with regular expressions. |
| 14725 | Bio-vcf is a new generation VCF parser, filter and converter. Bio-vcf is not |
| 14726 | only very fast for genome-wide (WGS) data, it also comes with a filtering, |
| 14727 | evaluation and rewrite language and can output any type of textual data, |
| 14728 | including VCF header and contents in RDF and JSON.") |
| 14729 | (home-page "https://github.com/vcflib/bio-vcf") |
| 14730 | (license license:expat))) |
| 14731 | |
| 14732 | (define-public r-phantompeakqualtools |
| 14733 | (let ((commit "8d2b2d18c686d894ef5908b37da7adf72a07ef42") |
| 14734 | (revision "1")) |
| 14735 | (package |
| 14736 | (name "r-phantompeakqualtools") |
| 14737 | (version (git-version "1.2.2" revision commit)) |
| 14738 | (source |
| 14739 | (origin |
| 14740 | (method git-fetch) |
| 14741 | (uri (git-reference |
| 14742 | (url "https://github.com/kundajelab/phantompeakqualtools") |
| 14743 | (commit commit))) |
| 14744 | (file-name (git-file-name name version)) |
| 14745 | (sha256 |
| 14746 | (base32 |
| 14747 | "00anrvcwsp02d98qhj1xpj85644h2pp4kfzq6dgbmwmdr6jvy7p4")))) |
| 14748 | (build-system gnu-build-system) |
| 14749 | (arguments |
| 14750 | (list |
| 14751 | #:tests? #f ; There are no tests. |
| 14752 | #:phases |
| 14753 | #~(modify-phases %standard-phases |
| 14754 | (delete 'configure) |
| 14755 | (delete 'build) |
| 14756 | (replace 'install |
| 14757 | (lambda _ |
| 14758 | (install-file "run_spp.R" |
| 14759 | (string-append #$output "/share/scripts"))))))) |
| 14760 | (inputs |
| 14761 | (list r-minimal)) |
| 14762 | (propagated-inputs |
| 14763 | (list r-catools |
| 14764 | r-snow |
| 14765 | r-snowfall |
| 14766 | r-bitops |
| 14767 | r-rsamtools |
| 14768 | r-spp |
| 14769 | gawk |
| 14770 | samtools |
| 14771 | boost |
| 14772 | gzip)) |
| 14773 | (home-page "https://github.com/kundajelab/phantompeakqualtools") |
| 14774 | (synopsis "Informative enrichment for ChIP-seq data") |
| 14775 | (description "This package computes informative enrichment and quality |
| 14776 | measures for ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data. It can also be |
| 14777 | used to obtain robust estimates of the predominant fragment length or |
| 14778 | characteristic tag shift values in these assays.") |
| 14779 | (license license:bsd-3)))) |
| 14780 | |
| 14781 | (define-public rcas-web |
| 14782 | (package |
| 14783 | (name "rcas-web") |
| 14784 | (version "0.2.0") |
| 14785 | (source |
| 14786 | (origin |
| 14787 | (method git-fetch) |
| 14788 | (uri (git-reference |
| 14789 | (url "https://github.com/BIMSBbioinfo/rcas-web") |
| 14790 | (commit (string-append "v" version)))) |
| 14791 | (file-name (git-file-name name version)) |
| 14792 | (sha256 |
| 14793 | (base32 |
| 14794 | "0n1mh1132dx0y0ln2rhdy02rssyzp2xa2im5ynzjpnxxw0r6fgip")))) |
| 14795 | (build-system gnu-build-system) |
| 14796 | (arguments |
| 14797 | (list |
| 14798 | #:phases |
| 14799 | #~(modify-phases %standard-phases |
| 14800 | (add-after 'install 'wrap-executable |
| 14801 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 14802 | (let* ((json #$(this-package-input "guile-json")) |
| 14803 | (redis #$(this-package-input "guile-redis")) |
| 14804 | (path (string-append |
| 14805 | json "/share/guile/site/3.0:" |
| 14806 | redis "/share/guile/site/3.0"))) |
| 14807 | (wrap-program (string-append #$output "/bin/rcas-web") |
| 14808 | `("GUILE_LOAD_PATH" ":" = (,path)) |
| 14809 | `("GUILE_LOAD_COMPILED_PATH" ":" = (,path)) |
| 14810 | `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))))))))) |
| 14811 | (inputs |
| 14812 | (list bash-minimal |
| 14813 | r-minimal |
| 14814 | r-rcas |
| 14815 | r-biocmanager |
| 14816 | guile-3.0 |
| 14817 | guile-json-4 |
| 14818 | guile-redis)) |
| 14819 | (native-inputs |
| 14820 | (list autoconf |
| 14821 | automake |
| 14822 | pkg-config)) |
| 14823 | (home-page "https://github.com/BIMSBbioinfo/rcas-web") |
| 14824 | (synopsis "Web interface for RNA-centric annotation system (RCAS)") |
| 14825 | (description "This package provides a simple web interface for the |
| 14826 | @dfn{RNA-centric annotation system} (RCAS).") |
| 14827 | (license license:agpl3+))) |
| 14828 | |
| 14829 | (define-public r-chipkernels |
| 14830 | (let ((commit "c9cfcacb626b1221094fb3490ea7bac0fd625372") |
| 14831 | (revision "1")) |
| 14832 | (package |
| 14833 | (name "r-chipkernels") |
| 14834 | (version (git-version "1.1" revision commit)) |
| 14835 | (source |
| 14836 | (origin |
| 14837 | (method git-fetch) |
| 14838 | (uri (git-reference |
| 14839 | (url "https://github.com/ManuSetty/ChIPKernels") |
| 14840 | (commit commit))) |
| 14841 | (file-name (git-file-name name version)) |
| 14842 | (sha256 |
| 14843 | (base32 |
| 14844 | "14bj5qhjm1hsm9ay561nfbqi9wxsa7y487df2idsaaf6z10nw4v0")))) |
| 14845 | (build-system r-build-system) |
| 14846 | (arguments |
| 14847 | (list |
| 14848 | #:phases |
| 14849 | #~(modify-phases %standard-phases |
| 14850 | (add-before 'install 'fix-r-4.5.0 |
| 14851 | ;; Changes in R 4.5.0: C-Level Facilities. |
| 14852 | ;; Strict R headers are now the default. This removes the legacy |
| 14853 | ;; definitions of PI, Calloc, Realloc and Free: use M_PI, |
| 14854 | ;; R_Calloc, R_Realloc or R_Free instead. |
| 14855 | ;; https://cran.r-project.org/doc/manuals/r-release/NEWS.html |
| 14856 | (lambda _ |
| 14857 | (substitute* "src/hamming_distance.c" |
| 14858 | (("Calloc") "R_Calloc") |
| 14859 | (("Free") "R_Free") |
| 14860 | (("Realloc") "R_Realloc"))))))) |
| 14861 | (propagated-inputs |
| 14862 | (list r-iranges |
| 14863 | r-xvector |
| 14864 | r-biostrings |
| 14865 | r-bsgenome |
| 14866 | r-gtools |
| 14867 | r-genomicranges |
| 14868 | r-sfsmisc |
| 14869 | r-kernlab |
| 14870 | r-s4vectors |
| 14871 | r-biocgenerics)) |
| 14872 | (home-page "https://github.com/ManuSetty/ChIPKernels") |
| 14873 | (synopsis "Build string kernels for DNA Sequence analysis") |
| 14874 | (description "ChIPKernels is an R package for building different string |
| 14875 | kernels used for DNA Sequence analysis. A dictionary of the desired kernel |
| 14876 | must be built and this dictionary can be used for determining kernels for DNA |
| 14877 | Sequences.") |
| 14878 | (license license:gpl2+)))) |
| 14879 | |
| 14880 | (define-public r-seqgl |
| 14881 | (package |
| 14882 | (name "r-seqgl") |
| 14883 | (version "1.1.4") |
| 14884 | (source |
| 14885 | (origin |
| 14886 | (method git-fetch) |
| 14887 | (uri (git-reference |
| 14888 | (url "https://github.com/ManuSetty/SeqGL") |
| 14889 | (commit version))) |
| 14890 | (file-name (git-file-name name version)) |
| 14891 | (sha256 |
| 14892 | (base32 |
| 14893 | "1r6ywvhxl3ffv48lgj7sbd582mcc6dha3ksgc2qjlvjrnkbj3799")))) |
| 14894 | (build-system r-build-system) |
| 14895 | (propagated-inputs |
| 14896 | (list r-biostrings |
| 14897 | r-chipkernels |
| 14898 | r-genomicranges |
| 14899 | r-spams |
| 14900 | r-wgcna |
| 14901 | r-fastcluster)) |
| 14902 | (home-page "https://github.com/ManuSetty/SeqGL") |
| 14903 | (synopsis "Group lasso for Dnase/ChIP-seq data") |
| 14904 | (description "SeqGL is a group lasso based algorithm to extract |
| 14905 | transcription factor sequence signals from ChIP, DNase and ATAC-seq profiles. |
| 14906 | This package presents a method which uses group lasso to discriminate between |
| 14907 | bound and non bound genomic regions to accurately identify transcription |
| 14908 | factors bound at the specific regions.") |
| 14909 | (license license:gpl2+))) |
| 14910 | |
| 14911 | (define-public r-seraster |
| 14912 | ;; There are no tags or releases. |
| 14913 | (let ((commit "4fdc1ffe5d3feb65de9880329d221cf276b393a1") |
| 14914 | (revision "1")) |
| 14915 | (package |
| 14916 | (name "r-seraster") |
| 14917 | (version (git-version "0.99.0" revision commit)) |
| 14918 | (source |
| 14919 | (origin |
| 14920 | (method git-fetch) |
| 14921 | (uri (git-reference |
| 14922 | (url "https://github.com/JEFworks-Lab/SEraster") |
| 14923 | (commit commit))) |
| 14924 | (file-name (git-file-name name version)) |
| 14925 | (sha256 |
| 14926 | (base32 "0y33lk8q0h9nfzmf7slxxvw3l0djassp4l63nsjpm3p6z4pah5s4")))) |
| 14927 | (properties `((upstream-name . "SEraster"))) |
| 14928 | (build-system r-build-system) |
| 14929 | (propagated-inputs (list r-biocparallel |
| 14930 | r-ggplot2 |
| 14931 | r-matrix |
| 14932 | r-rearrr |
| 14933 | r-sf |
| 14934 | r-spatialexperiment |
| 14935 | r-summarizedexperiment)) |
| 14936 | (native-inputs (list r-testthat)) |
| 14937 | (home-page "https://github.com/JEFworks-Lab/SEraster") |
| 14938 | (synopsis |
| 14939 | "Rasterization framework for scalable spatial omics data analysis") |
| 14940 | (description |
| 14941 | "This package is a rasterization preprocessing framework that aggregates |
| 14942 | cellular information into spatial pixels to reduce resource requirements for |
| 14943 | spatial omics data analysis. SEraster reduces the number of points in spatial |
| 14944 | omics datasets for downstream analysis through a process of rasterization where |
| 14945 | single cells gene expression or cell-type labels are aggregated into equally |
| 14946 | sized pixels based on a user-defined resolution. SEraster can be incorporated |
| 14947 | with other packages to conduct downstream analyses for spatial omics datasets, |
| 14948 | such as detecting spatially variable genes.") |
| 14949 | (license license:gpl3)))) |
| 14950 | |
| 14951 | (define-public emboss |
| 14952 | (package |
| 14953 | (name "emboss") |
| 14954 | (version "6.5.7") |
| 14955 | (source (origin |
| 14956 | (method url-fetch) |
| 14957 | (uri (string-append "ftp://emboss.open-bio.org/pub/EMBOSS/old/" |
| 14958 | (version-major+minor version) ".0/" |
| 14959 | "EMBOSS-" version ".tar.gz")) |
| 14960 | (sha256 |
| 14961 | (base32 |
| 14962 | "0vsmz96gc411yj2iyzdrsmg4l2n1nhgmp7vrgzlxx3xixv9xbf0q")))) |
| 14963 | (build-system gnu-build-system) |
| 14964 | (arguments |
| 14965 | `(#:configure-flags |
| 14966 | ,#~(list (string-append "--with-hpdf=" |
| 14967 | #$(this-package-input "libharu"))) |
| 14968 | #:phases |
| 14969 | (modify-phases %standard-phases |
| 14970 | (add-after 'unpack 'fix-checks |
| 14971 | (lambda _ |
| 14972 | ;; The PNGDRIVER tests check for the presence of libgd, libpng |
| 14973 | ;; and zlib, but assume that they are all found at the same |
| 14974 | ;; prefix. |
| 14975 | (substitute* "configure.in" |
| 14976 | (("CHECK_PNGDRIVER") |
| 14977 | "LIBS=\"$LIBS -lgd -lpng -lz -lm\" |
| 14978 | AC_DEFINE([PLD_png], [1], [Define to 1 if PNG support is available]) |
| 14979 | AM_CONDITIONAL(AMPNG, true)")) |
| 14980 | #t)) |
| 14981 | (add-after 'fix-checks 'disable-update-check |
| 14982 | (lambda _ |
| 14983 | ;; At build time there is no connection to the Internet, so |
| 14984 | ;; looking for updates will not work. |
| 14985 | (substitute* "Makefile.am" |
| 14986 | (("\\$\\(bindir\\)/embossupdate") "")) |
| 14987 | #t)) |
| 14988 | (add-after 'disable-update-check 'autogen |
| 14989 | (lambda _ (invoke "autoreconf" "-vif") #t))))) |
| 14990 | (inputs |
| 14991 | (list perl |
| 14992 | libpng |
| 14993 | gd |
| 14994 | libx11 |
| 14995 | libharu |
| 14996 | zlib)) |
| 14997 | (native-inputs |
| 14998 | (list autoconf automake libtool pkg-config)) |
| 14999 | (home-page "https://emboss.sourceforge.net") |
| 15000 | (synopsis "Molecular biology analysis suite") |
| 15001 | (description "EMBOSS is the \"European Molecular Biology Open Software |
| 15002 | Suite\". EMBOSS is an analysis package specially developed for the needs of |
| 15003 | the molecular biology (e.g. EMBnet) user community. The software |
| 15004 | automatically copes with data in a variety of formats and even allows |
| 15005 | transparent retrieval of sequence data from the web. It also provides a |
| 15006 | number of libraries for the development of software in the field of molecular |
| 15007 | biology. EMBOSS also integrates a range of currently available packages and |
| 15008 | tools for sequence analysis into a seamless whole.") |
| 15009 | (license license:gpl2+))) |
| 15010 | |
| 15011 | (define-public bits |
| 15012 | (let ((revision "1") |
| 15013 | (commit "3cc4567896d9d6442923da944beb704750a08d2d")) |
| 15014 | (package |
| 15015 | (name "bits") |
| 15016 | ;; The version is 2.13.0 even though no release archives have been |
| 15017 | ;; published as yet. |
| 15018 | (version (git-version "2.13.0" revision commit)) |
| 15019 | (source (origin |
| 15020 | (method git-fetch) |
| 15021 | (uri (git-reference |
| 15022 | (url "https://github.com/arq5x/bits") |
| 15023 | (commit commit))) |
| 15024 | (file-name (git-file-name name version)) |
| 15025 | (sha256 |
| 15026 | (base32 |
| 15027 | "17n2kffk4kmhivd8c98g2vr6y1s23vbg4sxlxs689wni66797hbs")))) |
| 15028 | (build-system gnu-build-system) |
| 15029 | (arguments |
| 15030 | `(#:tests? #f ;no tests included |
| 15031 | #:phases |
| 15032 | (modify-phases %standard-phases |
| 15033 | (delete 'configure) |
| 15034 | (add-after 'unpack 'remove-cuda |
| 15035 | (lambda _ |
| 15036 | (substitute* "Makefile" |
| 15037 | ((".*_cuda") "") |
| 15038 | (("(bits_test_intersections) \\\\" _ match) match)) |
| 15039 | #t)) |
| 15040 | (replace 'install |
| 15041 | (lambda* (#:key outputs #:allow-other-keys) |
| 15042 | (copy-recursively |
| 15043 | "bin" (string-append (assoc-ref outputs "out") "/bin")) |
| 15044 | #t))))) |
| 15045 | (inputs |
| 15046 | (list gsl zlib)) |
| 15047 | (home-page "https://github.com/arq5x/bits") |
| 15048 | (synopsis "Implementation of binary interval search algorithm") |
| 15049 | (description "This package provides an implementation of the |
| 15050 | BITS (Binary Interval Search) algorithm, an approach to interval set |
| 15051 | intersection. It is especially suited for the comparison of diverse genomic |
| 15052 | datasets and the exploration of large datasets of genome |
| 15053 | intervals (e.g. genes, sequence alignments).") |
| 15054 | (license license:gpl2)))) |
| 15055 | |
| 15056 | (define-public piranha |
| 15057 | ;; There is no release tarball for the latest version. The latest commit is |
| 15058 | ;; older than one year at the time of this writing. |
| 15059 | (let ((revision "1") |
| 15060 | (commit "0466d364b71117d01e4471b74c514436cc281233")) |
| 15061 | (package |
| 15062 | (name "piranha") |
| 15063 | (version (git-version "1.2.1" revision commit)) |
| 15064 | (source |
| 15065 | (origin |
| 15066 | (method git-fetch) |
| 15067 | (uri (git-reference |
| 15068 | (url "https://github.com/smithlabcode/piranha") |
| 15069 | (commit commit))) |
| 15070 | (file-name (git-file-name name version)) |
| 15071 | (sha256 |
| 15072 | (base32 "117dc0zf20c61jam69sk4abl57ah6yi6i7qra7d7y5zrbgk12q5n")))) |
| 15073 | (build-system gnu-build-system) |
| 15074 | (arguments |
| 15075 | (list |
| 15076 | #:test-target "test" |
| 15077 | #:configure-flags |
| 15078 | #~(list (string-append "--with-bam_tools_headers=" |
| 15079 | #$(this-package-input "bamtools") |
| 15080 | "/include/bamtools") |
| 15081 | (string-append "--with-bam_tools_library=" |
| 15082 | #$(this-package-input "bamtools") |
| 15083 | "/lib/bamtools")) |
| 15084 | #:phases |
| 15085 | #~(modify-phases %standard-phases |
| 15086 | (add-after 'unpack 'copy-smithlab-cpp |
| 15087 | (lambda* (#:key inputs #:allow-other-keys) |
| 15088 | (mkdir-p "./src/smithlab_cpp/") |
| 15089 | (copy-recursively (assoc-ref inputs "smithlab_cpp-checkout") |
| 15090 | "./src/smithlab_cpp/"))) |
| 15091 | (add-after 'install 'install-to-store |
| 15092 | (lambda _ |
| 15093 | (let ((bin (string-append #$output "/bin"))) |
| 15094 | (for-each (lambda (file) |
| 15095 | (install-file file bin)) |
| 15096 | (find-files "bin" ".*")))))))) |
| 15097 | (inputs |
| 15098 | (list bamtools |
| 15099 | samtools-0.1 |
| 15100 | gsl |
| 15101 | (let ((commit "3723e2db438c51501d0423429ff396c3035ba46a")) |
| 15102 | (origin |
| 15103 | (method git-fetch) |
| 15104 | (uri (git-reference |
| 15105 | (url "https://github.com/smithlabcode/smithlab_cpp") |
| 15106 | (commit commit))) |
| 15107 | (file-name "smithlab_cpp-checkout") |
| 15108 | (sha256 |
| 15109 | (base32 |
| 15110 | "0l4gvbwslw5ngziskja41c00x1r06l3yidv7y0xw9djibhykzy0g")))))) |
| 15111 | (native-inputs (list python-2)) |
| 15112 | (home-page "https://github.com/smithlabcode/piranha") |
| 15113 | (synopsis "Peak-caller for CLIP-seq and RIP-seq data") |
| 15114 | (description |
| 15115 | "Piranha is a peak-caller for genomic data produced by CLIP-seq and |
| 15116 | RIP-seq experiments. It takes input in BED or BAM format and identifies |
| 15117 | regions of statistically significant read enrichment. Additional covariates |
| 15118 | may optionally be provided to further inform the peak-calling process.") |
| 15119 | (license license:gpl3+)))) |
| 15120 | |
| 15121 | (define-public filevercmp |
| 15122 | (let ((commit "1a9b779b93d0b244040274794d402106907b71b7") |
| 15123 | (revision "1")) |
| 15124 | (package |
| 15125 | (name "filevercmp") |
| 15126 | (version (git-version "0" revision commit)) |
| 15127 | (source (origin |
| 15128 | (method git-fetch) |
| 15129 | (uri (git-reference |
| 15130 | (url "https://github.com/ekg/filevercmp") |
| 15131 | (commit commit))) |
| 15132 | (file-name (git-file-name name commit)) |
| 15133 | (sha256 |
| 15134 | (base32 |
| 15135 | "1j9vxsy0y050v59h0q1d6501fcw1kjvj0d18l1xk2zyg0jzj247c")))) |
| 15136 | (build-system gnu-build-system) |
| 15137 | (arguments |
| 15138 | `(#:tests? #f ; There are no tests to run. |
| 15139 | #:phases |
| 15140 | (modify-phases %standard-phases |
| 15141 | (delete 'configure) ; There is no configure phase. |
| 15142 | (replace 'install |
| 15143 | (lambda* (#:key outputs #:allow-other-keys) |
| 15144 | (let ((out (assoc-ref outputs "out"))) |
| 15145 | (install-file "filevercmp" (string-append out "/bin")) |
| 15146 | (install-file "filevercmp.h" (string-append out "/include")) |
| 15147 | #t)))))) |
| 15148 | (home-page "https://github.com/ekg/filevercmp") |
| 15149 | (synopsis "This program compares version strings") |
| 15150 | (description "This program compares version strings. It intends to be a |
| 15151 | replacement for strverscmp.") |
| 15152 | (license license:gpl3+)))) |
| 15153 | |
| 15154 | (define-public multiqc |
| 15155 | (package |
| 15156 | (name "multiqc") |
| 15157 | (version "1.14") |
| 15158 | (source |
| 15159 | (origin |
| 15160 | (method url-fetch) |
| 15161 | (uri (pypi-uri "multiqc" version)) |
| 15162 | (sha256 |
| 15163 | (base32 |
| 15164 | "0qlk2h0765hxp1w9hqf925rh8hq642lzgs6ppg91wln9y02s9fyw")))) |
| 15165 | (build-system pyproject-build-system) |
| 15166 | (arguments |
| 15167 | `(#:phases |
| 15168 | (modify-phases %standard-phases |
| 15169 | (replace 'check |
| 15170 | (lambda* (#:key inputs tests? #:allow-other-keys) |
| 15171 | (when tests? |
| 15172 | (setenv "HOME" "/tmp") |
| 15173 | (let ((here (getcwd))) |
| 15174 | (copy-recursively (assoc-ref inputs "tests") "/tmp/tests") |
| 15175 | (with-directory-excursion "/tmp/tests" |
| 15176 | (invoke "multiqc" "data" "--ignore" "data/modules"))))))))) |
| 15177 | (inputs |
| 15178 | (list python-click |
| 15179 | python-coloredlogs |
| 15180 | python-future |
| 15181 | python-jinja2 |
| 15182 | python-lzstring |
| 15183 | python-markdown |
| 15184 | python-matplotlib |
| 15185 | python-networkx |
| 15186 | python-numpy |
| 15187 | python-pyyaml |
| 15188 | python-requests |
| 15189 | python-rich |
| 15190 | python-rich-click |
| 15191 | python-setuptools ; For pkg_resources. |
| 15192 | python-simplejson |
| 15193 | python-spectra)) |
| 15194 | (native-inputs |
| 15195 | `(("python-pytest" ,python-pytest) |
| 15196 | ("python-wheel" ,python-wheel) |
| 15197 | ("tests" |
| 15198 | ,(let ((commit "c3e7400affe3f3ca996973805797af61b93070ba")) |
| 15199 | (origin |
| 15200 | (method git-fetch) |
| 15201 | (uri (git-reference |
| 15202 | (url "https://github.com/ewels/MultiQC_TestData") |
| 15203 | (commit commit))) |
| 15204 | (file-name (git-file-name "multiqc-test-data" commit)) |
| 15205 | (sha256 |
| 15206 | (base32 |
| 15207 | "0wwqbkbfnqj5ax6l0da4csbmv1sw7ya7mwvdwryckaiqmkxy80va"))))))) |
| 15208 | (home-page "https://multiqc.info") |
| 15209 | (synopsis "Aggregate bioinformatics analysis reports") |
| 15210 | (description |
| 15211 | "MultiQC is a tool to aggregate bioinformatics results across many |
| 15212 | samples into a single report. It contains modules for a large number of |
| 15213 | common bioinformatics tools.") |
| 15214 | (license license:gpl3+))) |
| 15215 | |
| 15216 | (define-public r-chromvarmotifs |
| 15217 | (let ((commit "38bed559c1f4770b6c91c80bf3f8ea965da26076") |
| 15218 | (revision "1")) |
| 15219 | (package |
| 15220 | (name "r-chromvarmotifs") |
| 15221 | (version (git-version "0.2.0" revision commit)) |
| 15222 | (source |
| 15223 | (origin |
| 15224 | (method git-fetch) |
| 15225 | (uri (git-reference |
| 15226 | (url "https://github.com/GreenleafLab/chromVARmotifs") |
| 15227 | (commit commit))) |
| 15228 | (file-name (git-file-name name version)) |
| 15229 | (sha256 |
| 15230 | (base32 "0i9v1m1hrg1lkd2pnkj5nnrpks6vhhhpbdhsfl2lmjak4npxxr5q")))) |
| 15231 | (properties `((upstream-name . "chromVARmotifs"))) |
| 15232 | (build-system r-build-system) |
| 15233 | (propagated-inputs |
| 15234 | `(("r-tfbstools" ,r-tfbstools))) |
| 15235 | (home-page "https://github.com/GreenleafLab/chromVARmotifs") |
| 15236 | (synopsis "Stores motif collections for use with motifmatchr or chromVAR") |
| 15237 | (description |
| 15238 | "This package stores motif collections as lists of @dfn{position |
| 15239 | frequency matrix} (PWMatrixList) objects provided by the @code{TFBSTools} |
| 15240 | package for use in R with packages like @code{motifmatchr} or |
| 15241 | @code{chromVAR}.") |
| 15242 | (license license:expat)))) |
| 15243 | |
| 15244 | (define-public r-raremetals2 |
| 15245 | (package |
| 15246 | (name "r-raremetals2") |
| 15247 | (version "0.1") |
| 15248 | (source |
| 15249 | (origin |
| 15250 | (method url-fetch) |
| 15251 | (uri (string-append "http://genome.sph.umich.edu/w/images/" |
| 15252 | "b/b7/RareMETALS2_" version ".tar.gz")) |
| 15253 | (sha256 |
| 15254 | (base32 |
| 15255 | "0z5ljcgvnm06ja9lm85a3cniq7slxcy37aqqkxrdidr79an5fs4s")))) |
| 15256 | (properties `((upstream-name . "RareMETALS2"))) |
| 15257 | (build-system r-build-system) |
| 15258 | (propagated-inputs |
| 15259 | (list r-seqminer r-mvtnorm r-mass r-compquadform r-getopt)) |
| 15260 | (home-page "http://genome.sph.umich.edu/wiki/RareMETALS2") |
| 15261 | (synopsis "Analyze gene-level association tests for binary trait") |
| 15262 | (description |
| 15263 | "The R package rareMETALS2 is an extension of the R package rareMETALS. |
| 15264 | It was designed to meta-analyze gene-level association tests for binary trait. |
| 15265 | While rareMETALS offers a near-complete solution for meta-analysis of |
| 15266 | gene-level tests for quantitative trait, it does not offer the optimal |
| 15267 | solution for binary trait. The package rareMETALS2 offers improved features |
| 15268 | for analyzing gene-level association tests in meta-analyses for binary |
| 15269 | trait.") |
| 15270 | (license license:gpl3))) |
| 15271 | |
| 15272 | (define-public r-rnacrosslinkoo |
| 15273 | (let ((commit "a317e0fa6ddf34c309529d57390769e2b2b5bfb7") |
| 15274 | (revision "1")) |
| 15275 | (package |
| 15276 | (name "r-rnacrosslinkoo") |
| 15277 | (version (git-version "0.1.3" revision commit)) |
| 15278 | (source |
| 15279 | (origin |
| 15280 | (method git-fetch) |
| 15281 | (uri (git-reference |
| 15282 | (url "https://github.com/cran/rnaCrosslinkOO") |
| 15283 | (commit commit))) |
| 15284 | (file-name (git-file-name name version)) |
| 15285 | (sha256 |
| 15286 | (base32 "0csv9924z0ish960k034qzv3gxh1yabnxni8hsrn5j6xl1r3cdpl")))) |
| 15287 | (properties `((upstream-name . "rnaCrosslinkOO"))) |
| 15288 | (build-system r-build-system) |
| 15289 | (propagated-inputs (list r-classdiscovery |
| 15290 | r-doparallel |
| 15291 | r-foreach |
| 15292 | r-genomicranges |
| 15293 | r-ggplot2 |
| 15294 | r-ggrepel |
| 15295 | r-heatmap3 |
| 15296 | r-igraph |
| 15297 | r-iranges |
| 15298 | r-mass |
| 15299 | r-mixtools |
| 15300 | r-patchwork |
| 15301 | r-r4rna |
| 15302 | r-rcolorbrewer |
| 15303 | r-reshape2 |
| 15304 | r-rrna |
| 15305 | r-s4vectors |
| 15306 | r-seqinr |
| 15307 | r-tidyverse |
| 15308 | r-topdom)) |
| 15309 | (native-inputs (list r-knitr r-testthat)) |
| 15310 | (home-page "https://github.com/cran/rnaCrosslinkOO") |
| 15311 | (synopsis "Analysis of RNA crosslinking data") |
| 15312 | (description |
| 15313 | "The package is ideal for analyzing RNA structure and chemical probing data.") |
| 15314 | (license license:gpl3)))) |
| 15315 | |
| 15316 | (define-public r-rnaseqdtu |
| 15317 | (let ((commit "5bee1e769d2e1dc6a3f1cecb78078050eeb5b9ac") |
| 15318 | (revision "1")) |
| 15319 | (package |
| 15320 | (name "r-rnaseqdtu") |
| 15321 | (version (git-version "2.0" revision commit)) |
| 15322 | (source |
| 15323 | (origin |
| 15324 | (method git-fetch) |
| 15325 | (uri (git-reference |
| 15326 | (url "https://github.com/mikelove/rnaseqDTU/") |
| 15327 | (commit commit))) |
| 15328 | (file-name (git-file-name name version)) |
| 15329 | (sha256 |
| 15330 | (base32 "0jfi1ydsk8m5nadwnih48v87nnxdc7s3f0pny4axmnj40dd42as0")))) |
| 15331 | (properties `((upstream-name . "rnaseqDTU"))) |
| 15332 | (build-system r-build-system) |
| 15333 | (propagated-inputs |
| 15334 | (list r-deseq2 |
| 15335 | r-devtools |
| 15336 | r-dexseq |
| 15337 | r-drimseq |
| 15338 | r-edger |
| 15339 | r-rafalib |
| 15340 | r-stager)) |
| 15341 | (native-inputs (list r-knitr)) |
| 15342 | (home-page "https://github.com/mikelove/rnaseqDTU/") |
| 15343 | (synopsis "RNA-seq workflow for differential transcript usage") |
| 15344 | (description |
| 15345 | "This package provides an RNA-seq workflow for differential transcript |
| 15346 | usage (DTU) following Salmon quantification. This workflow performs a DTU |
| 15347 | analysis on simulated data. It also shows how to use stageR to perform |
| 15348 | two-stage testing of DTU, a statistical framework to screen at the gene level |
| 15349 | and then confirm which transcripts within the significant genes show evidence |
| 15350 | of DTU.") |
| 15351 | (license license:artistic2.0)))) |
| 15352 | |
| 15353 | (define-public r-dropbead |
| 15354 | (let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247") |
| 15355 | (revision "2")) |
| 15356 | (package |
| 15357 | (name "r-dropbead") |
| 15358 | (version (string-append "0-" revision "." (string-take commit 7))) |
| 15359 | (source |
| 15360 | (origin |
| 15361 | (method git-fetch) |
| 15362 | (uri (git-reference |
| 15363 | (url "https://github.com/rajewsky-lab/dropbead") |
| 15364 | (commit commit))) |
| 15365 | (file-name (git-file-name name version)) |
| 15366 | (sha256 |
| 15367 | (base32 |
| 15368 | "0sbzma49aiiyw8b0jpr7fnhzys9nsqmp4hy4hdz1gzyg1lhnca26")))) |
| 15369 | (build-system r-build-system) |
| 15370 | ;; Tests make invalid assumption about test files and their locations. |
| 15371 | (arguments (list #:tests? #false)) |
| 15372 | (propagated-inputs |
| 15373 | (list r-ggplot2 r-rcolorbrewer r-gridextra r-gplots r-plyr)) |
| 15374 | (native-inputs (list r-data-table)) |
| 15375 | (home-page "https://github.com/rajewsky-lab/dropbead") |
| 15376 | (synopsis "Basic exploration and analysis of Drop-seq data") |
| 15377 | (description "This package offers a quick and straight-forward way to |
| 15378 | explore and perform basic analysis of single cell sequencing data coming from |
| 15379 | droplet sequencing. It has been particularly tailored for Drop-seq.") |
| 15380 | (license license:gpl3)))) |
| 15381 | |
| 15382 | (define-public r-cellchat |
| 15383 | (let ((commit |
| 15384 | "21edd226ca408e4c413408f98562d71ee0b54e5d") |
| 15385 | (revision "1")) |
| 15386 | (package |
| 15387 | (name "r-cellchat") |
| 15388 | (version (git-version "1.0.0" revision commit)) |
| 15389 | (source |
| 15390 | (origin |
| 15391 | (method git-fetch) |
| 15392 | (uri (git-reference |
| 15393 | (url "https://github.com/sqjin/CellChat") |
| 15394 | (commit commit))) |
| 15395 | (file-name (git-file-name name version)) |
| 15396 | (sha256 |
| 15397 | (base32 |
| 15398 | "0cvzl9mi8jjznpql2gv67swnk1dndn3a2h22z5l84h7lwpwjmh53")) |
| 15399 | (snippet |
| 15400 | '(for-each delete-file '("src/CellChat.so" |
| 15401 | "src/CellChat_Rcpp.o" |
| 15402 | "src/RcppExports.o"))))) |
| 15403 | (properties `((upstream-name . "CellChat"))) |
| 15404 | (build-system r-build-system) |
| 15405 | (propagated-inputs |
| 15406 | (list r-biocgenerics |
| 15407 | r-circlize |
| 15408 | r-colorspace |
| 15409 | r-complexheatmap |
| 15410 | r-cowplot |
| 15411 | r-dplyr |
| 15412 | r-expm |
| 15413 | r-fnn |
| 15414 | r-forcats |
| 15415 | r-future |
| 15416 | r-future-apply |
| 15417 | r-gg-gap |
| 15418 | r-ggalluvial |
| 15419 | r-ggplot2 |
| 15420 | r-ggrepel |
| 15421 | r-igraph |
| 15422 | r-irlba |
| 15423 | r-magrittr |
| 15424 | r-matrix |
| 15425 | r-nmf |
| 15426 | r-patchwork |
| 15427 | r-pbapply |
| 15428 | r-rcolorbrewer |
| 15429 | r-rcpp |
| 15430 | r-rcppeigen |
| 15431 | r-reshape2 |
| 15432 | r-reticulate |
| 15433 | r-rspectra |
| 15434 | r-rtsne |
| 15435 | r-scales |
| 15436 | r-shape |
| 15437 | r-sna |
| 15438 | r-stringr |
| 15439 | r-svglite)) |
| 15440 | (native-inputs (list r-knitr)) |
| 15441 | (home-page "https://github.com/sqjin/CellChat") |
| 15442 | (synopsis "Analysis of cell-cell communication from single-cell transcriptomics data") |
| 15443 | (description |
| 15444 | "This package infers, visualizes and analyzes the cell-cell |
| 15445 | communication networks from scRNA-seq data.") |
| 15446 | (license license:gpl3)))) |
| 15447 | |
| 15448 | (define-public r-cellchat-2 |
| 15449 | (let ((commit "b05405af0f4f2cac99f2211e888d42de4c5a9d59") |
| 15450 | (revision "1")) |
| 15451 | (package |
| 15452 | (name "r-cellchat") |
| 15453 | (version (git-version "2.1.2" revision commit)) |
| 15454 | (source |
| 15455 | (origin |
| 15456 | (method git-fetch) |
| 15457 | (uri (git-reference |
| 15458 | (url "https://github.com/jinworks/CellChat") |
| 15459 | (commit commit))) |
| 15460 | (file-name (git-file-name name version)) |
| 15461 | (sha256 |
| 15462 | (base32 "14s7bl70xi21ivqr1c3qx6kjf1ndlyxag880xldqkfsqpksvyvkc")) |
| 15463 | (snippet '(for-each delete-file |
| 15464 | '("src/CellChat.so" "src/CellChat_Rcpp.o" |
| 15465 | "src/RcppExports.o"))))) |
| 15466 | (properties `((upstream-name . "CellChat"))) |
| 15467 | (build-system r-build-system) |
| 15468 | (propagated-inputs (list r-biocgenerics |
| 15469 | r-biocneighbors |
| 15470 | r-bslib |
| 15471 | r-circlize |
| 15472 | r-colorspace |
| 15473 | r-complexheatmap |
| 15474 | r-cowplot |
| 15475 | r-dplyr |
| 15476 | r-fnn |
| 15477 | r-future |
| 15478 | r-future-apply |
| 15479 | r-ggalluvial |
| 15480 | r-ggnetwork |
| 15481 | r-ggplot2 |
| 15482 | r-ggpubr |
| 15483 | r-ggrepel |
| 15484 | r-igraph |
| 15485 | r-irlba |
| 15486 | r-magrittr |
| 15487 | r-matrix |
| 15488 | r-nmf |
| 15489 | r-patchwork |
| 15490 | r-pbapply |
| 15491 | r-plotly |
| 15492 | r-plyr |
| 15493 | r-rcolorbrewer |
| 15494 | r-rcpp |
| 15495 | r-rcppeigen |
| 15496 | r-reshape2 |
| 15497 | r-reticulate |
| 15498 | r-rspectra |
| 15499 | r-scales |
| 15500 | r-shape |
| 15501 | r-shiny |
| 15502 | r-sna |
| 15503 | r-stringr |
| 15504 | r-svglite)) |
| 15505 | (native-inputs (list r-knitr)) |
| 15506 | (home-page "https://github.com/jinworks/CellChat") |
| 15507 | (synopsis |
| 15508 | "Inference of cell-cell communication from single-cell and transcriptomics") |
| 15509 | (description |
| 15510 | "This R tool infers, visualizes, and analyzes cell-cell communication networks. |
| 15511 | It supports scRNA-seq and spatially resolved transcriptomics data.") |
| 15512 | (license license:gpl3)))) |
| 15513 | |
| 15514 | (define-public r-copykat |
| 15515 | (let ((commit ;no tag |
| 15516 | "256de33dfc1b80a1a0ac9e098c5557f95a4e0d53") |
| 15517 | (revision "0")) |
| 15518 | (package |
| 15519 | (name "r-copykat") |
| 15520 | (version (git-version "1.0.8" revision commit)) |
| 15521 | (source |
| 15522 | (origin |
| 15523 | (method git-fetch) |
| 15524 | (uri (git-reference |
| 15525 | (url "https://github.com/navinlabcode/copykat") |
| 15526 | (commit commit))) |
| 15527 | (file-name (git-file-name name version)) |
| 15528 | (sha256 |
| 15529 | (base32 |
| 15530 | "0ckyqnial3imcqlgd6xfgwk5w977l1i87sx4kdbwdvg40w0vh1j8")))) |
| 15531 | (properties `((upstream-name . "copykat"))) |
| 15532 | (build-system r-build-system) |
| 15533 | (propagated-inputs |
| 15534 | (list r-cluster |
| 15535 | r-dlm |
| 15536 | r-gplots |
| 15537 | r-mcmcpack |
| 15538 | r-mixtools |
| 15539 | r-paralleldist |
| 15540 | r-rcolorbrewer)) |
| 15541 | (native-inputs (list r-knitr)) |
| 15542 | (home-page "https://github.com/navinlabcode/copykat") |
| 15543 | (synopsis "Inference of genomic copy number from single cell RNAseq data") |
| 15544 | (description |
| 15545 | "This package Copynumber KAryotyping of Tumors infers genomic copy |
| 15546 | number and subclonal structure of human tumors using integrative Bayesian |
| 15547 | approaches to identify genome-wide aneuploidy at 5MB resolution in single |
| 15548 | cells data. It separates tumor cells and tumor subclones from normal cells |
| 15549 | using high-throughput sc-RNAseq data.") |
| 15550 | (license license:gpl2)))) |
| 15551 | |
| 15552 | (define-public sambamba |
| 15553 | ;; The update that fixes deprecations doesn't have a tag yet. |
| 15554 | (let ((base-version "1.0.1") |
| 15555 | (commit "dba65af68708859203338caa04ac62265fcebeab") |
| 15556 | (revision "0")) |
| 15557 | (package |
| 15558 | (name "sambamba") |
| 15559 | (version (git-version base-version revision commit)) |
| 15560 | (source (origin |
| 15561 | (method git-fetch) |
| 15562 | (uri (git-reference |
| 15563 | (url "https://github.com/biod/sambamba") |
| 15564 | (commit commit))) |
| 15565 | (file-name (git-file-name name version)) |
| 15566 | (sha256 |
| 15567 | (base32 |
| 15568 | "1wmka4ickrsfvkhc1mrrkxqy65g6wylsv0scmjq7m8l8qnllxbak")))) |
| 15569 | (build-system gnu-build-system) |
| 15570 | (arguments |
| 15571 | (list |
| 15572 | #:tests? #f ; there is no test target |
| 15573 | #:parallel-build? #f ; not supported |
| 15574 | #:phases |
| 15575 | #~(modify-phases %standard-phases |
| 15576 | (delete 'configure) |
| 15577 | (add-after 'unpack 'prepare-build-tools |
| 15578 | (lambda* (#:key inputs #:allow-other-keys) |
| 15579 | (substitute* "Makefile" |
| 15580 | (("\\$\\(shell which ldmd2\\)") (which "ldmd2"))) |
| 15581 | (setenv "CC" "gcc") |
| 15582 | (setenv "D_LD" (which "ld.gold")))) |
| 15583 | (add-after 'unpack 'unbundle-prerequisites |
| 15584 | (lambda _ |
| 15585 | (substitute* "Makefile" |
| 15586 | (("= lz4/lib/liblz4.a") "= -L-llz4") |
| 15587 | (("ldc_version_info lz4-static") "ldc_version_info")))) |
| 15588 | (replace 'install |
| 15589 | (lambda* (#:key outputs #:allow-other-keys) |
| 15590 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) |
| 15591 | (mkdir-p bin) |
| 15592 | (copy-file (string-append "bin/sambamba-" #$base-version) |
| 15593 | (string-append bin "/sambamba"))))) |
| 15594 | (add-after 'install 'remove-d-include-references |
| 15595 | #$(remove-d-include-references-phase |
| 15596 | (this-package-input "ldc")))))) |
| 15597 | (inputs |
| 15598 | (list ldc lz4 zlib)) |
| 15599 | (native-inputs |
| 15600 | (list python)) |
| 15601 | (home-page "https://github.com/biod/sambamba") |
| 15602 | (synopsis "Tools for working with SAM/BAM data") |
| 15603 | (description "Sambamba is a high performance modern robust and fast tool |
| 15604 | (and library), written in the D programming language, for working with SAM and |
| 15605 | BAM files. Current parallelised functionality is an important subset of |
| 15606 | samtools functionality, including view, index, sort, markdup, and depth.") |
| 15607 | (license license:gpl2+)))) |
| 15608 | |
| 15609 | (define-public r-rphyloxml |
| 15610 | (let ((commit "a30e39249239b2de01d6964ae2a2205a6c48b475") |
| 15611 | (revision "1")) |
| 15612 | (package |
| 15613 | (name "r-rphyloxml") |
| 15614 | (version (git-version "0.0-9000" revision commit)) |
| 15615 | (source |
| 15616 | (origin |
| 15617 | (method git-fetch) |
| 15618 | (uri (git-reference |
| 15619 | (url "https://github.com/USCbiostats/rphyloxml") |
| 15620 | (commit commit))) |
| 15621 | (file-name (git-file-name name version)) |
| 15622 | (sha256 |
| 15623 | (base32 "15ijzqvjxx6vqyqlg5asdbqlhw1g0ix6palf1rism3si0qapddgw")) |
| 15624 | (snippet |
| 15625 | '(delete-file "docs/jquery.sticky-kit.min.js")))) |
| 15626 | (properties `((upstream-name . "rphyloxml"))) |
| 15627 | (build-system r-build-system) |
| 15628 | (arguments |
| 15629 | (list |
| 15630 | #:modules |
| 15631 | '((guix build r-build-system) |
| 15632 | (guix build minify-build-system) |
| 15633 | (guix build utils)) |
| 15634 | #:imported-modules |
| 15635 | `(,@%r-build-system-modules (guix build minify-build-system)) |
| 15636 | #:phases |
| 15637 | '(modify-phases %standard-phases |
| 15638 | (add-after 'unpack 'process-javascript |
| 15639 | (lambda* (#:key inputs #:allow-other-keys) |
| 15640 | (with-directory-excursion "inst/" |
| 15641 | (minify (assoc-ref inputs "js-jquery-sticky-kit") |
| 15642 | #:target "docs/jquery.sticky-kit.min.js"))))))) |
| 15643 | (propagated-inputs (list r-ape r-xml2)) |
| 15644 | (native-inputs |
| 15645 | `(("esbuild" ,esbuild) |
| 15646 | ("js-jquery-sticky-kit" |
| 15647 | ,(origin |
| 15648 | (method url-fetch) |
| 15649 | (uri "https://raw.githubusercontent.com/leafo/sticky-kit/\ |
| 15650 | v1.1.2/jquery.sticky-kit.js") |
| 15651 | (sha256 |
| 15652 | (base32 |
| 15653 | "17c3a1hqc3ybwj7hpw8prazajp2x98aq7nyfn71h6lzjvblq297g")))))) |
| 15654 | (home-page "https://github.com/USCbiostats/rphyloxml") |
| 15655 | (synopsis "Read and write phyloXML files in R") |
| 15656 | (description |
| 15657 | "The package reads phylogenetic data in the @code{phyloXML} format. |
| 15658 | It also includes functions for writing data in this format.") |
| 15659 | (license license:expat)))) |
| 15660 | |
| 15661 | (define-public ritornello |
| 15662 | (package |
| 15663 | (name "ritornello") |
| 15664 | (version "2.0.1") |
| 15665 | (source (origin |
| 15666 | (method git-fetch) |
| 15667 | (uri (git-reference |
| 15668 | (url "https://github.com/KlugerLab/Ritornello") |
| 15669 | (commit (string-append "v" version)))) |
| 15670 | (file-name (git-file-name name version)) |
| 15671 | (sha256 |
| 15672 | (base32 |
| 15673 | "1xahvq215qld7x1w8vpa5zbrsj6p9crb9shqa2x89sb0aaxa02jk")))) |
| 15674 | (build-system gnu-build-system) |
| 15675 | (arguments |
| 15676 | `(#:tests? #f ; there are no tests |
| 15677 | #:phases |
| 15678 | (modify-phases %standard-phases |
| 15679 | (add-after 'unpack 'patch-samtools-references |
| 15680 | (lambda* (#:key inputs #:allow-other-keys) |
| 15681 | (substitute* '("src/SamStream.h" |
| 15682 | "src/FLD.cpp") |
| 15683 | (("<sam.h>") "<samtools/sam.h>")) |
| 15684 | #t)) |
| 15685 | (delete 'configure) |
| 15686 | (replace 'install |
| 15687 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 15688 | (let* ((out (assoc-ref outputs "out")) |
| 15689 | (bin (string-append out "/bin/"))) |
| 15690 | (mkdir-p bin) |
| 15691 | (install-file "bin/Ritornello" bin) |
| 15692 | #t)))))) |
| 15693 | (inputs |
| 15694 | (list samtools-0.1 fftw boost zlib)) |
| 15695 | (home-page "https://github.com/KlugerLab/Ritornello") |
| 15696 | (synopsis "Control-free peak caller for ChIP-seq data") |
| 15697 | (description "Ritornello is a ChIP-seq peak calling algorithm based on |
| 15698 | signal processing that can accurately call binding events without the need to |
| 15699 | do a pair total DNA input or IgG control sample. It has been tested for use |
| 15700 | with narrow binding events such as transcription factor ChIP-seq.") |
| 15701 | (license license:gpl3+))) |
| 15702 | |
| 15703 | (define-public trim-galore |
| 15704 | (package |
| 15705 | (name "trim-galore") |
| 15706 | (version "0.6.6") |
| 15707 | (source |
| 15708 | (origin |
| 15709 | (method git-fetch) |
| 15710 | (uri (git-reference |
| 15711 | (url "https://github.com/FelixKrueger/TrimGalore") |
| 15712 | (commit version))) |
| 15713 | (file-name (git-file-name name version)) |
| 15714 | (sha256 |
| 15715 | (base32 |
| 15716 | "0yrwg6325j4sb9vnplvl3jplzab0qdhp92wl480qjinpfq88j4rs")))) |
| 15717 | (build-system gnu-build-system) |
| 15718 | (arguments |
| 15719 | `(#:tests? #f ; no tests |
| 15720 | #:phases |
| 15721 | (modify-phases %standard-phases |
| 15722 | (replace 'configure |
| 15723 | (lambda _ |
| 15724 | ;; Trim Galore tries to figure out what version of Python |
| 15725 | ;; cutadapt is using by looking at the shebang. Of course that |
| 15726 | ;; doesn't work, because cutadapt is wrapped in a shell script. |
| 15727 | (substitute* "trim_galore" |
| 15728 | (("my \\$python_return.*") |
| 15729 | "my $python_return = \"Python 3.999\";\n")) |
| 15730 | #t)) |
| 15731 | (delete 'build) |
| 15732 | (add-after 'unpack 'hardcode-tool-references |
| 15733 | (lambda* (#:key inputs #:allow-other-keys) |
| 15734 | (substitute* "trim_galore" |
| 15735 | (("\\$path_to_cutadapt = 'cutadapt'") |
| 15736 | (string-append "$path_to_cutadapt = '" |
| 15737 | (assoc-ref inputs "cutadapt") |
| 15738 | "/bin/cutadapt'")) |
| 15739 | (("\\$compression_path = \"gzip\"") |
| 15740 | (string-append "$compression_path = \"" |
| 15741 | (assoc-ref inputs "gzip") |
| 15742 | "/bin/gzip\"")) |
| 15743 | (("\"gunzip") |
| 15744 | (string-append "\"" |
| 15745 | (assoc-ref inputs "gzip") |
| 15746 | "/bin/gunzip")) |
| 15747 | (("\"pigz") |
| 15748 | (string-append "\"" |
| 15749 | (assoc-ref inputs "pigz") |
| 15750 | "/bin/pigz"))) |
| 15751 | #t)) |
| 15752 | (replace 'install |
| 15753 | (lambda* (#:key outputs #:allow-other-keys) |
| 15754 | (let ((bin (string-append (assoc-ref outputs "out") |
| 15755 | "/bin"))) |
| 15756 | (mkdir-p bin) |
| 15757 | (install-file "trim_galore" bin) |
| 15758 | #t)))))) |
| 15759 | (inputs |
| 15760 | (list gzip perl pigz cutadapt)) |
| 15761 | (native-inputs |
| 15762 | (list unzip)) |
| 15763 | (home-page "https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/") |
| 15764 | (synopsis "Wrapper around Cutadapt and FastQC") |
| 15765 | (description "Trim Galore! is a wrapper script to automate quality and |
| 15766 | adapter trimming as well as quality control, with some added functionality to |
| 15767 | remove biased methylation positions for RRBS sequence files.") |
| 15768 | (license license:gpl3+))) |
| 15769 | |
| 15770 | (define-public phyml |
| 15771 | (package |
| 15772 | (name "phyml") |
| 15773 | (version "3.3.20220408") |
| 15774 | (source (origin |
| 15775 | (method git-fetch) |
| 15776 | (uri (git-reference |
| 15777 | (url "https://github.com/stephaneguindon/phyml") |
| 15778 | (commit (string-append "v" version)))) |
| 15779 | (file-name (git-file-name name version)) |
| 15780 | (sha256 |
| 15781 | (base32 |
| 15782 | "03hdqmnsgnzkcrp9r9ajdfkj33jgq4b86kra8ssjlrph65y344sa")) |
| 15783 | (snippet |
| 15784 | '(delete-file "doc/phyml-manual.pdf")))) |
| 15785 | (build-system gnu-build-system) |
| 15786 | (supported-systems '("x86_64-linux")) |
| 15787 | (arguments |
| 15788 | (let ((default-flags (list "--disable-native"))) |
| 15789 | `(#:phases |
| 15790 | (let ((build (lambda (what) |
| 15791 | (lambda args |
| 15792 | (apply (assoc-ref %standard-phases 'configure) |
| 15793 | (append args |
| 15794 | (list #:configure-flags |
| 15795 | (cons (format #false "--enable-~a" what) |
| 15796 | '() #;,default-flags)))) |
| 15797 | (apply (assoc-ref %standard-phases 'build) args) |
| 15798 | (apply (assoc-ref %standard-phases 'install) args))))) |
| 15799 | (modify-phases %standard-phases |
| 15800 | ;; We cannot use --disable-native; see |
| 15801 | ;; https://github.com/stephaneguindon/phyml/issues/173 Instead we |
| 15802 | ;; patch the code to at least get rid of -march=native. |
| 15803 | (add-after 'unpack 'remove-march-native |
| 15804 | (lambda _ |
| 15805 | (substitute* "configure.ac" |
| 15806 | (("DEFAULT_VECTOR_FLAG=\"-march=native\"") |
| 15807 | "DEFAULT_VECTOR_FLAG=\"-march=athlon64-sse3\"\n")))) |
| 15808 | (add-after 'build 'build-manual |
| 15809 | (lambda _ |
| 15810 | (setenv "HOME" "/tmp/") |
| 15811 | (with-directory-excursion "doc" |
| 15812 | (invoke "make" "phyml-manual.pdf")))) |
| 15813 | (add-after 'build-manual 'install-manual |
| 15814 | (lambda* (#:key outputs #:allow-other-keys) |
| 15815 | (with-directory-excursion "doc" |
| 15816 | (install-file "phyml-manual.pdf" |
| 15817 | (string-append (assoc-ref outputs "out") |
| 15818 | "/share/doc/phyml"))))) |
| 15819 | (add-after 'install 'build-phyml-mpi |
| 15820 | (build "phyml-mpi")) |
| 15821 | (add-after 'build-phyml-mpi 'build-rf |
| 15822 | (build "rf")) |
| 15823 | (add-after 'build-rf 'build-phyrex |
| 15824 | (build "phyrex"))))))) |
| 15825 | (native-inputs |
| 15826 | (list automake |
| 15827 | autoconf |
| 15828 | openmpi |
| 15829 | (texlive-local-tree |
| 15830 | (list texlive-caption |
| 15831 | texlive-cite |
| 15832 | texlive-ec |
| 15833 | texlive-fancyvrb |
| 15834 | texlive-infwarerr |
| 15835 | texlive-kvoptions |
| 15836 | texlive-pdftexcmds |
| 15837 | texlive-psfrag |
| 15838 | texlive-xcolor)))) |
| 15839 | (home-page "https://github.com/stephaneguindon/phyml") |
| 15840 | (synopsis "Programs for working on SAM/BAM files") |
| 15841 | (description |
| 15842 | "@code{PhyML} is a software package that uses modern statistical |
| 15843 | approaches to analyse alignments of nucleotide or amino acid sequences in a |
| 15844 | phylogenetic framework. The main tool in this package builds phylogenies |
| 15845 | under the maximum likelihood criterion. It implements a large number of |
| 15846 | substitution models coupled with efficient options to search the space of |
| 15847 | phylogenetic tree topologies. code{PhyREX} fits the |
| 15848 | spatial-Lambda-Fleming-Viot model to geo-referenced genetic data. This model |
| 15849 | is similar to the structured coalescent but assumes that individuals are |
| 15850 | distributed along a spatial continuum rather than discrete demes. |
| 15851 | @code{PhyREX} can be used to estimate population densities and rates of |
| 15852 | dispersal. Its output can be processed by treeannotator (from the |
| 15853 | @code{BEAST} package) as well as @code{SPREAD}.") |
| 15854 | (license license:gpl3))) |
| 15855 | |
| 15856 | (define-public imp |
| 15857 | (package |
| 15858 | (name "imp") |
| 15859 | (version "2.25.0") |
| 15860 | (source |
| 15861 | (origin |
| 15862 | (method url-fetch) |
| 15863 | (uri (string-append "https://integrativemodeling.org/" |
| 15864 | version "/download/imp-" version ".tar.gz")) |
| 15865 | (sha256 |
| 15866 | (base32 |
| 15867 | "0p1wp83my636pg5207640lh6qp8ddkx5kjxnx28sk3sfa81i8z1g")))) |
| 15868 | (build-system cmake-build-system) |
| 15869 | (arguments |
| 15870 | `(#:tests? #false ; The test suite is notoriously fickle |
| 15871 | #:configure-flags |
| 15872 | (let ((disabled-tests |
| 15873 | '("expensive" ;exclude expensive tests |
| 15874 | "IMP.modeller" ;fail to import its own modules |
| 15875 | "IMP.parallel-test_sge.py" ;fail in build container |
| 15876 | ;; The following test fails non-reproducibly on |
| 15877 | ;; an inexact numbers assertion. |
| 15878 | "IMP.em-medium_test_local_fitting.py" |
| 15879 | ;; The following test fails for unknown reasons |
| 15880 | "IMP.foxs-add-missing-residues.py"))) |
| 15881 | (list |
| 15882 | (string-append |
| 15883 | "-DCMAKE_CTEST_ARGUMENTS=" |
| 15884 | (string-join |
| 15885 | (list "-L" "-tests?-" ;select only tests |
| 15886 | "-E" (format #f "'(~a)'" (string-join disabled-tests "|"))) |
| 15887 | ";")))))) |
| 15888 | (native-inputs |
| 15889 | (list python-wrapper swig-4.0)) |
| 15890 | (inputs |
| 15891 | (list boost-for-mysql |
| 15892 | cereal |
| 15893 | cgal-5 |
| 15894 | gsl |
| 15895 | hdf5 |
| 15896 | fftw |
| 15897 | eigen |
| 15898 | ;; Enabling MPI causes the build to use all the available memory and |
| 15899 | ;; fail (tested on a machine with 32 GiB of RAM). |
| 15900 | ;;("mpi" ,openmpi) |
| 15901 | opencv)) |
| 15902 | (propagated-inputs |
| 15903 | (list python-numpy python-scipy python-pandas python-scikit-learn |
| 15904 | python-networkx)) |
| 15905 | (home-page "https://integrativemodeling.org") |
| 15906 | (synopsis "Integrative modeling platform") |
| 15907 | (description "IMP's broad goal is to contribute to a comprehensive |
| 15908 | structural characterization of biomolecules ranging in size and complexity |
| 15909 | from small peptides to large macromolecular assemblies, by integrating data |
| 15910 | from diverse biochemical and biophysical experiments. IMP provides a C++ and |
| 15911 | Python toolbox for solving complex modeling problems, and a number of |
| 15912 | applications for tackling some common problems in a user-friendly way.") |
| 15913 | ;; IMP is largely available under the GNU Lesser GPL; see the file |
| 15914 | ;; COPYING.LGPL for the full text of this license. Some IMP modules are |
| 15915 | ;; available under the GNU GPL (see the file COPYING.GPL). |
| 15916 | (license (list license:lgpl2.1+ |
| 15917 | license:gpl3+)))) |
| 15918 | |
| 15919 | ;; We use this seemingly arbitrary commit because of |
| 15920 | ;; https://github.com/3DGenomes/TADbit/issues/371 |
| 15921 | (define-public tadbit |
| 15922 | (let ((commit "283812901a00078c725bd9f0ee33366af6783969") |
| 15923 | (revision "2")) |
| 15924 | (package |
| 15925 | (name "tadbit") |
| 15926 | (version (git-version "1.0.1" revision commit)) |
| 15927 | (source (origin |
| 15928 | (method git-fetch) |
| 15929 | (uri (git-reference |
| 15930 | (url "https://github.com/3DGenomes/TADbit") |
| 15931 | (commit commit))) |
| 15932 | (file-name (git-file-name name version)) |
| 15933 | (sha256 |
| 15934 | (base32 |
| 15935 | "07q0alxah6xl1hibaj1kj7pdzq3pg6csyapsihbwlbmqyfmllbgz")))) |
| 15936 | (build-system pyproject-build-system) |
| 15937 | (arguments |
| 15938 | (list |
| 15939 | #:test-backend #~'custom |
| 15940 | #:test-flags #~(list "test/test_all.py") |
| 15941 | #:phases |
| 15942 | #~(modify-phases %standard-phases |
| 15943 | ;; Scipy 1.12 no longer has binom_test or polyfit |
| 15944 | (add-after 'unpack 'scipy-compatibility |
| 15945 | (lambda _ |
| 15946 | (substitute* '("_pytadbit/modelling/imp_modelling.py" |
| 15947 | "_pytadbit/modelling/restraints.py") |
| 15948 | (("from scipy .*import polyfit") |
| 15949 | "from numpy import polyfit")) |
| 15950 | (substitute* "_pytadbit/mapping/restriction_enzymes.py" |
| 15951 | (("from scipy.stats import binom_test") |
| 15952 | "from scipy.stats import binomtest") |
| 15953 | (("binom_test\\(pats[k]['count'], nreads, 0.25\\*\\*len\\(k\\), alternative='greater'\\)") |
| 15954 | "binomtest(pats[k]['count'], nreads, 0.25**len(k), alternative='greater').pval")))) |
| 15955 | (add-after 'unpack 'fix-problems-with-setup.py |
| 15956 | (lambda _ |
| 15957 | (substitute* "src/test/Makefile" |
| 15958 | (("^CFLAGS=") "CFLAGS= -fcommon")) |
| 15959 | |
| 15960 | ;; Don't attempt to install the bash completions to |
| 15961 | ;; the home directory. |
| 15962 | (rename-file "extras/.bash_completion" |
| 15963 | "extras/tadbit") |
| 15964 | (substitute* "setup.py" |
| 15965 | (("\\(path.expanduser\\('~'\\)") |
| 15966 | (string-append "(\"" #$output |
| 15967 | "/etc/bash_completion.d\"")) |
| 15968 | (("extras/\\.bash_completion") |
| 15969 | "extras/tadbit"))))))) |
| 15970 | (native-inputs |
| 15971 | (list `(,glib "bin") ;for gtester |
| 15972 | glib |
| 15973 | pkg-config |
| 15974 | python-setuptools)) |
| 15975 | (inputs |
| 15976 | ;; TODO: add Chimera for visualization |
| 15977 | (list imp |
| 15978 | mcl |
| 15979 | python-future |
| 15980 | python-h5py |
| 15981 | python-scipy |
| 15982 | python-numpy |
| 15983 | python-matplotlib |
| 15984 | python-pysam |
| 15985 | r-minimal)) |
| 15986 | (home-page "https://3dgenomes.github.io/TADbit/") |
| 15987 | (synopsis "Analyze, model, and explore 3C-based data") |
| 15988 | (description |
| 15989 | "TADbit is a complete Python library to deal with all steps to analyze, |
| 15990 | model, and explore 3C-based data. With TADbit the user can map FASTQ files to |
| 15991 | obtain raw interaction binned matrices (Hi-C like matrices), normalize and |
| 15992 | correct interaction matrices, identify and compare the so-called |
| 15993 | @dfn{Topologically Associating Domains} (TADs), build 3D models from the |
| 15994 | interaction matrices, and finally, extract structural properties from the |
| 15995 | models. TADbit is complemented by TADkit for visualizing 3D models.") |
| 15996 | (license license:gpl3+)))) |
| 15997 | |
| 15998 | (define-public kentutils |
| 15999 | (package |
| 16000 | (name "kentutils") |
| 16001 | ;; 302.1.0 is out, but the only difference is the inclusion of |
| 16002 | ;; pre-built binaries. |
| 16003 | (version "302.0.0") |
| 16004 | (source |
| 16005 | (origin |
| 16006 | (method git-fetch) |
| 16007 | (uri (git-reference |
| 16008 | (url "https://github.com/ENCODE-DCC/kentUtils") |
| 16009 | (commit (string-append "v" version)))) |
| 16010 | (file-name (git-file-name name version)) |
| 16011 | (sha256 |
| 16012 | (base32 |
| 16013 | "0n1wbyjpzii2b9qhyp9r1q76j623cggpg3y8fmw78ld3z4y7ivha")) |
| 16014 | (modules '((guix build utils) |
| 16015 | (srfi srfi-26) |
| 16016 | (ice-9 ftw))) |
| 16017 | (snippet |
| 16018 | '(begin |
| 16019 | ;; Only the contents of the specified directories are free |
| 16020 | ;; for all uses, so we remove the rest. "hg/autoSql" and |
| 16021 | ;; "hg/autoXml" are nominally free, but they depend on a |
| 16022 | ;; library that is built from the sources in "hg/lib", |
| 16023 | ;; which is nonfree. |
| 16024 | (let ((free (list "." ".." |
| 16025 | "utils" "lib" "inc" "tagStorm" |
| 16026 | "parasol" "htslib")) |
| 16027 | (directory? (lambda (file) |
| 16028 | (eq? 'directory (stat:type (stat file)))))) |
| 16029 | (for-each (lambda (file) |
| 16030 | (and (directory? file) |
| 16031 | (delete-file-recursively file))) |
| 16032 | (map (cut string-append "src/" <>) |
| 16033 | (scandir "src" |
| 16034 | (lambda (file) |
| 16035 | (not (member file free))))))) |
| 16036 | ;; Only make the utils target, not the userApps target, |
| 16037 | ;; because that requires libraries we won't build. |
| 16038 | (substitute* "Makefile" |
| 16039 | ((" userApps") " utils")) |
| 16040 | ;; Only build libraries that are free. |
| 16041 | (substitute* "src/makefile" |
| 16042 | (("DIRS =.*") "DIRS =\n") |
| 16043 | (("cd jkOwnLib.*") "") |
| 16044 | ((" hgLib") "") |
| 16045 | (("cd hg.*") "")) |
| 16046 | (substitute* "src/utils/makefile" |
| 16047 | ;; These tools depend on "jkhgap.a", which is part of the |
| 16048 | ;; nonfree "src/hg/lib" directory. |
| 16049 | (("raSqlQuery") "") |
| 16050 | (("pslLiftSubrangeBlat") "") |
| 16051 | |
| 16052 | ;; Do not build UCSC tools, which may require nonfree |
| 16053 | ;; components. |
| 16054 | (("ALL_APPS =.*") "ALL_APPS = $(UTILS_APPLIST)\n")) |
| 16055 | #t)))) |
| 16056 | (build-system gnu-build-system) |
| 16057 | (arguments |
| 16058 | `( ;; There is no global test target and the test target for |
| 16059 | ;; individual tools depends on input files that are not |
| 16060 | ;; included. |
| 16061 | #:tests? #f |
| 16062 | #:phases |
| 16063 | (modify-phases %standard-phases |
| 16064 | (add-after 'unpack 'fix-permissions |
| 16065 | (lambda _ (make-file-writable "src/inc/localEnvironment.mk") #t)) |
| 16066 | (add-after 'unpack 'fix-paths |
| 16067 | (lambda _ |
| 16068 | (substitute* "Makefile" |
| 16069 | (("/bin/echo") (which "echo"))) |
| 16070 | #t)) |
| 16071 | (add-after 'unpack 'prepare-samtabix |
| 16072 | (lambda* (#:key inputs #:allow-other-keys) |
| 16073 | (copy-recursively (assoc-ref inputs "samtabix") |
| 16074 | "samtabix") |
| 16075 | #t)) |
| 16076 | (delete 'configure) |
| 16077 | (replace 'install |
| 16078 | (lambda* (#:key outputs #:allow-other-keys) |
| 16079 | (let ((bin (string-append (assoc-ref outputs "out") |
| 16080 | "/bin"))) |
| 16081 | (copy-recursively "bin" bin)) |
| 16082 | #t))))) |
| 16083 | (native-inputs |
| 16084 | `(("samtabix" |
| 16085 | ,(let ((commit "10fd107909c1ac4d679299908be4262a012965ba")) |
| 16086 | (origin |
| 16087 | (method git-fetch) |
| 16088 | (uri (git-reference |
| 16089 | (url "http://genome-source.cse.ucsc.edu/samtabix.git") |
| 16090 | (commit commit))) |
| 16091 | (file-name (git-file-name "samtabix" (string-take commit 7))) |
| 16092 | (sha256 |
| 16093 | (base32 |
| 16094 | "0c1nj64l42v395sa84n7az43xiap4i6f9n9dfz4058aqiwkhkmma"))))))) |
| 16095 | (inputs |
| 16096 | `(("zlib" ,zlib) |
| 16097 | ("tcsh" ,tcsh) |
| 16098 | ("perl" ,perl) |
| 16099 | ("libpng" ,libpng) |
| 16100 | ("mariadb-dev" ,mariadb "dev") |
| 16101 | ("openssl" ,openssl))) |
| 16102 | (home-page "https://genome.cse.ucsc.edu/index.html") |
| 16103 | (synopsis "Assorted bioinformatics utilities") |
| 16104 | (description "This package provides the kentUtils, a selection of |
| 16105 | bioinformatics utilities used in combination with the UCSC genome |
| 16106 | browser.") |
| 16107 | ;; Only a subset of the sources are released under a non-copyleft |
| 16108 | ;; free software license. All other sources are removed in a |
| 16109 | ;; snippet. See this bug report for an explanation of how the |
| 16110 | ;; license statements apply: |
| 16111 | ;; https://github.com/ENCODE-DCC/kentUtils/issues/12 |
| 16112 | (license (license:non-copyleft |
| 16113 | "http://genome.ucsc.edu/license/" |
| 16114 | "The contents of this package are free for all uses.")))) |
| 16115 | |
| 16116 | (define-public skewer |
| 16117 | (package |
| 16118 | (name "skewer") |
| 16119 | (version "0.2.2") |
| 16120 | (source |
| 16121 | (origin |
| 16122 | (method git-fetch) |
| 16123 | (uri (git-reference |
| 16124 | (url "https://github.com/relipmoc/skewer") |
| 16125 | (commit version))) |
| 16126 | (file-name (git-file-name name version)) |
| 16127 | (sha256 |
| 16128 | (base32 |
| 16129 | "1b3skfnj3zmd2065fiyxjrg4k6xsxfy6nxz80vmajd830mk6vr69")))) |
| 16130 | (build-system gnu-build-system) |
| 16131 | (arguments |
| 16132 | (list |
| 16133 | #:tests? #f |
| 16134 | #:make-flags |
| 16135 | #~(list "CXXFLAGS=-std=c++11 -c -O2") |
| 16136 | #:phases |
| 16137 | #~(modify-phases %standard-phases |
| 16138 | (delete 'configure) |
| 16139 | (replace 'install |
| 16140 | (lambda _ |
| 16141 | (install-file "skewer" (string-append #$output "/bin"))))))) |
| 16142 | (home-page "https://github.com/relipmoc/skewer") |
| 16143 | (synopsis "Bit-masked k-difference matching") |
| 16144 | (description "Skewer implements the bit-masked k-difference matching |
| 16145 | algorithm dedicated to the task of adapter trimming and it is specially |
| 16146 | designed for processing next-generation sequencing (NGS) paired-end |
| 16147 | sequences.") |
| 16148 | (license license:expat))) |
| 16149 | |
| 16150 | (define-public f-seq |
| 16151 | (let ((commit "6ccded34cff38cf432deed8503648b4a66953f9b") |
| 16152 | (revision "1")) |
| 16153 | (package |
| 16154 | (name "f-seq") |
| 16155 | (version (git-version "1.1" revision commit)) |
| 16156 | (source (origin |
| 16157 | (method git-fetch) |
| 16158 | (uri (git-reference |
| 16159 | (url "https://github.com/aboyle/F-seq") |
| 16160 | (commit commit))) |
| 16161 | (file-name (git-file-name name version)) |
| 16162 | (sha256 |
| 16163 | (base32 |
| 16164 | "1nk33k0yajg2id4g59bc4szr58r2q6pdq42vgcw054m8ip9wv26h")) |
| 16165 | (modules '((guix build utils))) |
| 16166 | ;; Remove bundled Java library archives. |
| 16167 | (snippet |
| 16168 | '(for-each delete-file (find-files "lib" ".*"))))) |
| 16169 | (build-system ant-build-system) |
| 16170 | (arguments |
| 16171 | `(#:tests? #f ; no tests included |
| 16172 | #:phases |
| 16173 | (modify-phases %standard-phases |
| 16174 | (replace 'install |
| 16175 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 16176 | (let* ((target (assoc-ref outputs "out")) |
| 16177 | (bin (string-append target "/bin")) |
| 16178 | (doc (string-append target "/share/doc/f-seq")) |
| 16179 | (lib (string-append target "/lib"))) |
| 16180 | (mkdir-p target) |
| 16181 | (mkdir-p doc) |
| 16182 | (substitute* "bin/linux/fseq" |
| 16183 | (("java") (which "java")) |
| 16184 | (("\\$REALDIR/../lib/commons-cli-1.1.jar") |
| 16185 | (search-input-file inputs |
| 16186 | (string-append "/lib/m2/commons-cli/commons-cli/" |
| 16187 | ,(package-version java-commons-cli) |
| 16188 | "/commons-cli-" |
| 16189 | ,(package-version java-commons-cli) |
| 16190 | ".jar"))) |
| 16191 | (("REALDIR=.*") |
| 16192 | (string-append "REALDIR=" bin "\n"))) |
| 16193 | (install-file "README.txt" doc) |
| 16194 | (install-file "bin/linux/fseq" bin) |
| 16195 | (install-file "build~/fseq.jar" lib) |
| 16196 | (copy-recursively "lib" lib))))))) |
| 16197 | (inputs |
| 16198 | (list perl java-commons-cli)) |
| 16199 | (home-page "https://fureylab.web.unc.edu/software/fseq/") |
| 16200 | (synopsis "Feature density estimator for high-throughput sequence tags") |
| 16201 | (description |
| 16202 | "F-Seq is a software package that generates a continuous tag sequence |
| 16203 | density estimation allowing identification of biologically meaningful sites |
| 16204 | such as transcription factor binding sites (ChIP-seq) or regions of open |
| 16205 | chromatin (DNase-seq). Output can be displayed directly in the UCSC Genome |
| 16206 | Browser.") |
| 16207 | (license license:gpl3+)))) |
| 16208 | |
| 16209 | (define-public bismark |
| 16210 | (package |
| 16211 | (name "bismark") |
| 16212 | (version "0.24.1") |
| 16213 | (source |
| 16214 | (origin |
| 16215 | (method git-fetch) |
| 16216 | (uri (git-reference |
| 16217 | (url "https://github.com/FelixKrueger/Bismark") |
| 16218 | (commit version))) |
| 16219 | (file-name (git-file-name name version)) |
| 16220 | (sha256 |
| 16221 | (base32 |
| 16222 | "0j4dy33769f0jr2w1brb710zxwpg3zwjlnvlcpi5pr6mqc8dkg8n")) |
| 16223 | (snippet '(delete-file "plotly/plot.ly")))) |
| 16224 | (build-system perl-build-system) |
| 16225 | (arguments |
| 16226 | (list |
| 16227 | #:tests? #f ; there are no tests |
| 16228 | #:modules '((guix build utils) |
| 16229 | (ice-9 popen) |
| 16230 | (srfi srfi-26) |
| 16231 | (guix build perl-build-system)) |
| 16232 | #:phases |
| 16233 | #~(modify-phases %standard-phases |
| 16234 | (add-after 'unpack 'replace-plotly.js |
| 16235 | (lambda* (#:key inputs #:allow-other-keys) |
| 16236 | (let* ((share (string-append #$output "/share/bismark")) |
| 16237 | (file (assoc-ref inputs "plotly.js")) |
| 16238 | (installed "plotly/plotly.js")) |
| 16239 | ;; The bundled plotly.js is minified. |
| 16240 | (let ((minified (open-pipe* OPEN_READ "uglifyjs" file))) |
| 16241 | (call-with-output-file installed |
| 16242 | (cut dump-port minified <>))) |
| 16243 | (substitute* "bismark2report" |
| 16244 | (("plotly_template.tpl") |
| 16245 | (string-append share "/plotly/plotly_template.tpl")) |
| 16246 | (("my \\$plotly_code = read_report_template\\('plot.ly'\\);") |
| 16247 | (string-append "\ |
| 16248 | my $plotly_code = read_report_template('" share "/plotly/plotly.js'); |
| 16249 | $plotly_code = \"<script>\" . $plotly_code . \"</script>\";")))))) |
| 16250 | (replace 'configure |
| 16251 | (lambda* (#:key inputs #:allow-other-keys) |
| 16252 | (substitute* "bismark" |
| 16253 | (("\\(\\!system \"which samtools >/dev/null 2>&1\"\\)") |
| 16254 | "(\"true\")") |
| 16255 | (("\\$samtools_path = `which samtools`;") |
| 16256 | (string-append "$samtools_path = '" |
| 16257 | (search-input-file inputs "/bin/samtools") |
| 16258 | "';")) |
| 16259 | (("\\$path_to_bowtie2 = 'bowtie2'") |
| 16260 | (string-append "$path_to_bowtie2 = '" |
| 16261 | (search-input-file inputs "/bin/bowtie2") |
| 16262 | "'")) |
| 16263 | (("\\$path_to_hisat2 = 'hisat2'") |
| 16264 | (string-append "$path_to_hisat2 = '" |
| 16265 | (search-input-file inputs "/bin/hisat2") |
| 16266 | "'")) |
| 16267 | (("\\$path_to_minimap2 = 'minimap2'") |
| 16268 | (string-append "$path_to_minimap2 = '" |
| 16269 | (search-input-file inputs "/bin/minimap2") |
| 16270 | "'"))))) |
| 16271 | (delete 'build) |
| 16272 | (replace 'install |
| 16273 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 16274 | (let* ((bin (string-append #$output "/bin")) |
| 16275 | (share (string-append #$output "/share/bismark")) |
| 16276 | (docdir (string-append #$output "/share/doc/bismark")) |
| 16277 | (scripts '("bismark" |
| 16278 | "bismark_genome_preparation" |
| 16279 | "bismark_methylation_extractor" |
| 16280 | "bismark2bedGraph" |
| 16281 | "bismark2report" |
| 16282 | "coverage2cytosine" |
| 16283 | "deduplicate_bismark" |
| 16284 | "filter_non_conversion" |
| 16285 | "bam2nuc" |
| 16286 | "bismark2summary" |
| 16287 | "NOMe_filtering"))) |
| 16288 | (for-each mkdir-p (list bin docdir share)) |
| 16289 | (for-each (cut install-file <> bin) scripts) |
| 16290 | (copy-recursively "docs" docdir) |
| 16291 | (copy-recursively "plotly" |
| 16292 | (string-append share "/plotly")) |
| 16293 | |
| 16294 | ;; Fix references to gunzip |
| 16295 | (with-directory-excursion bin |
| 16296 | (substitute* scripts |
| 16297 | (("\"gunzip -c") |
| 16298 | (format #f "\"~a -c" |
| 16299 | (search-input-file inputs "bin/gunzip"))))))))))) |
| 16300 | (inputs |
| 16301 | (list bowtie gzip hisat2 minimap2 perl-carp perl-getopt-long samtools)) |
| 16302 | (native-inputs |
| 16303 | (list |
| 16304 | (origin |
| 16305 | (method url-fetch) |
| 16306 | (uri (string-append "https://raw.githubusercontent.com/plotly/plotly.js/" |
| 16307 | "v1.39.4/dist/plotly.js")) |
| 16308 | (sha256 |
| 16309 | (base32 "138mwsr4nf5qif4mrxx286mpnagxd1xwl6k8aidrjgknaqg88zyr"))) |
| 16310 | node-uglify-js)) |
| 16311 | (home-page "https://www.bioinformatics.babraham.ac.uk/projects/bismark/") |
| 16312 | (synopsis "Map bisulfite treated sequence reads and analyze methylation") |
| 16313 | (description "Bismark is a program to map bisulfite treated sequencing |
| 16314 | reads to a genome of interest and perform methylation calls in a single step. |
| 16315 | The output can be easily imported into a genome viewer, such as SeqMonk, and |
| 16316 | enables a researcher to analyse the methylation levels of their samples |
| 16317 | straight away. Its main features are: |
| 16318 | |
| 16319 | @itemize |
| 16320 | @item Bisulfite mapping and methylation calling in one single step |
| 16321 | @item Supports single-end and paired-end read alignments |
| 16322 | @item Supports ungapped and gapped alignments |
| 16323 | @item Alignment seed length, number of mismatches etc are adjustable |
| 16324 | @item Output discriminates between cytosine methylation in CpG, CHG |
| 16325 | and CHH context |
| 16326 | @end itemize\n") |
| 16327 | (license license:gpl3+))) |
| 16328 | |
| 16329 | (define-public paml |
| 16330 | (package |
| 16331 | (name "paml") |
| 16332 | (version "4.9e") |
| 16333 | (source (origin |
| 16334 | (method url-fetch) |
| 16335 | (uri (string-append "http://abacus.gene.ucl.ac.uk/software/" |
| 16336 | "paml" version ".tgz")) |
| 16337 | (sha256 |
| 16338 | (base32 |
| 16339 | "13zf6h9fiqghwhch2h06x1zdr6s42plsnqahflp5g7myr3han3s6")) |
| 16340 | (modules '((guix build utils))) |
| 16341 | ;; Remove Windows binaries |
| 16342 | (snippet |
| 16343 | '(begin |
| 16344 | (for-each delete-file (find-files "." "\\.exe$")) |
| 16345 | ;; Some files in the original tarball have restrictive |
| 16346 | ;; permissions, which makes repackaging fail |
| 16347 | (for-each (lambda (file) (chmod file #o644)) (find-files ".")) |
| 16348 | #t)))) |
| 16349 | (build-system gnu-build-system) |
| 16350 | (arguments |
| 16351 | `(#:tests? #f ; there are no tests |
| 16352 | #:make-flags '("CC=gcc" "CFLAGS=-fcommon -O3") |
| 16353 | #:phases |
| 16354 | (modify-phases %standard-phases |
| 16355 | (replace 'configure |
| 16356 | (lambda _ |
| 16357 | (substitute* "src/BFdriver.c" |
| 16358 | (("/bin/bash") (which "bash"))) |
| 16359 | (chdir "src"))) |
| 16360 | (replace 'install |
| 16361 | (lambda* (#:key outputs #:allow-other-keys) |
| 16362 | (let ((tools '("baseml" "basemlg" "codeml" |
| 16363 | "pamp" "evolver" "yn00" "chi2")) |
| 16364 | (bin (string-append (assoc-ref outputs "out") "/bin")) |
| 16365 | (docdir (string-append (assoc-ref outputs "out") |
| 16366 | "/share/doc/paml"))) |
| 16367 | (mkdir-p bin) |
| 16368 | (for-each (lambda (file) (install-file file bin)) tools) |
| 16369 | (copy-recursively "../doc" docdir))))))) |
| 16370 | (home-page "http://abacus.gene.ucl.ac.uk/software/paml.html") |
| 16371 | (synopsis "Phylogentic analysis by maximum likelihood") |
| 16372 | (description "PAML (for Phylogentic Analysis by Maximum Likelihood) |
| 16373 | contains a few programs for model fitting and phylogenetic tree reconstruction |
| 16374 | using nucleotide or amino-acid sequence data.") |
| 16375 | ;; GPLv3 only |
| 16376 | (license license:gpl3))) |
| 16377 | |
| 16378 | (define-public segemehl |
| 16379 | (package |
| 16380 | (name "segemehl") |
| 16381 | (version "0.3.4") |
| 16382 | (source (origin |
| 16383 | (method url-fetch) |
| 16384 | (uri (string-append "https://www.bioinf.uni-leipzig.de/Software" |
| 16385 | "/segemehl/downloads/segemehl-" |
| 16386 | version ".tar.gz")) |
| 16387 | (sha256 |
| 16388 | (base32 |
| 16389 | "0lbzbb7i8zadsn9b99plairhq6s2h1z8qdn6n7djclfis01nycz4")))) |
| 16390 | (build-system gnu-build-system) |
| 16391 | (arguments |
| 16392 | `(#:make-flags |
| 16393 | (list (string-append "CC=" ,(cc-for-target)) |
| 16394 | "all") |
| 16395 | #:tests? #false ; there are none |
| 16396 | #:phases |
| 16397 | (modify-phases %standard-phases |
| 16398 | (delete 'configure) |
| 16399 | ;; There is no installation target |
| 16400 | (replace 'install |
| 16401 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 16402 | (let* ((out (assoc-ref outputs "out")) |
| 16403 | (bin (string-append out "/bin")) |
| 16404 | (exes (list "segemehl.x" "haarz.x"))) |
| 16405 | (mkdir-p bin) |
| 16406 | (for-each (lambda (exe) |
| 16407 | (install-file exe bin)) |
| 16408 | exes))))))) |
| 16409 | (inputs |
| 16410 | (list htslib ncurses zlib)) |
| 16411 | (native-inputs |
| 16412 | (list pkg-config)) |
| 16413 | (home-page "https://www.bioinf.uni-leipzig.de/Software/segemehl") |
| 16414 | (synopsis "Map short sequencer reads to reference genomes") |
| 16415 | (description "Segemehl is software to map short sequencer reads to |
| 16416 | reference genomes. Segemehl implements a matching strategy based on enhanced |
| 16417 | suffix arrays (ESA). It accepts fasta and fastq queries (gzip'ed and |
| 16418 | bgzip'ed). In addition to the alignment of reads from standard DNA- and |
| 16419 | RNA-seq protocols, it also allows the mapping of bisulfite converted |
| 16420 | reads (Lister and Cokus) and implements a split read mapping strategy. The |
| 16421 | output of segemehl is a SAM or BAM formatted alignment file.") |
| 16422 | (license license:gpl3+))) |
| 16423 | |
| 16424 | (define-public kallisto |
| 16425 | (package |
| 16426 | (name "kallisto") |
| 16427 | (version "0.50.1") |
| 16428 | (source (origin |
| 16429 | (method git-fetch) |
| 16430 | (uri (git-reference |
| 16431 | (url "https://github.com/pachterlab/kallisto") |
| 16432 | (commit (string-append "v" version)))) |
| 16433 | (file-name (git-file-name name version)) |
| 16434 | (sha256 |
| 16435 | (base32 |
| 16436 | "0zfs79mv75599cf9d7d3c5a3s8idgz9qvl4qfzhvhbd87y3dv7p0")))) |
| 16437 | (build-system cmake-build-system) |
| 16438 | (arguments |
| 16439 | (list |
| 16440 | #:tests? #false ;no "check" target |
| 16441 | ;; The build system attempts to link libbifrost.a into the kallisto |
| 16442 | ;; executable before the library has been built. |
| 16443 | #:parallel-build? #false)) |
| 16444 | (inputs (list hdf5 zlib)) |
| 16445 | (home-page "https://pachterlab.github.io/kallisto/") |
| 16446 | (synopsis "Near-optimal RNA-Seq quantification") |
| 16447 | (description |
| 16448 | "Kallisto is a program for quantifying abundances of transcripts from |
| 16449 | RNA-Seq data, or more generally of target sequences using high-throughput |
| 16450 | sequencing reads. It is based on the novel idea of pseudoalignment for |
| 16451 | rapidly determining the compatibility of reads with targets, without the need |
| 16452 | for alignment. Pseudoalignment of reads preserves the key information needed |
| 16453 | for quantification, and kallisto is therefore not only fast, but also as |
| 16454 | accurate as existing quantification tools.") |
| 16455 | (license license:bsd-2))) |
| 16456 | |
| 16457 | (define-public libgff |
| 16458 | (package |
| 16459 | (name "libgff") |
| 16460 | (version "2.0.0") |
| 16461 | (source (origin |
| 16462 | (method git-fetch) |
| 16463 | (uri (git-reference |
| 16464 | (url "https://github.com/COMBINE-lab/libgff") |
| 16465 | (commit (string-append "v" version)))) |
| 16466 | (file-name (git-file-name name version)) |
| 16467 | (sha256 |
| 16468 | (base32 |
| 16469 | "0ds9r22y8bl1rj7bhl0003kgmm6aam7g8l41mnjfrzw15d9zf9k4")))) |
| 16470 | (build-system cmake-build-system) |
| 16471 | (arguments `(#:tests? #f)) ; no tests included |
| 16472 | (home-page "https://github.com/COMBINE-lab/libgff") |
| 16473 | (synopsis "Parser library for reading/writing GFF files") |
| 16474 | (description "This is a simple \"libraryfication\" of the GFF/GTF parsing |
| 16475 | code that is used in the Cufflinks codebase. The goal of this library is to |
| 16476 | provide this functionality without the necessity of drawing in a heavy-weight |
| 16477 | dependency like SeqAn.") |
| 16478 | (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt")))) |
| 16479 | |
| 16480 | (define-public sailfish |
| 16481 | (package |
| 16482 | (name "sailfish") |
| 16483 | (version "0.10.1") |
| 16484 | (source (origin |
| 16485 | (method git-fetch) |
| 16486 | (uri (git-reference |
| 16487 | (url "https://github.com/kingsfordgroup/sailfish") |
| 16488 | (commit (string-append "v" version)))) |
| 16489 | (file-name (git-file-name name version)) |
| 16490 | (sha256 |
| 16491 | (base32 |
| 16492 | "1amcc5hqvsl42hg4x19bi9vy47cl874s0lw1fmi0hwsdk9i8c03v")) |
| 16493 | (modules '((guix build utils))) |
| 16494 | ;; Delete bundled headers for eigen3. |
| 16495 | (snippet |
| 16496 | '(delete-file-recursively "include/eigen3/")))) |
| 16497 | (build-system cmake-build-system) |
| 16498 | (arguments |
| 16499 | `(#:configure-flags |
| 16500 | ,#~(list (string-append "-DBOOST_INCLUDEDIR=" |
| 16501 | #$(this-package-input "boost") |
| 16502 | "/include/") |
| 16503 | (string-append "-DBOOST_LIBRARYDIR=" |
| 16504 | #$(this-package-input "boost") |
| 16505 | "/lib/") |
| 16506 | (string-append "-DBoost_LIBRARIES=" |
| 16507 | "-lboost_iostreams " |
| 16508 | "-lboost_filesystem " |
| 16509 | "-lboost_system " |
| 16510 | "-lboost_thread " |
| 16511 | "-lboost_timer " |
| 16512 | "-lboost_chrono " |
| 16513 | "-lboost_program_options") |
| 16514 | "-DBoost_FOUND=TRUE" |
| 16515 | ;; Don't download RapMap---we already have it! |
| 16516 | "-DFETCHED_RAPMAP=1") |
| 16517 | ;; Tests must be run after installation and the location of the test |
| 16518 | ;; data file must be overridden. But the tests fail. It looks like |
| 16519 | ;; they are not really meant to be run. |
| 16520 | #:tests? #f |
| 16521 | #:phases |
| 16522 | (modify-phases %standard-phases |
| 16523 | ;; Boost cannot be found, even though it's right there. |
| 16524 | (add-after 'unpack 'do-not-look-for-boost |
| 16525 | (lambda* (#:key inputs #:allow-other-keys) |
| 16526 | (substitute* "CMakeLists.txt" |
| 16527 | (("find_package\\(Boost 1\\.53\\.0") "#")))) |
| 16528 | (add-after 'unpack 'do-not-assign-to-macro |
| 16529 | (lambda _ |
| 16530 | (substitute* "include/spdlog/details/format.cc" |
| 16531 | (("const unsigned CHAR_WIDTH = 1;") "")))) |
| 16532 | (add-after 'unpack 'prepare-rapmap |
| 16533 | (lambda* (#:key inputs #:allow-other-keys) |
| 16534 | (let ((src "external/install/src/rapmap/") |
| 16535 | (include "external/install/include/rapmap/") |
| 16536 | (rapmap (assoc-ref inputs "rapmap"))) |
| 16537 | (mkdir-p src) |
| 16538 | (mkdir-p include) |
| 16539 | (for-each (lambda (file) |
| 16540 | (install-file file src)) |
| 16541 | (find-files (string-append rapmap "/src") "\\.(c|cpp)")) |
| 16542 | (copy-recursively (string-append rapmap "/include") include)))) |
| 16543 | (add-after 'unpack 'use-system-libraries |
| 16544 | (lambda* (#:key inputs #:allow-other-keys) |
| 16545 | (substitute* '("src/SailfishIndexer.cpp" |
| 16546 | "src/SailfishUtils.cpp" |
| 16547 | "src/SailfishQuantify.cpp" |
| 16548 | "src/FASTAParser.cpp" |
| 16549 | "include/PCA.hpp" |
| 16550 | "include/SailfishUtils.hpp" |
| 16551 | "include/SailfishIndex.hpp" |
| 16552 | "include/CollapsedEMOptimizer.hpp" |
| 16553 | "src/CollapsedEMOptimizer.cpp") |
| 16554 | (("#include \"jellyfish/config.h\"") "")) |
| 16555 | (substitute* "src/CMakeLists.txt" |
| 16556 | (("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..") |
| 16557 | (search-input-directory |
| 16558 | inputs |
| 16559 | (string-append "/include/jellyfish-" ,(package-version jellyfish)))) |
| 16560 | (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a") |
| 16561 | (search-input-file inputs |
| 16562 | "/lib/libjellyfish-2.0.a")) |
| 16563 | (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a") |
| 16564 | (search-input-file inputs |
| 16565 | "/lib/libdivsufsort.so")) |
| 16566 | (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a") |
| 16567 | (search-input-file inputs |
| 16568 | "/lib/libdivsufsort64.so"))) |
| 16569 | (substitute* "CMakeLists.txt" |
| 16570 | ;; Don't prefer static libs |
| 16571 | (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "") |
| 16572 | (("find_package\\(Jellyfish.*") "") |
| 16573 | (("ExternalProject_Add\\(libjellyfish") "message(") |
| 16574 | (("ExternalProject_Add\\(libgff") "message(") |
| 16575 | (("ExternalProject_Add\\(libsparsehash") "message(") |
| 16576 | (("ExternalProject_Add\\(libdivsufsort") "message(")) |
| 16577 | |
| 16578 | ;; Ensure that Eigen headers can be found |
| 16579 | (setenv "CPLUS_INCLUDE_PATH" |
| 16580 | (string-append (search-input-directory |
| 16581 | inputs "/include/eigen3") |
| 16582 | ":" |
| 16583 | (or (getenv "CPLUS_INCLUDE_PATH") "")))))))) |
| 16584 | (inputs |
| 16585 | `(("boost" ,boost-1.83) |
| 16586 | ("eigen" ,eigen) |
| 16587 | ("jemalloc" ,jemalloc) |
| 16588 | ("jellyfish" ,jellyfish) |
| 16589 | ("sparsehash" ,sparsehash) |
| 16590 | ("rapmap" ,(origin |
| 16591 | (method git-fetch) |
| 16592 | (uri (git-reference |
| 16593 | (url "https://github.com/COMBINE-lab/RapMap") |
| 16594 | (commit (string-append "sf-v" version)))) |
| 16595 | (file-name (string-append "rapmap-sf-v" version "-checkout")) |
| 16596 | (sha256 |
| 16597 | (base32 |
| 16598 | "1hv79l5i576ykv5a1srj2p0q36yvyl5966m0fcy2lbi169ipjakf")) |
| 16599 | (modules '((guix build utils))) |
| 16600 | ;; These files are expected to be excluded. |
| 16601 | (snippet |
| 16602 | '(begin (delete-file-recursively "include/spdlog") |
| 16603 | (for-each delete-file '("include/xxhash.h" |
| 16604 | "src/xxhash.c")))))) |
| 16605 | ("libdivsufsort" ,libdivsufsort) |
| 16606 | ("libgff" ,libgff) |
| 16607 | ("tbb" ,tbb-2020) |
| 16608 | ("zlib" ,zlib))) |
| 16609 | (native-inputs |
| 16610 | (list pkg-config)) |
| 16611 | (home-page "https://www.cs.cmu.edu/~ckingsf/software/sailfish/") |
| 16612 | (synopsis "Mapping-based isoform quantification from RNA-Seq reads") |
| 16613 | (description "Sailfish is a tool for genomic transcript quantification |
| 16614 | from RNA-seq data. It requires a set of target transcripts (either from a |
| 16615 | reference or de-novo assembly) to quantify. All you need to run sailfish is a |
| 16616 | fasta file containing your reference transcripts and a (set of) fasta/fastq |
| 16617 | file(s) containing your reads.") |
| 16618 | (license license:gpl3+))) |
| 16619 | |
| 16620 | (define libstadenio-for-salmon |
| 16621 | (package |
| 16622 | (name "libstadenio") |
| 16623 | (version "1.14.8") |
| 16624 | (source (origin |
| 16625 | (method git-fetch) |
| 16626 | (uri (git-reference |
| 16627 | (url "https://github.com/COMBINE-lab/staden-io_lib") |
| 16628 | (commit (string-append "v" version)))) |
| 16629 | (file-name (string-append name "-" version "-checkout")) |
| 16630 | (sha256 |
| 16631 | (base32 |
| 16632 | "1x8kxxqxl892vwfbprlbyfwkkv7c34ggkc94892x9x0g37x5nbwx")))) |
| 16633 | (build-system gnu-build-system) |
| 16634 | (arguments '(#:parallel-tests? #f)) ; not supported |
| 16635 | (inputs |
| 16636 | `(("zlib" ,zlib))) |
| 16637 | (native-inputs |
| 16638 | `(("perl" ,perl))) ; for tests |
| 16639 | (home-page "https://github.com/COMBINE-lab/staden-io_lib") |
| 16640 | (synopsis "General purpose trace and experiment file library") |
| 16641 | (description "This package provides a library of file reading and writing |
| 16642 | code to provide a general purpose Trace file (and Experiment File) reading |
| 16643 | interface. |
| 16644 | |
| 16645 | The following file formats are supported: |
| 16646 | |
| 16647 | @enumerate |
| 16648 | @item SCF trace files |
| 16649 | @item ABI trace files |
| 16650 | @item ALF trace files |
| 16651 | @item ZTR trace files |
| 16652 | @item SFF trace archives |
| 16653 | @item SRF trace archives |
| 16654 | @item Experiment files |
| 16655 | @item Plain text files |
| 16656 | @item SAM/BAM sequence files |
| 16657 | @item CRAM sequence files |
| 16658 | @end enumerate\n") |
| 16659 | (license license:bsd-3))) |
| 16660 | |
| 16661 | (define-public salmon |
| 16662 | (package |
| 16663 | (name "salmon") |
| 16664 | (version "1.10.3") |
| 16665 | (source (origin |
| 16666 | (method git-fetch) |
| 16667 | (uri (git-reference |
| 16668 | (url "https://github.com/COMBINE-lab/salmon") |
| 16669 | (commit (string-append "v" version)))) |
| 16670 | (file-name (git-file-name name version)) |
| 16671 | (sha256 |
| 16672 | (base32 |
| 16673 | "0vii7nlx0ddn62qniwx4abfj6ajwl3w6mizavpa0mkhpxnm06rqw")) |
| 16674 | (modules '((guix build utils))) |
| 16675 | (snippet |
| 16676 | ;; Delete bundled headers for eigen3. |
| 16677 | '(delete-file-recursively "include/eigen3/")))) |
| 16678 | (build-system cmake-build-system) |
| 16679 | (arguments |
| 16680 | (list |
| 16681 | #:configure-flags |
| 16682 | #~(list (string-append "-Dlibgff_DIR=" |
| 16683 | #$(this-package-input "libgff") "/lib") |
| 16684 | "-DCMAKE_CXX_FLAGS=\"-DHAVE_NUMERIC_LIMITS128=1\"" |
| 16685 | "-Dlibgff_FOUND=TRUE" |
| 16686 | "-DTBB_FOUND=TRUE" |
| 16687 | #$(string-append "-DTBB_VERSION=" (package-version onetbb)) |
| 16688 | "-DFETCHED_PUFFERFISH=TRUE" |
| 16689 | "-DUSE_SHARED_LIBS=TRUE") |
| 16690 | #:phases |
| 16691 | '(modify-phases %standard-phases |
| 16692 | (add-after 'unpack 'prepare-pufferfish |
| 16693 | (lambda* (#:key inputs #:allow-other-keys) |
| 16694 | (copy-recursively (assoc-ref inputs "pufferfish") |
| 16695 | "external/pufferfish") |
| 16696 | ;; This test isn't working correctly, so compilation aborts. |
| 16697 | (substitute* "external/pufferfish/include/string_view.hpp" |
| 16698 | (("#if __has_include\\(<string_view>\\)") |
| 16699 | "#if 0")) |
| 16700 | (let ((headers "external/install/pufferfish/include/pufferfish") |
| 16701 | (source "external/install/src/pufferfish")) |
| 16702 | (mkdir-p headers) |
| 16703 | (mkdir-p source) |
| 16704 | (for-each (lambda (file) |
| 16705 | (install-file (string-append "external/pufferfish/include/" file) |
| 16706 | headers)) |
| 16707 | (list "ProgOpts.hpp" "BooPHF.hpp" "SpinLock.hpp" |
| 16708 | "Kmer.hpp" "CanonicalKmer.hpp" "string_view.hpp" |
| 16709 | "CanonicalKmerIterator.hpp" |
| 16710 | "PufferfishBaseIndex.hpp" |
| 16711 | "PufferfishIndex.hpp" |
| 16712 | "PufferfishSparseIndex.hpp" |
| 16713 | "PufferfishLossyIndex.hpp" |
| 16714 | "PufferfishTypes.hpp" |
| 16715 | "rank9b.hpp" "rank9sel.hpp" "macros.hpp" |
| 16716 | "select.hpp" "Util.hpp" |
| 16717 | "PairedAlignmentFormatter.hpp" |
| 16718 | "SelectiveAlignmentUtils.hpp" |
| 16719 | "PuffAligner.hpp" "MemCollector.hpp" |
| 16720 | "MemChainer.hpp" "CommonTypes.hpp" |
| 16721 | "SAMWriter.hpp" "PufferfishConfig.hpp" |
| 16722 | "BulkChunk.hpp" "BinWriter.hpp")) |
| 16723 | |
| 16724 | (for-each (lambda (dir) |
| 16725 | (copy-recursively |
| 16726 | (string-append "external/pufferfish/include/" dir) |
| 16727 | (string-append headers "/" dir))) |
| 16728 | (list "libdivide" |
| 16729 | "ksw2pp" |
| 16730 | "compact_vector" |
| 16731 | "itlib" |
| 16732 | "metro" |
| 16733 | "chobo" |
| 16734 | "sparsepp" |
| 16735 | "simde" |
| 16736 | "tsl")) |
| 16737 | (copy-recursively |
| 16738 | (string-append "external/pufferfish/src/metro/") |
| 16739 | (string-append source "/metro")) |
| 16740 | (install-file |
| 16741 | (string-append "external/pufferfish/src/rank9b.cpp") |
| 16742 | source) |
| 16743 | |
| 16744 | ;; Do not complain about not having built libtbb |
| 16745 | (substitute* "external/pufferfish/external/twopaco/CMakeLists.txt" |
| 16746 | (("add_dependencies.*") ""))))) |
| 16747 | (add-after 'unpack 'do-not-phone-home |
| 16748 | (lambda _ |
| 16749 | (substitute* "src/Salmon.cpp" |
| 16750 | (("getVersionMessage\\(\\)") "\"\"")))) |
| 16751 | (add-after 'unpack 'use-system-libraries |
| 16752 | (lambda* (#:key inputs #:allow-other-keys) |
| 16753 | ;; Ensure that all headers can be found |
| 16754 | (setenv "CPLUS_INCLUDE_PATH" |
| 16755 | (string-append (or (getenv "CPLUS_INCLUDE_PATH") "") |
| 16756 | ":" |
| 16757 | (getcwd) "/external/install/pufferfish/include:" |
| 16758 | (assoc-ref inputs "eigen") |
| 16759 | "/include/eigen3")))) |
| 16760 | (add-after 'unpack 'fix-error-message-in-tests |
| 16761 | (lambda _ |
| 16762 | (substitute* "cmake/TestSalmonQuasi.cmake" |
| 16763 | (("SALMON_QUASI_INDEX_COMMAND") |
| 16764 | "SALMON_QUASI_INDEX_CMD"))))))) |
| 16765 | (inputs |
| 16766 | (list boost-1.83 |
| 16767 | bzip2 |
| 16768 | cereal |
| 16769 | curl |
| 16770 | eigen |
| 16771 | htscodecs |
| 16772 | jemalloc |
| 16773 | libgff |
| 16774 | onetbb |
| 16775 | libstadenio-for-salmon |
| 16776 | xz |
| 16777 | zlib)) |
| 16778 | (native-inputs |
| 16779 | `(("pkg-config" ,pkg-config) |
| 16780 | ("pufferfish" ,(origin |
| 16781 | (method git-fetch) |
| 16782 | (uri (git-reference |
| 16783 | (url "https://github.com/COMBINE-lab/pufferfish") |
| 16784 | (commit (string-append "salmon-v" version)))) |
| 16785 | (file-name (git-file-name "pufferfish" version)) |
| 16786 | (sha256 |
| 16787 | (base32 |
| 16788 | "0h12h4wv7k3if1m6as7wvrbd7djm0zsg1vs0xn84bnrswwv5z2l3")))))) |
| 16789 | (home-page "https://github.com/COMBINE-lab/salmon") |
| 16790 | (synopsis "Quantification from RNA-seq reads using lightweight alignments") |
| 16791 | (description "Salmon is a program to produce highly-accurate, |
| 16792 | transcript-level quantification estimates from RNA-seq data. Salmon achieves |
| 16793 | its accuracy and speed via a number of different innovations, including the |
| 16794 | use of lightweight alignments (accurate but fast-to-compute proxies for |
| 16795 | traditional read alignments) and massively-parallel stochastic collapsed |
| 16796 | variational inference.") |
| 16797 | (license license:gpl3+))) |
| 16798 | |
| 16799 | (define-public scallop |
| 16800 | (package |
| 16801 | (name "scallop") |
| 16802 | (version "0.10.5") |
| 16803 | (source (origin |
| 16804 | (method url-fetch) |
| 16805 | (uri (string-append "https://github.com/Kingsford-Group/scallop" |
| 16806 | "/releases/download/v" version |
| 16807 | "/scallop-" version ".tar.gz")) |
| 16808 | (sha256 |
| 16809 | (base32 |
| 16810 | "0ylkhr5hsmw7bsdszrjz9yqknsijh2fl5n6rjqmdmcdky5hkr7mh")))) |
| 16811 | (build-system gnu-build-system) |
| 16812 | (inputs |
| 16813 | (list boost htslib)) |
| 16814 | (home-page "https://github.com/Kingsford-Group/scallop") |
| 16815 | (synopsis "Reference-based transcriptome assembler for RNA-seq") |
| 16816 | (description "Scallop is a reference-based transcript assembler. Scallop |
| 16817 | features its high accuracy in assembling multi-exon transcripts as well as |
| 16818 | lowly expressed transcripts.") |
| 16819 | (license license:bsd-3))) |
| 16820 | |
| 16821 | (define-public python-fanc |
| 16822 | (package |
| 16823 | (name "python-fanc") |
| 16824 | (version "0.9.28") |
| 16825 | (source (origin |
| 16826 | (method git-fetch) |
| 16827 | (uri (git-reference |
| 16828 | (url "https://github.com/vaquerizaslab/fanc") |
| 16829 | ;; There are no tags. This commit corresponds to |
| 16830 | ;; version 0.9.28. |
| 16831 | (commit "d5d86085c920a4dca6e5f6be4857129d718243cc"))) |
| 16832 | (file-name (git-file-name name version)) |
| 16833 | (sha256 |
| 16834 | (base32 |
| 16835 | "0pfl35ancd0izw9w2dp85lznq9rsyv2nv5f5la6dnbvj20d1m06d")))) |
| 16836 | (build-system pyproject-build-system) |
| 16837 | (arguments |
| 16838 | (list |
| 16839 | #:test-flags |
| 16840 | '(list "-m" "not longrunning" |
| 16841 | ;; XXX: some of the tests here just take forever |
| 16842 | "--ignore=fanc/test/test_matrix.py" |
| 16843 | "--ignore=fanc/test/test_pairs.py"))) |
| 16844 | (propagated-inputs |
| 16845 | (list python-biopython |
| 16846 | python-cooler |
| 16847 | python-deprecated |
| 16848 | python-future |
| 16849 | python-genomic-regions |
| 16850 | python-gridmap |
| 16851 | python-h5py |
| 16852 | python-imageio |
| 16853 | python-intervaltree |
| 16854 | python-matplotlib |
| 16855 | python-msgpack |
| 16856 | python-msgpack-numpy |
| 16857 | python-numpy |
| 16858 | python-pandas |
| 16859 | python-pillow |
| 16860 | python-progressbar2 |
| 16861 | python-pybedtools |
| 16862 | python-pybigwig |
| 16863 | python-pysam |
| 16864 | python-pywavelets |
| 16865 | python-pyyaml |
| 16866 | python-scikit-image |
| 16867 | python-scikit-learn |
| 16868 | python-scipy |
| 16869 | python-seaborn |
| 16870 | python-tables |
| 16871 | python-tifffile)) |
| 16872 | (native-inputs |
| 16873 | (list python-cython python-pytest python-setuptools)) |
| 16874 | (home-page "https://github.com/vaquerizaslab/fanc") |
| 16875 | (synopsis "Framework for the analysis of C-data") |
| 16876 | (description |
| 16877 | "FAN-C provides a pipeline for analysing Hi-C data starting at |
| 16878 | mapped paired-end sequencing reads.") |
| 16879 | (license license:gpl3+))) |
| 16880 | |
| 16881 | (define-public python-genomic-regions |
| 16882 | (package |
| 16883 | (name "python-genomic-regions") |
| 16884 | (version "0.0.10") |
| 16885 | (source (origin |
| 16886 | (method url-fetch) |
| 16887 | (uri (pypi-uri "genomic_regions" version)) |
| 16888 | (sha256 |
| 16889 | (base32 |
| 16890 | "0hz811iyd1prml1r90qyzimmwyjwycwkjqw4vnl12bxy61rfzjz5")))) |
| 16891 | (build-system pyproject-build-system) |
| 16892 | (propagated-inputs |
| 16893 | (list python-future |
| 16894 | python-intervaltree |
| 16895 | python-numpy |
| 16896 | python-pandas |
| 16897 | python-pybedtools |
| 16898 | python-pybigwig |
| 16899 | python-pytest |
| 16900 | python-msgpack-numpy |
| 16901 | python-cython |
| 16902 | python-msgpack |
| 16903 | python-pysam)) |
| 16904 | (native-inputs (list python-setuptools)) |
| 16905 | (home-page "https://pypi.org/project/genomic-regions/") |
| 16906 | (synopsis "Consistently handle genomic regions") |
| 16907 | (description "This package aims to simplify working with genomic region / |
| 16908 | interval data by providing a common interface that lets you access a wide |
| 16909 | selection of file types and formats for handling genomic region data---all |
| 16910 | using the same syntax.") |
| 16911 | (license license:expat))) |
| 16912 | |
| 16913 | (define-public python-goatools |
| 16914 | (package |
| 16915 | (name "python-goatools") |
| 16916 | (version "1.3.1") |
| 16917 | ;; Pypi tarball doesn't include test files. |
| 16918 | (source (origin |
| 16919 | (method git-fetch) |
| 16920 | (uri (git-reference |
| 16921 | (url "https://github.com/tanghaibao/goatools") |
| 16922 | (commit (string-append "v" version)))) |
| 16923 | (file-name (git-file-name name version)) |
| 16924 | (sha256 |
| 16925 | (base32 |
| 16926 | "0a295zk9jc8kny5vnka63q3gbksins42kcmgvskf8xy7hkca7cmq")))) |
| 16927 | (build-system pyproject-build-system) |
| 16928 | (arguments |
| 16929 | (list |
| 16930 | ;; Almost all tests require access to the internet. |
| 16931 | #:tests? #false |
| 16932 | #:test-flags |
| 16933 | ;; These have syntax errors. |
| 16934 | '(list "--ignore=tests/test_i195_sgd_gaf.py" |
| 16935 | "--ignore=tests/test_i206.py" |
| 16936 | "--ignore=tests/test_setup_dirs.py"))) |
| 16937 | (propagated-inputs (list python-docopt |
| 16938 | python-numpy |
| 16939 | python-openpyxl |
| 16940 | python-pandas |
| 16941 | python-pydot |
| 16942 | python-requests |
| 16943 | python-scipy |
| 16944 | python-setuptools |
| 16945 | python-statsmodels |
| 16946 | python-xlsxwriter)) |
| 16947 | (native-inputs (list python-pytest)) |
| 16948 | (home-page "https://github.com/tanghaibao/goatools") |
| 16949 | (synopsis "Python scripts to find enrichment of GO terms") |
| 16950 | (description "Python scripts to find enrichment of GO terms. In addition, |
| 16951 | this package is used for processing the obo-formatted file from Gene Ontology |
| 16952 | website. The data structure is a directed acyclic graph that allows easy |
| 16953 | traversal from leaf to root.") |
| 16954 | (license license:bsd-2))) |
| 16955 | |
| 16956 | (define-public python-loompy |
| 16957 | (package |
| 16958 | (name "python-loompy") |
| 16959 | (version "3.0.8") |
| 16960 | (source (origin |
| 16961 | (method git-fetch) |
| 16962 | (uri (git-reference |
| 16963 | (url "https://github.com/linnarsson-lab/loompy") |
| 16964 | (commit version))) |
| 16965 | (file-name (git-file-name name version)) |
| 16966 | (sha256 |
| 16967 | (base32 |
| 16968 | "1v01imvhj3i7pz720y18cq00yc9w4qkwi0ds01claaxxddjclwsp")))) |
| 16969 | (build-system pyproject-build-system) |
| 16970 | (arguments |
| 16971 | (list |
| 16972 | #:phases |
| 16973 | '(modify-phases %standard-phases |
| 16974 | ;; See https://github.com/linnarsson-lab/loompy/issues/169 |
| 16975 | (add-after 'unpack 'fix-h5py-error |
| 16976 | (lambda _ |
| 16977 | (substitute* "tests/test_file_attribute_manager.py" |
| 16978 | (("h5py.File\\(f.name\\)") |
| 16979 | "h5py.File(f.name, 'a')")))) |
| 16980 | (add-after 'unpack 'numpy-compatibility |
| 16981 | (lambda _ |
| 16982 | (substitute* "tests/test_connection.py" |
| 16983 | (("np.int") "int")))) |
| 16984 | ;; Numba needs a writable dir to cache functions. |
| 16985 | (add-before 'check 'set-numba-cache-dir |
| 16986 | (lambda _ |
| 16987 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 16988 | (propagated-inputs |
| 16989 | (list python-click |
| 16990 | python-h5py |
| 16991 | python-numba |
| 16992 | python-numpy |
| 16993 | python-numpy-groupies |
| 16994 | python-pandas |
| 16995 | python-scipy)) |
| 16996 | (native-inputs |
| 16997 | (list python-pytest python-setuptools)) |
| 16998 | (home-page "https://github.com/linnarsson-lab/loompy") |
| 16999 | (synopsis "Work with .loom files for single-cell RNA-seq data") |
| 17000 | (description "The loom file format is an efficient format for very large |
| 17001 | omics datasets, consisting of a main matrix, optional additional layers, a |
| 17002 | variable number of row and column annotations. Loom also supports sparse |
| 17003 | graphs. This library makes it easy to work with @file{.loom} files for |
| 17004 | single-cell RNA-seq data.") |
| 17005 | (license license:bsd-3))) |
| 17006 | |
| 17007 | (define-public python-biothings-client |
| 17008 | (package |
| 17009 | (name "python-biothings-client") |
| 17010 | (version "0.4.1") |
| 17011 | (source |
| 17012 | (origin |
| 17013 | (method git-fetch) |
| 17014 | (uri (git-reference |
| 17015 | (url "https://github.com/biothings/biothings_client.py") |
| 17016 | (commit (string-append "v" version)))) |
| 17017 | (file-name (git-file-name name version)) |
| 17018 | (sha256 |
| 17019 | (base32 "1yhrbripg4wr4hg1c9yfv8m1zns37w90fysbbrwm2wlvhmb4i2xq")))) |
| 17020 | (build-system pyproject-build-system) |
| 17021 | (arguments (list #:tests? #f)) ;require internet access |
| 17022 | (native-inputs (list python-pytest python-setuptools)) |
| 17023 | (propagated-inputs (list python-httpx python-requests)) |
| 17024 | (home-page "https://github.com/biothings/biothings_client.py") |
| 17025 | (synopsis "Python client for BioThings API services") |
| 17026 | (description "This package provides a Python client for BioThings |
| 17027 | API services.") |
| 17028 | (license license:bsd-3))) |
| 17029 | |
| 17030 | (define-public python-mgatk |
| 17031 | (package |
| 17032 | (name "python-mgatk") |
| 17033 | (version "0.9.0") |
| 17034 | (source |
| 17035 | (origin |
| 17036 | (method git-fetch) |
| 17037 | (uri (git-reference |
| 17038 | (url "https://github.com/caleblareau/mgatk") |
| 17039 | (commit version))) |
| 17040 | (file-name (git-file-name name version)) |
| 17041 | (sha256 |
| 17042 | (base32 |
| 17043 | "0lxq9k50a7qh5mnxi5r076c83fnq13q0264zxjvqbv38zsq1bbac")))) |
| 17044 | (build-system pyproject-build-system) |
| 17045 | (propagated-inputs |
| 17046 | (list python-bam-dedup |
| 17047 | python-biopython |
| 17048 | python-click |
| 17049 | python-matplotlib |
| 17050 | python-numpy |
| 17051 | python-optparse-pretty |
| 17052 | python-pandas |
| 17053 | python-pysam |
| 17054 | python-regex |
| 17055 | python-ruamel.yaml |
| 17056 | snakemake)) |
| 17057 | (native-inputs |
| 17058 | (list python-pytest python-setuptools)) |
| 17059 | (home-page "https://github.com/caleblareau/mgatk") |
| 17060 | (synopsis "Mitochondrial genome analysis toolkit") |
| 17061 | (description "This package is a Python-based command line interface for |
| 17062 | processing .bam files with mitochondrial reads and generating high-quality |
| 17063 | heteroplasmy estimation from sequencing data. The mgatk package places a |
| 17064 | special emphasis on mitochondrial genotypes generated from single-cell |
| 17065 | genomics data, primarily @acronym{mtscATAC-seq, mitochondrial single-cell |
| 17066 | ATAC-sequence}, but is generally applicable across other assays.") |
| 17067 | (license license:expat))) |
| 17068 | |
| 17069 | (define-public python-multicore-tsne |
| 17070 | (let ((commit "c1dbf84eb550980876d8ed822af4e9dfd21c5e05") |
| 17071 | (revision "1")) |
| 17072 | (package |
| 17073 | (name "python-multicore-tsne") |
| 17074 | (version (git-version "0" revision commit)) |
| 17075 | (source |
| 17076 | (origin |
| 17077 | (method git-fetch) |
| 17078 | (uri (git-reference |
| 17079 | (url "https://github.com/DmitryUlyanov/Multicore-TSNE.git") |
| 17080 | (commit commit))) |
| 17081 | (file-name (git-file-name name version)) |
| 17082 | (sha256 |
| 17083 | (base32 |
| 17084 | "0dj805mmd35rfkj7jpkhvnj47x51lqpvascjwyaqxj7pwk6sbkzv")))) |
| 17085 | (build-system pyproject-build-system) |
| 17086 | ;; Tests require an old version of scikit-learn. See |
| 17087 | ;; https://github.com/DmitryUlyanov/Multicore-TSNE/issues/97. |
| 17088 | (arguments (list #:tests? #false)) |
| 17089 | (propagated-inputs |
| 17090 | (list python-cffi python-numpy python-packaging)) |
| 17091 | (native-inputs |
| 17092 | (list cmake-minimal |
| 17093 | python-scipy |
| 17094 | python-scikit-learn |
| 17095 | python-setuptools)) |
| 17096 | (home-page "https://github.com/DmitryUlyanov/Multicore-TSNE") |
| 17097 | (synopsis "Parallel t-SNE implementation with Python and Torch wrappers") |
| 17098 | (description |
| 17099 | "This package contains a multicore Barnes-Hut implementation of the |
| 17100 | t-SNE algorithm. The implementation is described here: |
| 17101 | @url{http://lvdmaaten.github.io/publications/papers/JMLR_2014.pdf}.") |
| 17102 | (license license:bsd-3)))) |
| 17103 | |
| 17104 | (define-public python-mygene |
| 17105 | (package |
| 17106 | (name "python-mygene") |
| 17107 | (version "3.2.2") |
| 17108 | (source |
| 17109 | (origin |
| 17110 | (method git-fetch) |
| 17111 | (uri (git-reference |
| 17112 | (url "https://github.com/biothings/mygene.py") |
| 17113 | (commit (string-append "v" version)))) |
| 17114 | (file-name (git-file-name name version)) |
| 17115 | (sha256 |
| 17116 | (base32 "0f6mpbbcs72w20zxsnzdqbhn2ldxlafaq3qd0iwk6rfvwk66bb7w")))) |
| 17117 | (build-system pyproject-build-system) |
| 17118 | (arguments |
| 17119 | (list #:tests? #f)) ;they need network connection |
| 17120 | (native-inputs |
| 17121 | (list python-setuptools)) |
| 17122 | (propagated-inputs |
| 17123 | (list python-biothings-client)) |
| 17124 | (home-page "https://github.com/biothings/mygene.py") |
| 17125 | (synopsis "Python Client for MyGene.Info services") |
| 17126 | (description "MyGene.Info provides simple-to-use REST web services |
| 17127 | to query/retrieve gene annotation data. It's designed with simplicity |
| 17128 | and performance emphasized. Mygene is a Python wrapper to access |
| 17129 | MyGene.Info services.") |
| 17130 | (license license:bsd-3))) |
| 17131 | |
| 17132 | ;; We cannot use the latest commit because it requires Java 9. |
| 17133 | (define-public java-forester |
| 17134 | (let ((commit "86b07efe302d5094b42deed9260f719a4c4ac2e6") |
| 17135 | (revision "1")) |
| 17136 | (package |
| 17137 | (name "java-forester") |
| 17138 | (version (string-append "0-" revision "." (string-take commit 7))) |
| 17139 | (source (origin |
| 17140 | (method git-fetch) |
| 17141 | (uri (git-reference |
| 17142 | (url "https://github.com/cmzmasek/forester") |
| 17143 | (commit commit))) |
| 17144 | (file-name (string-append name "-" version "-checkout")) |
| 17145 | (sha256 |
| 17146 | (base32 |
| 17147 | "0vxavc1yrf84yrnf20dq26hi0lglidk8d382xrxsy4qmlbjd276z")) |
| 17148 | (modules '((guix build utils))) |
| 17149 | (snippet |
| 17150 | '(begin |
| 17151 | ;; Delete bundled jars and pre-built classes |
| 17152 | (delete-file-recursively "forester/java/resources") |
| 17153 | (delete-file-recursively "forester/java/classes") |
| 17154 | (for-each delete-file (find-files "forester/java/" "\\.jar$")) |
| 17155 | ;; Delete bundled applications |
| 17156 | (delete-file-recursively "forester_applications") |
| 17157 | #t)))) |
| 17158 | (build-system ant-build-system) |
| 17159 | (arguments |
| 17160 | `(#:tests? #f ; there are none |
| 17161 | #:jdk ,icedtea-8 |
| 17162 | #:modules ((guix build ant-build-system) |
| 17163 | (guix build utils) |
| 17164 | (guix build java-utils) |
| 17165 | (sxml simple) |
| 17166 | (sxml transform)) |
| 17167 | #:phases |
| 17168 | (modify-phases %standard-phases |
| 17169 | (add-after 'unpack 'chdir |
| 17170 | (lambda _ (chdir "forester/java") #t)) |
| 17171 | (add-after 'chdir 'fix-dependencies |
| 17172 | (lambda _ |
| 17173 | (chmod "build.xml" #o664) |
| 17174 | (call-with-output-file "build.xml.new" |
| 17175 | (lambda (port) |
| 17176 | (sxml->xml |
| 17177 | (pre-post-order |
| 17178 | (with-input-from-file "build.xml" |
| 17179 | (lambda _ (xml->sxml #:trim-whitespace? #t))) |
| 17180 | `(;; Remove all unjar tags to avoid repacking classes. |
| 17181 | (unjar . ,(lambda _ '())) |
| 17182 | (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) |
| 17183 | (*text* . ,(lambda (_ txt) txt)))) |
| 17184 | port))) |
| 17185 | (rename-file "build.xml.new" "build.xml") |
| 17186 | #t)) |
| 17187 | ;; FIXME: itext is difficult to package as it depends on a few |
| 17188 | ;; unpackaged libraries. |
| 17189 | (add-after 'chdir 'remove-dependency-on-unpackaged-itext |
| 17190 | (lambda _ |
| 17191 | (delete-file "src/org/forester/archaeopteryx/PdfExporter.java") |
| 17192 | (substitute* "src/org/forester/archaeopteryx/MainFrame.java" |
| 17193 | (("pdf_written_to = PdfExporter.*") |
| 17194 | "throw new IOException(\"PDF export is not available.\");")) |
| 17195 | #t)) |
| 17196 | ;; There is no install target |
| 17197 | (replace 'install (install-jars "."))))) |
| 17198 | (propagated-inputs |
| 17199 | (list java-commons-codec java-openchart2)) |
| 17200 | (home-page "https://sites.google.com/site/cmzmasek/home/software/forester") |
| 17201 | (synopsis "Phylogenomics libraries for Java") |
| 17202 | (description "Forester is a collection of Java libraries for |
| 17203 | phylogenomics and evolutionary biology research. It includes support for |
| 17204 | reading, writing, and exporting phylogenetic trees.") |
| 17205 | (license license:lgpl2.1+)))) |
| 17206 | |
| 17207 | (define-public java-forester-1.005 |
| 17208 | (package |
| 17209 | (name "java-forester") |
| 17210 | (version "1.005") |
| 17211 | (source (origin |
| 17212 | (method url-fetch) |
| 17213 | (uri (string-append "https://repo1.maven.org/maven2/" |
| 17214 | "org/biojava/thirdparty/forester/" |
| 17215 | version "/forester-" version "-sources.jar")) |
| 17216 | (file-name (string-append name "-" version ".jar")) |
| 17217 | (sha256 |
| 17218 | (base32 |
| 17219 | "04r8qv4rk3p71z4ajrvp11py1z46qrx0047j3zzs79s6lnsm3lcv")))) |
| 17220 | (build-system ant-build-system) |
| 17221 | (arguments |
| 17222 | `(#:tests? #f ; there are none |
| 17223 | #:jdk ,icedtea-8 |
| 17224 | #:modules ((guix build ant-build-system) |
| 17225 | (guix build utils) |
| 17226 | (guix build java-utils) |
| 17227 | (sxml simple) |
| 17228 | (sxml transform)) |
| 17229 | #:phases |
| 17230 | (modify-phases %standard-phases |
| 17231 | (add-after 'unpack 'fix-dependencies |
| 17232 | (lambda* (#:key inputs #:allow-other-keys) |
| 17233 | (call-with-output-file "build.xml" |
| 17234 | (lambda (port) |
| 17235 | (sxml->xml |
| 17236 | (pre-post-order |
| 17237 | (with-input-from-file "src/build.xml" |
| 17238 | (lambda _ (xml->sxml #:trim-whitespace? #t))) |
| 17239 | `(;; Remove all unjar tags to avoid repacking classes. |
| 17240 | (unjar . ,(lambda _ '())) |
| 17241 | (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) |
| 17242 | (*text* . ,(lambda (_ txt) txt)))) |
| 17243 | port))) |
| 17244 | (copy-file (assoc-ref inputs "synth_look_and_feel_1.xml") |
| 17245 | "synth_look_and_feel_1.xml") |
| 17246 | (copy-file (assoc-ref inputs "phyloxml.xsd") |
| 17247 | "phyloxml.xsd") |
| 17248 | (substitute* "build.xml" |
| 17249 | (("../resources/synth_laf/synth_look_and_feel_1.xml") |
| 17250 | "synth_look_and_feel_1.xml") |
| 17251 | (("../resources/phyloxml_schema/1.10/phyloxml.xsd") |
| 17252 | "phyloxml.xsd")) |
| 17253 | #t)) |
| 17254 | ;; FIXME: itext is difficult to package as it depends on a few |
| 17255 | ;; unpackaged libraries. |
| 17256 | (add-after 'unpack 'remove-dependency-on-unpackaged-itext |
| 17257 | (lambda _ |
| 17258 | (delete-file "src/org/forester/archaeopteryx/PdfExporter.java") |
| 17259 | (substitute* '("src/org/forester/archaeopteryx/MainFrame.java" |
| 17260 | "src/org/forester/archaeopteryx/MainFrameApplication.java") |
| 17261 | (("pdf_written_to = PdfExporter.*") |
| 17262 | "throw new IOException(\"PDF export is not available.\"); /*") |
| 17263 | ((".getPrintSizeX\\(\\), getOptions\\(\\).getPrintSizeY\\(\\) \\);") "*/") |
| 17264 | (("getCurrentTreePanel\\(\\).getHeight\\(\\) \\);") "*/")) |
| 17265 | #t)) |
| 17266 | (add-after 'unpack 'delete-pre-built-classes |
| 17267 | (lambda _ (delete-file-recursively "src/classes") #t)) |
| 17268 | ;; There is no install target |
| 17269 | (replace 'install (install-jars "."))))) |
| 17270 | (propagated-inputs |
| 17271 | (list java-commons-codec java-openchart2)) |
| 17272 | ;; The source archive does not contain the resources. |
| 17273 | (native-inputs |
| 17274 | `(("phyloxml.xsd" |
| 17275 | ,(origin |
| 17276 | (method url-fetch) |
| 17277 | (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/" |
| 17278 | "b61cc2dcede0bede317db362472333115756b8c6/" |
| 17279 | "forester/resources/phyloxml_schema/1.10/phyloxml.xsd")) |
| 17280 | (file-name (string-append name "-phyloxml-" version ".xsd")) |
| 17281 | (sha256 |
| 17282 | (base32 |
| 17283 | "1zxc4m8sn4n389nqdnpxa8d0k17qnr3pm2y5y6g6vh4k0zm52npv")))) |
| 17284 | ("synth_look_and_feel_1.xml" |
| 17285 | ,(origin |
| 17286 | (method url-fetch) |
| 17287 | (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/" |
| 17288 | "29e04321615da6b35c1e15c60e52caf3f21d8e6a/" |
| 17289 | "forester/java/classes/resources/" |
| 17290 | "synth_look_and_feel_1.xml")) |
| 17291 | (file-name (string-append name "-synth-look-and-feel-" version ".xml")) |
| 17292 | (sha256 |
| 17293 | (base32 |
| 17294 | "1gv5602gv4k7y7713y75a4jvj7i9s7nildsbdl7n9q10sc2ikg8h")))))) |
| 17295 | (home-page "https://sites.google.com/site/cmzmasek/home/software/forester") |
| 17296 | (synopsis "Phylogenomics libraries for Java") |
| 17297 | (description "Forester is a collection of Java libraries for |
| 17298 | phylogenomics and evolutionary biology research. It includes support for |
| 17299 | reading, writing, and exporting phylogenetic trees.") |
| 17300 | (license license:lgpl2.1+))) |
| 17301 | |
| 17302 | (define-public java-biojava-core |
| 17303 | (package |
| 17304 | (name "java-biojava-core") |
| 17305 | (version "4.2.11") |
| 17306 | (source (origin |
| 17307 | (method git-fetch) |
| 17308 | (uri (git-reference |
| 17309 | (url "https://github.com/biojava/biojava") |
| 17310 | (commit (string-append "biojava-" version)))) |
| 17311 | (file-name (string-append name "-" version "-checkout")) |
| 17312 | (sha256 |
| 17313 | (base32 |
| 17314 | "1bvryh2bpsvash8ln79cmc9sqm8qw72hz4xzwqxcrjm8ssxszhqk")))) |
| 17315 | (build-system ant-build-system) |
| 17316 | (arguments |
| 17317 | `(#:jdk ,icedtea-8 |
| 17318 | #:jar-name "biojava-core.jar" |
| 17319 | #:source-dir "biojava-core/src/main/java/" |
| 17320 | #:test-dir "biojava-core/src/test" |
| 17321 | ;; These tests seem to require internet access. |
| 17322 | #:test-exclude (list "**/SearchIOTest.java" |
| 17323 | "**/BlastXMLParserTest.java" |
| 17324 | "**/GenbankCookbookTest.java" |
| 17325 | "**/GenbankProxySequenceReaderTest.java") |
| 17326 | #:phases |
| 17327 | (modify-phases %standard-phases |
| 17328 | (add-before 'build 'copy-resources |
| 17329 | (lambda _ |
| 17330 | (copy-recursively "biojava-core/src/main/resources" |
| 17331 | "build/classes") |
| 17332 | #t)) |
| 17333 | (add-before 'check 'copy-test-resources |
| 17334 | (lambda _ |
| 17335 | (copy-recursively "biojava-core/src/test/resources" |
| 17336 | "build/test-classes") |
| 17337 | #t))))) |
| 17338 | (propagated-inputs |
| 17339 | (list java-log4j-api java-log4j-core java-slf4j-api |
| 17340 | java-slf4j-simple)) |
| 17341 | (native-inputs |
| 17342 | (list java-junit java-hamcrest-core)) |
| 17343 | (home-page "https://biojava.org") |
| 17344 | (synopsis "Core libraries of Java framework for processing biological data") |
| 17345 | (description "BioJava is a project dedicated to providing a Java framework |
| 17346 | for processing biological data. It provides analytical and statistical |
| 17347 | routines, parsers for common file formats, reference implementations of |
| 17348 | popular algorithms, and allows the manipulation of sequences and 3D |
| 17349 | structures. The goal of the biojava project is to facilitate rapid |
| 17350 | application development for bioinformatics. |
| 17351 | |
| 17352 | This package provides the core libraries.") |
| 17353 | (license license:lgpl2.1+))) |
| 17354 | |
| 17355 | (define-public java-biojava-phylo |
| 17356 | (package (inherit java-biojava-core) |
| 17357 | (name "java-biojava-phylo") |
| 17358 | (build-system ant-build-system) |
| 17359 | (arguments |
| 17360 | `(#:jdk ,icedtea-8 |
| 17361 | #:jar-name "biojava-phylo.jar" |
| 17362 | #:source-dir "biojava-phylo/src/main/java/" |
| 17363 | #:test-dir "biojava-phylo/src/test" |
| 17364 | #:phases |
| 17365 | (modify-phases %standard-phases |
| 17366 | (add-before 'build 'copy-resources |
| 17367 | (lambda _ |
| 17368 | (copy-recursively "biojava-phylo/src/main/resources" |
| 17369 | "build/classes") |
| 17370 | #t)) |
| 17371 | (add-before 'check 'copy-test-resources |
| 17372 | (lambda _ |
| 17373 | (copy-recursively "biojava-phylo/src/test/resources" |
| 17374 | "build/test-classes") |
| 17375 | #t))))) |
| 17376 | (propagated-inputs |
| 17377 | (list java-log4j-api |
| 17378 | java-log4j-core |
| 17379 | java-slf4j-api |
| 17380 | java-slf4j-simple |
| 17381 | java-biojava-core |
| 17382 | java-forester)) |
| 17383 | (native-inputs |
| 17384 | (list java-junit java-hamcrest-core)) |
| 17385 | (home-page "https://biojava.org") |
| 17386 | (synopsis "Biojava interface to the forester phylogenomics library") |
| 17387 | (description "The phylo module provides a biojava interface layer to the |
| 17388 | forester phylogenomics library for constructing phylogenetic trees."))) |
| 17389 | |
| 17390 | (define-public java-biojava-alignment |
| 17391 | (package (inherit java-biojava-core) |
| 17392 | (name "java-biojava-alignment") |
| 17393 | (build-system ant-build-system) |
| 17394 | (arguments |
| 17395 | `(#:jdk ,icedtea-8 |
| 17396 | #:jar-name "biojava-alignment.jar" |
| 17397 | #:source-dir "biojava-alignment/src/main/java/" |
| 17398 | #:test-dir "biojava-alignment/src/test" |
| 17399 | #:phases |
| 17400 | (modify-phases %standard-phases |
| 17401 | (add-before 'build 'copy-resources |
| 17402 | (lambda _ |
| 17403 | (copy-recursively "biojava-alignment/src/main/resources" |
| 17404 | "build/classes") |
| 17405 | #t)) |
| 17406 | (add-before 'check 'copy-test-resources |
| 17407 | (lambda _ |
| 17408 | (copy-recursively "biojava-alignment/src/test/resources" |
| 17409 | "build/test-classes") |
| 17410 | #t))))) |
| 17411 | (propagated-inputs |
| 17412 | (list java-log4j-api |
| 17413 | java-log4j-core |
| 17414 | java-slf4j-api |
| 17415 | java-slf4j-simple |
| 17416 | java-biojava-core |
| 17417 | java-biojava-phylo |
| 17418 | java-forester)) |
| 17419 | (native-inputs |
| 17420 | (list java-junit java-hamcrest-core)) |
| 17421 | (home-page "https://biojava.org") |
| 17422 | (synopsis "Biojava API for genetic sequence alignment") |
| 17423 | (description "The alignment module of BioJava provides an API that |
| 17424 | contains |
| 17425 | |
| 17426 | @itemize |
| 17427 | @item implementations of dynamic programming algorithms for sequence |
| 17428 | alignment; |
| 17429 | @item reading and writing of popular alignment file formats; |
| 17430 | @item a single-, or multi- threaded multiple sequence alignment algorithm. |
| 17431 | @end itemize\n"))) |
| 17432 | |
| 17433 | (define-public java-biojava-core-4.0 |
| 17434 | (package (inherit java-biojava-core) |
| 17435 | (name "java-biojava-core") |
| 17436 | (version "4.0.0") |
| 17437 | (source (origin |
| 17438 | (method git-fetch) |
| 17439 | (uri (git-reference |
| 17440 | (url "https://github.com/biojava/biojava") |
| 17441 | (commit (string-append "biojava-" version)))) |
| 17442 | (file-name (string-append name "-" version "-checkout")) |
| 17443 | (sha256 |
| 17444 | (base32 |
| 17445 | "13675f6y9aqi7bi2lk3s1z7a22ynccjiqwa8izh7p97xi9wsfmd8")))))) |
| 17446 | |
| 17447 | (define-public java-biojava-phylo-4.0 |
| 17448 | (package (inherit java-biojava-core-4.0) |
| 17449 | (name "java-biojava-phylo") |
| 17450 | (build-system ant-build-system) |
| 17451 | (arguments |
| 17452 | `(#:jdk ,icedtea-8 |
| 17453 | #:jar-name "biojava-phylo.jar" |
| 17454 | #:source-dir "biojava-phylo/src/main/java/" |
| 17455 | #:test-dir "biojava-phylo/src/test" |
| 17456 | #:phases |
| 17457 | (modify-phases %standard-phases |
| 17458 | (add-before 'build 'copy-resources |
| 17459 | (lambda _ |
| 17460 | (copy-recursively "biojava-phylo/src/main/resources" |
| 17461 | "build/classes") |
| 17462 | #t)) |
| 17463 | (add-before 'check 'copy-test-resources |
| 17464 | (lambda _ |
| 17465 | (copy-recursively "biojava-phylo/src/test/resources" |
| 17466 | "build/test-classes") |
| 17467 | #t))))) |
| 17468 | (propagated-inputs |
| 17469 | (list java-log4j-api |
| 17470 | java-log4j-core |
| 17471 | java-slf4j-api |
| 17472 | java-slf4j-simple |
| 17473 | java-biojava-core-4.0 |
| 17474 | java-forester-1.005)) |
| 17475 | (native-inputs |
| 17476 | (list java-junit java-hamcrest-core)) |
| 17477 | (home-page "https://biojava.org") |
| 17478 | (synopsis "Biojava interface to the forester phylogenomics library") |
| 17479 | (description "The phylo module provides a biojava interface layer to the |
| 17480 | forester phylogenomics library for constructing phylogenetic trees."))) |
| 17481 | |
| 17482 | (define-public java-biojava-alignment-4.0 |
| 17483 | (package (inherit java-biojava-core-4.0) |
| 17484 | (name "java-biojava-alignment") |
| 17485 | (build-system ant-build-system) |
| 17486 | (arguments |
| 17487 | `(#:jdk ,icedtea-8 |
| 17488 | #:jar-name "biojava-alignment.jar" |
| 17489 | #:source-dir "biojava-alignment/src/main/java/" |
| 17490 | #:test-dir "biojava-alignment/src/test" |
| 17491 | #:phases |
| 17492 | (modify-phases %standard-phases |
| 17493 | (add-before 'build 'copy-resources |
| 17494 | (lambda _ |
| 17495 | (copy-recursively "biojava-alignment/src/main/resources" |
| 17496 | "build/classes") |
| 17497 | #t)) |
| 17498 | (add-before 'check 'copy-test-resources |
| 17499 | (lambda _ |
| 17500 | (copy-recursively "biojava-alignment/src/test/resources" |
| 17501 | "build/test-classes") |
| 17502 | #t))))) |
| 17503 | (propagated-inputs |
| 17504 | (list java-log4j-api |
| 17505 | java-log4j-core |
| 17506 | java-slf4j-api |
| 17507 | java-slf4j-simple |
| 17508 | java-biojava-core-4.0 |
| 17509 | java-biojava-phylo-4.0 |
| 17510 | java-forester-1.005)) |
| 17511 | (native-inputs |
| 17512 | (list java-junit java-hamcrest-core)) |
| 17513 | (home-page "https://biojava.org") |
| 17514 | (synopsis "Biojava API for genetic sequence alignment") |
| 17515 | (description "The alignment module of BioJava provides an API that |
| 17516 | contains |
| 17517 | |
| 17518 | @itemize |
| 17519 | @item implementations of dynamic programming algorithms for sequence |
| 17520 | alignment; |
| 17521 | @item reading and writing of popular alignment file formats; |
| 17522 | @item a single-, or multi- threaded multiple sequence alignment algorithm. |
| 17523 | @end itemize\n"))) |
| 17524 | |
| 17525 | (define-public dropseq-tools |
| 17526 | (package |
| 17527 | (name "dropseq-tools") |
| 17528 | (version "1.13") |
| 17529 | (source |
| 17530 | (origin |
| 17531 | (method url-fetch) |
| 17532 | (uri "http://mccarrolllab.com/download/1276/") |
| 17533 | (file-name (string-append "dropseq-tools-" version ".zip")) |
| 17534 | (sha256 |
| 17535 | (base32 "0yrffckxqk5l8b5xb6z4laq157zd9mdypr2p4b4vq2bhjzi1sj0s")) |
| 17536 | ;; Delete bundled libraries |
| 17537 | (modules '((guix build utils))) |
| 17538 | (snippet |
| 17539 | '(begin |
| 17540 | (for-each delete-file |
| 17541 | (find-files "jar/lib" "\\.jar$")) |
| 17542 | (delete-file-recursively "3rdParty"))))) |
| 17543 | (build-system ant-build-system) |
| 17544 | (arguments |
| 17545 | (list |
| 17546 | #:tests? #f ;test data are not included |
| 17547 | #:test-target "test" |
| 17548 | #:build-target "all" |
| 17549 | #:source-dir "public/src/" |
| 17550 | #:jdk icedtea-8 |
| 17551 | #:make-flags |
| 17552 | #~(list (string-append "-Dpicard.executable.dir=" |
| 17553 | #$(this-package-input "java-picard") |
| 17554 | "/share/java/")) |
| 17555 | #:modules `((ice-9 match) |
| 17556 | (srfi srfi-1) |
| 17557 | (guix build utils) |
| 17558 | (guix build java-utils) |
| 17559 | (guix build ant-build-system)) |
| 17560 | #:phases |
| 17561 | #~(modify-phases %standard-phases |
| 17562 | ;; FIXME: fails with "java.io.FileNotFoundException: |
| 17563 | ;; /gnu/store/…-dropseq-tools-1.13/share/java/lib/biojava-alignment.jar" |
| 17564 | (delete 'generate-jar-indices) |
| 17565 | ;; All dependencies must be linked to "lib", because that's where |
| 17566 | ;; they will be searched for when the Class-Path property of the |
| 17567 | ;; manifest is computed. |
| 17568 | (add-after 'unpack 'record-references |
| 17569 | (lambda* (#:key inputs #:allow-other-keys) |
| 17570 | (mkdir-p "jar/lib") |
| 17571 | (let ((dirs (filter-map |
| 17572 | (match-lambda |
| 17573 | ((name . dir) |
| 17574 | (and (string-prefix? "java-" name) |
| 17575 | (not (string=? name "java-testng")) |
| 17576 | dir))) |
| 17577 | inputs))) |
| 17578 | (for-each |
| 17579 | (lambda (jar) |
| 17580 | (symlink jar (string-append "jar/lib/" (basename jar)))) |
| 17581 | (append-map (lambda (dir) |
| 17582 | (find-files dir "\\.jar$")) |
| 17583 | dirs))))) |
| 17584 | ;; There is no installation target |
| 17585 | (replace 'install |
| 17586 | (lambda* (#:key inputs #:allow-other-keys) |
| 17587 | (let* ((bin (string-append #$output "/bin")) |
| 17588 | (share (string-append #$output "/share/java/")) |
| 17589 | (scripts (list "BAMTagHistogram" |
| 17590 | "BAMTagofTagCounts" |
| 17591 | "BaseDistributionAtReadPosition" |
| 17592 | "CollapseBarcodesInPlace" |
| 17593 | "CollapseTagWithContext" |
| 17594 | "ConvertToRefFlat" |
| 17595 | "CreateIntervalsFiles" |
| 17596 | "DetectBeadSynthesisErrors" |
| 17597 | "DigitalExpression" |
| 17598 | "Drop-seq_alignment.sh" |
| 17599 | "FilterBAM" |
| 17600 | "FilterBAMByTag" |
| 17601 | "GatherGeneGCLength" |
| 17602 | "GatherMolecularBarcodeDistributionByGene" |
| 17603 | "GatherReadQualityMetrics" |
| 17604 | "PolyATrimmer" |
| 17605 | "ReduceGTF" |
| 17606 | "SelectCellsByNumTranscripts" |
| 17607 | "SingleCellRnaSeqMetricsCollector" |
| 17608 | "TagBamWithReadSequenceExtended" |
| 17609 | "TagReadWithGeneExon" |
| 17610 | "TagReadWithInterval" |
| 17611 | "TrimStartingSequence" |
| 17612 | "ValidateReference"))) |
| 17613 | (install-file "dist/dropseq.jar" share) |
| 17614 | (for-each (lambda (script) |
| 17615 | (chmod script #o555) |
| 17616 | (install-file script bin)) |
| 17617 | scripts) |
| 17618 | (with-directory-excursion bin |
| 17619 | (substitute* scripts |
| 17620 | (("^java") |
| 17621 | (which "java")) |
| 17622 | (("jar_deploy_dir=.*") |
| 17623 | (string-append "jar_deploy_dir=" share "\n"))))))) |
| 17624 | ;; FIXME: We do this after stripping jars because we don't want it to |
| 17625 | ;; copy all these jars and strip them. We only want to install |
| 17626 | ;; links. Arguably, this is a problem with the ant-build-system. |
| 17627 | (add-after 'strip-jar-timestamps 'install-links |
| 17628 | (lambda _ |
| 17629 | (let ((lib (string-append #$output "/share/java/lib/"))) |
| 17630 | (mkdir-p lib) |
| 17631 | (for-each (lambda (jar) |
| 17632 | (symlink (readlink jar) |
| 17633 | (string-append lib (basename jar)))) |
| 17634 | (find-files "jar/lib" "\\.jar$")))))))) |
| 17635 | (inputs |
| 17636 | (list icedtea-8 |
| 17637 | java-picard-2.10.3 |
| 17638 | java-log4j-1.2-api |
| 17639 | java-commons-math3 |
| 17640 | java-commons-jexl-2 |
| 17641 | java-commons-collections4 |
| 17642 | java-commons-lang |
| 17643 | java-commons-io |
| 17644 | java-snappy-1 |
| 17645 | java-guava |
| 17646 | java-la4j |
| 17647 | java-biojava-core-4.0 |
| 17648 | java-biojava-alignment-4.0 |
| 17649 | java-jdistlib |
| 17650 | java-simple-xml |
| 17651 | java-snakeyaml)) |
| 17652 | (native-inputs (list unzip java-testng)) |
| 17653 | (home-page "http://mccarrolllab.com/dropseq/") |
| 17654 | (synopsis "Tools for Drop-seq analyses") |
| 17655 | (description |
| 17656 | "Drop-seq is a technology to enable biologists to analyze RNA expression |
| 17657 | genome-wide in thousands of individual cells at once. This package provides |
| 17658 | tools to perform Drop-seq analyses.") |
| 17659 | (license license:expat))) |
| 17660 | |
| 17661 | (define-public pigx-rnaseq |
| 17662 | (let ((commit "1605b541da090e13d58dae6fed38ae8dda09f002")) |
| 17663 | (package |
| 17664 | (name "pigx-rnaseq") |
| 17665 | (version (git-version "0.1.1" "0" commit)) |
| 17666 | (source (origin |
| 17667 | (method git-fetch) |
| 17668 | (uri (git-reference |
| 17669 | (url "https://github.com/BIMSBbioinfo/pigx_rnaseq/") |
| 17670 | (commit commit) |
| 17671 | (recursive? #true))) |
| 17672 | (file-name (git-file-name name version)) |
| 17673 | (sha256 |
| 17674 | (base32 |
| 17675 | "1j5c0wlasmxvz9z64yga56m2hhbybl149kknsrpvmq0v2gl31rn5")))) |
| 17676 | (build-system gnu-build-system) |
| 17677 | (arguments |
| 17678 | (list |
| 17679 | #:parallel-tests? #f ; not supported |
| 17680 | #:phases |
| 17681 | '(modify-phases %standard-phases |
| 17682 | ;; "test.sh" runs the whole pipeline, which takes a long time and |
| 17683 | ;; might fail due to OOM. The MultiQC is also resource intensive. |
| 17684 | (add-after 'unpack 'disable-resource-intensive-test |
| 17685 | (lambda _ |
| 17686 | (substitute* "Makefile.am" |
| 17687 | (("^ tests/test_multiqc/test.sh.*") "") |
| 17688 | (("^ tests/test_hisat2/test.sh.*") " tests/test_hisat2/test.sh\n") |
| 17689 | (("^ test.sh") "")))) |
| 17690 | (add-before 'bootstrap 'autoreconf |
| 17691 | (lambda _ |
| 17692 | (invoke "autoreconf" "-vif"))) |
| 17693 | (add-before 'configure 'set-PYTHONPATH |
| 17694 | (lambda _ |
| 17695 | (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")))) |
| 17696 | (add-before 'check 'set-timezone |
| 17697 | ;; The readr package is picky about timezones. |
| 17698 | (lambda* (#:key inputs #:allow-other-keys) |
| 17699 | (setenv "TZ" "UTC+1") |
| 17700 | (setenv "TZDIR" |
| 17701 | (search-input-directory inputs |
| 17702 | "share/zoneinfo")))) |
| 17703 | (add-before 'check 'pre-check |
| 17704 | (lambda _ |
| 17705 | ;; Needed for tests |
| 17706 | (setenv "HOME" "/tmp")))))) |
| 17707 | (inputs |
| 17708 | (list coreutils |
| 17709 | sed |
| 17710 | gzip |
| 17711 | snakemake |
| 17712 | megadepth |
| 17713 | multiqc |
| 17714 | star-for-pigx |
| 17715 | hisat2 |
| 17716 | fastp |
| 17717 | htseq |
| 17718 | samtools |
| 17719 | r-minimal |
| 17720 | r-rmarkdown |
| 17721 | r-genomeinfodb |
| 17722 | r-ggplot2 |
| 17723 | r-ggpubr |
| 17724 | r-ggrepel |
| 17725 | r-gprofiler2 |
| 17726 | r-deseq2 |
| 17727 | r-dt |
| 17728 | r-knitr |
| 17729 | r-pheatmap |
| 17730 | r-corrplot |
| 17731 | r-reshape2 |
| 17732 | r-plotly |
| 17733 | r-scales |
| 17734 | r-summarizedexperiment |
| 17735 | r-crosstalk |
| 17736 | r-tximport |
| 17737 | r-rtracklayer |
| 17738 | r-rjson |
| 17739 | salmon |
| 17740 | pandoc |
| 17741 | python-wrapper |
| 17742 | python-deeptools |
| 17743 | python-pyyaml)) |
| 17744 | (native-inputs |
| 17745 | (list tzdata automake autoconf)) |
| 17746 | (home-page "https://bioinformatics.mdc-berlin.de/pigx/") |
| 17747 | (synopsis "Analysis pipeline for RNA sequencing experiments") |
| 17748 | (description "PiGX RNAseq is an analysis pipeline for preprocessing and |
| 17749 | reporting for RNA sequencing experiments. It is easy to use and produces high |
| 17750 | quality reports. The inputs are reads files from the sequencing experiment, |
| 17751 | and a configuration file which describes the experiment. In addition to |
| 17752 | quality control of the experiment, the pipeline produces a differential |
| 17753 | expression report comparing samples in an easily configurable manner.") |
| 17754 | (license license:gpl3+)))) |
| 17755 | |
| 17756 | (define-public pigx-chipseq |
| 17757 | (package |
| 17758 | (name "pigx-chipseq") |
| 17759 | (version "0.2.0") |
| 17760 | (source (origin |
| 17761 | (method url-fetch) |
| 17762 | (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/" |
| 17763 | "releases/download/v" version |
| 17764 | "/pigx_chipseq-" version ".tar.gz")) |
| 17765 | (sha256 |
| 17766 | (base32 |
| 17767 | "09m1bpjapfxwhzrnvfs2g2zv28k6af7yf7s5ji861nb9bwlkmyi7")))) |
| 17768 | (build-system gnu-build-system) |
| 17769 | (arguments |
| 17770 | `(#:tests? #f ; parts of the tests rely on access to the network |
| 17771 | #:phases |
| 17772 | (modify-phases %standard-phases |
| 17773 | (add-before 'configure 'set-PYTHONPATH |
| 17774 | (lambda _ |
| 17775 | (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")))) |
| 17776 | (add-before 'check 'pre-check |
| 17777 | (lambda _ |
| 17778 | ;; Needed for tests |
| 17779 | (setenv "HOME" "/tmp")))))) |
| 17780 | (inputs |
| 17781 | (list grep |
| 17782 | coreutils |
| 17783 | r-minimal |
| 17784 | r-argparser |
| 17785 | r-biocparallel |
| 17786 | r-biostrings |
| 17787 | r-chipseq |
| 17788 | r-corrplot |
| 17789 | r-data-table |
| 17790 | r-deseq2 |
| 17791 | r-dplyr |
| 17792 | r-dt |
| 17793 | r-genomation |
| 17794 | r-genomicalignments |
| 17795 | r-genomicranges |
| 17796 | r-ggplot2 |
| 17797 | r-ggrepel |
| 17798 | r-gprofiler2 |
| 17799 | r-heatmaply |
| 17800 | r-hexbin |
| 17801 | r-htmlwidgets |
| 17802 | r-jsonlite |
| 17803 | r-pheatmap |
| 17804 | r-plotly |
| 17805 | r-rmarkdown |
| 17806 | r-rsamtools |
| 17807 | r-rsubread |
| 17808 | r-rtracklayer |
| 17809 | r-s4vectors |
| 17810 | r-stringr |
| 17811 | r-tibble |
| 17812 | r-tidyr |
| 17813 | python-wrapper |
| 17814 | python-pyyaml |
| 17815 | python-magic |
| 17816 | python-xlrd |
| 17817 | trim-galore |
| 17818 | macs |
| 17819 | multiqc |
| 17820 | perl |
| 17821 | pandoc |
| 17822 | fastqc |
| 17823 | bowtie |
| 17824 | idr |
| 17825 | snakemake |
| 17826 | samtools |
| 17827 | bedtools |
| 17828 | kentutils)) |
| 17829 | (native-inputs |
| 17830 | (list python-pytest)) |
| 17831 | (home-page "https://bioinformatics.mdc-berlin.de/pigx/") |
| 17832 | (synopsis "Analysis pipeline for ChIP sequencing experiments") |
| 17833 | (description "PiGX ChIPseq is an analysis pipeline for preprocessing, peak |
| 17834 | calling and reporting for ChIP sequencing experiments. It is easy to use and |
| 17835 | produces high quality reports. The inputs are reads files from the sequencing |
| 17836 | experiment, and a configuration file which describes the experiment. In |
| 17837 | addition to quality control of the experiment, the pipeline enables to set up |
| 17838 | multiple peak calling analysis and allows the generation of a UCSC track hub |
| 17839 | in an easily configurable manner.") |
| 17840 | (license license:gpl3+))) |
| 17841 | |
| 17842 | (define-public pigx-bsseq |
| 17843 | (let ((commit "1b3a69bd5363fa882af4193215de7fb475bae066")) |
| 17844 | (package |
| 17845 | (name "pigx-bsseq") |
| 17846 | (version (git-version "0.1.10" "0" commit)) |
| 17847 | (source (origin |
| 17848 | (method git-fetch) |
| 17849 | (uri (git-reference |
| 17850 | (url "https://github.com/BIMSBbioinfo/pigx_bsseq/") |
| 17851 | (commit commit) |
| 17852 | (recursive? #true))) |
| 17853 | (file-name (git-file-name name version)) |
| 17854 | (sha256 |
| 17855 | (base32 |
| 17856 | "0r0gjfycgh1hqba7ma03bwxlvr2kz68yzclx5iba3wrxxqmivil6")))) |
| 17857 | (build-system gnu-build-system) |
| 17858 | (arguments |
| 17859 | (list |
| 17860 | ;; TODO: tests currently require 12+GB of RAM. See |
| 17861 | ;; https://github.com/BIMSBbioinfo/pigx_bsseq/issues/164 |
| 17862 | #:tests? #f |
| 17863 | #:phases |
| 17864 | '(modify-phases %standard-phases |
| 17865 | ;; This file is meant for development, but it interferes with |
| 17866 | ;; Makefile. |
| 17867 | (add-after 'unpack 'delete-GNUmakefile |
| 17868 | (lambda _ (delete-file "GNUmakefile"))) |
| 17869 | (add-before 'configure 'set-PYTHONPATH |
| 17870 | (lambda _ |
| 17871 | (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")))) |
| 17872 | (add-before 'check 'set-timezone |
| 17873 | ;; The readr package is picky about timezones. |
| 17874 | (lambda* (#:key inputs #:allow-other-keys) |
| 17875 | (setenv "TZ" "UTC+1") |
| 17876 | (setenv "TZDIR" |
| 17877 | (search-input-directory inputs |
| 17878 | "share/zoneinfo")))) |
| 17879 | (add-before 'check 'pre-check |
| 17880 | (lambda _ |
| 17881 | ;; Needed for tests |
| 17882 | (setenv "HOME" "/tmp")))))) |
| 17883 | (native-inputs |
| 17884 | (list tzdata-for-tests autoconf automake)) |
| 17885 | (inputs |
| 17886 | (list coreutils |
| 17887 | sed |
| 17888 | grep |
| 17889 | r-minimal |
| 17890 | r-annotationhub |
| 17891 | r-dt |
| 17892 | r-genomation |
| 17893 | r-ggbio |
| 17894 | r-ggrepel |
| 17895 | r-matrixstats |
| 17896 | r-methylkit |
| 17897 | r-reshape2 |
| 17898 | r-rtracklayer |
| 17899 | r-rmarkdown |
| 17900 | r-bookdown |
| 17901 | r-ggplot2 |
| 17902 | r-ggbio |
| 17903 | pandoc |
| 17904 | python-wrapper |
| 17905 | python-pyyaml |
| 17906 | snakemake |
| 17907 | bismark |
| 17908 | bowtie |
| 17909 | bwa-meth |
| 17910 | fastqc |
| 17911 | methyldackel |
| 17912 | multiqc |
| 17913 | trim-galore |
| 17914 | cutadapt |
| 17915 | samblaster |
| 17916 | samtools)) |
| 17917 | (home-page "https://bioinformatics.mdc-berlin.de/pigx/") |
| 17918 | (synopsis "Bisulfite sequencing pipeline from fastq to methylation reports") |
| 17919 | (description "PiGx BSseq is a data processing pipeline for raw fastq read |
| 17920 | data of bisulfite experiments; it produces reports on aggregate methylation |
| 17921 | and coverage and can be used to produce information on differential |
| 17922 | methylation and segmentation.") |
| 17923 | (license license:gpl3+)))) |
| 17924 | |
| 17925 | (define-public pigx-scrnaseq |
| 17926 | (package |
| 17927 | (name "pigx-scrnaseq") |
| 17928 | (version "1.1.10") |
| 17929 | (source |
| 17930 | (origin |
| 17931 | (method url-fetch) |
| 17932 | (uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/" |
| 17933 | "releases/download/v" version |
| 17934 | "/pigx_scrnaseq-" version ".tar.gz")) |
| 17935 | (sha256 |
| 17936 | (base32 "082im1j6qpd2y8ax4msxw7mfc40zxpl29hx92skqdd55745f58z8")) |
| 17937 | (patches |
| 17938 | (list |
| 17939 | (origin |
| 17940 | (method url-fetch) |
| 17941 | (uri |
| 17942 | (let ((commit "fd556e2708b696cd6925f8f74430491afa0377ee")) |
| 17943 | (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/" |
| 17944 | "commit/" commit ".patch"))) |
| 17945 | (sha256 |
| 17946 | (base32 "1lbgq3jskkppw3p6i5h0p09n36bv1lmjifaq6914w4cndddrp3ds"))))))) |
| 17947 | (build-system gnu-build-system) |
| 17948 | (arguments |
| 17949 | (list |
| 17950 | #:phases |
| 17951 | '(modify-phases %standard-phases |
| 17952 | (add-before 'configure 'set-additional-environment-variables |
| 17953 | (lambda _ |
| 17954 | ;; Needed for tests |
| 17955 | (setenv "HOME" "/tmp") |
| 17956 | ;; Needed because of loompy |
| 17957 | (setenv "NUMBA_CACHE_DIR" "/tmp") |
| 17958 | ;; Needed to capture environment |
| 17959 | (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))))) |
| 17960 | (native-inputs |
| 17961 | (list python-setuptools)) |
| 17962 | (inputs |
| 17963 | (list coreutils |
| 17964 | perl |
| 17965 | fastqc |
| 17966 | flexbar |
| 17967 | icedtea-8 |
| 17968 | jellyfish |
| 17969 | python-wrapper |
| 17970 | python-pyyaml |
| 17971 | python-pandas |
| 17972 | python-magic |
| 17973 | python-numpy-1 |
| 17974 | python-loompy |
| 17975 | pandoc |
| 17976 | samtools |
| 17977 | snakemake |
| 17978 | star-for-pigx |
| 17979 | r-minimal |
| 17980 | r-argparser |
| 17981 | r-cowplot |
| 17982 | r-data-table |
| 17983 | r-delayedarray |
| 17984 | r-delayedmatrixstats |
| 17985 | r-dplyr |
| 17986 | r-dropbead |
| 17987 | r-dt |
| 17988 | r-genomicalignments |
| 17989 | r-genomicfiles |
| 17990 | r-genomicranges |
| 17991 | r-ggplot2 |
| 17992 | r-hdf5array |
| 17993 | r-pheatmap |
| 17994 | r-rmarkdown |
| 17995 | r-rsamtools |
| 17996 | r-rtracklayer |
| 17997 | r-rtsne |
| 17998 | r-scater |
| 17999 | r-scran |
| 18000 | r-seurat |
| 18001 | r-singlecellexperiment |
| 18002 | r-stringr |
| 18003 | r-yaml)) |
| 18004 | (home-page "https://bioinformatics.mdc-berlin.de/pigx/") |
| 18005 | (synopsis "Analysis pipeline for single-cell RNA sequencing experiments") |
| 18006 | (description |
| 18007 | "PiGX scRNAseq is an analysis pipeline for preprocessing and |
| 18008 | quality control for single cell RNA sequencing experiments. The inputs are |
| 18009 | read files from the sequencing experiment, and a configuration file which |
| 18010 | describes the experiment. It produces processed files for downstream analysis |
| 18011 | and interactive quality reports. The pipeline is designed to work with UMI |
| 18012 | based methods.") |
| 18013 | (license license:gpl3+))) |
| 18014 | |
| 18015 | (define-public pigx-sars-cov-2 |
| 18016 | (package |
| 18017 | (name "pigx-sars-cov-2") |
| 18018 | (version "0.0.9") |
| 18019 | (source (origin |
| 18020 | (method url-fetch) |
| 18021 | (uri (string-append "https://github.com/BIMSBbioinfo/pigx_sars-cov-2" |
| 18022 | "/releases/download/v" version |
| 18023 | "/pigx_sars-cov-2-" version ".tar.gz")) |
| 18024 | (sha256 |
| 18025 | (base32 |
| 18026 | "168hrafgsn165q3hcdn916vlbl0zbzri1lckaqapbrcqk00izxma")))) |
| 18027 | (build-system gnu-build-system) |
| 18028 | (arguments |
| 18029 | (list |
| 18030 | #:phases |
| 18031 | '(modify-phases %standard-phases |
| 18032 | (add-after 'unpack 'unpack-databases |
| 18033 | (lambda* (#:key inputs #:allow-other-keys) |
| 18034 | ;; The tests need to be able to write caches to HOME. |
| 18035 | ;; They also default to reading the databases from there. |
| 18036 | (setenv "HOME" "/tmp") |
| 18037 | ;; Unpack the three databases in the expected location. |
| 18038 | (let ((root "/tmp/.local/share/pigx/databases") |
| 18039 | (use-underscore (lambda (c) (if (equal? c #\-) #\_ c)))) |
| 18040 | (for-each (lambda (db) |
| 18041 | (let ((where (string-append root "/" |
| 18042 | (string-map use-underscore db)))) |
| 18043 | (mkdir-p where) |
| 18044 | (invoke "tar" "-C" where |
| 18045 | "-xf" (assoc-ref inputs db)))) |
| 18046 | '("kraken-db" "krona-db" "vep-db"))))) |
| 18047 | (add-before 'configure 'set-PYTHONPATH |
| 18048 | (lambda _ |
| 18049 | (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))))) |
| 18050 | (native-inputs |
| 18051 | (let ((bimsb-origin |
| 18052 | (lambda (name hash) |
| 18053 | (origin |
| 18054 | (method url-fetch) |
| 18055 | (uri |
| 18056 | (string-append "https://bimsbstatic.mdc-berlin.de/akalin/AAkalin_pathogenomics" |
| 18057 | "/databases_small-20221006/" name)) |
| 18058 | (sha256 (base32 hash)))))) |
| 18059 | `(("kraken-db" |
| 18060 | ,(bimsb-origin |
| 18061 | "kraken_db.tar.gz" |
| 18062 | "0sdm4xh5npg6c3y2pz8xgphim4qpglm8wdid6rlaaqsn6iikv0mz")) |
| 18063 | ("krona-db" |
| 18064 | ,(bimsb-origin |
| 18065 | "krona_db.tar.gz" |
| 18066 | "1rwy4gd3vw1gdjldrgf44c1xaa3vq8i3pgisjhrac81yx63x8f2h")) |
| 18067 | ("vep-db" |
| 18068 | ,(bimsb-origin |
| 18069 | "vep_db.tar.gz" |
| 18070 | "0d8hhi43zsw3wqm7gd0z0gpcdsc6h6ra0imn87hifl9a64jxqzxz"))))) |
| 18071 | (inputs |
| 18072 | (list bash-minimal |
| 18073 | bedtools |
| 18074 | bwa |
| 18075 | ensembl-vep |
| 18076 | fastp |
| 18077 | fastqc |
| 18078 | ivar |
| 18079 | kraken2 |
| 18080 | krona-tools |
| 18081 | lofreq |
| 18082 | multiqc |
| 18083 | python-pyyaml |
| 18084 | python-wrapper |
| 18085 | r-base64url |
| 18086 | r-data-table |
| 18087 | r-deconvr |
| 18088 | r-dplyr |
| 18089 | r-dt |
| 18090 | r-ggplot2 |
| 18091 | r-htmltools |
| 18092 | r-jsonlite |
| 18093 | r-knitr |
| 18094 | r-magrittr |
| 18095 | r-mass |
| 18096 | r-minimal |
| 18097 | r-plotly |
| 18098 | r-qpcr |
| 18099 | r-r-utils |
| 18100 | r-reshape2 |
| 18101 | r-rmarkdown |
| 18102 | r-stringr |
| 18103 | r-tidyr |
| 18104 | r-viridis |
| 18105 | samtools |
| 18106 | snakemake |
| 18107 | wget)) |
| 18108 | (home-page "https://bioinformatics.mdc-berlin.de/pigx/") |
| 18109 | (synopsis "Analysis pipeline for wastewater sequencing") |
| 18110 | (description "PiGx SARS-CoV-2 is a pipeline for analysing data from |
| 18111 | sequenced wastewater samples and identifying given variants-of-concern of |
| 18112 | SARS-CoV-2. The pipeline can be used for continuous sampling. The output |
| 18113 | report will provide an intuitive visual overview about the development of |
| 18114 | variant abundance over time and location.") |
| 18115 | (license license:gpl3+))) |
| 18116 | |
| 18117 | (define-public pigx |
| 18118 | (package |
| 18119 | (name "pigx") |
| 18120 | (version "0.0.3") |
| 18121 | (source (origin |
| 18122 | (method url-fetch) |
| 18123 | (uri (string-append "https://github.com/BIMSBbioinfo/pigx/" |
| 18124 | "releases/download/v" version |
| 18125 | "/pigx-" version ".tar.gz")) |
| 18126 | (sha256 |
| 18127 | (base32 |
| 18128 | "1i5njdy1clj5ncw45d16p7mwmqvb1ilikl9n797pxklc3f4s7mq7")))) |
| 18129 | (build-system gnu-build-system) |
| 18130 | (inputs |
| 18131 | (list python pigx-bsseq pigx-chipseq pigx-rnaseq pigx-scrnaseq)) |
| 18132 | (home-page "https://bioinformatics.mdc-berlin.de/pigx/") |
| 18133 | (synopsis "Analysis pipelines for genomics") |
| 18134 | (description "PiGx is a collection of genomics pipelines. It includes the |
| 18135 | following pipelines: |
| 18136 | |
| 18137 | @itemize |
| 18138 | @item PiGx BSseq for raw fastq read data of bisulfite experiments |
| 18139 | @item PiGx RNAseq for RNAseq samples |
| 18140 | @item PiGx scRNAseq for single cell dropseq analysis |
| 18141 | @item PiGx ChIPseq for reads from ChIPseq experiments |
| 18142 | @end itemize |
| 18143 | |
| 18144 | All pipelines are easily configured with a simple sample sheet and a |
| 18145 | descriptive settings file. The result is a set of comprehensive, interactive |
| 18146 | HTML reports with interesting findings about your samples.") |
| 18147 | (license license:gpl3+))) |
| 18148 | |
| 18149 | (define-public genrich |
| 18150 | (package |
| 18151 | (name "genrich") |
| 18152 | (version "0.5") |
| 18153 | (source (origin |
| 18154 | (method git-fetch) |
| 18155 | (uri (git-reference |
| 18156 | (url "https://github.com/jsh58/Genrich") |
| 18157 | (commit (string-append "v" version)))) |
| 18158 | (file-name (git-file-name name version)) |
| 18159 | (sha256 |
| 18160 | (base32 |
| 18161 | "0x0q6z0208n3cxzqjla4rgjqpyqgwpmz27852lcvzkzaigymq4zp")))) |
| 18162 | (build-system gnu-build-system) |
| 18163 | (arguments |
| 18164 | `(#:tests? #f ; there are none |
| 18165 | #:phases |
| 18166 | (modify-phases %standard-phases |
| 18167 | (delete 'configure) |
| 18168 | (replace 'install |
| 18169 | (lambda* (#:key outputs #:allow-other-keys) |
| 18170 | (install-file "Genrich" (string-append (assoc-ref outputs "out") "/bin")) |
| 18171 | #t))))) |
| 18172 | (inputs |
| 18173 | (list zlib)) |
| 18174 | (home-page "https://github.com/jsh58/Genrich") |
| 18175 | (synopsis "Detecting sites of genomic enrichment") |
| 18176 | (description "Genrich is a peak-caller for genomic enrichment |
| 18177 | assays (e.g. ChIP-seq, ATAC-seq). It analyzes alignment files generated |
| 18178 | following the assay and produces a file detailing peaks of significant |
| 18179 | enrichment.") |
| 18180 | (license license:expat))) |
| 18181 | |
| 18182 | (define-public sjcount |
| 18183 | ;; There is no tag for version 3.2, nor is there a release archive. |
| 18184 | (let ((commit "292d3917cadb3f6834c81e509c30e61cd7ead6e5") |
| 18185 | (revision "1")) |
| 18186 | (package |
| 18187 | (name "sjcount") |
| 18188 | (version (git-version "3.2" revision commit)) |
| 18189 | (source (origin |
| 18190 | (method git-fetch) |
| 18191 | (uri (git-reference |
| 18192 | (url "https://github.com/pervouchine/sjcount-full") |
| 18193 | (commit commit))) |
| 18194 | (file-name (string-append name "-" version "-checkout")) |
| 18195 | (sha256 |
| 18196 | (base32 |
| 18197 | "0gdgj35j249f04rqgq8ymcc1xg1vi9kzbajnjqpaq2wpbh8bl234")))) |
| 18198 | (build-system gnu-build-system) |
| 18199 | (arguments |
| 18200 | `(#:tests? #f ; requires a 1.4G test file |
| 18201 | #:make-flags |
| 18202 | ,#~(list (string-append "SAMTOOLS_DIR=" |
| 18203 | #$(this-package-input "samtools") |
| 18204 | "/lib/")) |
| 18205 | #:phases |
| 18206 | (modify-phases %standard-phases |
| 18207 | (replace 'configure |
| 18208 | (lambda* (#:key inputs #:allow-other-keys) |
| 18209 | (substitute* "makefile" |
| 18210 | (("-I \\$\\{SAMTOOLS_DIR\\}") |
| 18211 | (string-append "-I" (assoc-ref inputs "samtools") |
| 18212 | "/include/samtools")) |
| 18213 | (("-lz ") "-lz -lpthread ")))) |
| 18214 | (replace 'install |
| 18215 | (lambda* (#:key outputs #:allow-other-keys) |
| 18216 | (for-each (lambda (tool) |
| 18217 | (install-file tool |
| 18218 | (string-append (assoc-ref outputs "out") |
| 18219 | "/bin"))) |
| 18220 | '("j_count" "b_count" "sjcount"))))))) |
| 18221 | (inputs |
| 18222 | (list samtools-0.1 zlib)) |
| 18223 | (home-page "https://github.com/pervouchine/sjcount-full/") |
| 18224 | (synopsis "Annotation-agnostic splice junction counting pipeline") |
| 18225 | (description "Sjcount is a utility for fast quantification of splice |
| 18226 | junctions in RNA-seq data. It is annotation-agnostic and offset-aware. This |
| 18227 | version does count multisplits.") |
| 18228 | (license license:gpl3+)))) |
| 18229 | |
| 18230 | (define-public minimap2 |
| 18231 | (package |
| 18232 | (name "minimap2") |
| 18233 | (version "2.28") |
| 18234 | (source |
| 18235 | (origin |
| 18236 | (method url-fetch) |
| 18237 | (uri (string-append "https://github.com/lh3/minimap2/" |
| 18238 | "releases/download/v" version "/" |
| 18239 | "minimap2-" version ".tar.bz2")) |
| 18240 | (sha256 |
| 18241 | (base32 |
| 18242 | "1d50j9fdmmaj7sdf4f49xddc235f7032lwh5ijgi2afj6lkp39gz")))) |
| 18243 | (build-system gnu-build-system) |
| 18244 | (arguments |
| 18245 | `(#:tests? #f ; there are none |
| 18246 | #:modules ((guix build utils) |
| 18247 | (guix build gnu-build-system) |
| 18248 | (srfi srfi-26)) |
| 18249 | #:make-flags |
| 18250 | (list (string-append "CC=" ,(cc-for-target)) |
| 18251 | (let ((system ,(or (%current-target-system) |
| 18252 | (%current-system)))) |
| 18253 | (cond |
| 18254 | ((or (string-prefix? "i586" system) |
| 18255 | (string-prefix? "i686" system)) |
| 18256 | "sse2only=1") |
| 18257 | ((string-prefix? "armhf" system) |
| 18258 | "arm_neon=1") |
| 18259 | ((string-prefix? "aarch64" system) |
| 18260 | "aarch64=1") |
| 18261 | (else "all")))) |
| 18262 | #:phases |
| 18263 | (modify-phases %standard-phases |
| 18264 | (delete 'configure) |
| 18265 | (replace 'install |
| 18266 | (lambda* (#:key outputs #:allow-other-keys) |
| 18267 | (let* ((out (assoc-ref outputs "out")) |
| 18268 | (bin (string-append out "/bin")) |
| 18269 | (lib (string-append out "/lib")) |
| 18270 | (inc (string-append out "/include")) |
| 18271 | (man (string-append out "/share/man/man1"))) |
| 18272 | (install-file "minimap2" bin) |
| 18273 | (install-file "libminimap2.a" lib) |
| 18274 | (install-file "minimap2.1" man) |
| 18275 | (map (cut install-file <> inc) |
| 18276 | (find-files "." "\\.h$")) |
| 18277 | ;; Not this file. |
| 18278 | (delete-file (string-append inc "/emmintrin.h")) |
| 18279 | (mkdir-p (string-append lib "/pkgconfig")) |
| 18280 | (with-output-to-file (string-append lib "/pkgconfig/minimap2.pc") |
| 18281 | (lambda _ |
| 18282 | (format #t "prefix=~a~@ |
| 18283 | exec_prefix=${prefix}~@ |
| 18284 | libdir=${exec_prefix}/lib~@ |
| 18285 | includedir=${prefix}/include~@ |
| 18286 | ~@ |
| 18287 | Name: libminimap2~@ |
| 18288 | Version: ~a~@ |
| 18289 | Description: A versatile pairwise aligner for genomic and spliced nucleotide sequence~@ |
| 18290 | Libs: -L${libdir} -lminimap2~@ |
| 18291 | Cflags: -I${includedir}~%" |
| 18292 | out ,version))))))))) |
| 18293 | (inputs |
| 18294 | (list zlib)) |
| 18295 | (home-page "https://lh3.github.io/minimap2/") |
| 18296 | (synopsis "Pairwise aligner for genomic and spliced nucleotide sequences") |
| 18297 | (description "Minimap2 is a versatile sequence alignment program that |
| 18298 | aligns DNA or mRNA sequences against a large reference database. Typical use |
| 18299 | cases include: |
| 18300 | |
| 18301 | @enumerate |
| 18302 | @item mapping PacBio or Oxford Nanopore genomic reads to the human genome; |
| 18303 | @item finding overlaps between long reads with error rate up to ~15%; |
| 18304 | @item splice-aware alignment of PacBio Iso-Seq or Nanopore cDNA or Direct RNA |
| 18305 | reads against a reference genome; |
| 18306 | @item aligning Illumina single- or paired-end reads; |
| 18307 | @item assembly-to-assembly alignment; |
| 18308 | @item full-genome alignment between two closely related species with |
| 18309 | divergence below ~15%. |
| 18310 | @end enumerate\n") |
| 18311 | (license license:expat))) |
| 18312 | |
| 18313 | (define-public python-mappy |
| 18314 | (package |
| 18315 | (name "python-mappy") |
| 18316 | (version "2.24") |
| 18317 | (source |
| 18318 | (origin |
| 18319 | (method git-fetch) |
| 18320 | (uri (git-reference |
| 18321 | (url "https://github.com/lh3/minimap2") |
| 18322 | (commit (string-append "v" version)))) |
| 18323 | (file-name (git-file-name name version)) |
| 18324 | (sha256 |
| 18325 | (base32 "0k658659ivxk2xnyawrfqdhcji6a3xcqdr5a9r5myzb2ivypnjmh")))) |
| 18326 | (build-system pyproject-build-system) |
| 18327 | (arguments |
| 18328 | (list |
| 18329 | #:test-backend #~'custom |
| 18330 | #:test-flags |
| 18331 | #~(list "-c" (string-append "import mappy;" |
| 18332 | " print(mappy.revcomp(" |
| 18333 | "mappy.Aligner('test/MT-human.fa')" |
| 18334 | ".seq('MT_human', 100, 200)))")))) |
| 18335 | (native-inputs |
| 18336 | (list python-cython python-setuptools)) |
| 18337 | (inputs |
| 18338 | (list zlib)) |
| 18339 | (home-page "https://github.com/lh3/minimap2") |
| 18340 | (synopsis "Python binding for minimap2") |
| 18341 | (description "This package provides a convenient interface to minimap2, |
| 18342 | a fast and accurate C program to align genomic and transcribe nucleotide |
| 18343 | sequences.") |
| 18344 | (license license:expat))) |
| 18345 | |
| 18346 | (define-public miniasm |
| 18347 | (package |
| 18348 | (name "miniasm") |
| 18349 | (version "0.3") |
| 18350 | (source (origin |
| 18351 | (method git-fetch) |
| 18352 | (uri (git-reference |
| 18353 | (url "https://github.com/lh3/miniasm") |
| 18354 | (commit (string-append "v" version)))) |
| 18355 | (file-name (git-file-name name version)) |
| 18356 | (sha256 |
| 18357 | (base32 |
| 18358 | "04dv5wv8bhsw1imxwyd438bnn9kby7svp44nbcz8lsadzjjci5gs")))) |
| 18359 | (build-system gnu-build-system) |
| 18360 | (inputs |
| 18361 | (list zlib)) |
| 18362 | (arguments |
| 18363 | `(#:tests? #f ; There are no tests. |
| 18364 | #:phases |
| 18365 | (modify-phases %standard-phases |
| 18366 | (delete 'configure) |
| 18367 | (replace 'install |
| 18368 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 18369 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) |
| 18370 | (install-file "miniasm" bin) |
| 18371 | (install-file "minidot" bin) |
| 18372 | #t)))))) |
| 18373 | (home-page "https://github.com/lh3/miniasm") |
| 18374 | (synopsis "Ultrafast de novo assembly for long noisy reads") |
| 18375 | (description "Miniasm is a very fast OLC-based de novo assembler for noisy |
| 18376 | long reads. It takes all-vs-all read self-mappings (typically by minimap) as |
| 18377 | input and outputs an assembly graph in the GFA format. Different from |
| 18378 | mainstream assemblers, miniasm does not have a consensus step. It simply |
| 18379 | concatenates pieces of read sequences to generate the final unitig sequences. |
| 18380 | Thus the per-base error rate is similar to the raw input reads.") |
| 18381 | (license license:expat))) |
| 18382 | |
| 18383 | (define-public bandage |
| 18384 | (package |
| 18385 | (name "bandage") |
| 18386 | (version "0.8.1") |
| 18387 | (source |
| 18388 | (origin |
| 18389 | (method git-fetch) |
| 18390 | (uri (git-reference |
| 18391 | (url "https://github.com/rrwick/Bandage") |
| 18392 | (commit (string-append "v" version)))) |
| 18393 | (file-name (git-file-name name version)) |
| 18394 | (sha256 |
| 18395 | (base32 "1bbsn5f5x8wlspg4pbibqz6m5vin8c19nl224f3z3km0pkc97rwv")))) |
| 18396 | (build-system qt-build-system) |
| 18397 | (arguments |
| 18398 | (list |
| 18399 | #:modules '((guix build qt-build-system) |
| 18400 | ((guix build gnu-build-system) #:prefix gnu:) |
| 18401 | (guix build utils)) |
| 18402 | ;; TODO: Once <https://issues.guix.gnu.org/47475> is fixed, |
| 18403 | ;; consider uncommenting the following: |
| 18404 | ;; |
| 18405 | ;; Prevent the (rarely updated) imagemagick/stable package from |
| 18406 | ;; ending up in the closure. |
| 18407 | ;; #:disallowed-references (list imagemagick/stable) |
| 18408 | #:phases |
| 18409 | #~(modify-phases %standard-phases |
| 18410 | (replace 'configure |
| 18411 | (lambda _ |
| 18412 | (invoke "qmake" "Bandage.pro"))) |
| 18413 | (replace 'check |
| 18414 | (lambda* (#:key tests? #:allow-other-keys) |
| 18415 | (when tests? |
| 18416 | (substitute* "tests/bandage_command_line_tests.sh" |
| 18417 | (("^bandagepath=.*") |
| 18418 | (string-append "bandagepath=" (getcwd) "/Bandage\n"))) |
| 18419 | (with-directory-excursion "tests" |
| 18420 | (setenv "XDG_RUNTIME_DIR" (getcwd)) |
| 18421 | (invoke "./bandage_command_line_tests.sh"))))) |
| 18422 | (replace 'build (assoc-ref gnu:%standard-phases 'build)) |
| 18423 | (replace 'install |
| 18424 | (lambda _ |
| 18425 | (install-file "Bandage" (string-append #$output "/bin"))))))) |
| 18426 | (inputs |
| 18427 | (list qtbase-5 qtsvg-5 qtwayland-5)) |
| 18428 | (native-inputs |
| 18429 | ;; imagemagick/stable cannot be used here, as it will end up in |
| 18430 | ;; the closure. See <https://issues.guix.gnu.org/47475>. |
| 18431 | (list imagemagick)) |
| 18432 | (home-page "https://rrwick.github.io/Bandage/") |
| 18433 | (synopsis |
| 18434 | "Bioinformatics Application for Navigating De novo Assembly Graphs Easily") |
| 18435 | (description "Bandage is a program for visualising de novo assembly graphs. |
| 18436 | It allows users to interact with the assembly graphs made by de novo assemblers |
| 18437 | such as Velvet, SPAdes, MEGAHIT and others. De novo assembly graphs contain not |
| 18438 | only assembled contigs but also the connections between those contigs, which |
| 18439 | were previously not easily accessible. Bandage visualises assembly graphs, with |
| 18440 | connections, using graph layout algorithms. Nodes in the drawn graph, which |
| 18441 | represent contigs, can be automatically labelled with their ID, length or depth. |
| 18442 | Users can interact with the graph by moving, labelling and colouring nodes. |
| 18443 | Sequence information can also be extracted directly from the graph viewer. By |
| 18444 | displaying connections between contigs, Bandage opens up new possibilities for |
| 18445 | analysing and improving de novo assemblies that are not possible by looking at |
| 18446 | contigs alone.") |
| 18447 | (license (list license:gpl2+ ; bundled ogdf |
| 18448 | license:gpl3+)))) |
| 18449 | |
| 18450 | (define-public libmaus2 |
| 18451 | (package |
| 18452 | (name "libmaus2") |
| 18453 | (version "2.0.813") |
| 18454 | (source (origin |
| 18455 | (method git-fetch) |
| 18456 | (uri (git-reference |
| 18457 | (url "https://gitlab.com/german.tischler/libmaus2") |
| 18458 | (commit (string-append version "-release-20221210220409")))) |
| 18459 | (file-name (git-file-name name version)) |
| 18460 | (sha256 |
| 18461 | (base32 |
| 18462 | "1hbkp3vjykkn8vkplzxyc6vnm69rzqhnj041jgfk61wvn5r1xzw8")) |
| 18463 | (patches |
| 18464 | (search-patches "libmaus2-fix-gcc-13-require-include-cstdint.patch")))) |
| 18465 | (build-system gnu-build-system) |
| 18466 | ;; The test suite attempts to execute ../test-driver, which does not exist. |
| 18467 | (arguments '(#:tests? #false)) |
| 18468 | (inputs (list boost)) |
| 18469 | (propagated-inputs |
| 18470 | (list zlib)) |
| 18471 | (native-inputs |
| 18472 | (list pkg-config)) |
| 18473 | (home-page "https://gitlab.com/german.tischler/libmaus2") |
| 18474 | (synopsis "Collection of data structures and algorithms useful for bioinformatics") |
| 18475 | (description "libmaus2 is a collection of data structures and |
| 18476 | algorithms. It contains: |
| 18477 | |
| 18478 | @itemize |
| 18479 | @item I/O classes (single byte and UTF-8); |
| 18480 | @item @code{bitio} classes (input, output and various forms of bit level |
| 18481 | manipulation); |
| 18482 | @item text indexing classes (suffix and LCP array, fulltext and minute (FM), |
| 18483 | etc.); |
| 18484 | @item BAM sequence alignment files input/output (simple and collating); |
| 18485 | and many lower level support classes. |
| 18486 | @end itemize\n") |
| 18487 | ;; The code is explicitly available under the terms of either GPLv2 or |
| 18488 | ;; GPLv3 according to the AUTHORS file, though most files have a GPLv3+ |
| 18489 | ;; license header. |
| 18490 | (license (list license:gpl2+ license:gpl3+)))) |
| 18491 | |
| 18492 | (define-public biobambam2 |
| 18493 | (package |
| 18494 | (name "biobambam2") |
| 18495 | (version "2.0.185") |
| 18496 | (source (origin |
| 18497 | (method git-fetch) |
| 18498 | (uri (git-reference |
| 18499 | (url "https://gitlab.com/german.tischler/biobambam2") |
| 18500 | (commit (string-append version "-release-20221211202123")))) |
| 18501 | (file-name (git-file-name name version)) |
| 18502 | (sha256 |
| 18503 | (base32 |
| 18504 | "1ysj0y11wi5z9y05qhbzhd198iqv8d1fh9b5f7ky9c3dklh1nfba")))) |
| 18505 | (build-system gnu-build-system) |
| 18506 | (arguments |
| 18507 | ;; The test suite attempts to execute ../test-driver, which does not exist. |
| 18508 | `(#:tests? #false |
| 18509 | #:configure-flags |
| 18510 | ,#~(list (string-append "--with-libmaus2=" |
| 18511 | #$(this-package-input "libmaus2"))))) |
| 18512 | (inputs |
| 18513 | (list libmaus2 xerces-c)) |
| 18514 | (native-inputs |
| 18515 | (list pkg-config)) |
| 18516 | (home-page "https://gitlab.com/german.tischler/biobambam2") |
| 18517 | (synopsis "Tools for processing BAM files") |
| 18518 | (description "This package contains some tools for processing BAM files |
| 18519 | including: |
| 18520 | |
| 18521 | @itemize |
| 18522 | @item bamsormadup: parallel sorting and duplicate marking |
| 18523 | @item bamcollate2: reads BAM and writes BAM reordered such that alignment or |
| 18524 | collated by query name |
| 18525 | @item bammarkduplicates: reads BAM and writes BAM with duplicate alignments |
| 18526 | marked using the BAM flags field |
| 18527 | @item bammaskflags: reads BAM and writes BAM while masking (removing) bits |
| 18528 | from the flags column |
| 18529 | @item bamrecompress: reads BAM and writes BAM with a defined compression |
| 18530 | setting. This tool is capable of multi-threading. |
| 18531 | @item bamsort: reads BAM and writes BAM resorted by coordinates or query name |
| 18532 | @item bamtofastq: reads BAM and writes FastQ; output can be collated or |
| 18533 | uncollated by query name. |
| 18534 | @end itemize |
| 18535 | ") |
| 18536 | ;; The COPYING file states that the code is distributed under version 3 of |
| 18537 | ;; the GPL, but the license headers include the "or later" clause. |
| 18538 | (license license:gpl3+))) |
| 18539 | |
| 18540 | (define-public r-disgenet2r |
| 18541 | (let ((commit "8d8ce37da7384004038b25e784b9f7cfe2353de1") |
| 18542 | (revision "1")) |
| 18543 | (package |
| 18544 | (name "r-disgenet2r") |
| 18545 | (version (git-version "0.99.2" revision commit)) |
| 18546 | (source (origin |
| 18547 | (method git-fetch) |
| 18548 | (uri (git-reference |
| 18549 | (url "https://bitbucket.org/ibi_group/disgenet2r") |
| 18550 | (commit commit))) |
| 18551 | (file-name (git-file-name name version)) |
| 18552 | (sha256 |
| 18553 | (base32 |
| 18554 | "0dvk75s6wqssdyfn5iczldb8krvrz2s0dslxns4571cb2pr09b84")))) |
| 18555 | (properties `((upstream-name . "disgenet2r"))) |
| 18556 | (build-system r-build-system) |
| 18557 | (propagated-inputs (list r-data-table |
| 18558 | r-ggplot2 |
| 18559 | r-gtable |
| 18560 | r-httr |
| 18561 | r-igraph |
| 18562 | r-jsonlite |
| 18563 | r-purrr |
| 18564 | r-reshape |
| 18565 | r-reshape2 |
| 18566 | r-sparql |
| 18567 | r-stringr |
| 18568 | r-tidyr |
| 18569 | r-tidyverse |
| 18570 | r-venndiagram)) |
| 18571 | (native-inputs (list r-knitr)) |
| 18572 | (home-page "https://bitbucket.org/ibi_group/disgenet2r") |
| 18573 | (synopsis "Query, visualize, and expand DisGeNET data") |
| 18574 | (description |
| 18575 | "This is an R package to query and expand DisGeNET data, and to |
| 18576 | visualize the results within R framework. The disgenet2r package is designed |
| 18577 | to retrieve data from DisGeNET v6.0 (Jan, 2019).") |
| 18578 | (license license:expat)))) |
| 18579 | |
| 18580 | (define-public r-dtmm |
| 18581 | (let ((commit "3a553b1e17d27d90a496d2e23e98e5dfe4abc266") |
| 18582 | (revision "1")) |
| 18583 | (package |
| 18584 | (name "r-dtmm") |
| 18585 | (version (git-version "0.1.0" revision commit)) |
| 18586 | (source (origin |
| 18587 | (method git-fetch) |
| 18588 | (uri (git-reference |
| 18589 | (url "https://github.com/MaStatLab/DTMM") |
| 18590 | (commit commit))) |
| 18591 | (file-name (git-file-name name version)) |
| 18592 | (sha256 |
| 18593 | (base32 |
| 18594 | "19279wafqfs9gk9489f8zsp52qcdb0mkxgvqszq4i733ckr2mmkk")))) |
| 18595 | (properties `((upstream-name . "DTMM"))) |
| 18596 | (build-system r-build-system) |
| 18597 | (propagated-inputs (list r-ape r-rcpp r-rcpparmadillo)) |
| 18598 | (home-page "https://github.com/MaStatLab/DTMM") |
| 18599 | (synopsis "Dirichlet-tree multinomial mixtures") |
| 18600 | (description |
| 18601 | "This package lets you perform unsupervised clustering of amplicon |
| 18602 | sequencing data in microbiome studies with the Dirichlet-tree Multinomial |
| 18603 | Mixtures.") |
| 18604 | (license license:cc0)))) |
| 18605 | |
| 18606 | ;; Needed for r-liana |
| 18607 | (define-public r-omnipathr/devel |
| 18608 | (package |
| 18609 | (name "r-omnipathr") |
| 18610 | (version "3.15.3") |
| 18611 | (source (origin |
| 18612 | (method git-fetch) |
| 18613 | (uri (git-reference |
| 18614 | (url "https://github.com/saezlab/omnipathr") |
| 18615 | (commit (string-append "v" version)))) |
| 18616 | (file-name (git-file-name name version)) |
| 18617 | (sha256 |
| 18618 | (base32 |
| 18619 | "0sq32s3v7q5w9zym54fm0ws1d1wnwyhczazyk9g722ydx2zvbls4")))) |
| 18620 | (properties `((upstream-name . "OmnipathR"))) |
| 18621 | (build-system r-build-system) |
| 18622 | (arguments |
| 18623 | `(#:phases |
| 18624 | (modify-phases %standard-phases |
| 18625 | (add-after 'unpack 'set-HOME |
| 18626 | (lambda _ (setenv "HOME" "/tmp")))))) |
| 18627 | (propagated-inputs |
| 18628 | (list r-checkmate |
| 18629 | r-crayon |
| 18630 | r-curl |
| 18631 | r-digest |
| 18632 | r-dplyr |
| 18633 | r-fs |
| 18634 | r-httr2 |
| 18635 | r-igraph |
| 18636 | r-jsonlite |
| 18637 | r-later |
| 18638 | r-logger |
| 18639 | r-lubridate |
| 18640 | r-magrittr |
| 18641 | r-progress |
| 18642 | r-purrr |
| 18643 | r-r-utils |
| 18644 | r-rappdirs |
| 18645 | r-readr |
| 18646 | r-readxl |
| 18647 | r-rlang |
| 18648 | r-rmarkdown |
| 18649 | r-rsqlite |
| 18650 | r-rvest |
| 18651 | r-sessioninfo |
| 18652 | r-stringi |
| 18653 | r-stringr |
| 18654 | r-tibble |
| 18655 | r-tidyr |
| 18656 | r-tidyselect |
| 18657 | r-vctrs |
| 18658 | r-withr |
| 18659 | r-xml |
| 18660 | r-xml2 |
| 18661 | r-yaml |
| 18662 | r-zip)) |
| 18663 | (native-inputs (list r-knitr r-testthat)) |
| 18664 | (home-page "https://github.com/saezlab/omnipathr") |
| 18665 | (synopsis "OmniPath web service client and more") |
| 18666 | (description |
| 18667 | "This package provides a client for the OmniPath web service and many |
| 18668 | other resources. It also includes functions to transform and pretty print |
| 18669 | some of the downloaded data, functions to access a number of other resources |
| 18670 | such as BioPlex, ConsensusPathDB, EVEX, Gene Ontology, Guide to |
| 18671 | Pharmacology (IUPHAR/BPS), Harmonizome, HTRIdb, Human Phenotype Ontology, |
| 18672 | InWeb InBioMap, KEGG Pathway, Pathway Commons, Ramilowski et al. 2015, |
| 18673 | RegNetwork, ReMap, TF census, TRRUST and Vinayagam et al. 2011. Furthermore, |
| 18674 | OmnipathR features a close integration with the NicheNet method for ligand |
| 18675 | activity prediction from transcriptomics data, and its R implementation |
| 18676 | @code{nichenetr}.") |
| 18677 | (license license:expat))) |
| 18678 | |
| 18679 | (define-public r-liana |
| 18680 | (let ((commit "6cab46c54234f861ea176c3de77c4b8aa45ecb3d") |
| 18681 | (revision "1")) |
| 18682 | (package |
| 18683 | (name "r-liana") |
| 18684 | (version (git-version "0.1.14" revision commit)) |
| 18685 | (source (origin |
| 18686 | (method git-fetch) |
| 18687 | (uri (git-reference |
| 18688 | (url "https://github.com/saezlab/liana/") |
| 18689 | (commit commit))) |
| 18690 | (file-name (git-file-name name version)) |
| 18691 | (sha256 |
| 18692 | (base32 |
| 18693 | "1zkvkkvxyhn60b2rribz5fhvm9kvscq8xz6is440080ihpyfyadz")))) |
| 18694 | (properties |
| 18695 | '((upstream-name . "liana") |
| 18696 | (updater-extra-native-inputs |
| 18697 | . ("r-delayedmatrixstats" "r-sparsematrixstats")))) |
| 18698 | (build-system r-build-system) |
| 18699 | (arguments |
| 18700 | (list |
| 18701 | #:skipped-tests |
| 18702 | ;; These tests attempt to connect to the Internet. |
| 18703 | '(("test-liana_utils.R" "Test liana pipe") |
| 18704 | ("test-liana_tensor.R" |
| 18705 | ".*Test tensor wrapper.*" |
| 18706 | ".*Test decompose_tensor.*") |
| 18707 | ;; XXX: This test returns a data.frame instead of an error. |
| 18708 | ("test-liana_cytotalk.R" ".*Test Cytotalk Wrap.*")) |
| 18709 | #:phases |
| 18710 | '(modify-phases %standard-phases |
| 18711 | ;; This is needed to find ~/.config/OmnipathR/omnipathr.yml |
| 18712 | (add-after 'unpack 'set-HOME |
| 18713 | (lambda _ (setenv "HOME" "/tmp"))) |
| 18714 | (add-after 'unpack 'seurat-compatibility |
| 18715 | (lambda _ |
| 18716 | ;; The `slot` argument of `GetAssayData()` was deprecated in |
| 18717 | ;; SeuratObject 5.0.0. |
| 18718 | (substitute* '("R/cellchat_pipe.R" |
| 18719 | "R/sca_pipe.R" |
| 18720 | "R/liana_prep.R" |
| 18721 | "R/natmi_pipe.R") |
| 18722 | (("slot =") "layer ="))))))) |
| 18723 | (propagated-inputs |
| 18724 | (list r-basilisk |
| 18725 | r-basilisk-utils |
| 18726 | r-complexheatmap |
| 18727 | r-dplyr |
| 18728 | r-ggplot2 |
| 18729 | r-magrittr |
| 18730 | r-omnipathr/devel |
| 18731 | r-purrr |
| 18732 | r-rcolorbrewer |
| 18733 | r-readr |
| 18734 | r-reticulate |
| 18735 | r-rlang |
| 18736 | r-scater |
| 18737 | r-scran |
| 18738 | r-scuttle |
| 18739 | r-seuratobject |
| 18740 | r-singlecellexperiment |
| 18741 | r-stringr |
| 18742 | r-tibble |
| 18743 | r-tidyr |
| 18744 | r-tidyselect)) |
| 18745 | (native-inputs |
| 18746 | (list r-delayedmatrixstats |
| 18747 | r-knitr |
| 18748 | r-seurat |
| 18749 | r-sparsematrixstats |
| 18750 | r-testthat)) |
| 18751 | (home-page "https://github.com/saezlab/liana/") |
| 18752 | (synopsis "LIANA: a LIgand-receptor ANalysis frAmework") |
| 18753 | (description |
| 18754 | "LIANA provides a number of methods and resource for ligand-receptor |
| 18755 | interaction inference from scRNA-seq data.") |
| 18756 | (license license:gpl3)))) |
| 18757 | |
| 18758 | (define-public r-circus |
| 18759 | (package |
| 18760 | (name "r-circus") |
| 18761 | (version "0.1.7") |
| 18762 | (source (origin |
| 18763 | (method git-fetch) |
| 18764 | (uri (git-reference |
| 18765 | (url "https://github.com/BIMSBbioinfo/ciRcus") |
| 18766 | (commit version))) |
| 18767 | (file-name (git-file-name name version)) |
| 18768 | (sha256 |
| 18769 | (base32 |
| 18770 | "0d1jz7r81zbcy1gkppggkjmgjxyjhva69s3cdb01m3f0790m4fv0")))) |
| 18771 | (properties `((upstream-name . "ciRcus"))) |
| 18772 | (build-system r-build-system) |
| 18773 | (arguments |
| 18774 | (list |
| 18775 | #:phases |
| 18776 | '(modify-phases %standard-phases |
| 18777 | (add-after 'unpack 'disable-bad-tests |
| 18778 | (lambda _ |
| 18779 | ;; These tests need Internet access. |
| 18780 | (substitute* "tests/testthat/test-loadAnnot.R" |
| 18781 | (("test_that.*Annotation.*" m) |
| 18782 | (string-append m "skip('guix')\n")))))))) |
| 18783 | (propagated-inputs |
| 18784 | (list r-annotationdbi |
| 18785 | r-annotationhub |
| 18786 | r-biocgenerics |
| 18787 | r-biomart |
| 18788 | r-data-table |
| 18789 | r-dbi |
| 18790 | r-genomeinfodb |
| 18791 | r-genomicfeatures |
| 18792 | r-genomicranges |
| 18793 | r-ggplot2 |
| 18794 | r-hash |
| 18795 | r-iranges |
| 18796 | r-rcolorbrewer |
| 18797 | r-rmysql |
| 18798 | r-rtracklayer |
| 18799 | r-s4vectors |
| 18800 | r-stringr |
| 18801 | r-summarizedexperiment)) |
| 18802 | (native-inputs |
| 18803 | (list r-knitr r-testthat)) |
| 18804 | (home-page "https://github.com/BIMSBbioinfo/ciRcus") |
| 18805 | (synopsis "Annotation, analysis and visualization of circRNA data") |
| 18806 | (description "Circus is an R package for annotation, analysis and |
| 18807 | visualization of circRNA data. Users can annotate their circRNA candidates |
| 18808 | with host genes, gene features they are spliced from, and discriminate between |
| 18809 | known and yet unknown splice junctions. Circular-to-linear ratios of circRNAs |
| 18810 | can be calculated, and a number of descriptive plots easily generated.") |
| 18811 | (license license:artistic2.0))) |
| 18812 | |
| 18813 | (define-public r-domultibarheatmap |
| 18814 | (let ((commit "9e65afa0aa69fee631c61b7bf3e7742632c9cb95") |
| 18815 | (revision "1")) |
| 18816 | (package |
| 18817 | (name "r-domultibarheatmap") |
| 18818 | (version (git-version "0.1.0" revision commit)) |
| 18819 | (source (origin |
| 18820 | (method git-fetch) |
| 18821 | (uri (git-reference |
| 18822 | (url "https://github.com/elliefewings/DoMultiBarHeatmap") |
| 18823 | (commit commit))) |
| 18824 | (file-name (git-file-name name version)) |
| 18825 | (sha256 |
| 18826 | (base32 |
| 18827 | "0q9mrc6md08aff6hhzlw3igvv3w7pr1wildzm8i0km9xvbi9iyy9")))) |
| 18828 | (properties `((upstream-name . "DoMultiBarHeatmap"))) |
| 18829 | (build-system r-build-system) |
| 18830 | (propagated-inputs (list r-ggplot2 r-magrittr r-rlang r-seurat)) |
| 18831 | (home-page "https://github.com/elliefewings/DoMultiBarHeatmap") |
| 18832 | (synopsis "Produce heatmap from a Seurat object with multiple annotation bars") |
| 18833 | (description "This package builds on Seurat's @code{Doheatmap} function |
| 18834 | code to produce a heatmap from a Seurat object with multiple annotation |
| 18835 | bars.") |
| 18836 | (license license:cc0)))) |
| 18837 | |
| 18838 | (define-public r-doubletfinder |
| 18839 | (let ((commit "554097ba4e2c0ed7c28dc7f0b5b75277f3a50551") |
| 18840 | (revision "1")) |
| 18841 | (package |
| 18842 | (name "r-doubletfinder") |
| 18843 | (version (git-version "2.0.3" revision commit)) |
| 18844 | (source |
| 18845 | (origin |
| 18846 | (method git-fetch) |
| 18847 | (uri (git-reference |
| 18848 | (url "https://github.com/chris-mcginnis-ucsf/DoubletFinder") |
| 18849 | (commit commit))) |
| 18850 | (file-name (git-file-name name version)) |
| 18851 | (sha256 |
| 18852 | (base32 "1q1pnqw7ry4syp04wjmvz5bws6z4vg4c340ky07lk0vp577x2773")))) |
| 18853 | (properties `((upstream-name . "DoubletFinder"))) |
| 18854 | (build-system r-build-system) |
| 18855 | (propagated-inputs (list r-fields r-kernsmooth r-rocr)) |
| 18856 | (home-page "https://github.com/chris-mcginnis-ucsf/DoubletFinder") |
| 18857 | (synopsis "Identify doublets in single-cell RNA sequencing data") |
| 18858 | (description |
| 18859 | "DoubletFinder identifies doublets by generating artificial doublets |
| 18860 | from existing scRNA-seq data and defining which real cells preferentially |
| 18861 | co-localize with artificial doublets in gene expression space. Other |
| 18862 | DoubletFinder package functions are used for fitting DoubletFinder to |
| 18863 | different scRNA-seq datasets. For example, ideal DoubletFinder performance in |
| 18864 | real-world contexts requires optimal pK selection and homotypic doublet |
| 18865 | proportion estimation. pK selection is achieved using pN-pK parameter sweeps |
| 18866 | and maxima identification in mean-variance-normalized bimodality coefficient |
| 18867 | distributions. Homotypic doublet proportion estimation is achieved by finding |
| 18868 | the sum of squared cell annotation frequencies.") |
| 18869 | (license license:cc0)))) |
| 18870 | |
| 18871 | ;; There have been no releases. |
| 18872 | (define-public r-cytobackbone |
| 18873 | (let ((commit "4c1a0a35cc5ae1f8f516127cec92351d96fe26e7") |
| 18874 | (revision "1")) |
| 18875 | (package |
| 18876 | (name "r-cytobackbone") |
| 18877 | (version (git-version "1.0.0" revision commit)) |
| 18878 | (source (origin |
| 18879 | (method git-fetch) |
| 18880 | (uri (git-reference |
| 18881 | (url "https://github.com/tchitchek-lab/CytoBackBone") |
| 18882 | (commit commit))) |
| 18883 | (file-name (git-file-name name version)) |
| 18884 | (sha256 |
| 18885 | (base32 |
| 18886 | "0ahiad14zcgdk42xzw5xryic2ibn2l8lkrcdvl2b5sz2js028yb3")))) |
| 18887 | (properties `((upstream-name . "CytoBackBone"))) |
| 18888 | (build-system r-build-system) |
| 18889 | (propagated-inputs |
| 18890 | (list r-flowcore |
| 18891 | r-flowutils |
| 18892 | r-fnn |
| 18893 | r-ggplot2 |
| 18894 | r-preprocesscore)) |
| 18895 | (native-inputs (list r-knitr)) |
| 18896 | (home-page "https://github.com/tchitchek-lab/CytoBackBone") |
| 18897 | (synopsis "Merge phenotype information from different cytometric profiles") |
| 18898 | (description |
| 18899 | "This package implements an algorithm which increases the number of |
| 18900 | simultaneously measurable markers and in this way helps with study of the |
| 18901 | immune responses. Thus, the present algorithm, named @code{CytoBackBone}, |
| 18902 | allows combining phenotypic information of cells from different cytometric |
| 18903 | profiles obtained from different cytometry panels. This computational |
| 18904 | approach is based on the principle that each cell has its own phenotypic and |
| 18905 | functional characteristics that can be used as an identification card. |
| 18906 | @code{CytoBackBone} uses a set of predefined markers, that we call the |
| 18907 | backbone, to define this identification card. The phenotypic information of |
| 18908 | cells with similar identification cards in the different cytometric profiles |
| 18909 | is then merged.") |
| 18910 | (license license:gpl2)))) |
| 18911 | |
| 18912 | (define-public r-cytoexplorer |
| 18913 | (let ((commit "0efb1cc19fc701ae03905cf1b8484c1dfeb387df") |
| 18914 | (revision "1")) |
| 18915 | (package |
| 18916 | (name "r-cytoexplorer") |
| 18917 | (version (git-version "1.1.0" revision commit)) |
| 18918 | (source |
| 18919 | (origin |
| 18920 | (method git-fetch) |
| 18921 | (uri (git-reference |
| 18922 | (url "https://github.com/DillonHammill/CytoExploreR") |
| 18923 | (commit commit))) |
| 18924 | (file-name (git-file-name name version)) |
| 18925 | (sha256 |
| 18926 | (base32 |
| 18927 | "1y7dadsy15i47rjmdq6ns80jzm6p0zmixll37q68ba2c7xn5pq3v")) |
| 18928 | (snippet |
| 18929 | '(delete-file |
| 18930 | "docs/articles/CytoExploreR_files/vis-4.20.1/vis.min.js")))) |
| 18931 | (properties `((upstream-name . "CytoExploreR"))) |
| 18932 | (build-system r-build-system) |
| 18933 | (arguments |
| 18934 | (list |
| 18935 | #:phases |
| 18936 | '(modify-phases %standard-phases |
| 18937 | (add-after 'unpack 'skip-bad-tests |
| 18938 | (lambda _ |
| 18939 | (with-directory-excursion "tests/testthat/" |
| 18940 | ;; All of these fail because with_mock has been removed from |
| 18941 | ;; r-testthat. |
| 18942 | (substitute* "test-cyto_channels-helpers.R" |
| 18943 | (("^test_that.*cyto_channel_select.*" m) |
| 18944 | (string-append m "skip('guix')"))) |
| 18945 | (substitute* "test-cyto_gate_draw.R" |
| 18946 | (("^test_that.*cyto_gate_draw.*" m) |
| 18947 | (string-append m "skip('guix')"))) |
| 18948 | (substitute* "test-cyto_gate_helpers.R" |
| 18949 | (("^test_that.*cyto_gate_edit.*" m) |
| 18950 | (string-append m "skip('guix')"))) |
| 18951 | (substitute* "test-cyto_helpers.R" |
| 18952 | (("^test_that.*cyto_markers_edit.*" m) |
| 18953 | (string-append m "skip('guix')")) |
| 18954 | (("^test_that.*cyto_details_edit.*" m) |
| 18955 | (string-append m "skip('guix')")) |
| 18956 | (("^test_that.*cyto_channel_match.*" m) |
| 18957 | (string-append m "skip('guix')"))) |
| 18958 | (substitute* "test-cyto_spillover_compute.R" |
| 18959 | (("^test_that.*cyto_spillover_compute universal reference.*" m) |
| 18960 | (string-append m "skip('guix')")) |
| 18961 | (("^test_that.*cyto_spillover_compute internal reference.*" m) |
| 18962 | (string-append m "skip('guix')"))) |
| 18963 | (substitute* "test-openCyto-plugins.R" |
| 18964 | (("^test_that.*cyto_gate_manual.*" m) |
| 18965 | (string-append m "skip('guix')"))) |
| 18966 | |
| 18967 | ;; These tests fail. Some fail because of unimportant |
| 18968 | ;; differences in printed messages. |
| 18969 | (substitute* "test-cyto_channels-helpers.R" |
| 18970 | (("^test_that.*cyto_channels_restrict.*" m) |
| 18971 | (string-append m "skip('guix')"))) |
| 18972 | (substitute* "test-cyto_gate_helpers.R" |
| 18973 | (("^test_that.*cyto_gate_rename.*" m) |
| 18974 | (string-append m "skip('guix')")) |
| 18975 | (("^test_that.*cyto_gate_remove.*" m) |
| 18976 | (string-append m "skip('guix')"))) |
| 18977 | (substitute* "test-cyto_helpers.R" |
| 18978 | (("^test_that.*cyto_compensate.*" m) |
| 18979 | (string-append m "skip('guix')")) |
| 18980 | (("^test_that.*cyto_empty.*" m) |
| 18981 | (string-append m "skip('guix')")) |
| 18982 | (("^test_that.*cyto_group_by.*" m) |
| 18983 | (string-append m "skip('guix')"))) |
| 18984 | (substitute* "test-cyto_spillover_spread_compute.R" |
| 18985 | (("^test_that.*cyto_spillover_spread_compute internal reference.*" m) |
| 18986 | (string-append m "skip('guix')")) |
| 18987 | (("^test_that.*cyto_spillover_spread_compute universal reference.*" m) |
| 18988 | (string-append m "skip('guix')")))))) |
| 18989 | (add-after 'unpack 'process-javascript |
| 18990 | (lambda* (#:key inputs #:allow-other-keys) |
| 18991 | (with-directory-excursion "docs/articles/CytoExploreR_files/" |
| 18992 | (let ((source (search-input-file inputs "/dist/vis.js")) |
| 18993 | (target "vis-4.20.1/vis.min.js")) |
| 18994 | (invoke "esbuild" source "--minify" |
| 18995 | (string-append "--outfile=" target))))))))) |
| 18996 | (propagated-inputs |
| 18997 | (list r-biocgenerics |
| 18998 | r-bslib |
| 18999 | r-data-table |
| 19000 | r-dplyr |
| 19001 | r-embedsom |
| 19002 | r-flowai |
| 19003 | r-flowcore |
| 19004 | r-flowworkspace |
| 19005 | r-gtools |
| 19006 | r-magrittr |
| 19007 | r-mass |
| 19008 | r-opencyto |
| 19009 | r-purrr |
| 19010 | r-rhandsontable |
| 19011 | r-robustbase |
| 19012 | r-rsvd |
| 19013 | r-rtsne |
| 19014 | r-shiny |
| 19015 | r-superheat |
| 19016 | r-tibble |
| 19017 | r-tidyr |
| 19018 | r-umap |
| 19019 | r-visnetwork)) |
| 19020 | (native-inputs |
| 19021 | (list esbuild |
| 19022 | r-cytoexplorerdata |
| 19023 | r-knitr |
| 19024 | r-mockery |
| 19025 | r-testthat |
| 19026 | (let ((version "4.20.1")) |
| 19027 | (origin |
| 19028 | (method git-fetch) |
| 19029 | (uri (git-reference |
| 19030 | (url "https://github.com/almende/vis") |
| 19031 | (commit (string-append "v" version)))) |
| 19032 | (file-name (git-file-name "js-vis" version)) |
| 19033 | (sha256 |
| 19034 | (base32 |
| 19035 | "09ldcqzzki5c0jlwas5992qjffqxnx6j5sl703qccfw7rg1hn469")))))) |
| 19036 | (home-page "https://github.com/DillonHammill/CytoExploreR") |
| 19037 | (synopsis "Interactive analysis of cytometry data") |
| 19038 | (description |
| 19039 | "This package has been developed under ROpenSci gudelines to integrate |
| 19040 | conventional and cutting edge cytometry analysis tools under a unified |
| 19041 | framework. It aims to represent an intuitive and interactive approach to |
| 19042 | analysing cytometry data in R.") |
| 19043 | (license license:gpl2)))) |
| 19044 | |
| 19045 | (define-public r-cytoexplorerdata |
| 19046 | (let ((commit "488edf083092247ad547172906efe6f8c2aa8700") |
| 19047 | (revision "1")) |
| 19048 | (package |
| 19049 | (name "r-cytoexplorerdata") |
| 19050 | (version (git-version "1.0.3" revision commit)) |
| 19051 | (source |
| 19052 | (origin |
| 19053 | (method git-fetch) |
| 19054 | (uri (git-reference |
| 19055 | (url "https://github.com/DillonHammill/CytoExploreRData") |
| 19056 | (commit commit))) |
| 19057 | (file-name (git-file-name name version)) |
| 19058 | (sha256 |
| 19059 | (base32 "0mp3d8cv57psz5zjp7a1f07fxw9dw0w0x9fv32k46a566k1073p3")))) |
| 19060 | (properties `((upstream-name . "CytoExploreRData"))) |
| 19061 | (build-system r-build-system) |
| 19062 | (native-inputs (list r-knitr)) |
| 19063 | (home-page "https://github.com/DillonHammill/CytoExploreRData") |
| 19064 | (synopsis "Flow Cytometry Data for CytoExploreR") |
| 19065 | (description |
| 19066 | "This package contains @code{gatingTemplates}, example fcs files and compensation |
| 19067 | controls for use in @code{CytoExploreR}.") |
| 19068 | (license license:gpl2)))) |
| 19069 | |
| 19070 | (define-public r-giottoclass |
| 19071 | (let ((commit "15627a29bcdaf7e484546363b185a2ccee6470a5") |
| 19072 | (revision "1")) |
| 19073 | (package |
| 19074 | (name "r-giottoclass") |
| 19075 | (version (git-version "0.4.10" revision commit)) |
| 19076 | (source |
| 19077 | (origin |
| 19078 | (method git-fetch) |
| 19079 | (uri (git-reference |
| 19080 | (url "https://github.com/drieslab/GiottoClass") |
| 19081 | (commit commit))) |
| 19082 | (file-name (git-file-name name version)) |
| 19083 | (sha256 |
| 19084 | (base32 "15kaf1wli8sc8d9k9l4bkl4z68yrva1zi9w5yqgbbw1n44khn8yx")))) |
| 19085 | (properties `((upstream-name . "GiottoClass"))) |
| 19086 | (build-system r-build-system) |
| 19087 | ;; Tests require r-giottodata, which requires r-giottoclass. |
| 19088 | (arguments (list #:tests? #false)) |
| 19089 | (propagated-inputs (list r-checkmate |
| 19090 | r-data-table |
| 19091 | r-dbscan |
| 19092 | r-deldir |
| 19093 | r-giottoutils |
| 19094 | r-igraph |
| 19095 | r-matrix |
| 19096 | r-matrixstats |
| 19097 | r-reticulate |
| 19098 | r-terra)) |
| 19099 | (native-inputs (list r-knitr r-testthat)) |
| 19100 | (home-page "https://github.com/drieslab/GiottoClass") |
| 19101 | (synopsis "Giotto suite object definitions and framework") |
| 19102 | (description |
| 19103 | "This package provides definitions for the Giotto object and its |
| 19104 | subobjects. Functionalities relating to data ingestion, basic object |
| 19105 | creation, data access within the Giotto object, and generics defined for the |
| 19106 | Giotto classes are all found here. Applications of this framework and |
| 19107 | convenience functions for loading specific technologies are found in the base |
| 19108 | Giotto package.") |
| 19109 | (license license:expat)))) |
| 19110 | |
| 19111 | (define-public r-giottodata |
| 19112 | (let ((commit "1dc55ee8195104a81549b9e3fad04bd459b226de") |
| 19113 | (revision "1")) |
| 19114 | (package |
| 19115 | (name "r-giottodata") |
| 19116 | (version (git-version "0.2.16" revision commit)) |
| 19117 | (source |
| 19118 | (origin |
| 19119 | (method git-fetch) |
| 19120 | (uri (git-reference |
| 19121 | (url "https://github.com/drieslab/GiottoData") |
| 19122 | (commit commit))) |
| 19123 | (file-name (git-file-name name version)) |
| 19124 | (sha256 |
| 19125 | (base32 "0izlmfrghx5nixlx1m9bpd5qxlvj6llz898qd0ij5ihp5x2w7dqk")))) |
| 19126 | (properties `((upstream-name . "GiottoData"))) |
| 19127 | (build-system r-build-system) |
| 19128 | (propagated-inputs (list r-data-table r-giottoclass r-giottoutils |
| 19129 | r-rprojroot)) |
| 19130 | (home-page "https://github.com/drieslab/GiottoData") |
| 19131 | (synopsis "Datasets for Giotto") |
| 19132 | (description |
| 19133 | "This package stores information and scripts to work with, or load |
| 19134 | various different spatial datasets that can be used with the Giotto Suite |
| 19135 | workflow. It also contains example mini Giotto subobjects.") |
| 19136 | (license license:expat)))) |
| 19137 | |
| 19138 | (define-public r-giottoutils |
| 19139 | (let ((commit "1ce82e5303b002540b41b6bf90ff543c26f41b31") |
| 19140 | (revision "1")) |
| 19141 | (package |
| 19142 | (name "r-giottoutils") |
| 19143 | (version (git-version "0.2.5" revision commit)) |
| 19144 | (source |
| 19145 | (origin |
| 19146 | (method git-fetch) |
| 19147 | (uri (git-reference |
| 19148 | (url "https://github.com/drieslab/GiottoUtils") |
| 19149 | (commit commit))) |
| 19150 | (file-name (git-file-name name version)) |
| 19151 | (sha256 |
| 19152 | (base32 "04wm0ym07gz5zi639nm175vv7xsg0rja9vdb03jv969zbwcrd8mv")))) |
| 19153 | (properties `((upstream-name . "GiottoUtils"))) |
| 19154 | (build-system r-build-system) |
| 19155 | (arguments |
| 19156 | (list |
| 19157 | #:phases |
| 19158 | '(modify-phases %standard-phases |
| 19159 | (add-after 'unpack 'find-python |
| 19160 | (lambda _ |
| 19161 | (setenv "RETICULATE_PYTHON" (which "python3"))))))) |
| 19162 | (propagated-inputs (list r-biocparallel |
| 19163 | r-checkmate |
| 19164 | r-data-table |
| 19165 | r-dplyr |
| 19166 | r-future |
| 19167 | r-gtools |
| 19168 | r-jsonlite |
| 19169 | r-lifecycle |
| 19170 | r-magrittr |
| 19171 | r-matrix |
| 19172 | r-progressr |
| 19173 | r-r-utils |
| 19174 | r-rcolorbrewer |
| 19175 | r-remotes |
| 19176 | r-reticulate |
| 19177 | python-scipy)) |
| 19178 | (inputs (list python-wrapper)) |
| 19179 | (native-inputs (list r-knitr r-testthat)) |
| 19180 | (home-page "https://github.com/drieslab/GiottoUtils") |
| 19181 | (synopsis "Giotto suite utilities") |
| 19182 | (description "This package provides utility functions and imports for |
| 19183 | Giotto Suite.") |
| 19184 | (license license:expat)))) |
| 19185 | |
| 19186 | (define-public r-giottovisuals |
| 19187 | (let ((commit "556d75352a208507819f1d4e33ae61c179185435") |
| 19188 | (revision "1")) |
| 19189 | (package |
| 19190 | (name "r-giottovisuals") |
| 19191 | (version (git-version "0.2.14" revision commit)) |
| 19192 | (source |
| 19193 | (origin |
| 19194 | (method git-fetch) |
| 19195 | (uri (git-reference |
| 19196 | (url "https://github.com/drieslab/GiottoVisuals") |
| 19197 | (commit commit))) |
| 19198 | (file-name (git-file-name name version)) |
| 19199 | (sha256 |
| 19200 | (base32 "1a9kdfvz7bpb92fjgsyjd12rp7c0zc3cbjvkcv5lf91lfjqivlhb")))) |
| 19201 | (properties `((upstream-name . "GiottoVisuals"))) |
| 19202 | (build-system r-build-system) |
| 19203 | (propagated-inputs (list r-checkmate |
| 19204 | r-colorramp2 |
| 19205 | r-cowplot |
| 19206 | r-data-table |
| 19207 | r-ggplot2 |
| 19208 | r-ggrepel |
| 19209 | r-giottoclass |
| 19210 | r-giottoutils |
| 19211 | r-igraph |
| 19212 | r-plotly |
| 19213 | r-scales |
| 19214 | r-scattermore |
| 19215 | r-terra)) |
| 19216 | (native-inputs (list r-knitr r-testthat)) |
| 19217 | (home-page "https://github.com/drieslab/GiottoVisuals") |
| 19218 | (synopsis "Visuals for the Giotto spatial biology analysis suite") |
| 19219 | (description |
| 19220 | "This package provides expanded visualization and plotting |
| 19221 | functionality for Giotto Suite.") |
| 19222 | (license license:expat)))) |
| 19223 | |
| 19224 | (define-public r-giotto |
| 19225 | (let ((commit "7988300d59d7ca67c6203411794f1f3a813979d5") |
| 19226 | (revision "1")) |
| 19227 | (package |
| 19228 | (name "r-giotto") |
| 19229 | (version (git-version "4.2.2" revision commit)) |
| 19230 | (source |
| 19231 | (origin |
| 19232 | (method git-fetch) |
| 19233 | (uri (git-reference |
| 19234 | (url "https://github.com/drieslab/Giotto") |
| 19235 | (commit commit))) |
| 19236 | (file-name (git-file-name name version)) |
| 19237 | (sha256 |
| 19238 | (base32 "1h3a6czswpczckc5cgcfsxjcil0pzq57fv8lfrgjl655qqs3riix")))) |
| 19239 | (properties `((upstream-name . "Giotto"))) |
| 19240 | (build-system r-build-system) |
| 19241 | ;; Test data are not included. |
| 19242 | (arguments (list #:tests? #false)) |
| 19243 | (propagated-inputs |
| 19244 | (list r-bluster |
| 19245 | r-biocparallel |
| 19246 | r-biocsingular |
| 19247 | r-checkmate |
| 19248 | r-data-table |
| 19249 | r-dbscan |
| 19250 | r-ggplot2 |
| 19251 | r-ggraph |
| 19252 | r-giottoclass |
| 19253 | r-giottoutils |
| 19254 | r-giottovisuals |
| 19255 | r-igraph |
| 19256 | r-matrix |
| 19257 | r-matrixgenerics |
| 19258 | r-reticulate |
| 19259 | r-scales |
| 19260 | r-sparsematrixstats |
| 19261 | r-terra |
| 19262 | r-uwot |
| 19263 | |
| 19264 | ;; The following are suggested packages |
| 19265 | r-arrow |
| 19266 | r-clusterr |
| 19267 | r-complexheatmap |
| 19268 | r-fitdistrplus |
| 19269 | r-future-apply |
| 19270 | r-ggdendro |
| 19271 | r-limma |
| 19272 | r-plotly |
| 19273 | r-r-utils |
| 19274 | r-rfast |
| 19275 | r-rlang |
| 19276 | r-rtsne)) |
| 19277 | (native-inputs (list r-knitr r-testthat)) |
| 19278 | (home-page "https://github.com/drieslab/Giotto") |
| 19279 | (synopsis "Spatial single-cell transcriptomics toolbox") |
| 19280 | (description |
| 19281 | "This package provides a toolbox to process, analyze and visualize |
| 19282 | spatial single-cell expression data.") |
| 19283 | (license license:expat)))) |
| 19284 | |
| 19285 | ;; Variant of r-illuminahumanmethylationepicmanifest in the |
| 19286 | ;; (gnu packages bioconductor) module. |
| 19287 | (define-public r-illuminahumanmethylationepicmanifest-latest |
| 19288 | (let ((commit "a9ffbad36f5e496ece6c4c37b80e2f4f7e02d0c3") |
| 19289 | (revision "1")) |
| 19290 | (package |
| 19291 | (name "r-illuminahumanmethylationepicmanifest") |
| 19292 | (version (git-version "1.0.0" revision commit)) |
| 19293 | (source |
| 19294 | (origin |
| 19295 | (method git-fetch) |
| 19296 | (uri (git-reference |
| 19297 | (url |
| 19298 | "https://github.com/achilleasNP/IlluminaHumanMethylationEPICmanifest") |
| 19299 | (commit commit))) |
| 19300 | (file-name (git-file-name name version)) |
| 19301 | (sha256 |
| 19302 | (base32 "0v8f0hl0v8gwi61vgqw56rn5j09h95hj54rb8pzbn0znm162n4fc")))) |
| 19303 | (properties `((upstream-name . "IlluminaHumanMethylationEPICmanifest"))) |
| 19304 | (build-system r-build-system) |
| 19305 | (home-page |
| 19306 | "https://github.com/achilleasNP/IlluminaHumanMethylationEPICmanifest") |
| 19307 | (synopsis "Illumina Human Methylation Manifest 1.0 B5 for R and minfi") |
| 19308 | (description |
| 19309 | "This is a drop-in replacement for the |
| 19310 | @code{IlluminaHumanMethylationEPIC} package. It utilizes a Manifest based on |
| 19311 | 1.0B5 annotation. As of version 0.3.0, the |
| 19312 | @code{IlluminaHumanMethylationEPIC} package still employs the 1.0B2 annotation |
| 19313 | manifest. A corresponding annotation package, |
| 19314 | @code{IlluminaHumanMethylationEPICanno.ilm10b5.hg38}, is available to ensure |
| 19315 | proper annotation. The decision to maintain the same name is due to |
| 19316 | complications in downstream processing caused by array name lookup in certain |
| 19317 | preprocessing options.") |
| 19318 | (license license:artistic2.0)))) |
| 19319 | |
| 19320 | (define-public r-illuminahumanmethylationepicanno-ilm10b5-hg38 |
| 19321 | (let ((commit "3db06910e27f626e0cc8b335ff45cf9a4050a36a") |
| 19322 | (revision "1")) |
| 19323 | (package |
| 19324 | (name "r-illuminahumanmethylationepicanno-ilm10b5-hg38") |
| 19325 | (version (git-version "0.0.1" revision commit)) |
| 19326 | (source (origin |
| 19327 | (method git-fetch) |
| 19328 | (uri (git-reference |
| 19329 | (url |
| 19330 | "https://github.com/achilleasNP/IlluminaHumanMethylationEPICanno.ilm10b5.hg38") |
| 19331 | (commit commit))) |
| 19332 | (file-name (git-file-name name version)) |
| 19333 | (sha256 |
| 19334 | (base32 |
| 19335 | "0y8fhiwmkldi57f8nq64njfgljw68cm6pb1vh44hjwcc12k48sqr")))) |
| 19336 | (properties `((upstream-name . "IlluminaHumanMethylationEPICanno.ilm10b5.hg38"))) |
| 19337 | (build-system r-build-system) |
| 19338 | (propagated-inputs (list r-minfi)) |
| 19339 | (home-page |
| 19340 | "https://github.com/achilleasNP/IlluminaHumanMethylationEPICanno.ilm10b5.hg38") |
| 19341 | (synopsis "Illumina Human Methylation EPIC Annotation version 1.0B5") |
| 19342 | (description |
| 19343 | "This package provides a companion annotation file to the |
| 19344 | @code{IlluminaHumanMethylationEPICmanifest} package based on the same |
| 19345 | annotation 1.0B5.") |
| 19346 | (license license:artistic2.0)))) |
| 19347 | |
| 19348 | (define-public r-maxprobes |
| 19349 | (let ((commit "c2120dba972e12115280ef274ff80550cee5b264") |
| 19350 | (revision "1")) |
| 19351 | (package |
| 19352 | (name "r-maxprobes") |
| 19353 | (version (git-version "0.0.2" revision commit)) |
| 19354 | (source (origin |
| 19355 | (method git-fetch) |
| 19356 | (uri (git-reference |
| 19357 | (url "https://github.com/markgene/maxprobes") |
| 19358 | (commit commit))) |
| 19359 | (file-name (git-file-name name version)) |
| 19360 | (sha256 |
| 19361 | (base32 |
| 19362 | "1kij9bds2l9mwm519bzyd2608563qjlmbrayhva1s0vgml5iq9wh")))) |
| 19363 | (properties `((upstream-name . "maxprobes"))) |
| 19364 | (build-system r-build-system) |
| 19365 | (propagated-inputs (list r-minfi r-minfidata)) |
| 19366 | (native-inputs (list r-knitr)) |
| 19367 | (home-page "https://github.com/markgene/maxprobes") |
| 19368 | (synopsis "Methylation array cross-reactive probes") |
| 19369 | (description |
| 19370 | "The Maxprobes package collects cross-reactive probes of Illumina |
| 19371 | methylation array 450K and EPIC/850K.") |
| 19372 | (license license:gpl2+)))) |
| 19373 | |
| 19374 | (define-public gffread |
| 19375 | ;; We cannot use the tagged release because it is not in sync with gclib. |
| 19376 | ;; See https://github.com/gpertea/gffread/issues/26 |
| 19377 | (let ((commit "ba7535fcb3cea55a6e5a491d916e93b454e87fd0") |
| 19378 | (revision "1")) |
| 19379 | (package |
| 19380 | (name "gffread") |
| 19381 | (version (git-version "0.9.12" revision commit)) |
| 19382 | (source |
| 19383 | (origin |
| 19384 | (method git-fetch) |
| 19385 | (uri (git-reference |
| 19386 | (url "https://github.com/gpertea/gffread") |
| 19387 | (commit commit))) |
| 19388 | (file-name (git-file-name name version)) |
| 19389 | (sha256 |
| 19390 | (base32 |
| 19391 | "1dl2nbcg96lxpd0drg48ssa8343nf7pw9s9mkrc4mjjmfwsin3ki")))) |
| 19392 | (build-system gnu-build-system) |
| 19393 | (arguments |
| 19394 | `(#:tests? #f ; no check target |
| 19395 | #:make-flags |
| 19396 | (list "GCLDIR=gclib") |
| 19397 | #:phases |
| 19398 | (modify-phases %standard-phases |
| 19399 | (delete 'configure) |
| 19400 | (add-after 'unpack 'copy-gclib-source |
| 19401 | (lambda* (#:key inputs #:allow-other-keys) |
| 19402 | (mkdir-p "gclib") |
| 19403 | (copy-recursively (assoc-ref inputs "gclib-source") "gclib") |
| 19404 | #t)) |
| 19405 | ;; There is no install target |
| 19406 | (replace 'install |
| 19407 | (lambda* (#:key outputs #:allow-other-keys) |
| 19408 | (let* ((out (assoc-ref outputs "out")) |
| 19409 | (bin (string-append out "/bin"))) |
| 19410 | (install-file "gffread" bin)) |
| 19411 | #t))))) |
| 19412 | (native-inputs |
| 19413 | `(("gclib-source" |
| 19414 | ,(let ((version "0.10.3") |
| 19415 | (commit "54917d0849c1e83cfb057b5f712e5cb6a35d948f") |
| 19416 | (revision "1")) |
| 19417 | (origin |
| 19418 | (method git-fetch) |
| 19419 | (uri (git-reference |
| 19420 | (url "https://github.com/gpertea/gclib") |
| 19421 | (commit commit))) |
| 19422 | (file-name (git-file-name "gclib" version)) |
| 19423 | (sha256 |
| 19424 | (base32 |
| 19425 | "0b51lc0b8syrv7186fd7n8f15rwnf264qgfmm2palrwks1px24mr"))))))) |
| 19426 | (home-page "https://github.com/gpertea/gffread/") |
| 19427 | (synopsis "Parse and convert GFF/GTF files") |
| 19428 | (description |
| 19429 | "This package provides a GFF/GTF file parsing utility providing format |
| 19430 | conversions, region filtering, FASTA sequence extraction and more.") |
| 19431 | ;; gffread is under Expat, but gclib is under Artistic 2.0 |
| 19432 | (license (list license:expat |
| 19433 | license:artistic2.0))))) |
| 19434 | |
| 19435 | (define-public fit-sne |
| 19436 | (package |
| 19437 | (name "fit-sne") |
| 19438 | (version "1.2.1") |
| 19439 | (source |
| 19440 | (origin |
| 19441 | (method git-fetch) |
| 19442 | (uri (git-reference |
| 19443 | (url "https://github.com/KlugerLab/FIt-SNE") |
| 19444 | (commit (string-append "v" version)))) |
| 19445 | (file-name (git-file-name name version)) |
| 19446 | (sha256 |
| 19447 | (base32 |
| 19448 | "1imq4577awc226wvygf94kpz156qdfw8xl0w0f7ss4w10lhmpmf5")))) |
| 19449 | (build-system gnu-build-system) |
| 19450 | (arguments |
| 19451 | `(#:tests? #false ; there are none |
| 19452 | #:phases |
| 19453 | ;; There is no build system. |
| 19454 | (modify-phases %standard-phases |
| 19455 | (delete 'configure) |
| 19456 | (replace 'build |
| 19457 | (lambda _ |
| 19458 | (invoke "g++" "-std=c++11" "-O3" |
| 19459 | "src/sptree.cpp" |
| 19460 | "src/tsne.cpp" |
| 19461 | "src/nbodyfft.cpp" |
| 19462 | "-o" "bin/fast_tsne" |
| 19463 | "-pthread" "-lfftw3" "-lm" |
| 19464 | "-Wno-address-of-packed-member"))) |
| 19465 | (replace 'install |
| 19466 | (lambda* (#:key outputs #:allow-other-keys) |
| 19467 | (let* ((out (assoc-ref outputs "out")) |
| 19468 | (bin (string-append out "/bin")) |
| 19469 | (share (string-append out "/share/fit-sne"))) |
| 19470 | (for-each (lambda (file) (install-file file bin)) |
| 19471 | (find-files "bin")) |
| 19472 | |
| 19473 | (substitute* "fast_tsne.R" |
| 19474 | (("^FAST_TSNE_SCRIPT_DIR.*") |
| 19475 | (string-append "FAST_TSNE_SCRIPT_DIR = \"" out "\"\n"))) |
| 19476 | (install-file "fast_tsne.R" share))))))) |
| 19477 | (inputs |
| 19478 | (list fftw)) |
| 19479 | (home-page "https://github.com/KlugerLab/FIt-SNE") |
| 19480 | (synopsis "Fast Fourier Transform-accelerated interpolation-based t-SNE") |
| 19481 | (description "@dfn{t-Stochastic Neighborhood Embedding} (t-SNE) is a |
| 19482 | method for dimensionality reduction and visualization of high dimensional |
| 19483 | datasets. A popular implementation of t-SNE uses the Barnes-Hut algorithm to |
| 19484 | approximate the gradient at each iteration of gradient descent. This |
| 19485 | implementation differs in these ways: |
| 19486 | |
| 19487 | @itemize |
| 19488 | @item Instead of approximating the N-body simulation using Barnes-Hut, we |
| 19489 | interpolate onto an equispaced grid and use FFT to perform the convolution. |
| 19490 | @item Instead of computing nearest neighbors using vantage-point trees, we |
| 19491 | approximate nearest neighbors using the Annoy library. The neighbor lookups |
| 19492 | are multithreaded to take advantage of machines with multiple cores. |
| 19493 | @end itemize |
| 19494 | ") |
| 19495 | ;; See LICENSE.txt for details on what license applies to what files. |
| 19496 | (license (list license:bsd-4 license:expat license:asl2.0)))) |
| 19497 | |
| 19498 | (define-public python-scanpy |
| 19499 | (package |
| 19500 | (name "python-scanpy") |
| 19501 | (version "1.12.2") |
| 19502 | (source |
| 19503 | (origin |
| 19504 | (method git-fetch) |
| 19505 | (uri (git-reference |
| 19506 | (url "https://github.com/theislab/scanpy") |
| 19507 | (commit version))) |
| 19508 | (file-name (git-file-name name version)) |
| 19509 | (sha256 |
| 19510 | (base32 |
| 19511 | "02mmsz267zyx1ndw9qqsrccxhjr65xpyyqbf5i1j761y7mm4aayh")))) |
| 19512 | (build-system pyproject-build-system) |
| 19513 | (arguments |
| 19514 | (list |
| 19515 | ;; tests: 2052 passed, 101 skipped, 100 xfailed, 12 warnings, 34 |
| 19516 | ;; subtests passed |
| 19517 | #:test-flags |
| 19518 | ;; XXX: There is an "internet" marker but it has no effect when |
| 19519 | ;; deselected, forcing to download data from Internet during tests |
| 19520 | ;; anyway. |
| 19521 | #~(list "-m" "not gpu" |
| 19522 | "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 19523 | #$@(map (lambda (ls) (string-append "--deselect=tests/" |
| 19524 | (string-join ls "::"))) |
| 19525 | ;; Tests requiring Internet access. |
| 19526 | '(("test_pca.py" "test_pca_rep") |
| 19527 | ("test_scaling.py" "test_clip") |
| 19528 | ("test_pca.py" "test_pca_n_pcs") |
| 19529 | ("test_pca.py" "test_pca_sparse") |
| 19530 | ("test_pca.py" "test_pca_chunked") |
| 19531 | ("test_paga.py" "test_paga_compare") |
| 19532 | ("test_pca.py" "test_pca_reproducible") |
| 19533 | ("test_plotting.py" "test_string_mask") |
| 19534 | ("notebooks/test_pbmc3k.py" "test_pbmc3k") |
| 19535 | ("test_plotting.py" "test_scrublet_plots") |
| 19536 | ("test_metrics.py" "test_modularity_adata") |
| 19537 | ("test_plotting.py" "test_umap_mask_equal") |
| 19538 | ("test_aggregated.py" "test_aggregate_axis") |
| 19539 | ("test_aggregated.py" |
| 19540 | "test_var_no_catastrophic_cancellation") |
| 19541 | ("test_datasets.py" "test_download_failure") |
| 19542 | ("test_pca.py" "test_covariance_eigh_impls") |
| 19543 | ("test_plotting.py" "test_highest_expr_genes") |
| 19544 | ("test_pca.py" "test_sparse_dask_input_errors") |
| 19545 | ("test_plotting.py" "test_umap_mask_mult_plots") |
| 19546 | ("test_plotting.py" "test_violin_scale_warning") |
| 19547 | ("test_preprocessing.py" "test_regress_out_int") |
| 19548 | ("test_aggregated.py" "test_aggregate_arraytype") |
| 19549 | ("test_aggregated.py" "test_aggregate_vs_pandas") |
| 19550 | ("test_highly_variable_genes.py" "test_keep_layer") |
| 19551 | ("test_score_genes.py" "test_score_with_reference") |
| 19552 | ("test_highly_variable_genes.py" "test_cutoff_info") |
| 19553 | ("test_aggregated.py" "test_aggregate_incorrect_dim") |
| 19554 | ("test_plotting.py" "test_umap_mask_no_modification") |
| 19555 | ("test_aggregated.py" |
| 19556 | "test_aggregate_bad_dask_array") |
| 19557 | ("test_highly_variable_genes.py" |
| 19558 | "test_no_filter_genes") |
| 19559 | ("test_highly_variable_genes.py" |
| 19560 | "test_dask_consistency") |
| 19561 | ("test_highly_variable_genes.py" |
| 19562 | "test_seurat_v3_warning") |
| 19563 | ("test_highly_variable_genes.py" |
| 19564 | "test_compare_to_seurat_v3") |
| 19565 | ("external/test_harmony_integrate.py" |
| 19566 | "test_harmony_integrate") |
| 19567 | ("test_plotting.py" |
| 19568 | "test_plot_rank_genes_groups_gene_symbols") |
| 19569 | ("test_highly_variable_genes.py" |
| 19570 | "test_pearson_residuals_batch") |
| 19571 | ("test_normalization.py" |
| 19572 | "test_normalize_pearson_residuals_pca") |
| 19573 | ("test_normalization.py" |
| 19574 | "test_normalize_matrix_types") |
| 19575 | ("test_highly_variable_genes.py" |
| 19576 | "test_pearson_residuals_general") |
| 19577 | ("test_highly_variable_genes.py" |
| 19578 | "test_subset_inplace_consistency") |
| 19579 | ("test_normalization.py" |
| 19580 | "test_normalize_pearson_residuals_errors") |
| 19581 | ("test_normalization.py" |
| 19582 | "test_normalize_pearson_residuals_recipe") |
| 19583 | ("test_normalization.py" |
| 19584 | "test_normalize_pearson_residuals_warnings") |
| 19585 | ("test_highly_variable_genes.py" |
| 19586 | "test_pearson_residuals_inputchecks") |
| 19587 | ("test_plotting_embedded/test_embeddings.py" |
| 19588 | "test_raise_save_future_warning") |
| 19589 | ("test_highly_variable_genes.py" |
| 19590 | "test_seurat_v3_mean_var_output_with_batchkey") |
| 19591 | ("test_plotting_embedded/test_embeddings.py" |
| 19592 | "test_embedding_colorbar_location"))) |
| 19593 | (string-append "--deselect=tests/test_plotting.py" |
| 19594 | "::test_umap_categories_change_" |
| 19595 | "when_rerun_with_more_categories") |
| 19596 | (string-append "--deselect=tests/test_plotting.py" |
| 19597 | "::test_umap_categories_dont_change_" |
| 19598 | "when_rerun_with_fewer_categories") |
| 19599 | (string-append "--deselect=get/_aggregated.py" |
| 19600 | "::scanpy.get._aggregated.aggregate") |
| 19601 | (string-append "--deselect=external/pp/_magic.py" |
| 19602 | "::scanpy.external.pp._magic.magic") |
| 19603 | (string-append "--deselect=external/pp/_harmony_integrate.py" |
| 19604 | "::scanpy.external.pp." |
| 19605 | "_harmony_integrate.harmony_integrate") |
| 19606 | #$@(map (lambda (ls) (string-append "--deselect=tests/" |
| 19607 | (string-join ls "::"))) |
| 19608 | ;; Tests failing with error: Image files did not match. |
| 19609 | '(("test_plotting.py" "test_rankings") |
| 19610 | ("test_plotting.py" "test_dotplot_obj") |
| 19611 | ("test_plotting.py" "test_stacked_violin_obj") |
| 19612 | ("test_plotting.py" "test_dotplot_add_totals") |
| 19613 | ("test_plotting.py" "test_rank_genes_group_axes") |
| 19614 | ("test_plotting.py" "test_scatter_no_basis_per_obs") |
| 19615 | ("test_plotting.py" |
| 19616 | "test_dotplot_matrixplot_stacked_violin") |
| 19617 | ("test_plotting_embedded/test_spatial.py" |
| 19618 | "test_spatial_general") |
| 19619 | ("test_plotting_embedded/test_spatial.py" |
| 19620 | "test_visium_empty_img_key") |
| 19621 | ("test_plotting_embedded/test_spatial.py" |
| 19622 | "test_spatial_external_img"))) |
| 19623 | #$@(map (lambda (ls) (string-append "--deselect=tests/" |
| 19624 | (string-join ls "::"))) |
| 19625 | ;; Failed on deprecation warnings. |
| 19626 | '(("external/test_magic.py" "test_magic_copy") |
| 19627 | ("external/test_magic.py" "test_magic_default") |
| 19628 | ("external/test_magic.py" "test_magic_pca_only") |
| 19629 | ("test_preprocessing.py" |
| 19630 | "test_regress_out_constants") |
| 19631 | ("test_preprocessing.py" |
| 19632 | "test_regress_out_reproducible") |
| 19633 | ("test_preprocessing.py" |
| 19634 | "test_regress_out_constants_equivalent"))) |
| 19635 | #$@(map (lambda (ls) (string-append "--deselect=tests/" |
| 19636 | (string-join ls "::"))) |
| 19637 | ;; TypeError: deprecate_kwarg() missing 1 required |
| 19638 | ;; positional argument: 'new_arg_name' |
| 19639 | '(("test_preprocessing.py" "test_regress_out_categorical") |
| 19640 | ;; TypeError: Cannot interpret |
| 19641 | ;; '<StringDtype(na_value=nan)>' as a data type |
| 19642 | ("test_combat.py" "test_norm") |
| 19643 | ;; TypeError: only integer scalar arrays can be |
| 19644 | ;; converted to a scalar index |
| 19645 | ("test_combat.py" "test_covariates") |
| 19646 | ("test_combat.py" "test_combat_obs_names") |
| 19647 | ("test_combat.py" "test_silhouette") |
| 19648 | ;; [XPASS(strict)] seaborn violin plot is |
| 19649 | ;; incompatible with pandas 3 |
| 19650 | ("test_plotting.py" "test_rank_genes_groups") |
| 19651 | ;; pytest.PytestUnhandledThreadExceptionWarning: |
| 19652 | ;; Exception in thread ExecutorManagerThread |
| 19653 | ("test_preprocessing.py" |
| 19654 | "test_regress_out_categorical")))) |
| 19655 | #:phases |
| 19656 | #~(modify-phases %standard-phases |
| 19657 | (add-after 'unpack 'fix-pytest-config |
| 19658 | (lambda _ |
| 19659 | (substitute* "pyproject.toml" |
| 19660 | ;; ModuleNotFoundError: No module named 'pyparsing.warnings' |
| 19661 | ((".*pyparsing.warnings.*") "")))) |
| 19662 | (add-before 'check 'pre-check |
| 19663 | (lambda _ |
| 19664 | ;; Numba needs a writable dir to cache functions. |
| 19665 | (setenv "NUMBA_CACHE_DIR" "/tmp") |
| 19666 | ;; For Matplotlib. |
| 19667 | (setenv "HOME" "/tmp")))))) |
| 19668 | (propagated-inputs |
| 19669 | (list python-anndata |
| 19670 | python-certifi |
| 19671 | python-fast-array-utils |
| 19672 | python-h5py |
| 19673 | python-joblib |
| 19674 | python-legacy-api-wrap |
| 19675 | python-matplotlib |
| 19676 | python-natsort |
| 19677 | python-networkx |
| 19678 | python-numba |
| 19679 | python-numpy |
| 19680 | python-packaging |
| 19681 | python-pandas |
| 19682 | python-patsy |
| 19683 | python-pynndescent |
| 19684 | python-scikit-learn |
| 19685 | python-scipy |
| 19686 | python-scverse-misc |
| 19687 | python-seaborn |
| 19688 | python-session-info2 |
| 19689 | python-statsmodels |
| 19690 | python-tqdm |
| 19691 | python-typing-extensions ;Python version <3.13 |
| 19692 | python-umap-learn |
| 19693 | ;; [optional] |
| 19694 | python-dask |
| 19695 | python-harmonypy |
| 19696 | python-igraph |
| 19697 | python-leidenalg |
| 19698 | python-louvain |
| 19699 | python-magic-impute |
| 19700 | python-scikit-misc |
| 19701 | python-setuptools)) ;for pkg_resources |
| 19702 | (native-inputs |
| 19703 | (list nss-certs-for-test |
| 19704 | python-dependency-groups |
| 19705 | python-hatch-vcs |
| 19706 | python-hatchling |
| 19707 | python-pytest |
| 19708 | python-pytest-mock |
| 19709 | python-pytest-randomly |
| 19710 | python-pytest-rerunfailures |
| 19711 | python-pytest-xdist |
| 19712 | #;python-tuna)) ;no packaged in Guix yet |
| 19713 | (home-page "https://github.com/theislab/scanpy") |
| 19714 | (synopsis "Single-Cell Analysis in Python") |
| 19715 | (description "Scanpy is a scalable toolkit for analyzing single-cell gene |
| 19716 | expression data. It includes preprocessing, visualization, clustering, |
| 19717 | pseudotime and trajectory inference and differential expression testing. The |
| 19718 | Python-based implementation efficiently deals with datasets of more than one |
| 19719 | million cells.") |
| 19720 | (license license:bsd-3))) |
| 19721 | |
| 19722 | (define-public python-bbknn |
| 19723 | (package |
| 19724 | (name "python-bbknn") |
| 19725 | (version "1.6.0") |
| 19726 | (source |
| 19727 | (origin |
| 19728 | (method url-fetch) |
| 19729 | (uri (pypi-uri "bbknn" version)) |
| 19730 | (sha256 |
| 19731 | (base32 |
| 19732 | "06q43cpi7wi6f2d2jqs8f9rbd94pg1hh7978gm92mi9gvzbaj08w")))) |
| 19733 | (build-system pyproject-build-system) |
| 19734 | (arguments |
| 19735 | (list |
| 19736 | #:tests? #f ;no tests are included |
| 19737 | #:phases |
| 19738 | '(modify-phases %standard-phases |
| 19739 | ;; Numba needs a writable dir to cache functions. |
| 19740 | (add-before 'check 'set-numba-cache-dir |
| 19741 | (lambda _ |
| 19742 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 19743 | (propagated-inputs |
| 19744 | (list python-annoy |
| 19745 | python-cython |
| 19746 | python-numpy |
| 19747 | python-pandas |
| 19748 | python-pynndescent |
| 19749 | python-scikit-learn |
| 19750 | python-scipy |
| 19751 | python-umap-learn)) |
| 19752 | (native-inputs (list python-flit-core)) |
| 19753 | (home-page "https://github.com/Teichlab/bbknn") |
| 19754 | (synopsis "Batch balanced KNN") |
| 19755 | (description "BBKNN is a batch effect removal tool that can be directly |
| 19756 | used in the Scanpy workflow. It serves as an alternative to |
| 19757 | @code{scanpy.api.pp.neighbors()}, with both functions creating a neighbour |
| 19758 | graph for subsequent use in clustering, pseudotime and UMAP visualisation. If |
| 19759 | technical artifacts are present in the data, they will make it challenging to |
| 19760 | link corresponding cell types across different batches. BBKNN actively |
| 19761 | combats this effect by splitting your data into batches and finding a smaller |
| 19762 | number of neighbours for each cell within each of the groups. This helps |
| 19763 | create connections between analogous cells in different batches without |
| 19764 | altering the counts or PCA space.") |
| 19765 | (license license:expat))) |
| 19766 | |
| 19767 | (define-public python-drep |
| 19768 | (package |
| 19769 | (name "python-drep") |
| 19770 | (version "3.7.1") |
| 19771 | (source |
| 19772 | (origin |
| 19773 | (method git-fetch) |
| 19774 | (uri (git-reference |
| 19775 | (url "https://github.com/MrOlm/drep") |
| 19776 | (commit version))) |
| 19777 | (file-name (git-file-name name version)) |
| 19778 | (sha256 |
| 19779 | (base32 "01dnh8rdhz6pzppqjify2v5a10gq5pcbcli5x16a0yi09bnm7nk1")))) |
| 19780 | (build-system pyproject-build-system) |
| 19781 | (arguments |
| 19782 | (list |
| 19783 | ;; tests: 27 passed, 12 skipped, 39 deselected, 1 warning |
| 19784 | #:test-flags |
| 19785 | ;; Tests depend on "near essential" and "optional" dependencies. |
| 19786 | #~(list #$@(map (lambda (test) (string-append "--deselect=" |
| 19787 | "tests/tests/" |
| 19788 | test)) |
| 19789 | (list "test_analyze.py::test_plot_5_1" |
| 19790 | "test_analyze.py::test_plot_5_2" |
| 19791 | "test_analyze.py::test_plot_6_1" |
| 19792 | "test_analyze.py::test_plotting_functional_1" |
| 19793 | "test_bonus.py::test_drep_scaffold_level" |
| 19794 | "test_bonus.py::test_drep_scaffold_level_2" |
| 19795 | "test_bonus.py::test_drep_scaffold_level_3" |
| 19796 | "test_bonus.py::test_drep_scaffold_level_4" |
| 19797 | "test_bonus.py::test_drep_scaffold_level_5" |
| 19798 | "test_bonus.py::test_parse_stb_2" |
| 19799 | "test_choose.py::test_centrality_1" |
| 19800 | "test_choose.py::test_centrality_2" |
| 19801 | "test_choose.py::test_choose_2" |
| 19802 | "test_choose.py::test_choose_3" |
| 19803 | "test_cluster.py::test_all_vs_all_mash" |
| 19804 | "test_cluster.py::test_cluster_functional_1" |
| 19805 | "test_cluster.py::test_cluster_functional_3" |
| 19806 | "test_cluster.py::test_cluster_functional_4" |
| 19807 | "test_cluster.py::test_cluster_functional_5" |
| 19808 | "test_cluster.py::test_compare_genomes" |
| 19809 | "test_cluster.py::test_fastANI" |
| 19810 | "test_cluster.py::test_goANI" |
| 19811 | "test_cluster.py::test_goANI2" |
| 19812 | "test_cluster.py::test_list_genome_load" |
| 19813 | "test_cluster.py::test_low_ram_primary_clustering" |
| 19814 | "test_cluster.py::test_skani" |
| 19815 | "test_dereplicate.py::test_dereplicate_10" |
| 19816 | "test_dereplicate.py::test_dereplicate_2" |
| 19817 | "test_dereplicate.py::test_dereplicate_3" |
| 19818 | "test_dereplicate.py::test_dereplicate_6" |
| 19819 | "test_evaluate.py::test_tertiary_clustering_1" |
| 19820 | "test_evaluate.py::test_tertiary_clustering_2" |
| 19821 | "test_filter.py::test_filer_functional_3" |
| 19822 | "test_greedy.py::test_greedy_secondary_clustering_1" |
| 19823 | "test_greedy.py::test_greedy_secondary_clustering_2" |
| 19824 | "test_greedy.py::test_multiround_primary_clustering_1" |
| 19825 | "test_greedy.py::test_multiround_primary_clustering_2" |
| 19826 | "test_rerun.py::test_unit_1" |
| 19827 | "test_rerun.py::test_unit_3" |
| 19828 | "test_rerun.py::test_unit_4"))))) |
| 19829 | (native-inputs |
| 19830 | (list mash |
| 19831 | ;; nsimscan |
| 19832 | ;; mummer ;https://github.com/mummer4/mummer, asl2.0 |
| 19833 | ;; fastani ;https://github.com/ParBLiSS/FastANI, asl2.0 |
| 19834 | ;; checkm ;https://ecogenomics.github.io/CheckM/, gpl3 |
| 19835 | ;; skani |
| 19836 | python-pytest |
| 19837 | python-setuptools)) |
| 19838 | (propagated-inputs |
| 19839 | (list python-biopython |
| 19840 | python-matplotlib |
| 19841 | python-networkx |
| 19842 | python-numpy |
| 19843 | python-pandas |
| 19844 | python-scikit-learn |
| 19845 | python-seaborn |
| 19846 | python-tqdm)) |
| 19847 | (home-page "https://github.com/MrOlm/drep") |
| 19848 | (synopsis "De-replication of microbial genomes assembled from multiple samples") |
| 19849 | (description |
| 19850 | "dRep is a Python program for rapidly comparing large numbers of genomes. |
| 19851 | dRep can also \"de-replicate\" a genome set by identifying groups of highly |
| 19852 | similar genomes and choosing the best representative genome for each genome |
| 19853 | set.") |
| 19854 | (license license:expat))) |
| 19855 | |
| 19856 | (define-public instrain |
| 19857 | (package |
| 19858 | (name "instrain") |
| 19859 | ;; Git repository does not tag releases, use the latest commit from master |
| 19860 | ;; branch. |
| 19861 | (properties '((commit . "f172367e599851a6cb90048ae890d1bb6569063f") |
| 19862 | (revision . "1"))) |
| 19863 | (version (git-version "1.10.0" |
| 19864 | (assoc-ref properties 'revision) |
| 19865 | (assoc-ref properties 'commit))) |
| 19866 | (source |
| 19867 | (origin |
| 19868 | (method git-fetch) |
| 19869 | (uri (git-reference |
| 19870 | (url "https://github.com/MrOlm/instrain") |
| 19871 | (commit (assoc-ref properties 'commit)))) |
| 19872 | (file-name (git-file-name name version)) |
| 19873 | (sha256 |
| 19874 | (base32 "12rrkcckna7k095clir9100cz6i5dn77anih6aq1blbsg4yhprnr")))) |
| 19875 | (build-system pyproject-build-system) |
| 19876 | (arguments |
| 19877 | (list |
| 19878 | ;; tests: 10 failed, 86 passed, 15 skipped, 220 warnings |
| 19879 | #:test-flags |
| 19880 | #~(list #$@(map (lambda (test) |
| 19881 | (string-append "--deselect=test/tests/" test)) |
| 19882 | ;; Mixture of "FileNotFoundError" and "AssertionError" |
| 19883 | ;; errors. |
| 19884 | (list "test_genes.py::test_genes_0" |
| 19885 | "test_genes.py::test_genes_1" |
| 19886 | "test_genes.py::test_genes_2" |
| 19887 | "test_genes.py::test_genes_3" |
| 19888 | "test_parse_gene_annotations.py::test_PA_2" |
| 19889 | "test_polymorpher.py::test_polymorpher_unit_0" |
| 19890 | "test_polymorpher.py::test_polymorpher_unit_3" |
| 19891 | "test_quick_profile.py::test_quick_profile_0" |
| 19892 | "test_quick_profile.py::test_quick_profile_1" |
| 19893 | "test_quick_profile.py::test_quick_profile_2"))) |
| 19894 | #:phases |
| 19895 | #~(modify-phases %standard-phases |
| 19896 | (add-after 'unpack 'patch-relative-imports |
| 19897 | (lambda _ |
| 19898 | ;; See: <https://github.com/MrOlm/inStrain/issues/218>. |
| 19899 | (mkdir "test/test_backend/") |
| 19900 | (substitute* (find-files "test/tests" "test_.*\\.py") |
| 19901 | (("from test_utils import BTO") |
| 19902 | "from .test_utils import BTO") |
| 19903 | (("import test_utils") "from . import test_utils")) |
| 19904 | (substitute* "docker/run_instrain.py" |
| 19905 | (("from s3_utils") |
| 19906 | "from .s3_utils") |
| 19907 | (("from job_utils") |
| 19908 | "from .job_utils")))) |
| 19909 | (add-after 'unpack 'relax-requirements |
| 19910 | (lambda _ |
| 19911 | (substitute* "setup.py" |
| 19912 | (("biopython<=1.74") "biopython") |
| 19913 | ((".*pytest.*") ""))))))) |
| 19914 | (propagated-inputs |
| 19915 | (list python-biopython |
| 19916 | python-h5py |
| 19917 | python-lmfit |
| 19918 | python-matplotlib |
| 19919 | python-networkx |
| 19920 | python-numpy |
| 19921 | python-pandas |
| 19922 | python-psutil |
| 19923 | python-pysam |
| 19924 | python-seaborn |
| 19925 | python-tqdm)) |
| 19926 | (native-inputs |
| 19927 | (list python-boto3 |
| 19928 | python-pytest |
| 19929 | python-setuptools)) |
| 19930 | (home-page "https://github.com/MrOlm/inStrain") |
| 19931 | (synopsis "Calculation of strain-level metrics") |
| 19932 | (description |
| 19933 | "inStrain is a Python program for analysis of co-occurring genome |
| 19934 | populations from metagenomes that allows highly accurate genome comparisons, |
| 19935 | analysis of coverage, microdiversity, and linkage, and sensitive SNP detection |
| 19936 | with gene localization and synonymous non-synonymous identification.") |
| 19937 | ;; The tool itself says that the license is "MIT", but the repository |
| 19938 | ;; contains a LICENSE file with the GPLv3. |
| 19939 | ;; See https://github.com/MrOlm/inStrain/issues/51 |
| 19940 | (license license:expat))) |
| 19941 | |
| 19942 | (define-public gffcompare |
| 19943 | (let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41") |
| 19944 | (revision "1")) |
| 19945 | (package |
| 19946 | (name "gffcompare") |
| 19947 | (version (git-version "0.10.15" revision commit)) |
| 19948 | (source |
| 19949 | (origin |
| 19950 | (method git-fetch) |
| 19951 | (uri (git-reference |
| 19952 | (url "https://github.com/gpertea/gffcompare/") |
| 19953 | (commit commit))) |
| 19954 | (file-name (git-file-name name version)) |
| 19955 | (sha256 |
| 19956 | (base32 "0cp5qpxdhw4mxpya5dld8wi3jk00zyklm6rcri426wydinrnfmkg")))) |
| 19957 | (build-system gnu-build-system) |
| 19958 | (arguments |
| 19959 | `(#:tests? #f ; no check target |
| 19960 | #:phases |
| 19961 | (modify-phases %standard-phases |
| 19962 | (delete 'configure) |
| 19963 | (add-before 'build 'copy-gclib-source |
| 19964 | (lambda* (#:key inputs #:allow-other-keys) |
| 19965 | (mkdir "../gclib") |
| 19966 | (copy-recursively |
| 19967 | (assoc-ref inputs "gclib-source") "../gclib") |
| 19968 | #t)) |
| 19969 | (replace 'install |
| 19970 | (lambda* (#:key outputs #:allow-other-keys) |
| 19971 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) |
| 19972 | (install-file "gffcompare" bin) |
| 19973 | #t)))))) |
| 19974 | (native-inputs |
| 19975 | `(("gclib-source" ; see 'README.md' of gffcompare |
| 19976 | ,(let ((commit "54917d0849c1e83cfb057b5f712e5cb6a35d948f") |
| 19977 | (revision "1") |
| 19978 | (name "gclib") |
| 19979 | (version (git-version "0.10.3" revision commit))) |
| 19980 | (origin |
| 19981 | (method git-fetch) |
| 19982 | (uri (git-reference |
| 19983 | (url "https://github.com/gpertea/gclib/") |
| 19984 | (commit commit))) |
| 19985 | (file-name (git-file-name name version)) |
| 19986 | (sha256 |
| 19987 | (base32 "0b51lc0b8syrv7186fd7n8f15rwnf264qgfmm2palrwks1px24mr"))))))) |
| 19988 | (home-page "https://github.com/gpertea/gffcompare/") |
| 19989 | (synopsis "Tool for comparing or classifing transcripts of RNA-Seq") |
| 19990 | (description |
| 19991 | "@code{gffcompare} is a tool that can: |
| 19992 | @enumerate |
| 19993 | @item compare and evaluate the accuracy of RNA-Seq transcript assemblers |
| 19994 | (Cufflinks, Stringtie); |
| 19995 | @item collapse (merge) duplicate transcripts from multiple GTF/GFF3 files (e.g. |
| 19996 | resulted from assembly of different samples); |
| 19997 | @item classify transcripts from one or multiple GTF/GFF3 files as they relate to |
| 19998 | reference transcripts provided in a annotation file (also in GTF/GFF3 format). |
| 19999 | @end enumerate") |
| 20000 | (license |
| 20001 | (list |
| 20002 | license:expat ;license for gffcompare |
| 20003 | license:artistic2.0))))) ;license for gclib |
| 20004 | |
| 20005 | (define-public intervaltree |
| 20006 | (let ((commit "b90527f9e6d51cd36ecbb50429e4524d3a418ea5")) |
| 20007 | (package |
| 20008 | (name "intervaltree") |
| 20009 | (version (git-version "0.0.0" "1" commit)) |
| 20010 | (source |
| 20011 | (origin |
| 20012 | (method git-fetch) |
| 20013 | (uri (git-reference |
| 20014 | (url "https://github.com/ekg/intervaltree/") |
| 20015 | (commit commit))) |
| 20016 | (file-name (git-file-name name version)) |
| 20017 | (sha256 |
| 20018 | (base32 "0rgv6q5fl4x5d74n6p5wvdna6zmbdbqpb4jqqh6vq3670gn08xad")))) |
| 20019 | (build-system gnu-build-system) |
| 20020 | (arguments |
| 20021 | `(#:tests? #f ; No tests. |
| 20022 | #:make-flags |
| 20023 | ,#~(list (string-append "PREFIX=" #$output) "DESTDIR=\"\"") |
| 20024 | #:phases |
| 20025 | (modify-phases %standard-phases |
| 20026 | (delete 'configure)))) ; There is no configure phase. |
| 20027 | (home-page "https://github.com/ekg/intervaltree") |
| 20028 | (synopsis "Minimal C++ interval tree implementation") |
| 20029 | (description "An interval tree can be used to efficiently find a set of |
| 20030 | numeric intervals overlapping or containing another interval. This library |
| 20031 | provides a basic implementation of an interval tree using C++ templates, |
| 20032 | allowing the insertion of arbitrary types into the tree.") |
| 20033 | (license license:expat)))) |
| 20034 | |
| 20035 | (define-public python-pypairix |
| 20036 | (package |
| 20037 | (name "python-pypairix") |
| 20038 | (version "0.3.9") |
| 20039 | ;; The tarball on pypi does not include the makefile to build the |
| 20040 | ;; programs. |
| 20041 | (source |
| 20042 | (origin |
| 20043 | (method git-fetch) |
| 20044 | (uri (git-reference |
| 20045 | (url "https://github.com/4dn-dcic/pairix") |
| 20046 | (commit version))) |
| 20047 | (file-name (git-file-name name version)) |
| 20048 | (sha256 |
| 20049 | (base32 |
| 20050 | "1jlxj3xa67q1i58pmbi6imhvl6f5w9m5qxv0xd45ba86mp8mnmvz")))) |
| 20051 | (build-system pyproject-build-system) |
| 20052 | (arguments |
| 20053 | (list |
| 20054 | #:phases |
| 20055 | #~(modify-phases %standard-phases |
| 20056 | (add-after 'unpack 'respect-CFLAGS |
| 20057 | (lambda _ |
| 20058 | (substitute* "src/Makefile" |
| 20059 | (("CFLAGS=") |
| 20060 | "CFLAGS?=")))) |
| 20061 | (add-before 'build 'relax-gcc-14-strictness |
| 20062 | (lambda _ |
| 20063 | (setenv "CFLAGS" |
| 20064 | (string-append "-g -O2" |
| 20065 | " -Wno-error=incompatible-pointer-types" |
| 20066 | " -Wno-error=int-conversion")))) |
| 20067 | (add-before 'build 'build-programs |
| 20068 | (lambda _ (invoke "make"))) |
| 20069 | (add-after 'install 'install-programs |
| 20070 | (lambda _ |
| 20071 | (copy-recursively "bin" (string-append #$output "/bin"))))))) |
| 20072 | (native-inputs |
| 20073 | (list python-pytest |
| 20074 | python-setuptools)) |
| 20075 | (inputs |
| 20076 | (list zlib)) |
| 20077 | (home-page "https://github.com/4dn-dcic/pairix") |
| 20078 | (synopsis "Support for querying pairix-indexed bgzipped text files") |
| 20079 | (description |
| 20080 | "Pypairix is a Python module for fast querying on a pairix-indexed |
| 20081 | bgzipped text file that contains a pair of genomic coordinates per line.") |
| 20082 | (license license:expat))) |
| 20083 | |
| 20084 | (define-public python-pyrodigal |
| 20085 | (package |
| 20086 | (name "python-pyrodigal") |
| 20087 | (version "3.6.3") |
| 20088 | (source |
| 20089 | (origin |
| 20090 | (method git-fetch) |
| 20091 | (uri (git-reference |
| 20092 | (url "https://github.com/althonos/pyrodigal") |
| 20093 | (commit (string-append "v" version)) |
| 20094 | ;; XXX: vendor -> <https://github.com/hyattpd/Prodigal> |
| 20095 | (recursive? #t))) |
| 20096 | (file-name (git-file-name name version)) |
| 20097 | (sha256 |
| 20098 | (base32 "1gcvdrx0q730i0r3lndl7l7h0h8xvzsi09ymf14b498mj03yjdq9")))) |
| 20099 | (build-system pyproject-build-system) |
| 20100 | (arguments |
| 20101 | (list |
| 20102 | #:phases |
| 20103 | #~(modify-phases %standard-phases |
| 20104 | (add-after 'unpack 'patch-pyproject |
| 20105 | (lambda _ |
| 20106 | (substitute* "pyproject.toml" |
| 20107 | ;; Extra keys present in "project": 'platform' |
| 20108 | (("platform =.*") "")))) |
| 20109 | (replace 'check |
| 20110 | (lambda* (#:key tests? #:allow-other-keys) |
| 20111 | (when tests? |
| 20112 | (invoke "python" "-m" "unittest" "pyrodigal.tests" "-vv"))))))) |
| 20113 | (propagated-inputs (list python-archspec)) |
| 20114 | (native-inputs |
| 20115 | (list cmake-minimal |
| 20116 | python-cython |
| 20117 | python-scikit-build-core)) |
| 20118 | (home-page "https://github.com/althonos/pyrodigal") |
| 20119 | (synopsis "Cython bindings and Python interface for Prodigal") |
| 20120 | (description |
| 20121 | "This package offers Cython bindings and a Python interface for Prodigal. |
| 20122 | Prodigal is an ORF finder designed for both genomes and metagenomes.") |
| 20123 | (license license:gpl3))) |
| 20124 | |
| 20125 | (define-public python-pyfaidx |
| 20126 | (package |
| 20127 | (name "python-pyfaidx") |
| 20128 | (version "0.9.0.3") |
| 20129 | (source (origin |
| 20130 | (method url-fetch) |
| 20131 | (uri (pypi-uri "pyfaidx" version)) |
| 20132 | (sha256 |
| 20133 | (base32 |
| 20134 | "0yaa64n5m4wxc02lxw6j9dzjk65rxdbak21dlvwhdjwdv4l4p2v4")))) |
| 20135 | (build-system pyproject-build-system) |
| 20136 | (arguments |
| 20137 | (list |
| 20138 | ;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors |
| 20139 | #:tests? #f)) ;most of them need remote data |
| 20140 | (native-inputs |
| 20141 | (list python-biopython |
| 20142 | python-fsspec |
| 20143 | python-numpy |
| 20144 | ;; python-pyfasta |
| 20145 | python-pytest |
| 20146 | python-setuptools |
| 20147 | python-setuptools-scm)) |
| 20148 | (propagated-inputs |
| 20149 | (list python-packaging)) |
| 20150 | (home-page "http://mattshirley.com") |
| 20151 | (synopsis "Random access to fasta subsequences") |
| 20152 | (description |
| 20153 | "This package provides procedures for efficient pythonic random access to |
| 20154 | fasta subsequences.") |
| 20155 | (license license:bsd-3))) |
| 20156 | |
| 20157 | (define-public python-cooler |
| 20158 | (package |
| 20159 | (name "python-cooler") |
| 20160 | ;; 0.10.4 (2025-07-21), the latest changes provide support for Python |
| 20161 | ;; 3.12+; move back to git tag when released. |
| 20162 | (properties '((commit . "6c2d65b1420a636193b7f05100a96410ea252147") |
| 20163 | (revision . "0"))) |
| 20164 | (version (git-version "0.10.4" |
| 20165 | (assoc-ref properties 'revision) |
| 20166 | (assoc-ref properties 'commit))) |
| 20167 | (source |
| 20168 | (origin |
| 20169 | (method git-fetch) |
| 20170 | (uri (git-reference |
| 20171 | (url "https://github.com/open2c/cooler") |
| 20172 | (commit (assoc-ref properties 'commit)))) |
| 20173 | (file-name (git-file-name name version)) |
| 20174 | (sha256 |
| 20175 | (base32 "0xdb7lvyzj3wwv6jhkrxlj7gk830wkac4lwq5rjwk1r5qshjbn3n")))) |
| 20176 | (build-system pyproject-build-system) |
| 20177 | (arguments |
| 20178 | (list |
| 20179 | ;; tests: 141 passed, 4 skipped, 2 deselected, 270 warnings |
| 20180 | #:test-flags |
| 20181 | ;; This test depends on ipytree, which contains a lot of minified |
| 20182 | ;; JavaScript. |
| 20183 | #~(list "--deselect=tests/test_fileops.py::test_print_trees" |
| 20184 | ;; Network access is required. |
| 20185 | "--deselect=tests/test_create.py::test_roundtrip"))) |
| 20186 | (native-inputs |
| 20187 | (list python-hatchling |
| 20188 | python-pytest)) |
| 20189 | (propagated-inputs |
| 20190 | (list python-asciitree |
| 20191 | python-click |
| 20192 | python-cytoolz |
| 20193 | python-h5py |
| 20194 | python-multiprocess |
| 20195 | python-numpy |
| 20196 | python-pandas |
| 20197 | python-pyfaidx |
| 20198 | python-pyyaml |
| 20199 | python-scipy |
| 20200 | python-simplejson |
| 20201 | ;; [optional] |
| 20202 | python-biopython |
| 20203 | python-dask |
| 20204 | ;; python-ipytree ;no packaged in Guix |
| 20205 | python-ipywidgets |
| 20206 | python-matplotlib |
| 20207 | python-psutil |
| 20208 | python-pysam)) |
| 20209 | ;; Almost all the projects of the Mirnylab are moved under Open2C umbrella |
| 20210 | (home-page "https://github.com/open2c/cooler") |
| 20211 | (synopsis "Sparse binary format for genomic interaction matrices") |
| 20212 | (description |
| 20213 | "Cooler is a support library for a sparse, compressed, binary persistent |
| 20214 | storage format, called @code{cool}, used to store genomic interaction data, |
| 20215 | such as Hi-C contact matrices.") |
| 20216 | (license license:bsd-3))) |
| 20217 | |
| 20218 | (define-public python-cooltools |
| 20219 | (package |
| 20220 | (name "python-cooltools") |
| 20221 | (version "0.7.1") |
| 20222 | (source |
| 20223 | (origin |
| 20224 | (method git-fetch) |
| 20225 | (uri (git-reference |
| 20226 | (url "https://github.com/open2c/cooltools") |
| 20227 | (commit (string-append "v" version)))) |
| 20228 | (file-name (git-file-name name version)) |
| 20229 | (sha256 |
| 20230 | (base32 "04i8s414scrffi7xfwynyz7k9crgj93d1zmqgipvdh2kvpigifn3")))) |
| 20231 | (build-system pyproject-build-system) |
| 20232 | (arguments |
| 20233 | (list |
| 20234 | ;; tests: 65 passed, 134 warnings |
| 20235 | #:phases |
| 20236 | #~(modify-phases %standard-phases |
| 20237 | (add-after 'unpack 'fix-pytest-config |
| 20238 | (lambda _ |
| 20239 | (delete-file "pytest.ini"))) |
| 20240 | (add-before 'sanity-check 'set-HOME |
| 20241 | (lambda _ |
| 20242 | (setenv "HOME" "/tmp")))))) |
| 20243 | (native-inputs |
| 20244 | (list python-cython |
| 20245 | python-pytest |
| 20246 | python-setuptools)) |
| 20247 | (propagated-inputs |
| 20248 | (list python-bioframe |
| 20249 | python-click |
| 20250 | python-cooler |
| 20251 | python-joblib |
| 20252 | python-matplotlib |
| 20253 | python-multiprocess |
| 20254 | python-numba |
| 20255 | python-numpy |
| 20256 | python-pandas-2 |
| 20257 | python-scikit-image |
| 20258 | python-scikit-learn |
| 20259 | python-scipy)) |
| 20260 | (home-page "https://github.com/open2c/cooltools") |
| 20261 | (synopsis |
| 20262 | "Analysis tools for genomic interaction data stored in .cool format") |
| 20263 | (description |
| 20264 | "This package provides necessary tools for the analysis of the genomic |
| 20265 | interaction data stored in @code{.cool} format. This collection of tools |
| 20266 | includes operations like compartment, insulation or peak calling.") |
| 20267 | (license license:expat))) |
| 20268 | |
| 20269 | (define-public python-hicmatrix |
| 20270 | (package |
| 20271 | (name "python-hicmatrix") |
| 20272 | (version "17.2") |
| 20273 | (source |
| 20274 | (origin |
| 20275 | (method git-fetch) |
| 20276 | (uri (git-reference |
| 20277 | (url "https://github.com/deeptools/HiCMatrix") |
| 20278 | (commit version))) |
| 20279 | (file-name (git-file-name name version)) |
| 20280 | (sha256 |
| 20281 | (base32 "0pksh4k0k21jmiqvczpsb4i9i8ypip3a42s2j3j4z6iypakphakh")))) |
| 20282 | (build-system pyproject-build-system) |
| 20283 | (arguments |
| 20284 | (list |
| 20285 | ;; tests: 51 passed, 1 deselected, 2 xfailed, 1 xpassed, 8 warnings |
| 20286 | #:test-flags |
| 20287 | ;; Arrays are not equal |
| 20288 | #~(list "--deselect=hicmatrix/test/test_HiCMatrix.py::test_dist_list_to_dict"))) |
| 20289 | (native-inputs |
| 20290 | (list python-pytest |
| 20291 | python-setuptools)) |
| 20292 | (propagated-inputs |
| 20293 | (list python-cooler |
| 20294 | python-intervaltree |
| 20295 | python-numpy |
| 20296 | python-pandas |
| 20297 | python-scipy |
| 20298 | python-tables)) |
| 20299 | (home-page "https://github.com/deeptools/HiCMatrix/") |
| 20300 | (synopsis "HiCMatrix class for HiCExplorer and pyGenomeTracks") |
| 20301 | (description |
| 20302 | "This helper package implements the @code{HiCMatrix} class for |
| 20303 | the HiCExplorer and pyGenomeTracks packages.") |
| 20304 | (license license:gpl3+))) |
| 20305 | |
| 20306 | (define-public python-pygenometracks |
| 20307 | (package |
| 20308 | (name "python-pygenometracks") |
| 20309 | (version "3.9") |
| 20310 | (source |
| 20311 | (origin |
| 20312 | (method git-fetch) |
| 20313 | (uri (git-reference |
| 20314 | (url "https://github.com/deeptools/pyGenomeTracks") |
| 20315 | (commit version))) |
| 20316 | (file-name (git-file-name name version)) |
| 20317 | (sha256 |
| 20318 | (base32 "1xaw0yjdqnxd1d1aww1x2kkfydrmbdvpvma2ahmax68f5a68b0yk")))) |
| 20319 | (build-system pyproject-build-system) |
| 20320 | (arguments |
| 20321 | (list |
| 20322 | ;; tests: 1 failed, 205 passed, 4 skipped, 229 warnings |
| 20323 | #:test-flags |
| 20324 | ;; AttributeError: module 'bx.seq' has no attribute 'DNA_COMP' |
| 20325 | #~(list "--deselect=pygenometracks/tests/test_maf.py::test_first_maf_seq_zoom_dec") |
| 20326 | #:phases |
| 20327 | #~(modify-phases %standard-phases |
| 20328 | (add-after 'unpack 'relax-requirements |
| 20329 | (lambda _ |
| 20330 | (substitute* "pyproject.toml" |
| 20331 | (("matplotlib >=3.1.1,<3.9") |
| 20332 | "matplotlib >=3.1.1"))))))) |
| 20333 | (native-inputs |
| 20334 | (list python-pytest |
| 20335 | python-setuptools)) |
| 20336 | (propagated-inputs |
| 20337 | (list python-bx-python |
| 20338 | python-future |
| 20339 | python-gffutils |
| 20340 | python-hicmatrix |
| 20341 | python-intervaltree |
| 20342 | python-matplotlib |
| 20343 | python-numpy |
| 20344 | python-pybedtools |
| 20345 | python-pybigwig |
| 20346 | python-pyfaidx |
| 20347 | python-pysam |
| 20348 | python-tqdm)) |
| 20349 | (home-page "https://pygenometracks.readthedocs.io") |
| 20350 | (synopsis "Program and library to plot beautiful genome browser tracks") |
| 20351 | (description |
| 20352 | "This package aims to produce high-quality genome browser tracks that |
| 20353 | are highly customizable. Currently, it is possible to plot: bigwig, bed (many |
| 20354 | options), bedgraph, links (represented as arcs), and Hi-C matrices. |
| 20355 | pyGenomeTracks can make plots with or without Hi-C data.") |
| 20356 | (license license:gpl3+))) |
| 20357 | |
| 20358 | (define-public python-iced |
| 20359 | (package |
| 20360 | (name "python-iced") |
| 20361 | (version "0.6.0") |
| 20362 | (source |
| 20363 | (origin |
| 20364 | (method url-fetch) |
| 20365 | (uri (pypi-uri "iced" version)) |
| 20366 | (sha256 |
| 20367 | (base32 |
| 20368 | "1zkbq2xq16by8pys5ndqihydb9jfc35lsnznywvg77n44wl16whm")))) |
| 20369 | (build-system pyproject-build-system) |
| 20370 | ;; tests: 33 passed, 10 warnings |
| 20371 | (native-inputs |
| 20372 | (list python-cython |
| 20373 | python-pytest |
| 20374 | python-setuptools)) |
| 20375 | (propagated-inputs |
| 20376 | (list python-numpy |
| 20377 | python-pandas |
| 20378 | python-scikit-learn |
| 20379 | python-scipy)) |
| 20380 | (home-page "https://github.com/hiclib/iced") |
| 20381 | (synopsis "ICE normalization") |
| 20382 | (description "This is a package for normalizing Hi-C contact counts |
| 20383 | efficiently.") |
| 20384 | (license license:bsd-3))) |
| 20385 | |
| 20386 | (define-public python-hic2cool |
| 20387 | (package |
| 20388 | (name "python-hic2cool") |
| 20389 | (version "1.0.1") |
| 20390 | (source |
| 20391 | (origin |
| 20392 | (method git-fetch) |
| 20393 | (uri (git-reference |
| 20394 | (url "https://github.com/4dn-dcic/hic2cool") |
| 20395 | (commit version))) |
| 20396 | (file-name (git-file-name name version)) |
| 20397 | (sha256 |
| 20398 | (base32 "0k0i43z43rxbpna4hfci406ma906w893frfj3cha1n8drvhdql6c")))) |
| 20399 | (build-system pyproject-build-system) |
| 20400 | (arguments |
| 20401 | (list #:test-backend #~'custom |
| 20402 | #:test-flags #~(list "test.py"))) |
| 20403 | (native-inputs |
| 20404 | (list python-poetry-core)) |
| 20405 | (propagated-inputs |
| 20406 | (list python-cooler |
| 20407 | python-h5py |
| 20408 | python-numpy |
| 20409 | python-pandas |
| 20410 | python-scipy)) |
| 20411 | (home-page "https://github.com/4dn-dcic/hic2cool") |
| 20412 | (synopsis "Converter for .hic and .cool files") |
| 20413 | (description |
| 20414 | "This package provides a converter between @code{.hic} files (from |
| 20415 | juicer) and single-resolution or multi-resolution @code{.cool} files (for |
| 20416 | cooler). Both @code{hic} and @code{cool} files describe Hi-C contact |
| 20417 | matrices.") |
| 20418 | (license license:expat))) |
| 20419 | |
| 20420 | (define-public python-scanorama |
| 20421 | (package |
| 20422 | (name "python-scanorama") |
| 20423 | (version "1.7.4") |
| 20424 | (source |
| 20425 | (origin |
| 20426 | (method git-fetch) |
| 20427 | (uri (git-reference |
| 20428 | (url "https://github.com/brianhie/scanorama") |
| 20429 | (commit (string-append "v" version)))) |
| 20430 | (file-name (git-file-name name version)) |
| 20431 | (sha256 |
| 20432 | (base32 "1jpn4kq3qqa40xr0dwa9bw5cgga6h9ww9gfbyj6w3mfs8rv4w9rz")))) |
| 20433 | (build-system pyproject-build-system) |
| 20434 | (propagated-inputs (list python-annoy |
| 20435 | python-fbpca |
| 20436 | python-geosketch |
| 20437 | python-intervaltree |
| 20438 | python-matplotlib |
| 20439 | python-numpy |
| 20440 | python-scikit-learn |
| 20441 | python-scipy)) |
| 20442 | (native-inputs (list python-anndata python-pytest python-setuptools)) |
| 20443 | (home-page "https://github.com/brianhie/scanorama") |
| 20444 | (synopsis |
| 20445 | "Panoramic stitching of heterogeneous single cell transcriptomic data") |
| 20446 | (description |
| 20447 | "Scanorama enables batch-correction and integration of heterogeneous |
| 20448 | scRNA-seq datasets, which is described in the paper \"Efficient integration of |
| 20449 | heterogeneous single-cell transcriptomes using Scanorama\" by Brian Hie, Bryan |
| 20450 | Bryson, and Bonnie Berger.") |
| 20451 | (license license:expat))) |
| 20452 | |
| 20453 | (define-public r-pore |
| 20454 | (package |
| 20455 | (name "r-pore") |
| 20456 | (version "0.24") |
| 20457 | (source |
| 20458 | (origin |
| 20459 | (method url-fetch) |
| 20460 | (uri |
| 20461 | (string-append "mirror://sourceforge/rpore/" version |
| 20462 | "/poRe_" version ".tar.gz")) |
| 20463 | (sha256 |
| 20464 | (base32 "0pih9nljbv8g4x8rkk29i7aqq681b782r5s5ynp4nw9yzqnmmksv")))) |
| 20465 | (properties `((upstream-name . "poRe"))) |
| 20466 | (build-system r-build-system) |
| 20467 | (propagated-inputs |
| 20468 | (list r-bit64 r-data-table r-rhdf5 r-shiny r-svdialogs)) |
| 20469 | (home-page "https://sourceforge.net/projects/rpore/") |
| 20470 | (synopsis "Visualize Nanopore sequencing data") |
| 20471 | (description |
| 20472 | "This package provides graphical user interfaces to organize and visualize Nanopore |
| 20473 | sequencing data.") |
| 20474 | ;; This is free software but the license variant is unclear: |
| 20475 | ;; <https://github.com/mw55309/poRe_docs/issues/10>. |
| 20476 | (license license:bsd-3))) |
| 20477 | |
| 20478 | (define-public r-xbioc |
| 20479 | (let ((revision "1") |
| 20480 | (commit "6ff0670a37ab3036aaf1d94aa4b208310946b0b5")) |
| 20481 | (package |
| 20482 | (name "r-xbioc") |
| 20483 | (version (git-version "0.1.16" revision commit)) |
| 20484 | (source (origin |
| 20485 | (method git-fetch) |
| 20486 | (uri (git-reference |
| 20487 | (url "https://github.com/renozao/xbioc") |
| 20488 | (commit commit))) |
| 20489 | (file-name (git-file-name name version)) |
| 20490 | (sha256 |
| 20491 | (base32 |
| 20492 | "0w8bsq5myiwkfhh83nm6is5ichiyvwa1axx2szvxnzq39x6knf66")))) |
| 20493 | (build-system r-build-system) |
| 20494 | (propagated-inputs |
| 20495 | (list r-annotationdbi |
| 20496 | r-assertthat |
| 20497 | r-biobase |
| 20498 | r-biocmanager |
| 20499 | r-digest |
| 20500 | r-pkgmaker |
| 20501 | r-plyr |
| 20502 | r-reshape2 |
| 20503 | r-stringr)) |
| 20504 | (home-page "https://github.com/renozao/xbioc/") |
| 20505 | (synopsis "Extra base functions for Bioconductor") |
| 20506 | (description "This package provides extra utility functions to perform |
| 20507 | common tasks in the analysis of omics data, leveraging and enhancing features |
| 20508 | provided by Bioconductor packages.") |
| 20509 | (license license:gpl3+)))) |
| 20510 | |
| 20511 | (define-public r-cssam |
| 20512 | (let ((revision "1") |
| 20513 | (commit "9ec58c982fa551af0d80b1a266890d92954833f2")) |
| 20514 | (package |
| 20515 | (name "r-cssam") |
| 20516 | (version (git-version "1.4" revision commit)) |
| 20517 | (source (origin |
| 20518 | (method git-fetch) |
| 20519 | (uri (git-reference |
| 20520 | (url "https://github.com/shenorrLab/csSAM") |
| 20521 | (commit commit))) |
| 20522 | (file-name (git-file-name name version)) |
| 20523 | (sha256 |
| 20524 | (base32 |
| 20525 | "128syf9v39gk0z3ip000qpsjbg6l1siyq6c8b0hz41dzg5achyb3")))) |
| 20526 | (build-system r-build-system) |
| 20527 | (propagated-inputs |
| 20528 | (list r-formula |
| 20529 | r-ggplot2 |
| 20530 | r-pkgmaker |
| 20531 | r-plyr |
| 20532 | r-rngtools |
| 20533 | r-scales)) |
| 20534 | (home-page "https://github.com/shenorrLab/csSAM/") |
| 20535 | (synopsis "Cell type-specific statistical analysis of microarray") |
| 20536 | (description "This package implements the method csSAM that computes |
| 20537 | cell-specific differential expression from measured cell proportions using |
| 20538 | SAM.") |
| 20539 | ;; Any version |
| 20540 | (license license:lgpl2.1+)))) |
| 20541 | |
| 20542 | (define-public r-bseqsc |
| 20543 | (let ((revision "1") |
| 20544 | (commit "fef3f3e38dcf3df37103348b5780937982b43b98")) |
| 20545 | (package |
| 20546 | (name "r-bseqsc") |
| 20547 | (version (git-version "1.0" revision commit)) |
| 20548 | (source (origin |
| 20549 | (method git-fetch) |
| 20550 | (uri (git-reference |
| 20551 | (url "https://github.com/shenorrLab/bseqsc") |
| 20552 | (commit commit))) |
| 20553 | (file-name (git-file-name name version)) |
| 20554 | (sha256 |
| 20555 | (base32 |
| 20556 | "1prw13wa20f7wlc3gkkls66n1kxz8d28qrb8icfqdwdnnv8w5qg8")))) |
| 20557 | (build-system r-build-system) |
| 20558 | (propagated-inputs |
| 20559 | (list r-abind |
| 20560 | r-annotationdbi |
| 20561 | r-biobase |
| 20562 | r-cssam |
| 20563 | r-dplyr |
| 20564 | r-e1071 |
| 20565 | r-edger |
| 20566 | r-ggplot2 |
| 20567 | r-nmf |
| 20568 | r-openxlsx |
| 20569 | r-pkgmaker |
| 20570 | r-plyr |
| 20571 | r-preprocesscore |
| 20572 | r-rngtools |
| 20573 | r-scales |
| 20574 | r-stringr |
| 20575 | r-xbioc)) |
| 20576 | (home-page "https://github.com/shenorrLab/bseqsc") |
| 20577 | (synopsis "Deconvolution of bulk sequencing experiments using single cell data") |
| 20578 | (description "BSeq-sc is a bioinformatics analysis pipeline that |
| 20579 | leverages single-cell sequencing data to estimate cell type proportion and |
| 20580 | cell type-specific gene expression differences from RNA-seq data from bulk |
| 20581 | tissue samples. This is a companion package to the publication \"A |
| 20582 | single-cell transcriptomic map of the human and mouse pancreas reveals inter- |
| 20583 | and intra-cell population structure.\" Baron et al. Cell Systems (2016) |
| 20584 | @url{https://www.ncbi.nlm.nih.gov/pubmed/27667365}.") |
| 20585 | (license license:gpl2+)))) |
| 20586 | |
| 20587 | (define-public jamm |
| 20588 | (package |
| 20589 | (name "jamm") |
| 20590 | (version "1.0.7.6") |
| 20591 | (source |
| 20592 | (origin |
| 20593 | (method git-fetch) |
| 20594 | (uri (git-reference |
| 20595 | (url "https://github.com/mahmoudibrahim/JAMM") |
| 20596 | (commit (string-append "JAMMv" version)))) |
| 20597 | (file-name (git-file-name name version)) |
| 20598 | (sha256 |
| 20599 | (base32 |
| 20600 | "0bsa5mf9n9q5jz7mmacrra41l7r8rac5vgsn6wv1fb52ya58b970")))) |
| 20601 | (build-system gnu-build-system) |
| 20602 | (arguments |
| 20603 | (list |
| 20604 | #:tests? #f ;there are none |
| 20605 | #:phases |
| 20606 | #~(modify-phases %standard-phases |
| 20607 | (delete 'configure) |
| 20608 | (delete 'build) |
| 20609 | (replace 'install |
| 20610 | (lambda _ |
| 20611 | (let ((libexec (string-append #$output "/libexec/jamm")) |
| 20612 | (bin (string-append #$output "/bin"))) |
| 20613 | (substitute* '("JAMM.sh" |
| 20614 | "SignalGenerator.sh") |
| 20615 | (("^sPath=.*") |
| 20616 | (string-append "sPath=\"" libexec "\"\n"))) |
| 20617 | (for-each (lambda (file) |
| 20618 | (install-file file libexec)) |
| 20619 | (list "bincalculator.r" |
| 20620 | "peakfinder.r" |
| 20621 | "peakhelper.r" |
| 20622 | "signalmaker.r" |
| 20623 | "xcorr.r" |
| 20624 | "xcorrhelper.r" |
| 20625 | ;; Perl scripts |
| 20626 | "peakfilter.pl" |
| 20627 | "readshifter.pl")) |
| 20628 | |
| 20629 | (for-each |
| 20630 | (lambda (script) |
| 20631 | (chmod script #o555) |
| 20632 | (install-file script bin) |
| 20633 | (wrap-program (string-append bin "/" script) |
| 20634 | `("PATH" ":" prefix |
| 20635 | (,(string-append #$(this-package-input "coreutils") "/bin") |
| 20636 | ,(string-append #$(this-package-input "gawk") "/bin") |
| 20637 | ,(string-append #$(this-package-input "perl") "/bin") |
| 20638 | ,(string-append #$(this-package-input "r-minimal") "/bin"))) |
| 20639 | `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))) |
| 20640 | `("R_LIBS_SITE" ":" prefix (,(getenv "R_LIBS_SITE"))))) |
| 20641 | (list "JAMM.sh" "SignalGenerator.sh")))))))) |
| 20642 | (inputs |
| 20643 | (list bash |
| 20644 | coreutils |
| 20645 | gawk |
| 20646 | perl |
| 20647 | r-minimal |
| 20648 | ;;("r-parallel" ,r-parallel) |
| 20649 | r-signal |
| 20650 | r-mclust)) |
| 20651 | (home-page "https://github.com/mahmoudibrahim/JAMM") |
| 20652 | (synopsis "Peak finder for NGS datasets") |
| 20653 | (description |
| 20654 | "JAMM is a peak finder for next generation sequencing datasets (ChIP-Seq, |
| 20655 | ATAC-Seq, DNase-Seq, etc.) that can integrate replicates and assign peak |
| 20656 | boundaries accurately. JAMM is applicable to both broad and narrow |
| 20657 | datasets.") |
| 20658 | (license license:gpl3+))) |
| 20659 | |
| 20660 | (define-public ngless |
| 20661 | (package |
| 20662 | (name "ngless") |
| 20663 | (version "1.5.0") |
| 20664 | (source (origin |
| 20665 | (method url-fetch) |
| 20666 | (uri (hackage-uri "NGLess" version)) |
| 20667 | (sha256 |
| 20668 | (base32 |
| 20669 | "0pljyrlpr9r3cl5311dhgxdl8y40szyi4vprn34i3piy0qrldymi")))) |
| 20670 | (build-system haskell-build-system) |
| 20671 | (arguments |
| 20672 | `(#:haddock? #f |
| 20673 | #:phases |
| 20674 | (modify-phases %standard-phases |
| 20675 | (add-before 'configure 'update-constraints |
| 20676 | (lambda _ |
| 20677 | (substitute* "NGLess.cabal" |
| 20678 | (("\\b(base)\\s+[^,]+" all dep) |
| 20679 | dep)))) |
| 20680 | (add-after 'unpack 'create-Versions.hs |
| 20681 | (lambda _ |
| 20682 | (substitute* "NGLess/Dependencies/Versions.hs" |
| 20683 | (("bwaVersion = .+") |
| 20684 | (string-append "bwaVersion = \"" |
| 20685 | ,(package-version bwa) "\"")) |
| 20686 | (("samtoolsVersion = .+") |
| 20687 | (string-append "samtoolsVersion = \"" |
| 20688 | ,(package-version samtools) "\"")) |
| 20689 | (("prodigalVersion = .+") |
| 20690 | (string-append "prodigalVersion = \"" |
| 20691 | ,(package-version prodigal) "\"")) |
| 20692 | (("megahitVersion = .+") |
| 20693 | (string-append "megahitVersion = \"" |
| 20694 | ,(package-version megahit) "\"")) |
| 20695 | (("minimap2Version = .+") |
| 20696 | (string-append "minimap2Version = \"" |
| 20697 | ,(package-version minimap2) "\""))))) |
| 20698 | ;; See NGLess/FileManagement.hs. |
| 20699 | (add-after 'install 'wrap-program |
| 20700 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 20701 | (let* ((out (assoc-ref outputs "out")) |
| 20702 | (bwa (search-input-file inputs "/bin/bwa")) |
| 20703 | (samtools (search-input-file inputs "/bin/samtools")) |
| 20704 | (prodigal (search-input-file inputs "/bin/prodigal")) |
| 20705 | (minimap2 (search-input-file inputs "/bin/minimap2")) |
| 20706 | (megahit (search-input-file inputs "/bin/megahit"))) |
| 20707 | (wrap-program (string-append out "/bin/ngless") |
| 20708 | `("NGLESS_BWA_BIN" " " = (,bwa)) |
| 20709 | `("NGLESS_SAMTOOLS_BIN" " " = (,samtools)) |
| 20710 | `("NGLESS_PRODIGAL_BIN" " " = (,prodigal)) |
| 20711 | `("NGLESS_MINIMAP2_BIN" " " = (,minimap2)) |
| 20712 | `("NGLESS_MEGAHIT_BIN" " " = (,megahit)))))) |
| 20713 | ;; Sanity check. |
| 20714 | (add-after 'wrap-program 'check-install |
| 20715 | (lambda* (#:key outputs #:allow-other-keys) |
| 20716 | (let* ((ngless (string-append (assoc-ref outputs "out") "/bin/ngless"))) |
| 20717 | (invoke ngless "--check-install")))) |
| 20718 | (add-after 'register 'remove-libraries |
| 20719 | (lambda* (#:key outputs #:allow-other-keys) |
| 20720 | (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) |
| 20721 | (inputs (list bash-minimal |
| 20722 | prodigal |
| 20723 | bwa |
| 20724 | samtools |
| 20725 | minimap2 |
| 20726 | megahit |
| 20727 | ghc-missingh |
| 20728 | ghc-aeson |
| 20729 | ghc-ansi-terminal |
| 20730 | ghc-async |
| 20731 | ghc-atomic-write |
| 20732 | ghc-bytestring-lexing |
| 20733 | ghc-conduit |
| 20734 | ghc-conduit-algorithms |
| 20735 | ghc-conduit-extra |
| 20736 | ghc-configurator |
| 20737 | ghc-convertible |
| 20738 | ghc-data-default |
| 20739 | ghc-edit-distance |
| 20740 | ghc-either |
| 20741 | ghc-errors |
| 20742 | ghc-extra |
| 20743 | ghc-file-embed |
| 20744 | ghc-filemanip |
| 20745 | ghc-hashable |
| 20746 | ghc-hashtables |
| 20747 | ghc-hostname |
| 20748 | ghc-http-client |
| 20749 | ghc-http-conduit |
| 20750 | ghc-inline-c |
| 20751 | ghc-inline-c-cpp |
| 20752 | ghc-int-interval-map |
| 20753 | ghc-network |
| 20754 | ghc-optparse-applicative |
| 20755 | ghc-primitive |
| 20756 | ghc-random-shuffle |
| 20757 | ghc-regex |
| 20758 | ghc-resourcet |
| 20759 | ghc-safe |
| 20760 | ghc-stm-chans |
| 20761 | ghc-stm-conduit |
| 20762 | ghc-strict |
| 20763 | ghc-tar |
| 20764 | ghc-tar-conduit |
| 20765 | ghc-unix-compat |
| 20766 | ghc-unliftio |
| 20767 | ghc-unliftio-core |
| 20768 | ghc-vector |
| 20769 | ghc-vector-algorithms |
| 20770 | ghc-yaml |
| 20771 | ghc-zlib |
| 20772 | ghc-bzlib-conduit |
| 20773 | ghc-double-conversion |
| 20774 | ghc-safeio)) |
| 20775 | (propagated-inputs |
| 20776 | (list r-r6 r-hdf5r r-iterators r-itertools r-matrix)) |
| 20777 | (native-inputs (list ghc-hunit |
| 20778 | ghc-quickcheck |
| 20779 | ghc-tasty |
| 20780 | ghc-tasty-hunit |
| 20781 | ghc-tasty-quickcheck |
| 20782 | ghc-tasty-th)) |
| 20783 | (home-page "https://ngless.embl.de/") |
| 20784 | (synopsis "DSL for processing next-generation sequencing data") |
| 20785 | (description "Ngless is a domain-specific language for |
| 20786 | @dfn{next-generation sequencing} (NGS) data processing.") |
| 20787 | (license license:expat))) |
| 20788 | |
| 20789 | (define-public ghc-int-interval-map |
| 20790 | (let ((commit "678763de7fe6d7fa3f1c44b32d18ce58670270f4") |
| 20791 | (revision "1")) |
| 20792 | (package |
| 20793 | (name "ghc-int-interval-map") |
| 20794 | (version "0.0.0.0") |
| 20795 | (source |
| 20796 | (origin |
| 20797 | (method git-fetch) |
| 20798 | (uri (git-reference |
| 20799 | (url "https://github.com/ngless-toolkit/interval-to-int.git") |
| 20800 | (commit commit))) |
| 20801 | (file-name (git-file-name name version)) |
| 20802 | (sha256 (base32 "0fd728b5if89vj5j4f9y7k0b2xv2ycz5a21iy15wbdcf5bhim7i8")))) |
| 20803 | (build-system haskell-build-system) |
| 20804 | (inputs |
| 20805 | (list ghc-either ghc-primitive ghc-vector ghc-vector-algorithms)) |
| 20806 | (native-inputs |
| 20807 | (list ghc-hedgehog |
| 20808 | ghc-tasty |
| 20809 | ghc-tasty-hedgehog |
| 20810 | ghc-tasty-hunit |
| 20811 | ghc-tasty-quickcheck |
| 20812 | ghc-tasty-th)) |
| 20813 | (home-page "https://github.com/luispedro/interval-to-int#readme") |
| 20814 | (synopsis "Interval map structure in Haskell") |
| 20815 | (description "An interval map structure that is optimized for low |
| 20816 | memory (each interval is represented by about 3 words + whatever the |
| 20817 | cargo is) and has semantics that are appropriate for genomic intervals |
| 20818 | (namely, intervals can overlap and queries will return all matches |
| 20819 | together). It also designed to be used in two phases: a construction |
| 20820 | phase + query phase).") |
| 20821 | (license license:expat)))) |
| 20822 | |
| 20823 | (define-public nanopolish |
| 20824 | (package |
| 20825 | (name "nanopolish") |
| 20826 | (version "0.14.0") |
| 20827 | (source |
| 20828 | (origin |
| 20829 | (method git-fetch) |
| 20830 | (uri (git-reference |
| 20831 | (url "https://github.com/jts/nanopolish") |
| 20832 | (commit (string-append "v" version)) |
| 20833 | (recursive? #t))) |
| 20834 | (file-name (git-file-name name version)) |
| 20835 | (sha256 |
| 20836 | (base32 "1ha9v5ia0qrwgav0956cfc7n64wjm9a9w3rvkg21g37a994yixg5")) |
| 20837 | (modules '((guix build utils))) |
| 20838 | (snippet |
| 20839 | ;; TODO: unbundle slow5lib |
| 20840 | '(begin (for-each delete-file-recursively |
| 20841 | '("htslib" "minimap2")))))) |
| 20842 | (build-system gnu-build-system) |
| 20843 | (arguments |
| 20844 | (list |
| 20845 | #:make-flags |
| 20846 | #~(list "HDF5=noinstall" |
| 20847 | "EIGEN=noinstall" |
| 20848 | "HTS=noinstall" |
| 20849 | "MINIMAP2=noinstall" |
| 20850 | (string-append "CC=" #$(cc-for-target))) |
| 20851 | #:tests? #f ; no check target |
| 20852 | #:phases |
| 20853 | #~(modify-phases %standard-phases |
| 20854 | (add-after 'unpack 'find-eigen |
| 20855 | (lambda* (#:key inputs #:allow-other-keys) |
| 20856 | (setenv "CPATH" |
| 20857 | (string-append |
| 20858 | (search-input-directory inputs "/include/eigen3") |
| 20859 | ":" (or (getenv "CPATH") ""))))) |
| 20860 | (delete 'configure) |
| 20861 | (replace 'install |
| 20862 | (lambda _ |
| 20863 | (let ((bin (string-append #$output "/bin")) |
| 20864 | (scripts (string-append #$output "/share/nanopolish/scripts"))) |
| 20865 | |
| 20866 | (install-file "nanopolish" bin) |
| 20867 | (for-each (lambda (file) (install-file file scripts)) |
| 20868 | (find-files "scripts" ".*"))))) |
| 20869 | (add-after 'install 'wrap-programs |
| 20870 | (lambda* (#:key inputs #:allow-other-keys) |
| 20871 | (let ((pythonpath (getenv "GUIX_PYTHONPATH")) |
| 20872 | (perl5lib (getenv "PERL5LIB")) |
| 20873 | (scripts (string-append #$output "/share/nanopolish/scripts")) |
| 20874 | (guile (search-input-file inputs "bin/guile"))) |
| 20875 | (for-each (lambda (file) |
| 20876 | (wrap-program file `("GUIX_PYTHONPATH" ":" prefix (,pythonpath)))) |
| 20877 | (find-files scripts "\\.py")) |
| 20878 | (for-each (lambda (file) |
| 20879 | (wrap-script file #:guile guile |
| 20880 | `("PERL5LIB" ":" prefix (,perl5lib)))) |
| 20881 | (find-files scripts "\\.pl")))))))) |
| 20882 | (inputs |
| 20883 | (list bash-minimal |
| 20884 | guile-3.0 ;for wrappers |
| 20885 | eigen |
| 20886 | hdf5 |
| 20887 | htslib |
| 20888 | minimap2 |
| 20889 | perl |
| 20890 | bioperl-minimal |
| 20891 | perl-getopt-long |
| 20892 | python-wrapper |
| 20893 | python-biopython |
| 20894 | python-numpy |
| 20895 | python-pysam |
| 20896 | python-scikit-learn |
| 20897 | python-scipy |
| 20898 | zlib)) |
| 20899 | (native-inputs (list cmake-minimal)) |
| 20900 | (home-page "https://github.com/jts/nanopolish") |
| 20901 | (synopsis "Signal-level analysis of Oxford Nanopore sequencing data") |
| 20902 | (description |
| 20903 | "This package analyses the Oxford Nanopore sequencing data at signal-level. |
| 20904 | Nanopolish can calculate an improved consensus sequence for a draft genome |
| 20905 | assembly, detect base modifications, call SNPs (Single nucleotide |
| 20906 | polymorphisms) and indels with respect to a reference genome and more.") |
| 20907 | (license license:expat))) |
| 20908 | |
| 20909 | (define-public cnvkit |
| 20910 | (package |
| 20911 | (name "cnvkit") |
| 20912 | (version "0.9.13") |
| 20913 | (source |
| 20914 | (origin |
| 20915 | (method git-fetch) |
| 20916 | (uri (git-reference |
| 20917 | (url "https://github.com/etal/cnvkit") |
| 20918 | (commit (string-append "v" version)))) |
| 20919 | (file-name (git-file-name name version)) |
| 20920 | (sha256 |
| 20921 | (base32 "0w81yl5v37r63d035mxdsycma8fgssyr0857rnvvjfw78wjjnvg9")))) |
| 20922 | (build-system pyproject-build-system) |
| 20923 | (arguments |
| 20924 | (list |
| 20925 | ;; tests: 70 passed, 211 warnings |
| 20926 | #:phases |
| 20927 | #~(modify-phases %standard-phases |
| 20928 | (add-after 'unpack 'fix-pytest-config |
| 20929 | (lambda _ |
| 20930 | (substitute* "pyproject.toml" |
| 20931 | (("filterwarnings =.*") |
| 20932 | ""))))))) |
| 20933 | (propagated-inputs |
| 20934 | (list python-biopython |
| 20935 | python-matplotlib |
| 20936 | python-numpy |
| 20937 | python-pandas |
| 20938 | python-pomegranate |
| 20939 | python-pyfaidx |
| 20940 | python-pysam |
| 20941 | python-reportlab |
| 20942 | python-scikit-learn |
| 20943 | python-scipy |
| 20944 | ;; R packages |
| 20945 | r-dnacopy)) |
| 20946 | (inputs (list r-minimal)) ;for tests |
| 20947 | (native-inputs (list python-pytest python-setuptools)) |
| 20948 | (home-page "https://cnvkit.readthedocs.org/") |
| 20949 | (synopsis "Copy number variant detection from targeted DNA sequencing") |
| 20950 | (description |
| 20951 | "CNVkit is a Python library and command-line software toolkit to infer |
| 20952 | and visualize copy number from high-throughput DNA sequencing data. It is |
| 20953 | designed for use with hybrid capture, including both whole-exome and custom |
| 20954 | target panels, and short-read sequencing platforms such as Illumina and Ion |
| 20955 | Torrent.") |
| 20956 | (license license:asl2.0))) |
| 20957 | |
| 20958 | (define-public python-pyfit-sne |
| 20959 | (package |
| 20960 | (name "python-pyfit-sne") |
| 20961 | (version "1.2.1") |
| 20962 | (source |
| 20963 | (origin |
| 20964 | (method git-fetch) |
| 20965 | (uri (git-reference |
| 20966 | (url "https://github.com/KlugerLab/pyFIt-SNE") |
| 20967 | (commit version))) |
| 20968 | (file-name (git-file-name name version)) |
| 20969 | (sha256 |
| 20970 | (base32 "0f3n7wcmxbnqiisgimhpa6p5chqpb1hj69i6rpg2hv2671i8nn68")))) |
| 20971 | (build-system pyproject-build-system) |
| 20972 | (arguments |
| 20973 | '(#:tests? #f)) ;there are none |
| 20974 | (propagated-inputs (list python-numpy)) |
| 20975 | (inputs (list fftw)) |
| 20976 | (native-inputs (list python-cython python-setuptools)) |
| 20977 | (home-page "https://github.com/KlugerLab/pyFIt-SNE") |
| 20978 | (synopsis "FFT-accelerated Interpolation-based t-SNE") |
| 20979 | (description |
| 20980 | "t-Stochastic Neighborhood Embedding (t-SNE) is a highly successful |
| 20981 | method for dimensionality reduction and visualization of high dimensional |
| 20982 | datasets. A popular implementation of t-SNE uses the Barnes-Hut algorithm to |
| 20983 | approximate the gradient at each iteration of gradient descent. This package |
| 20984 | is a Cython wrapper for FIt-SNE.") |
| 20985 | (license license:bsd-4))) |
| 20986 | |
| 20987 | (define-public bbmap |
| 20988 | (package |
| 20989 | (name "bbmap") |
| 20990 | (version "39.01") |
| 20991 | (source (origin |
| 20992 | (method url-fetch) |
| 20993 | (uri (string-append |
| 20994 | "mirror://sourceforge/bbmap/BBMap_" version ".tar.gz")) |
| 20995 | (sha256 |
| 20996 | (base32 |
| 20997 | "1rlkw2mlkn699dk9n5lnigmvwq3zr2f8hnq9plx7zi1h06jqsq4q")))) |
| 20998 | (build-system ant-build-system) |
| 20999 | (arguments |
| 21000 | (list |
| 21001 | #:build-target "dist" |
| 21002 | #:tests? #f ; there are none |
| 21003 | #:make-flags |
| 21004 | #~(list (string-append "-Dmpijar=" |
| 21005 | #$(this-package-input "java-openmpi") |
| 21006 | "/lib/mpi.jar")) |
| 21007 | #:modules '((guix build ant-build-system) |
| 21008 | (guix build utils) |
| 21009 | (guix build java-utils)) |
| 21010 | #:phases |
| 21011 | #~(modify-phases %standard-phases |
| 21012 | (add-after 'build 'build-jni-library |
| 21013 | (lambda _ |
| 21014 | (with-directory-excursion "jni" |
| 21015 | (invoke "make" "-f" "makefile.linux")))) |
| 21016 | ;; There is no install target |
| 21017 | (replace 'install (install-jars "dist")) |
| 21018 | (add-after 'install 'install-scripts-and-documentation |
| 21019 | (lambda _ |
| 21020 | (substitute* "calcmem.sh" |
| 21021 | (("\\| awk ") (string-append "| " (which "awk") " "))) |
| 21022 | (let* ((scripts (find-files "." "\\.sh$")) |
| 21023 | (bin (string-append #$output "/bin")) |
| 21024 | (doc (string-append #$output "/share/doc/bbmap")) |
| 21025 | (jni (string-append #$output "/lib/jni"))) |
| 21026 | (substitute* scripts |
| 21027 | (("\\$DIR\"\"docs") doc) |
| 21028 | (("^CP=.*") |
| 21029 | (string-append "CP=" #$output "/share/java/BBTools.jar\n")) |
| 21030 | (("^NATIVELIBDIR.*") |
| 21031 | (string-append "NATIVELIBDIR=" jni "\n")) |
| 21032 | (("CMD=\"java") |
| 21033 | (string-append "CMD=\"" (which "java")))) |
| 21034 | (for-each (lambda (script) (install-file script bin)) scripts) |
| 21035 | |
| 21036 | ;; Install JNI library |
| 21037 | (install-file "jni/libbbtoolsjni.so" jni) |
| 21038 | |
| 21039 | ;; Install documentation |
| 21040 | (install-file "docs/readme.txt" doc) |
| 21041 | (copy-recursively "docs/guides" doc))))) |
| 21042 | #:jdk openjdk11)) |
| 21043 | (inputs |
| 21044 | (list gawk java-eclipse-jdt-core java-eclipse-jdt-compiler-apt |
| 21045 | java-openmpi)) |
| 21046 | (home-page "https://sourceforge.net/projects/bbmap/") |
| 21047 | (synopsis "Aligner and other tools for short sequencing reads") |
| 21048 | (description |
| 21049 | "This package provides bioinformatic tools to align, deduplicate, |
| 21050 | reformat, filter and normalize DNA and RNA-seq data. It includes the |
| 21051 | following tools: BBMap, a short read aligner for DNA and RNA-seq data; BBNorm, |
| 21052 | a kmer-based error-correction and normalization tool; Dedupe, a tool to |
| 21053 | simplify assemblies by removing duplicate or contained subsequences that share |
| 21054 | a target percent identity; Reformat, to convert reads between |
| 21055 | fasta/fastq/scarf/fasta+qual/sam, interleaved/paired, and ASCII-33/64, at over |
| 21056 | 500 MB/s; and BBDuk, a tool to filter, trim, or mask reads with kmer matches |
| 21057 | to an artifact/contaminant file.") |
| 21058 | (license license:bsd-3))) |
| 21059 | |
| 21060 | (define-public velvet |
| 21061 | (package |
| 21062 | (name "velvet") |
| 21063 | (version "1.2.10") |
| 21064 | (source (origin |
| 21065 | (method url-fetch) |
| 21066 | (uri (string-append "https://www.ebi.ac.uk/~zerbino/velvet/" |
| 21067 | "velvet_" version ".tgz")) |
| 21068 | (sha256 |
| 21069 | (base32 |
| 21070 | "0h3njwy66p6bx14r3ar1byb0ccaxmxka4c65rn4iybyiqa4d8kc8")) |
| 21071 | ;; Delete bundled libraries |
| 21072 | (modules '((guix build utils))) |
| 21073 | (snippet |
| 21074 | '(begin |
| 21075 | (delete-file "Manual.pdf") |
| 21076 | (delete-file-recursively "third-party"))))) |
| 21077 | (build-system gnu-build-system) |
| 21078 | (arguments |
| 21079 | (list |
| 21080 | #:make-flags #~(list "OPENMP=t" |
| 21081 | "CFLAGS=-Wall -Wno-error=incompatible-pointer-types") |
| 21082 | #:test-target "test" |
| 21083 | #:phases |
| 21084 | #~(modify-phases %standard-phases |
| 21085 | (delete 'configure) |
| 21086 | (add-after 'unpack 'fix-zlib-include |
| 21087 | (lambda _ |
| 21088 | (substitute* "src/binarySequences.c" |
| 21089 | (("../third-party/zlib-1.2.3/zlib.h") "zlib.h")))) |
| 21090 | (add-before 'build 'set-home-env |
| 21091 | (lambda _ |
| 21092 | ;; TeXLive requires HOME to be set. |
| 21093 | ;; Permission denied: '/homeless-shelter' |
| 21094 | (setenv "HOME" "/tmp"))) |
| 21095 | (replace 'install |
| 21096 | (lambda _ |
| 21097 | (let ((bin (string-append #$output "/bin")) |
| 21098 | (doc (string-append #$output "/share/doc/velvet"))) |
| 21099 | (mkdir-p bin) |
| 21100 | (mkdir-p doc) |
| 21101 | (install-file "velveth" bin) |
| 21102 | (install-file "velvetg" bin) |
| 21103 | (install-file "Manual.pdf" doc) |
| 21104 | (install-file "Columbus_manual.pdf" doc))))))) |
| 21105 | (inputs |
| 21106 | (list openmpi zlib)) |
| 21107 | (native-inputs |
| 21108 | (list (texlive-local-tree |
| 21109 | (list texlive-ec |
| 21110 | texlive-infwarerr |
| 21111 | texlive-kvoptions |
| 21112 | texlive-pdftexcmds)))) |
| 21113 | (home-page "https://www.ebi.ac.uk/~zerbino/velvet/") |
| 21114 | (synopsis "Nucleic acid sequence assembler for very short reads") |
| 21115 | (description |
| 21116 | "Velvet is a de novo genomic assembler specially designed for short read |
| 21117 | sequencing technologies, such as Solexa or 454. Velvet currently takes in |
| 21118 | short read sequences, removes errors then produces high quality unique |
| 21119 | contigs. It then uses paired read information, if available, to retrieve the |
| 21120 | repeated areas between contigs.") |
| 21121 | (license license:gpl2+))) |
| 21122 | |
| 21123 | (define-public vembrane |
| 21124 | (package |
| 21125 | (name "vembrane") |
| 21126 | (version "1.0.7") |
| 21127 | (source (origin |
| 21128 | (method git-fetch) |
| 21129 | (uri (git-reference |
| 21130 | (url "https://github.com/vembrane/vembrane") |
| 21131 | (commit (string-append "v" version)))) |
| 21132 | (file-name (git-file-name name version)) |
| 21133 | (sha256 |
| 21134 | (base32 |
| 21135 | "127wmwj0162nfaql68jwxlkz7rbnjya70xrj4j8zwvcnxcj7x5v3")))) |
| 21136 | (build-system pyproject-build-system) |
| 21137 | (arguments |
| 21138 | (list |
| 21139 | #:phases |
| 21140 | #~(modify-phases %standard-phases |
| 21141 | (add-after 'unpack 'use-poetry-core |
| 21142 | (lambda _ |
| 21143 | ;; Patch to use the core poetry API. |
| 21144 | (substitute* "pyproject.toml" |
| 21145 | (("poetry.masonry.api") "poetry.core.masonry.api"))))))) |
| 21146 | (inputs |
| 21147 | (list python-asttokens |
| 21148 | python-intervaltree |
| 21149 | python-numpy |
| 21150 | python-pysam |
| 21151 | python-pyyaml)) |
| 21152 | (native-inputs |
| 21153 | (list python-poetry-core |
| 21154 | python-pytest)) |
| 21155 | (home-page "https://github.com/vembrane/vembrane") |
| 21156 | (synopsis "Filter VCF/BCF files with Python expressions") |
| 21157 | (description "Vembrane simultaneously filters variants based on |
| 21158 | any INFO or FORMAT field, CHROM, POS, ID, REF, ALT, QUAL, FILTER, and the |
| 21159 | annotation field ANN. When filtering based on ANN, annotation entries are |
| 21160 | filtered first. If no annotation entry remains, the entire variant is |
| 21161 | deleted.") |
| 21162 | (license license:expat))) |
| 21163 | |
| 21164 | (define-public arriba |
| 21165 | (package |
| 21166 | (name "arriba") |
| 21167 | (version "1.0.1") |
| 21168 | (source |
| 21169 | (origin |
| 21170 | (method url-fetch) |
| 21171 | (uri (string-append "https://github.com/suhrig/arriba/releases/" |
| 21172 | "download/v" version "/arriba_v" version ".tar.gz")) |
| 21173 | (sha256 |
| 21174 | (base32 |
| 21175 | "0jx9656ry766vb8z08m1c3im87b0c82qpnjby9wz4kcz8vn87dx2")))) |
| 21176 | (build-system gnu-build-system) |
| 21177 | (arguments |
| 21178 | (list |
| 21179 | #:tests? #f ;there are none |
| 21180 | #:phases |
| 21181 | #~(modify-phases %standard-phases |
| 21182 | (replace 'configure |
| 21183 | (lambda* (#:key inputs #:allow-other-keys) |
| 21184 | (substitute* "Makefile" |
| 21185 | (("-I\\$\\(HTSLIB\\)/htslib") |
| 21186 | (string-append "-I" |
| 21187 | (search-input-directory inputs "/include/htslib"))) |
| 21188 | ((" \\$\\(HTSLIB\\)/libhts.a") |
| 21189 | (string-append " " (search-input-file inputs "/lib/libhts.so")))) |
| 21190 | (let ((samtools (search-input-file inputs "/bin/samtools"))) |
| 21191 | (substitute* "run_arriba.sh" |
| 21192 | (("^STAR ") |
| 21193 | (string-append (search-input-file inputs "/bin/STAR") " ")) |
| 21194 | (("samtools --version-only") |
| 21195 | (string-append samtools " --version-only")) |
| 21196 | (("samtools index") |
| 21197 | (string-append samtools " index")) |
| 21198 | (("samtools sort") |
| 21199 | (string-append samtools " sort")))))) |
| 21200 | (replace 'install |
| 21201 | (lambda _ |
| 21202 | (let ((bin (string-append #$output "/bin"))) |
| 21203 | (install-file "arriba" bin) |
| 21204 | (install-file "run_arriba.sh" bin) |
| 21205 | (install-file "draw_fusions.R" bin) |
| 21206 | (wrap-program (string-append bin "/draw_fusions.R") |
| 21207 | `("R_LIBS_SITE" ":" prefix (,(getenv "R_LIBS_SITE")))))))))) |
| 21208 | (inputs |
| 21209 | (list bash-minimal |
| 21210 | htslib |
| 21211 | r-minimal |
| 21212 | r-circlize |
| 21213 | r-genomicalignments |
| 21214 | r-genomicranges |
| 21215 | samtools |
| 21216 | star |
| 21217 | zlib)) |
| 21218 | (home-page "https://github.com/suhrig/arriba") |
| 21219 | (synopsis "Gene fusion detection from RNA-Seq data") |
| 21220 | (description |
| 21221 | "Arriba is a command-line tool for the detection of gene fusions from |
| 21222 | RNA-Seq data. It was developed for the use in a clinical research setting. |
| 21223 | Therefore, short runtimes and high sensitivity were important design criteria. |
| 21224 | It is based on the fast STAR aligner and the post-alignment runtime is |
| 21225 | typically just around two minutes. In contrast to many other fusion detection |
| 21226 | tools which build on STAR, Arriba does not require to reduce the |
| 21227 | @code{alignIntronMax} parameter of STAR to detect small deletions.") |
| 21228 | ;; All code is under the Expat license with the exception of |
| 21229 | ;; "draw_fusions.R", which is under GPLv3. |
| 21230 | (license (list license:expat license:gpl3)))) |
| 21231 | |
| 21232 | (define-public adapterremoval |
| 21233 | (package |
| 21234 | (name "adapterremoval") |
| 21235 | (version "2.3.3") |
| 21236 | (source |
| 21237 | (origin |
| 21238 | (method git-fetch) |
| 21239 | (uri (git-reference |
| 21240 | (url "https://github.com/MikkelSchubert/adapterremoval") |
| 21241 | (commit (string-append "v" version)))) |
| 21242 | (file-name (git-file-name name version)) |
| 21243 | (sha256 |
| 21244 | (base32 |
| 21245 | "0wyr182667wqdmzhwwa6f7dddr8kk0scgzb8lsm23wim544mvn6i")))) |
| 21246 | (build-system gnu-build-system) |
| 21247 | (arguments |
| 21248 | (list |
| 21249 | #:make-flags |
| 21250 | #~(list "COLOR_BUILD=no" |
| 21251 | (string-append "PREFIX=" #$output)) |
| 21252 | #:test-target "test" |
| 21253 | #:phases |
| 21254 | '(modify-phases %standard-phases |
| 21255 | (delete 'configure)))) |
| 21256 | (inputs (list zlib)) |
| 21257 | (home-page "https://adapterremoval.readthedocs.io/") |
| 21258 | (synopsis "Rapid sequence adapter trimming, identification, and read merging") |
| 21259 | (description |
| 21260 | "This program searches for and removes remnant adapter sequences from |
| 21261 | @dfn{High-Throughput Sequencing} (HTS) data and (optionally) trims low quality |
| 21262 | bases from the 3' end of reads following adapter removal. AdapterRemoval can |
| 21263 | analyze both single end and paired end data, and can be used to merge |
| 21264 | overlapping paired-ended reads into (longer) consensus sequences. |
| 21265 | Additionally, the AdapterRemoval may be used to recover a consensus adapter |
| 21266 | sequence for paired-ended data, for which this information is not available.") |
| 21267 | (license license:gpl3+))) |
| 21268 | |
| 21269 | (define-public checkm |
| 21270 | (package |
| 21271 | (name "checkm") |
| 21272 | (version "1.2.4") |
| 21273 | (source |
| 21274 | (origin |
| 21275 | (method url-fetch) |
| 21276 | (uri (pypi-uri "checkm_genome" version)) |
| 21277 | (sha256 |
| 21278 | (base32 "0wdjrz9v5cb6fa6rcd56v3x09yyffx18jjd9g8iw0i6i0lmw9abx")))) |
| 21279 | (build-system pyproject-build-system) |
| 21280 | (arguments |
| 21281 | (list |
| 21282 | #:test-flags |
| 21283 | #~(list "-k" (string-append |
| 21284 | ;; AttributeError: 'BinStatistics' object has no attribute |
| 21285 | ;; '_BinStatistics__calculateCodingBases' |
| 21286 | "not testCodingBases" |
| 21287 | ;; KeyError: 'GC' |
| 21288 | " and not testGC" |
| 21289 | ;; AttributeError: 'BinStatistics' object |
| 21290 | ;; has no attribute |
| 21291 | ;; 'calculateScaffoldLengthStats' |
| 21292 | " and not testScaffoldLengthStats")) |
| 21293 | #:phases |
| 21294 | #~(modify-phases %standard-phases |
| 21295 | (add-before 'check 'set-HOME |
| 21296 | (lambda _ |
| 21297 | (setenv "HOME" "/tmp")))))) |
| 21298 | (native-inputs |
| 21299 | (list python-pytest |
| 21300 | python-setuptools)) |
| 21301 | (inputs |
| 21302 | (list python-dendropy |
| 21303 | python-matplotlib |
| 21304 | python-numpy |
| 21305 | python-pysam |
| 21306 | python-scipy)) |
| 21307 | (home-page "https://ecogenomics.github.io/CheckM/") |
| 21308 | (synopsis "Assess the quality of putative genome bins") |
| 21309 | (description |
| 21310 | "CheckM provides a set of tools for assessing the quality of genomes |
| 21311 | recovered from isolates, single cells, or metagenomes. It provides robust |
| 21312 | estimates of genome completeness and contamination by using collocated sets of |
| 21313 | genes that are ubiquitous and single-copy within a phylogenetic lineage. |
| 21314 | Assessment of genome quality can also be examined using plots depicting key |
| 21315 | genomic characteristics (e.g., GC, coding density) which highlight sequences |
| 21316 | outside the expected distributions of a typical genome. CheckM also provides |
| 21317 | tools for identifying genome bins that are likely candidates for merging based |
| 21318 | on marker set compatibility, similarity in genomic characteristics, and |
| 21319 | proximity within a reference genome.") |
| 21320 | (license license:gpl3+))) |
| 21321 | |
| 21322 | (define-public chromap |
| 21323 | (package |
| 21324 | (name "chromap") |
| 21325 | (version "0.2.7") |
| 21326 | (source |
| 21327 | (origin |
| 21328 | (method git-fetch) |
| 21329 | (uri (git-reference |
| 21330 | (url "https://github.com/haowenz/chromap") |
| 21331 | (commit (string-append "v" version)))) |
| 21332 | (file-name (git-file-name name version)) |
| 21333 | (sha256 |
| 21334 | (base32 |
| 21335 | "099y3kac6npiqyx5prc9ggigw6248j7kchjznqvd9hxkq24rrsqs")))) |
| 21336 | (build-system gnu-build-system) |
| 21337 | (arguments |
| 21338 | (list |
| 21339 | #:tests? #false ;there are none |
| 21340 | #:phases |
| 21341 | #~(modify-phases %standard-phases |
| 21342 | (delete 'configure) |
| 21343 | (replace 'install |
| 21344 | (lambda _ |
| 21345 | (install-file "chromap" (string-append #$output "/bin"))))))) |
| 21346 | (inputs (list zlib)) |
| 21347 | (home-page "https://github.com/haowenz/chromap") |
| 21348 | (synopsis "Fast alignment and preprocessing of chromatin profiles") |
| 21349 | (description "Chromap is a fast method for aligning and preprocessing high |
| 21350 | throughput chromatin profiles. Typical use cases include: |
| 21351 | |
| 21352 | @itemize |
| 21353 | @item trimming sequencing adapters, mapping bulk ATAC-seq or ChIP-seq genomic |
| 21354 | reads to the human genome and removing duplicates; |
| 21355 | @item trimming sequencing adapters, mapping single cell ATAC-seq genomic reads |
| 21356 | to the human genome, correcting barcodes, removing duplicates and performing |
| 21357 | Tn5 shift; |
| 21358 | @item split alignment of Hi-C reads against a reference genome. |
| 21359 | @end itemize") |
| 21360 | (supported-systems '("x86_64-linux")) ;requires CPU with SSE4.1 |
| 21361 | (license license:expat))) |
| 21362 | |
| 21363 | (define-public umi-tools |
| 21364 | (package |
| 21365 | (name "umi-tools") |
| 21366 | (version "1.1.6") |
| 21367 | ;; TODO: Delete generated Cython C files. |
| 21368 | (source |
| 21369 | (origin |
| 21370 | (method git-fetch) |
| 21371 | (uri (git-reference |
| 21372 | (url "https://github.com/CGATOxford/UMI-tools") |
| 21373 | (commit (string-append "v" version)))) |
| 21374 | (file-name (git-file-name name version)) |
| 21375 | (sha256 |
| 21376 | (base32 "1liykfj4msvcgk8an5qq802jcxwlijqxrvijipqj1pwpxqzl9qnh")))) |
| 21377 | (build-system pyproject-build-system) |
| 21378 | (arguments |
| 21379 | (list |
| 21380 | #:test-flags |
| 21381 | #~(list "--ignore=tests/test_style.py" |
| 21382 | "--ignore=step1_unit_test.py") |
| 21383 | #:phases |
| 21384 | #~(modify-phases %standard-phases |
| 21385 | (add-after 'unpack 'fix-bash-path |
| 21386 | (lambda _ |
| 21387 | (substitute* "tests/test_umi_tools.py" |
| 21388 | (("/bin/bash") |
| 21389 | (which "sh"))))) |
| 21390 | (add-before 'check 'build-extensions |
| 21391 | (lambda _ |
| 21392 | (invoke "python" "setup.py" "build_ext" "--inplace")))))) |
| 21393 | (inputs |
| 21394 | (list python-pandas |
| 21395 | python-future |
| 21396 | python-scipy |
| 21397 | python-matplotlib |
| 21398 | python-regex |
| 21399 | python-pybktree |
| 21400 | python-scipy |
| 21401 | python-pysam)) |
| 21402 | (native-inputs |
| 21403 | (list python-cython |
| 21404 | python-pyaml |
| 21405 | python-pytest |
| 21406 | python-setuptools)) |
| 21407 | (home-page "https://github.com/CGATOxford/UMI-tools") |
| 21408 | (synopsis "Tools for analyzing unique modular identifiers") |
| 21409 | (description "This package provides tools for dealing with @dfn{Unique |
| 21410 | Molecular Identifiers} (UMIs) and @dfn{Random Molecular Tags} (RMTs) in |
| 21411 | genetic sequences. There are six tools: the @code{extract} and |
| 21412 | @code{whitelist} commands are used to prepare a fastq containing UMIs @code{+/-} |
| 21413 | cell barcodes for alignment. The remaining commands, @code{group}, |
| 21414 | @code{dedup}, and @code{count}/@code{count_tab}, are used to identify PCR |
| 21415 | duplicates using the UMIs and perform different levels of analysis depending |
| 21416 | on the needs of the user.") |
| 21417 | (license license:expat))) |
| 21418 | |
| 21419 | (define-public ataqv |
| 21420 | (package |
| 21421 | (name "ataqv") |
| 21422 | (version "1.0.0") |
| 21423 | (source |
| 21424 | (origin |
| 21425 | (method git-fetch) |
| 21426 | (uri (git-reference |
| 21427 | (url "https://github.com/ParkerLab/ataqv") |
| 21428 | (commit version))) |
| 21429 | (file-name (git-file-name name version)) |
| 21430 | (sha256 |
| 21431 | (base32 |
| 21432 | "031xr6jx1aprh26y5b1lv3gzrlmzg4alfl73vvshymx8cq8asrqi")))) |
| 21433 | (build-system gnu-build-system) |
| 21434 | (arguments |
| 21435 | `(#:make-flags |
| 21436 | ,#~(list (string-append "prefix=" #$output) |
| 21437 | (string-append "BOOST_ROOT=" |
| 21438 | #$(this-package-input "boost")) |
| 21439 | (string-append "HTSLIB_ROOT=" |
| 21440 | #$(this-package-input "htslib"))) |
| 21441 | #:test-target "test" |
| 21442 | #:phases |
| 21443 | (modify-phases %standard-phases |
| 21444 | (delete 'configure)))) |
| 21445 | (inputs |
| 21446 | (list boost-1.83 htslib ncurses zlib)) |
| 21447 | (native-inputs |
| 21448 | (list lcov)) |
| 21449 | (home-page "https://github.com/ParkerLab/ataqv") |
| 21450 | (synopsis "Toolkit for quality control and visualization of ATAC-seq data") |
| 21451 | (description "This package provides a toolkit for measuring and comparing |
| 21452 | ATAC-seq results. It was written to make it easier to spot differences that |
| 21453 | might be caused by ATAC-seq library prep or sequencing. The main program, |
| 21454 | @code{ataqv}, examines aligned reads and reports some basic metrics.") |
| 21455 | (license license:gpl3+))) |
| 21456 | |
| 21457 | (define-public r-psiplot |
| 21458 | (package |
| 21459 | (name "r-psiplot") |
| 21460 | (version "2.3.0") |
| 21461 | (source |
| 21462 | (origin |
| 21463 | (method git-fetch) |
| 21464 | (uri (git-reference |
| 21465 | (url "https://github.com/kcha/psiplot") |
| 21466 | (commit (string-append "v" version)))) |
| 21467 | (file-name (git-file-name name version)) |
| 21468 | (sha256 |
| 21469 | (base32 "08438h16cfry5kqh3y9hs8q1b1a8bxhblsm75knviz5r6q0n1jxh")))) |
| 21470 | (build-system r-build-system) |
| 21471 | (propagated-inputs |
| 21472 | (list r-mass |
| 21473 | r-dplyr |
| 21474 | r-tidyr |
| 21475 | r-purrr |
| 21476 | r-readr |
| 21477 | r-magrittr |
| 21478 | r-ggplot2)) |
| 21479 | (native-inputs (list r-testthat)) |
| 21480 | (home-page "https://github.com/kcha/psiplot") |
| 21481 | (synopsis "Plot percent spliced-in values of alternatively-spliced exons") |
| 21482 | (description |
| 21483 | "PSIplot is an R package for generating plots of @dfn{percent |
| 21484 | spliced-in} (PSI) values of alternatively-spliced exons that were computed by |
| 21485 | vast-tools, an RNA-Seq pipeline for alternative splicing analysis. The plots |
| 21486 | are generated using @code{ggplot2}.") |
| 21487 | (license license:expat))) |
| 21488 | |
| 21489 | (define-public r-scopeloomr |
| 21490 | (let ((commit "99726f5f7da794042036b73924b6a10d6e7b4d5d") |
| 21491 | (revision "1")) |
| 21492 | (package |
| 21493 | (name "r-scopeloomr") |
| 21494 | (version (git-version "0.13.0" revision commit)) |
| 21495 | (source |
| 21496 | (origin |
| 21497 | (method git-fetch) |
| 21498 | (uri (git-reference |
| 21499 | (url "https://github.com/aertslab/SCopeLoomR") |
| 21500 | (commit commit))) |
| 21501 | (file-name (git-file-name name version)) |
| 21502 | (sha256 |
| 21503 | (base32 "1ci17ms0c0hf7yfp9ckcg7a2y1s0nm19jj3cifsd55hwc0gdglmz")))) |
| 21504 | (properties `((upstream-name . "SCopeLoomR"))) |
| 21505 | (build-system r-build-system) |
| 21506 | (propagated-inputs |
| 21507 | (list r-base64enc r-hdf5r r-igraph r-matrix r-plyr r-rjson r-rlist)) |
| 21508 | (home-page "https://github.com/aertslab/SCopeLoomR") |
| 21509 | (synopsis "Build .loom files and extract data from them") |
| 21510 | (description |
| 21511 | "This is an R package to build generic @code{.loom} files aligning with |
| 21512 | the default naming convention of the @code{.loom} format and to integrate |
| 21513 | other data types e.g.: regulons (SCENIC), clusters from Seurat, trajectory |
| 21514 | information... The package can also be used to extract data from @code{.loom} |
| 21515 | files.") |
| 21516 | (license license:expat)))) |
| 21517 | |
| 21518 | (define-public rscape |
| 21519 | (package |
| 21520 | (name "rscape") |
| 21521 | (version "2.0.0.q") |
| 21522 | (source (origin |
| 21523 | (method url-fetch) |
| 21524 | (uri (string-append "http://eddylab.org/software/rscape/" |
| 21525 | "rscape_v" version ".tar.gz")) |
| 21526 | (sha256 |
| 21527 | (base32 |
| 21528 | "1jabvm3fzh8iy4803ns12v1fsy28x6wdy8wx4ik8y0mfac4h787q")))) |
| 21529 | (build-system gnu-build-system) |
| 21530 | (propagated-inputs (list gsl openmpi)) |
| 21531 | (native-inputs (list automake autoconf)) |
| 21532 | (home-page "https://github.com/EddyRivasLab/R-scape") |
| 21533 | (synopsis "RNA structural covariation above phylogenetic expectation") |
| 21534 | (description |
| 21535 | "R-scape discovers RNA secondary structure consensus elements. |
| 21536 | These elements include riboswitches and ribozymes. It utilizes probabilistic |
| 21537 | modeling of sequence alignments, explicitly considering folding dependencies. |
| 21538 | The tool enables the de novo search for new structural elements and |
| 21539 | facilitates comparative analysis of known RNA families.") |
| 21540 | (license license:bsd-3))) |
| 21541 | |
| 21542 | (define-public r-databaselinke-r |
| 21543 | (let ((commit "cf3d6cc3d36f2e1c9a557390232e9a8ed5abb7fd") |
| 21544 | (revision "1")) |
| 21545 | (package |
| 21546 | (name "r-databaselinke-r") |
| 21547 | (version (git-version "1.7.0" revision commit)) |
| 21548 | (source |
| 21549 | (origin |
| 21550 | (method git-fetch) |
| 21551 | (uri (git-reference |
| 21552 | (url "https://github.com/vertesy/DatabaseLinke.R") |
| 21553 | (commit commit))) |
| 21554 | (file-name (git-file-name name version)) |
| 21555 | (sha256 |
| 21556 | (base32 "0hk76sb3w1v8a7c1knpc572ypsbgqlrv0p49c9y55a0dr12n16s1")))) |
| 21557 | (properties `((upstream-name . "DatabaseLinke.R"))) |
| 21558 | (build-system r-build-system) |
| 21559 | (propagated-inputs (list r-readwriter)) |
| 21560 | (home-page "https://github.com/vertesy/DatabaseLinke.R") |
| 21561 | (synopsis |
| 21562 | "Parse links to databases from your list of gene symbols") |
| 21563 | (description |
| 21564 | "This package provides a set of functions to parse and open (search |
| 21565 | query) links to genomics related and other websites for R. Useful when you |
| 21566 | want to explore e.g.: the function of a set of differentially expressed |
| 21567 | genes.") |
| 21568 | (license license:gpl3)))) |
| 21569 | |
| 21570 | (define-public r-seuratextend |
| 21571 | (let ((commit "5dacd7c1e1da3bc0e78ab81d60056f6d7da3d386") |
| 21572 | (revision "1")) |
| 21573 | (package |
| 21574 | (name "r-seuratextend") |
| 21575 | (version (git-version "1.2.5" revision commit)) |
| 21576 | (source |
| 21577 | (origin |
| 21578 | (method git-fetch) |
| 21579 | (uri (git-reference |
| 21580 | (url "https://github.com/huayc09/SeuratExtend") |
| 21581 | (commit commit))) |
| 21582 | (file-name (git-file-name name version)) |
| 21583 | (sha256 |
| 21584 | (base32 "1fnh1idf871jfkpzmr2py15h5v5d9ykh9p0kvlpx7riiidi8wsl2")))) |
| 21585 | (properties `((upstream-name . "SeuratExtend"))) |
| 21586 | (build-system r-build-system) |
| 21587 | (propagated-inputs (list r-biocmanager |
| 21588 | r-dplyr |
| 21589 | r-ggplot2 |
| 21590 | r-ggpubr |
| 21591 | r-glue |
| 21592 | r-hdf5r |
| 21593 | r-magrittr |
| 21594 | r-mosaic |
| 21595 | r-purrr |
| 21596 | r-remotes |
| 21597 | r-reshape2 |
| 21598 | r-reticulate |
| 21599 | r-rlist |
| 21600 | r-scales |
| 21601 | r-seurat |
| 21602 | r-seuratextenddata |
| 21603 | r-seuratobject |
| 21604 | r-tidyr)) |
| 21605 | (native-inputs (list r-knitr)) |
| 21606 | (home-page "https://github.com/huayc09/SeuratExtend") |
| 21607 | (synopsis "Enhanced toolkit for scRNA-seq analysis") |
| 21608 | (description |
| 21609 | "This package is designed to improve and simplify the analysis of |
| 21610 | scRNA-seq data. It uses the Seurat object for this purpose. It provides an |
| 21611 | array of enhanced visualization tools, an integrated functional and pathway |
| 21612 | analysis pipeline, seamless integration with popular Python tools, and a suite |
| 21613 | of utility functions to aid in data manipulation and presentation.") |
| 21614 | (license license:gpl3+)))) |
| 21615 | |
| 21616 | (define-public r-seuratextenddata |
| 21617 | (let ((commit "e7f17d4bacca436705b06b2cd0c879f83add9271") |
| 21618 | (revision "1")) |
| 21619 | (package |
| 21620 | (name "r-seuratextenddata") |
| 21621 | (version (git-version "0.2.1" revision commit)) |
| 21622 | (source |
| 21623 | (origin |
| 21624 | (method git-fetch) |
| 21625 | (uri (git-reference |
| 21626 | (url "https://github.com/huayc09/SeuratExtendData") |
| 21627 | (commit commit))) |
| 21628 | (file-name (git-file-name name version)) |
| 21629 | (sha256 |
| 21630 | (base32 "1vl2wvpbv5q04mzc6z3f1jw2jc5i8pw5vm8y1rg5b1cihkwppvq5")))) |
| 21631 | (properties `((upstream-name . "SeuratExtendData"))) |
| 21632 | (build-system r-build-system) |
| 21633 | (home-page "https://github.com/huayc09/SeuratExtendData") |
| 21634 | (synopsis "Data attached to SeuratExtend package") |
| 21635 | (description "This package provides data for the SeuratExtend tool.") |
| 21636 | (license license:gpl3+)))) |
| 21637 | |
| 21638 | (define-public r-seuratwrappers |
| 21639 | ;; There are no releases or tags. |
| 21640 | (let ((commit "d28512f804d5fe05e6d68900ca9221020d52cf1d") |
| 21641 | (revision "1")) |
| 21642 | (package |
| 21643 | (name "r-seuratwrappers") |
| 21644 | (version (git-version "0.3.1" revision commit)) |
| 21645 | (source (origin |
| 21646 | (method git-fetch) |
| 21647 | (uri (git-reference |
| 21648 | (url "https://github.com/satijalab/seurat-wrappers") |
| 21649 | (commit commit))) |
| 21650 | (file-name (git-file-name name version)) |
| 21651 | (sha256 |
| 21652 | (base32 |
| 21653 | "0rm74y2fj3cmiqn7jz1ald8jbw53c2qxkj3mgl4pxih9vx39jhgy")))) |
| 21654 | (properties `((upstream-name . "SeuratWrappers"))) |
| 21655 | (build-system r-build-system) |
| 21656 | (propagated-inputs |
| 21657 | (list r-biocmanager |
| 21658 | r-cowplot |
| 21659 | r-ggplot2 |
| 21660 | r-igraph |
| 21661 | r-matrix |
| 21662 | r-remotes |
| 21663 | r-rlang |
| 21664 | r-rsvd |
| 21665 | r-r-utils |
| 21666 | r-seurat)) |
| 21667 | (home-page "https://github.com/satijalab/seurat-wrappers") |
| 21668 | (synopsis "Community-provided methods and extensions for the Seurat object") |
| 21669 | (description |
| 21670 | "SeuratWrappers is a collection of community-provided methods and |
| 21671 | extensions for Seurat, curated by the Satija Lab at NYGC. These methods |
| 21672 | comprise functionality not presently found in Seurat, and are able to be |
| 21673 | updated much more frequently.") |
| 21674 | (license license:gpl3)))) |
| 21675 | |
| 21676 | (define-public python-ctxcore |
| 21677 | (package |
| 21678 | (name "python-ctxcore") |
| 21679 | (version "0.2.0") |
| 21680 | (source |
| 21681 | (origin |
| 21682 | (method git-fetch) |
| 21683 | (uri (git-reference |
| 21684 | (url "https://github.com/aertslab/ctxcore") |
| 21685 | (commit version))) |
| 21686 | (file-name (git-file-name name version)) |
| 21687 | (sha256 |
| 21688 | (base32 |
| 21689 | "0nv4lc46cnzpg5gcdxrsv7b4srmkq55zl3rcadw5pn3yyz5fzd2k")))) |
| 21690 | (build-system pyproject-build-system) |
| 21691 | (propagated-inputs |
| 21692 | (list python-cytoolz |
| 21693 | python-frozendict |
| 21694 | python-numba |
| 21695 | python-numpy |
| 21696 | python-pandas |
| 21697 | python-pyarrow |
| 21698 | python-pyyaml |
| 21699 | python-tqdm)) |
| 21700 | (native-inputs |
| 21701 | (list python-pytest python-setuptools python-setuptools-scm)) |
| 21702 | (home-page "https://github.com/aertslab/ctxcore") |
| 21703 | (synopsis "Core functions for pycisTarget and the SCENIC tool suite") |
| 21704 | (description |
| 21705 | "ctxcore is part of the SCENIC suite of tools. It provides core functions for |
| 21706 | pycisTarget and SCENIC.") |
| 21707 | (license license:gpl3+))) |
| 21708 | |
| 21709 | (define-public python-arboreto |
| 21710 | (package |
| 21711 | (name "python-arboreto") |
| 21712 | ;; 0.1.6 was released in 2021 |
| 21713 | (properties '((commit . "79f916b0ea25c00989331b8db243826049c3d66c") |
| 21714 | (revision . "1"))) |
| 21715 | (version (git-version "0.1.6" |
| 21716 | (assoc-ref properties 'revision) |
| 21717 | (assoc-ref properties 'commit))) |
| 21718 | (source (origin |
| 21719 | (method git-fetch) |
| 21720 | (uri (git-reference |
| 21721 | (url "https://github.com/aertslab/arboreto") |
| 21722 | (commit (assoc-ref properties 'commit)))) |
| 21723 | (file-name (git-file-name name version)) |
| 21724 | (sha256 |
| 21725 | (base32 |
| 21726 | "10h1xzvp5r4612icxd5mfhvmwyw57mlvw6z9nwgh37qpzjcnvddd")))) |
| 21727 | (build-system pyproject-build-system) |
| 21728 | (arguments |
| 21729 | (list |
| 21730 | ;; tests: 37 tests (skipped=2) |
| 21731 | #:test-backend #~'unittest |
| 21732 | #:phases |
| 21733 | #~(modify-phases %standard-phases |
| 21734 | (add-after 'unpack 'python-3.12-compatibility |
| 21735 | (lambda _ |
| 21736 | (substitute* (find-files "tests" "\\.py") |
| 21737 | (("assertEquals") "assertEqual")))) |
| 21738 | (add-after 'unpack 'disable-failing-tests |
| 21739 | (lambda _ |
| 21740 | (substitute* "tests/test_algo.py" |
| 21741 | ;; AssertionError: 'Timed out trying to connect to |
| 21742 | ;; tcp://127.0.0.2:12345 after 10 s' not found in 'Timed out |
| 21743 | ;; trying to connect to tcp://127.0.0.2:12345 after 30 s'. |
| 21744 | (("def test_address") |
| 21745 | "def __off_test_address") |
| 21746 | ;; AssertionError: 'closing' != 'closed' |
| 21747 | ;; - closing |
| 21748 | ;; + closed |
| 21749 | (("def test_client") |
| 21750 | "def __off_test_client") |
| 21751 | )))))) |
| 21752 | (native-inputs |
| 21753 | (list python-setuptools)) |
| 21754 | (propagated-inputs |
| 21755 | (list python-bokeh ;XXX: for python-dask |
| 21756 | python-dask |
| 21757 | python-distributed |
| 21758 | python-numpy |
| 21759 | python-pandas |
| 21760 | python-scikit-learn |
| 21761 | python-scipy)) |
| 21762 | (home-page "https://github.com/aertslab/arboreto") |
| 21763 | (synopsis "Gene regulatory network inference using tree-based ensemble regressors") |
| 21764 | (description |
| 21765 | "This package implements scalable gene regulatory network inference using |
| 21766 | tree-based ensemble regressors.") |
| 21767 | (license license:bsd-3))) |
| 21768 | |
| 21769 | (define-public pyscenic |
| 21770 | ;; We use this commit because the last release is not compatible with the |
| 21771 | ;; current version of numpy. See |
| 21772 | ;; https://github.com/aertslab/pySCENIC/issues/579#issuecomment-2405207860 |
| 21773 | (let ((commit "06bafba412792f6efa5a552a23bb221cc3bdea1b") |
| 21774 | (revision "2")) |
| 21775 | (package |
| 21776 | (name "pyscenic") |
| 21777 | (version (git-version "0.12.1" revision commit)) |
| 21778 | (source |
| 21779 | (origin |
| 21780 | (method git-fetch) |
| 21781 | (uri (git-reference |
| 21782 | (url "https://github.com/aertslab/pySCENIC") |
| 21783 | (commit commit))) |
| 21784 | (file-name (git-file-name name version)) |
| 21785 | (sha256 |
| 21786 | (base32 |
| 21787 | "15zkv082j1d7fh4pcznqss1q539ndg8ymwbs62xhypylwh7ry0sx")))) |
| 21788 | (build-system pyproject-build-system) |
| 21789 | (arguments |
| 21790 | (list |
| 21791 | #:phases |
| 21792 | '(modify-phases %standard-phases |
| 21793 | ;; The cli modules referenced here have been removed, so this |
| 21794 | ;; breaks the sanity check. |
| 21795 | (add-after 'unpack 'do-not-reference-deleted-modules |
| 21796 | (lambda _ |
| 21797 | (substitute* "setup.py" |
| 21798 | (("\"db2feather = .*\",") "") |
| 21799 | (("\"csv2loom = .*\",") "") |
| 21800 | (("\"invertdb = .*\",") "") |
| 21801 | (("\"gmt2regions = .*\",") "")))) |
| 21802 | ;; Numba needs a writable dir to cache functions. |
| 21803 | (add-before 'check 'set-numba-cache-dir |
| 21804 | (lambda _ |
| 21805 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 21806 | (propagated-inputs |
| 21807 | (list python-aiohttp |
| 21808 | python-arboreto |
| 21809 | python-attrs |
| 21810 | python-boltons |
| 21811 | python-cloudpickle |
| 21812 | python-ctxcore |
| 21813 | python-cytoolz |
| 21814 | python-dask |
| 21815 | python-diptest |
| 21816 | python-distributed |
| 21817 | python-frozendict |
| 21818 | python-fsspec |
| 21819 | python-interlap |
| 21820 | python-llvmlite |
| 21821 | python-loompy |
| 21822 | python-multiprocessing-on-dill |
| 21823 | python-networkx |
| 21824 | python-numba |
| 21825 | python-numexpr |
| 21826 | python-numpy |
| 21827 | python-pandas |
| 21828 | python-pyarrow ;XXX for dask |
| 21829 | python-pyyaml |
| 21830 | python-requests |
| 21831 | python-scikit-learn |
| 21832 | python-scipy |
| 21833 | python-setuptools |
| 21834 | python-tqdm |
| 21835 | python-umap-learn)) |
| 21836 | (native-inputs |
| 21837 | (list python-pytest python-setuptools)) |
| 21838 | (home-page "https://scenic.aertslab.org/") |
| 21839 | (synopsis "Single-Cell regulatory network inference and clustering") |
| 21840 | (description |
| 21841 | "pySCENIC is a Python implementation of the SCENIC pipeline (Single-Cell |
| 21842 | rEgulatory Network Inference and Clustering) which enables biologists to infer |
| 21843 | transcription factors, gene regulatory networks and cell types from |
| 21844 | single-cell RNA-seq data.") |
| 21845 | (license license:gpl3+)))) |
| 21846 | |
| 21847 | (define-public python-ikarus |
| 21848 | (package |
| 21849 | (name "python-ikarus") |
| 21850 | (version "0.0.3") |
| 21851 | (source |
| 21852 | (origin |
| 21853 | (method url-fetch) |
| 21854 | (uri (pypi-uri "ikarus" version)) |
| 21855 | (sha256 |
| 21856 | (base32 "1nzhy1a4mnr23wnxg7sy0pgyydfiavvk8b53cyxh1z8s6wqq1yqj")))) |
| 21857 | (build-system pyproject-build-system) |
| 21858 | (arguments |
| 21859 | (list |
| 21860 | #:test-backend #~'custom |
| 21861 | #:test-flags |
| 21862 | ;; There are no actual tests, it is a step from GitHub Actions. |
| 21863 | #~(list "-c" "'from ikarus import classifier, utils, data'") |
| 21864 | #:phases |
| 21865 | #~(modify-phases %standard-phases |
| 21866 | ;; Numba needs a writable dir to cache functions. |
| 21867 | (add-before 'build 'set-numba-cache-dir |
| 21868 | (lambda _ |
| 21869 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 21870 | (propagated-inputs (list pyscenic |
| 21871 | python-anndata |
| 21872 | python-ctxcore |
| 21873 | python-numpy |
| 21874 | python-pandas |
| 21875 | python-scanpy |
| 21876 | python-scipy)) |
| 21877 | (native-inputs (list python-setuptools)) |
| 21878 | (home-page "https://github.com/BIMSBbioinfo/ikarus") |
| 21879 | (synopsis "Machine learning classifier of tumor cells") |
| 21880 | (description |
| 21881 | "ikarus is a stepwise machine learning pipeline that tries to cope with a task |
| 21882 | of distinguishing tumor cells from normal cells. Leveraging multiple |
| 21883 | annotated single cell datasets it can be used to define a gene set specific to |
| 21884 | tumor cells. First, the latter gene set is used to rank cells and then to |
| 21885 | train a logistic classifier for the robust classification of tumor and normal |
| 21886 | cells. Finally, sensitivity is increased by propagating the cell labels based |
| 21887 | on a custom cell-cell network. ikarus is tested on multiple single cell |
| 21888 | datasets to ascertain that it achieves high sensitivity and specificity in |
| 21889 | multiple experimental contexts.") |
| 21890 | (license license:expat))) |
| 21891 | |
| 21892 | (define-public tbsp |
| 21893 | (let ((commit "dc30c03868233c5504299c9cb0d7b2064ba9cb41") |
| 21894 | (revision "2")) |
| 21895 | (package |
| 21896 | (name "tbsp") |
| 21897 | (version (git-version "1.0.0" revision commit)) |
| 21898 | (source |
| 21899 | (origin |
| 21900 | (method git-fetch) |
| 21901 | (uri (git-reference |
| 21902 | (url "https://github.com/phoenixding/tbsp") |
| 21903 | (commit commit))) |
| 21904 | (file-name (git-file-name name version)) |
| 21905 | (sha256 |
| 21906 | (base32 "1im0bik2hxkcb7jzkcxp5nqb30hd8lfraxml6i5ik52j6z3qqln1")))) |
| 21907 | (build-system pyproject-build-system) |
| 21908 | (arguments |
| 21909 | '(#:tests? #f ;no tests included |
| 21910 | #:phases (modify-phases %standard-phases |
| 21911 | (add-after 'unpack 'relax-requirements |
| 21912 | (lambda _ |
| 21913 | (substitute* "setup.py" |
| 21914 | ((", <3.0") |
| 21915 | ""))))))) ;matplotlib |
| 21916 | (inputs (list python-matplotlib |
| 21917 | python-networkx |
| 21918 | python-numpy |
| 21919 | python-pybigwig |
| 21920 | python-biopython-1.73 |
| 21921 | python-scikit-learn |
| 21922 | python-scipy)) |
| 21923 | (native-inputs (list python-setuptools)) |
| 21924 | (home-page "https://github.com/phoenixding/tbsp/") |
| 21925 | (synopsis "SNP-based trajectory inference") |
| 21926 | (description |
| 21927 | "Several studies focus on the inference of developmental and response |
| 21928 | trajectories from single cell RNA-Seq (scRNA-Seq) data. A number of |
| 21929 | computational methods, often referred to as pseudo-time ordering, have been |
| 21930 | developed for this task. CRISPR has also been used to reconstruct lineage |
| 21931 | trees by inserting random mutations. The tbsp package implements an |
| 21932 | alternative method to detect significant, cell type specific sequence |
| 21933 | mutations from scRNA-Seq data.") |
| 21934 | (license license:expat)))) |
| 21935 | |
| 21936 | (define-public tabixpp |
| 21937 | (package |
| 21938 | (name "tabixpp") |
| 21939 | (version "1.1.2") |
| 21940 | (source (origin |
| 21941 | (method git-fetch) |
| 21942 | (uri (git-reference |
| 21943 | (url "https://github.com/ekg/tabixpp") |
| 21944 | (commit (string-append "v" version)))) |
| 21945 | (file-name (git-file-name name version)) |
| 21946 | (sha256 |
| 21947 | (base32 "00aqs147yn8zcvxims5njwxqsbnlbjv7lnmiwqy80bfdcbhljkqf")) |
| 21948 | (modules '((guix build utils))) |
| 21949 | (snippet |
| 21950 | '(delete-file-recursively "htslib")))) |
| 21951 | (build-system gnu-build-system) |
| 21952 | (inputs |
| 21953 | (list bzip2 curl htslib xz zlib)) |
| 21954 | (arguments |
| 21955 | (list #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) |
| 21956 | (string-append "CXX=" #$(cxx-for-target)) |
| 21957 | "HTS_HEADERS=" |
| 21958 | (string-append "HTS_LIB=" |
| 21959 | (search-input-file %build-inputs |
| 21960 | "/lib/libhts.a")) |
| 21961 | "INCLUDES=") |
| 21962 | #:tests? #f ; There are no tests to run. |
| 21963 | #:phases |
| 21964 | #~(modify-phases %standard-phases |
| 21965 | (delete 'configure) ; There is no configure phase. |
| 21966 | ;; Build shared and static libraries. |
| 21967 | (add-after 'build 'build-libraries |
| 21968 | (lambda* (#:key inputs #:allow-other-keys) |
| 21969 | (invoke #$(cxx-for-target) |
| 21970 | "-shared" "-o" "libtabixpp.so" "tabix.o" "-lhts") |
| 21971 | (invoke #$(ar-for-target) "rcs" "libtabixpp.a" "tabix.o"))) |
| 21972 | (replace 'install |
| 21973 | (lambda _ |
| 21974 | (let ((lib (string-append #$output "/lib")) |
| 21975 | (bin (string-append #$output "/bin"))) |
| 21976 | (install-file "tabix++" bin) |
| 21977 | (install-file "libtabixpp.so" lib) |
| 21978 | (install-file "libtabixpp.a" lib) |
| 21979 | (install-file "tabix.hpp" (string-append #$output "/include")) |
| 21980 | (mkdir-p (string-append lib "/pkgconfig")) |
| 21981 | (with-output-to-file (string-append lib "/pkgconfig/tabixpp.pc") |
| 21982 | (lambda _ |
| 21983 | (format #t "\ |
| 21984 | prefix=~a~@ |
| 21985 | exec_prefix=${prefix}~@ |
| 21986 | libdir=${exec_prefix}/lib~@ |
| 21987 | includedir=${prefix}/include~@ |
| 21988 | ~@ |
| 21989 | ~@ |
| 21990 | Name: libtabixpp~@ |
| 21991 | Version: ~a~@ |
| 21992 | Description: C++ wrapper around tabix project~@ |
| 21993 | Libs: -L${libdir} -ltabixpp~@ |
| 21994 | Cflags: -I${includedir}~%" |
| 21995 | #$output #$version))))))))) |
| 21996 | (home-page "https://github.com/ekg/tabixpp") |
| 21997 | (synopsis "C++ wrapper around tabix project") |
| 21998 | (description "This is a C++ wrapper around the Tabix project which abstracts |
| 21999 | some of the details of opening and jumping in tabix-indexed files.") |
| 22000 | (license license:expat))) |
| 22001 | |
| 22002 | (define-public smithwaterman |
| 22003 | (let ((commit "2610e259611ae4cde8f03c72499d28f03f6d38a7")) |
| 22004 | (package |
| 22005 | (name "smithwaterman") |
| 22006 | (version (git-version "0.0.0" "2" commit)) |
| 22007 | (source (origin |
| 22008 | (method git-fetch) |
| 22009 | (uri (git-reference |
| 22010 | (url "https://github.com/ekg/smithwaterman/") |
| 22011 | (commit commit))) |
| 22012 | (file-name (git-file-name name version)) |
| 22013 | (sha256 |
| 22014 | (base32 "0i9d8zrxpiracw3mxzd9siybpy62p06rqz9mc2w93arajgbk45bs")))) |
| 22015 | (build-system gnu-build-system) |
| 22016 | (arguments |
| 22017 | (list |
| 22018 | #:tests? #f ; There are no tests to run. |
| 22019 | #:make-flags |
| 22020 | #~(list (string-append "CXX=" #$(cxx-for-target)) |
| 22021 | "libsw.a" "all") |
| 22022 | #:phases |
| 22023 | #~(modify-phases %standard-phases |
| 22024 | (delete 'configure) ; There is no configure phase. |
| 22025 | (add-after 'unpack 'patch-source |
| 22026 | (lambda _ |
| 22027 | (substitute* "Makefile" |
| 22028 | (("-c ") "-c -fPIC ")) |
| 22029 | #$@(if (%current-target-system) |
| 22030 | #~((substitute* "Makefile" |
| 22031 | (("\tld") |
| 22032 | (string-append "\t" #$(%current-target-system) "-ld")) |
| 22033 | (("\tar") |
| 22034 | (string-append "\t" #$(%current-target-system) "-ar")))) |
| 22035 | '()))) |
| 22036 | (add-after 'build 'build-dynamic |
| 22037 | (lambda _ |
| 22038 | (invoke #$(cxx-for-target) |
| 22039 | "-shared" "-o" "libsmithwaterman.so" |
| 22040 | "smithwaterman.o" "SmithWatermanGotoh.o" |
| 22041 | "disorder.o" "BandedSmithWaterman.o" |
| 22042 | "LeftAlign.o" "Repeats.o" "IndelAllele.o"))) |
| 22043 | (replace 'install |
| 22044 | (lambda* (#:key outputs #:allow-other-keys) |
| 22045 | (let* ((out (assoc-ref outputs "out")) |
| 22046 | (bin (string-append out "/bin")) |
| 22047 | (lib (string-append out "/lib"))) |
| 22048 | (install-file "smithwaterman" bin) |
| 22049 | (for-each |
| 22050 | (lambda (file) |
| 22051 | (install-file file (string-append out "/include/smithwaterman"))) |
| 22052 | (find-files "." "\\.h$")) |
| 22053 | (install-file "libsmithwaterman.so" lib) |
| 22054 | (install-file "libsw.a" lib) |
| 22055 | (mkdir-p (string-append lib "/pkgconfig")) |
| 22056 | (with-output-to-file (string-append lib "/pkgconfig/smithwaterman.pc") |
| 22057 | (lambda _ |
| 22058 | (format #t "prefix=~a~@ |
| 22059 | exec_prefix=${prefix}~@ |
| 22060 | libdir=${exec_prefix}/lib~@ |
| 22061 | includedir=${prefix}/include/smithwaterman~@ |
| 22062 | ~@ |
| 22063 | ~@ |
| 22064 | Name: smithwaterman~@ |
| 22065 | Version: ~a~@ |
| 22066 | Description: smith-waterman-gotoh alignment algorithm~@ |
| 22067 | Libs: -L${libdir} -lsmithwaterman~@ |
| 22068 | Cflags: -I${includedir}~%" |
| 22069 | out #$version))))))))) |
| 22070 | (home-page "https://github.com/ekg/smithwaterman") |
| 22071 | (synopsis "Implementation of the Smith-Waterman algorithm") |
| 22072 | (description "Implementation of the Smith-Waterman algorithm.") |
| 22073 | ;; The licensing terms are unclear: https://github.com/ekg/smithwaterman/issues/9. |
| 22074 | (license (list license:gpl2 license:expat))))) |
| 22075 | |
| 22076 | (define-public sylamer |
| 22077 | (package |
| 22078 | (name "sylamer") |
| 22079 | (version "18-131") |
| 22080 | (source (origin |
| 22081 | (method git-fetch) |
| 22082 | (uri (git-reference |
| 22083 | (url "https://github.com/micans/sylamer/") |
| 22084 | (commit "aa75c3584797c0c15f860addb645f7bc1dd7627d"))) |
| 22085 | (file-name (git-file-name name version)) |
| 22086 | (sha256 |
| 22087 | (base32 |
| 22088 | "1ddiwlrdghhb4574rvfw0brjp9gs5l6nfsy82h0m4mvz1dr3gkj5")))) |
| 22089 | (build-system gnu-build-system) |
| 22090 | (arguments |
| 22091 | (list |
| 22092 | #:tests? #f ; no test target |
| 22093 | #:make-flags |
| 22094 | #~(list (string-append "GSLPREFIX=" #$(this-package-input "gsl"))) |
| 22095 | #:phases |
| 22096 | '(modify-phases %standard-phases |
| 22097 | (replace 'configure |
| 22098 | (lambda* (#:key outputs #:allow-other-keys) |
| 22099 | (substitute* "Makefile" |
| 22100 | (("cp sylamer \\$\\(HOME\\)/local/bin") |
| 22101 | (string-append "install -D -t " (assoc-ref outputs "out") |
| 22102 | "/bin sylamer"))) |
| 22103 | (install-file "Makefile" "src") |
| 22104 | (chdir "src")))))) |
| 22105 | (inputs (list gsl zlib)) |
| 22106 | (home-page "https://www.ebi.ac.uk/research/enright/software/sylamer") |
| 22107 | (synopsis "Asses microRNA binding and siRNA off-target effects") |
| 22108 | (description "Sylamer is a system for finding significantly over or |
| 22109 | under-represented words in sequences according to a sorted gene list. |
| 22110 | Typically it is used to find significant enrichment or depletion of microRNA |
| 22111 | or siRNA seed sequences from microarray expression data. Sylamer is extremely |
| 22112 | fast and can be applied to genome-wide datasets with ease. Results are |
| 22113 | plotted in terms of a significance landscape plot. These plots show |
| 22114 | significance profiles for each word studied across the sorted genelist.") |
| 22115 | (license license:gpl3+))) |
| 22116 | |
| 22117 | (define-public multichoose |
| 22118 | (package |
| 22119 | (name "multichoose") |
| 22120 | (version "1.0.3") |
| 22121 | (source (origin |
| 22122 | (method git-fetch) |
| 22123 | (uri (git-reference |
| 22124 | (url "https://github.com/ekg/multichoose/") |
| 22125 | (commit (string-append "v" version)))) |
| 22126 | (file-name (git-file-name name version)) |
| 22127 | (sha256 |
| 22128 | (base32 |
| 22129 | "0ci5fqvmpamwgxvmyd79ygj6n3bnbl3vc7b6h1sxz58186sm3pfs")))) |
| 22130 | (build-system gnu-build-system) |
| 22131 | (arguments |
| 22132 | (list |
| 22133 | #:tests? #f ;Tests require node. |
| 22134 | #:phases |
| 22135 | #~(modify-phases %standard-phases |
| 22136 | (delete 'configure) ;There is no configure phase. |
| 22137 | (replace 'install |
| 22138 | (lambda _ |
| 22139 | (let ((bin (string-append #$output "/bin")) |
| 22140 | (include (string-append #$output "/include"))) |
| 22141 | ;; TODO: There are Python modules for these programs too. |
| 22142 | (install-file "multichoose" bin) |
| 22143 | (install-file "multipermute" bin) |
| 22144 | (install-file "multichoose.h" include) |
| 22145 | (install-file "multipermute.h" include))))))) |
| 22146 | (home-page "https://github.com/ekg/multichoose") |
| 22147 | (synopsis "Efficient loopless multiset combination generation algorithm") |
| 22148 | (description "This library implements an efficient loopless multiset |
| 22149 | combination generation algorithm which is (approximately) described in |
| 22150 | \"Loopless algorithms for generating permutations, combinations, and other |
| 22151 | combinatorial configurations.\", G. Ehrlich - Journal of the ACM (JACM), |
| 22152 | 1973. (Algorithm 7.)") |
| 22153 | (license license:expat))) |
| 22154 | |
| 22155 | (define-public fastahack |
| 22156 | (package |
| 22157 | (name "fastahack") |
| 22158 | (version "1.0.0") |
| 22159 | (source (origin |
| 22160 | (method git-fetch) |
| 22161 | (uri (git-reference |
| 22162 | (url "https://github.com/ekg/fastahack/") |
| 22163 | (commit (string-append "v" version)))) |
| 22164 | (file-name (git-file-name name version)) |
| 22165 | (sha256 |
| 22166 | (base32 "0rp1blskhzxf7vbh253ibpxbgl9wwgyzf1wbkxndi08d3j4vcss9")))) |
| 22167 | (build-system gnu-build-system) |
| 22168 | (arguments |
| 22169 | (list #:make-flags #~(list (string-append "CXX=" #$(cxx-for-target))) |
| 22170 | ;; Unclear how to run tests: https://github.com/ekg/fastahack/issues/15 |
| 22171 | #:tests? #f |
| 22172 | #:phases |
| 22173 | #~(modify-phases %standard-phases |
| 22174 | (delete 'configure) ; There is no configure phase. |
| 22175 | (add-after 'unpack 'patch-source |
| 22176 | (lambda _ |
| 22177 | (substitute* "Makefile" |
| 22178 | (("-c ") "-c -fPIC ")))) |
| 22179 | (add-after 'build 'build-dynamic |
| 22180 | (lambda _ |
| 22181 | (invoke #$(cxx-for-target) |
| 22182 | "-shared" "-o" "libfastahack.so" |
| 22183 | "Fasta.o" "FastaHack.o" "split.o" "disorder.o"))) |
| 22184 | (replace 'install |
| 22185 | (lambda* (#:key outputs #:allow-other-keys) |
| 22186 | (let* ((out (assoc-ref outputs "out")) |
| 22187 | (lib (string-append out "/lib")) |
| 22188 | (bin (string-append out "/bin"))) |
| 22189 | (mkdir-p (string-append out "/include/fastahack")) |
| 22190 | (for-each |
| 22191 | (lambda (file) |
| 22192 | (install-file file (string-append out "/include/fastahack"))) |
| 22193 | (find-files "." "\\.h$")) |
| 22194 | (install-file "fastahack" bin) |
| 22195 | (install-file "libfastahack.so" lib) |
| 22196 | (mkdir-p (string-append lib "/pkgconfig")) |
| 22197 | (with-output-to-file (string-append lib "/pkgconfig/fastahack.pc") |
| 22198 | (lambda _ |
| 22199 | (format #t "prefix=~a~@ |
| 22200 | exec_prefix=${prefix}~@ |
| 22201 | libdir=${exec_prefix}/lib~@ |
| 22202 | includedir=${prefix}/include/fastahack~@ |
| 22203 | ~@ |
| 22204 | ~@ |
| 22205 | Name: fastahack~@ |
| 22206 | Version: ~a~@ |
| 22207 | Description: Indexing and sequence extraction from FASTA files~@ |
| 22208 | Libs: -L${libdir} -lfastahack~@ |
| 22209 | Cflags: -I${includedir}~%" |
| 22210 | out #$version))))))))) |
| 22211 | (home-page "https://github.com/ekg/fastahack") |
| 22212 | (synopsis "Indexing and sequence extraction from FASTA files") |
| 22213 | (description "Fastahack is a small application for indexing and |
| 22214 | extracting sequences and subsequences from FASTA files. The included library |
| 22215 | provides a FASTA reader and indexer that can be embedded into applications |
| 22216 | which would benefit from directly reading subsequences from FASTA files. The |
| 22217 | library automatically handles index file generation and use.") |
| 22218 | (license (list license:expat license:gpl2)))) |
| 22219 | |
| 22220 | (define-public samblaster |
| 22221 | (package |
| 22222 | (name "samblaster") |
| 22223 | (version "0.1.26") |
| 22224 | (source (origin |
| 22225 | (method git-fetch) |
| 22226 | (uri (git-reference |
| 22227 | (url "https://github.com/GregoryFaust/samblaster") |
| 22228 | (commit (string-append "v." version)))) |
| 22229 | (file-name (git-file-name name version)) |
| 22230 | (sha256 |
| 22231 | (base32 |
| 22232 | "0g24fq5hplnfgqkh3xqpg3lgx3wmxwnh9c7m6yw7pbi40lmgl1jv")))) |
| 22233 | (build-system gnu-build-system) |
| 22234 | (arguments |
| 22235 | (list |
| 22236 | #:tests? #f ;there are none |
| 22237 | #:phases |
| 22238 | #~(modify-phases %standard-phases |
| 22239 | (delete 'configure) ;There is no configure phase. |
| 22240 | (replace 'install |
| 22241 | (lambda _ |
| 22242 | (install-file "samblaster" (string-append #$output "/bin"))))))) |
| 22243 | (home-page "https://github.com/GregoryFaust/samblaster") |
| 22244 | (synopsis "Mark duplicates in paired-end SAM files") |
| 22245 | (description "Samblaster is a fast and flexible program for marking |
| 22246 | duplicates in read-id grouped paired-end SAM files. It can also optionally |
| 22247 | output discordant read pairs and/or split read mappings to separate SAM files, |
| 22248 | and/or unmapped/clipped reads to a separate FASTQ file. When marking |
| 22249 | duplicates, samblaster will require approximately 20MB of memory per 1M read |
| 22250 | pairs.") |
| 22251 | (license license:expat))) |
| 22252 | |
| 22253 | (define-public r-hdf5dataframe |
| 22254 | (let ((commit "61c52cb4ee940e623363ac7fdaa67766ed6947fa") |
| 22255 | (revision "1")) |
| 22256 | (package |
| 22257 | (name "r-hdf5dataframe") |
| 22258 | (version (git-version "0.99.3" revision commit)) |
| 22259 | (source |
| 22260 | (origin |
| 22261 | (method git-fetch) |
| 22262 | (uri (git-reference |
| 22263 | (url "https://github.com/BIMSBbioinfo/HDF5DataFrame") |
| 22264 | (commit commit))) |
| 22265 | (file-name (git-file-name name version)) |
| 22266 | (sha256 |
| 22267 | (base32 "0awd2q5q2rh0lmls0cb5shhi20cs82jc43gphfhx10fwrc4cfmrg")))) |
| 22268 | (properties `((upstream-name . "HDF5DataFrame"))) |
| 22269 | (build-system r-build-system) |
| 22270 | (propagated-inputs (list r-biocgenerics |
| 22271 | r-delayedarray |
| 22272 | r-h5mread |
| 22273 | r-hdf5array |
| 22274 | r-rhdf5 |
| 22275 | r-s4vectors)) |
| 22276 | (native-inputs (list r-knitr r-testthat)) |
| 22277 | (home-page "https://github.com/BIMSBbioinfo/HDF5DataFrame") |
| 22278 | (synopsis "HDF5-backed DataFrame objects and methods") |
| 22279 | (description |
| 22280 | "This package implements bindings for h5 files that are compatible with |
| 22281 | Bioconductor S4 data structures, namely the @code{DataFrame} and |
| 22282 | @code{DelayedArray}. This allows HDF5-backed data to be easily used as data |
| 22283 | frames with arbitrary sets of columns.") |
| 22284 | (license license:expat)))) |
| 22285 | |
| 22286 | (define-public r-imagearray |
| 22287 | (package |
| 22288 | (name "r-imagearray") |
| 22289 | (version "1.0.0") |
| 22290 | (source |
| 22291 | (origin |
| 22292 | (method url-fetch) |
| 22293 | (uri (bioconductor-uri "ImageArray" version)) |
| 22294 | (sha256 |
| 22295 | (base32 "07zq5fcw2dsvm4qaksaj4gy9gj5lxcgq82l497c5kgvl4wba049c")))) |
| 22296 | (properties `((upstream-name . "ImageArray"))) |
| 22297 | (build-system r-build-system) |
| 22298 | (arguments |
| 22299 | (list |
| 22300 | #:skipped-tests |
| 22301 | ;; RBiomFormats is not installed. |
| 22302 | '(("test-array.R" "check indexing \\(BFArray\\)")))) |
| 22303 | (propagated-inputs (list r-delayedarray |
| 22304 | r-ebimage |
| 22305 | r-hdf5array |
| 22306 | r-magick |
| 22307 | r-rarr |
| 22308 | r-rhdf5 |
| 22309 | r-s4arrays |
| 22310 | r-s4vectors |
| 22311 | r-zarrarray)) |
| 22312 | (native-inputs (list r-ggplot2 r-knitr r-testthat)) |
| 22313 | (home-page "https://github.com/BIMSBbioinfo/ImageArray") |
| 22314 | (synopsis "Framework for on-disk and in-memory image arrays") |
| 22315 | (description |
| 22316 | "@code{ImageArray} provides a framework for on-disk and in-memory image |
| 22317 | arrays, specifically for pyramidal images stored in HDF5, Zarr and life |
| 22318 | sciences image file formats (OME Bio-Formats).") |
| 22319 | (license license:expat))) |
| 22320 | |
| 22321 | (define-public r-velocyto |
| 22322 | (let ((commit "d7790346cb99f49ab9c2b23ba70dcf9d2c9fc350") |
| 22323 | (revision "1")) |
| 22324 | (package |
| 22325 | (name "r-velocyto") |
| 22326 | (version (git-version "0.6" revision commit)) |
| 22327 | (source |
| 22328 | (origin |
| 22329 | (method git-fetch) |
| 22330 | (uri (git-reference |
| 22331 | (url "https://github.com/velocyto-team/velocyto.R") |
| 22332 | (commit commit))) |
| 22333 | (file-name (git-file-name name version)) |
| 22334 | (sha256 |
| 22335 | (base32 |
| 22336 | "16wqf70j7rd7pay2q513iyz12i8n9vrpg1bisah4lddbcpx5dz1n")))) |
| 22337 | (build-system r-build-system) |
| 22338 | (inputs |
| 22339 | (list boost-1.83)) |
| 22340 | (propagated-inputs |
| 22341 | (list r-hdf5r |
| 22342 | r-mass |
| 22343 | r-mgcv |
| 22344 | r-pcamethods |
| 22345 | r-rcpp |
| 22346 | r-rcpparmadillo |
| 22347 | ;; Suggested packages |
| 22348 | r-rtsne |
| 22349 | r-cluster |
| 22350 | r-abind |
| 22351 | r-biocgenerics |
| 22352 | r-genomicalignments |
| 22353 | r-rsamtools |
| 22354 | r-edger |
| 22355 | r-igraph)) |
| 22356 | (home-page "https://velocyto.org") |
| 22357 | (synopsis "RNA velocity estimation in R") |
| 22358 | (description |
| 22359 | "This package provides basic routines for estimation of gene-specific |
| 22360 | transcriptional derivatives and visualization of the resulting velocity |
| 22361 | patterns.") |
| 22362 | (license license:gpl3)))) |
| 22363 | |
| 22364 | (define-public r-voltronstore |
| 22365 | (let ((commit "781a75ae73571a3a20387cdbf647f23184324a84") |
| 22366 | (revision "1")) |
| 22367 | (package |
| 22368 | (name "r-voltronstore") |
| 22369 | (version (git-version "0.1.1" revision commit)) |
| 22370 | (source |
| 22371 | (origin |
| 22372 | (method git-fetch) |
| 22373 | (uri (git-reference |
| 22374 | (url "https://github.com/BIMSBbioinfo/VoltRonStore") |
| 22375 | (commit commit))) |
| 22376 | (file-name (git-file-name name version)) |
| 22377 | (sha256 |
| 22378 | (base32 "19mi9bbvym6jzlqnyqmzy83fv3wpj1jxq2np71j77l7sf1788cwj")))) |
| 22379 | (properties `((upstream-name . "VoltRonStore"))) |
| 22380 | (build-system r-build-system) |
| 22381 | (propagated-inputs (list r-basilisk |
| 22382 | r-biocparallel |
| 22383 | r-bpcells |
| 22384 | r-delayedarray |
| 22385 | r-delayedmatrixstats |
| 22386 | r-hdf5array |
| 22387 | r-hdf5dataframe |
| 22388 | r-imagearray |
| 22389 | r-rarr |
| 22390 | r-reticulate |
| 22391 | r-rhdf5 |
| 22392 | r-zarrdataframe)) |
| 22393 | (home-page "https://github.com/BIMSBbioinfo/VoltRonStore") |
| 22394 | (synopsis "On-Disk support and dependancies for VoltRon") |
| 22395 | (description |
| 22396 | "@code{VoltRonStore} provides utilities and a resource for installing |
| 22397 | dependencies of @code{VoltRon} package.") |
| 22398 | (license license:expat)))) |
| 22399 | |
| 22400 | (define-public r-voltron |
| 22401 | (package |
| 22402 | (name "r-voltron") |
| 22403 | (version "0.2.6") |
| 22404 | (source |
| 22405 | (origin |
| 22406 | (method git-fetch) |
| 22407 | (uri (git-reference |
| 22408 | (url "https://github.com/BIMSBbioinfo/VoltRon") |
| 22409 | (commit (string-append "v" version)))) |
| 22410 | (file-name (git-file-name name version)) |
| 22411 | (sha256 |
| 22412 | (base32 "00fl5dmyd9ad4hd0cblgi0415sf6q4q67wh04r7fws828vs5vaj1")))) |
| 22413 | (properties `((upstream-name . "VoltRon"))) |
| 22414 | (build-system r-build-system) |
| 22415 | (arguments |
| 22416 | (list |
| 22417 | #:skipped-tests |
| 22418 | '(("test_conversion.R" |
| 22419 | ;; These fail to raise an error because of our patch in the |
| 22420 | ;; 'do-not-use-conda phase, which falls back to Python from Guix. |
| 22421 | "as.AnnData, python path" |
| 22422 | "as.ometiff, python path")) |
| 22423 | #:phases |
| 22424 | #~(modify-phases %standard-phases |
| 22425 | ;; By default VoltRon will use Basilisk, which uses Conda to set |
| 22426 | ;; up a Python environment. We override the fallback default |
| 22427 | ;; here. Users can still override the location of the Python |
| 22428 | ;; interpreter with the option "voltron.python.path". |
| 22429 | (add-after 'unpack 'do-not-use-conda |
| 22430 | (lambda* (#:key inputs #:allow-other-keys) |
| 22431 | (substitute* "R/conversion.R" |
| 22432 | (("return\\(NULL\\)") |
| 22433 | (string-append |
| 22434 | "source(paste0(system.file(package=\"VoltRon\"), \"/guix-refs.R\"));\n" |
| 22435 | "return(guix_python);"))))) |
| 22436 | ;; We do this outside of the source code to ensure that |
| 22437 | ;; references are accessible to Guix. |
| 22438 | (add-after 'install 'record-python-reference |
| 22439 | (lambda* (#:key inputs #:allow-other-keys) |
| 22440 | (mkdir-p (string-append #$output "/site-library/VoltRon/")) |
| 22441 | (call-with-output-file (string-append #$output "/site-library/VoltRon/guix-refs.R") |
| 22442 | (lambda (port) |
| 22443 | (format port "\ |
| 22444 | Sys.setenv(GUIX_PYTHONPATH=\"~a\"); |
| 22445 | guix_python <- \"~a\";" |
| 22446 | (getenv "GUIX_PYTHONPATH") |
| 22447 | (search-input-file inputs "/bin/python3"))))))))) |
| 22448 | (inputs |
| 22449 | (list opencv |
| 22450 | ;; These Python inputs are used via reticulate. |
| 22451 | python-wrapper |
| 22452 | python-numpy |
| 22453 | python-pandas |
| 22454 | python-anndata |
| 22455 | python-h5py |
| 22456 | python-natsort |
| 22457 | python-numcodecs |
| 22458 | python-packaging |
| 22459 | python-scipy |
| 22460 | python-tifffile |
| 22461 | python-zarr |
| 22462 | which ;tests/testthat/test_conversion.R |
| 22463 | zlib)) |
| 22464 | (propagated-inputs (list r-biocsingular |
| 22465 | r-data-table |
| 22466 | r-dplyr |
| 22467 | r-ebimage |
| 22468 | r-ggplot2 |
| 22469 | r-ggpubr |
| 22470 | r-ggrepel |
| 22471 | r-ids |
| 22472 | r-igraph |
| 22473 | r-irlba |
| 22474 | r-magick |
| 22475 | r-matrix |
| 22476 | r-rann |
| 22477 | r-rcdt |
| 22478 | r-rcpp |
| 22479 | r-rcppannoy |
| 22480 | r-rcpparmadillo |
| 22481 | r-rjson |
| 22482 | r-rlang |
| 22483 | r-s4arrays |
| 22484 | r-s4vectors |
| 22485 | r-shiny |
| 22486 | r-shinyjs |
| 22487 | r-sp |
| 22488 | r-stringr |
| 22489 | r-uwot |
| 22490 | |
| 22491 | ;; Suggested packages |
| 22492 | r-anndata |
| 22493 | r-anndatar |
| 22494 | r-arrow |
| 22495 | r-bpcells |
| 22496 | r-circlize |
| 22497 | r-codetools |
| 22498 | r-complexheatmap |
| 22499 | r-delayedarray |
| 22500 | r-deseq2 |
| 22501 | r-geojsonr |
| 22502 | r-ggforce |
| 22503 | r-ggnewscale |
| 22504 | r-giotto |
| 22505 | r-glmgampoi |
| 22506 | r-hdf5array |
| 22507 | r-hdf5dataframe |
| 22508 | r-imagearray |
| 22509 | r-music |
| 22510 | r-rhdf5 |
| 22511 | r-rstudioapi |
| 22512 | r-s4vectors |
| 22513 | r-seurat |
| 22514 | r-seuratobject |
| 22515 | r-singlecellexperiment |
| 22516 | r-spacexr |
| 22517 | r-spatialexperiment |
| 22518 | r-summarizedexperiment |
| 22519 | r-viridislite |
| 22520 | r-vitesscer |
| 22521 | r-voltronstore |
| 22522 | r-xml |
| 22523 | r-zarrdataframe |
| 22524 | simpleitk)) |
| 22525 | (native-inputs (list pkg-config r-testthat)) |
| 22526 | (home-page "https://github.com/BIMSBbioinfo/VoltRon") |
| 22527 | (synopsis "VoltRon for spatial data integration and analysis") |
| 22528 | (description |
| 22529 | "@code{VoltRon} is a novel spatial omic analysis toolbox for |
| 22530 | multi-omics integration using spatial image registration. @code{VoltRon} is |
| 22531 | capable of analyzing multiple types and modalities of spatially-aware |
| 22532 | datasets. @code{VoltRon} visualizes and analyzes regions of interests (ROIs), |
| 22533 | spots, cells and even molecules.") |
| 22534 | (license license:expat))) |
| 22535 | |
| 22536 | (define-public r-zarrdataframe |
| 22537 | (let ((commit "f5f671521934b2afc3c511f8c09181bc7bb789a4") |
| 22538 | (revision "3")) |
| 22539 | (package |
| 22540 | (name "r-zarrdataframe") |
| 22541 | (version (git-version "0.0.0" revision commit)) |
| 22542 | (source |
| 22543 | (origin |
| 22544 | (method git-fetch) |
| 22545 | (uri (git-reference |
| 22546 | (url "https://github.com/BIMSBbioinfo/ZarrDataFrame") |
| 22547 | (commit commit))) |
| 22548 | (file-name (git-file-name name version)) |
| 22549 | (sha256 |
| 22550 | (base32 "0klp2njn6qsa8n6c01v1z2dfaa93lhbzhwhbyhl23h8gg7d28yc1")))) |
| 22551 | (properties |
| 22552 | '((upstream-name . "ZarrDataFrame") |
| 22553 | (updater-extra-native-inputs . ("r-testthat")))) |
| 22554 | (build-system r-build-system) |
| 22555 | (propagated-inputs (list r-biocgenerics r-delayedarray r-rarr |
| 22556 | r-s4vectors r-zarrarray)) |
| 22557 | (native-inputs (list r-knitr r-testthat)) |
| 22558 | (home-page "https://github.com/BIMSBbioinfo/ZarrDataFrame") |
| 22559 | (synopsis "Bioconductor-friendly Bindings for Zarr") |
| 22560 | (description |
| 22561 | "This package implements bindings for zarr store that are compatible |
| 22562 | with Bioconductor S4 data structures, namely the @code{DataFrame} and |
| 22563 | @code{DelayedArray}. This allows Zarr-backed data to be easily used as data |
| 22564 | frames with arbitrary sets of columns.") |
| 22565 | (license license:expat)))) |
| 22566 | |
| 22567 | (define-public r-zarrarray |
| 22568 | (package |
| 22569 | (name "r-zarrarray") |
| 22570 | (version "1.0.0") |
| 22571 | (source |
| 22572 | (origin |
| 22573 | (method url-fetch) |
| 22574 | (uri (bioconductor-uri "ZarrArray" version)) |
| 22575 | (sha256 |
| 22576 | (base32 "1ny91qg257kgb1hz2h4jvb0rna9cwyw7fqyj5axv52r3b98xn040")))) |
| 22577 | (properties `((upstream-name . "ZarrArray"))) |
| 22578 | (build-system r-build-system) |
| 22579 | (propagated-inputs (list r-biocgenerics |
| 22580 | r-delayedarray |
| 22581 | r-iranges |
| 22582 | r-rarr |
| 22583 | r-s4arrays |
| 22584 | r-s4vectors |
| 22585 | r-sparsearray)) |
| 22586 | (native-inputs (list r-knitr r-testthat)) |
| 22587 | (home-page "https://bioconductor.org/packages/ZarrArray") |
| 22588 | (synopsis "Bring Zarr datasets in R as DelayedArray objects") |
| 22589 | (description |
| 22590 | "The @code{ZarrArray} package leverages the Rarr package to bring Zarr |
| 22591 | datasets in R as @code{DelayedArray} objects. The main class in the package |
| 22592 | is the @code{ZarrArray} class. A @code{ZarrArray} object is an array-like |
| 22593 | object that represents a Zarr dataset in R. @code{ZarrArray} objects are |
| 22594 | @code{DelayedArray} derivatives and therefore support all operations (delayed |
| 22595 | or block-processed) supported by @code{DelayedArray} objects.") |
| 22596 | (license license:artistic2.0))) |
| 22597 | |
| 22598 | (define-public methyldackel |
| 22599 | (package |
| 22600 | (name "methyldackel") |
| 22601 | (version "0.6.1") |
| 22602 | (source (origin |
| 22603 | (method git-fetch) |
| 22604 | (uri (git-reference |
| 22605 | (url "https://github.com/dpryan79/MethylDackel") |
| 22606 | (commit version))) |
| 22607 | (file-name (git-file-name name version)) |
| 22608 | (sha256 |
| 22609 | (base32 |
| 22610 | "06kj76pyhzxfcjcpm840a3km3fa9994kfq4asglnb228pwak326z")))) |
| 22611 | (build-system gnu-build-system) |
| 22612 | (arguments |
| 22613 | (list |
| 22614 | #:test-target "test" |
| 22615 | #:make-flags |
| 22616 | #~(list "CC=gcc" |
| 22617 | "CFLAGS=-fcommon" |
| 22618 | "LIBBIGWIG=-lBigWig" |
| 22619 | (string-append "prefix=" #$output "/bin/")) |
| 22620 | #:phases |
| 22621 | '(modify-phases %standard-phases |
| 22622 | (replace 'configure |
| 22623 | (lambda _ |
| 22624 | (substitute* "Makefile" |
| 22625 | (("install MethylDackel \\$\\(prefix\\)" match) |
| 22626 | (string-append "install -d $(prefix); " match)))))))) |
| 22627 | (inputs |
| 22628 | (list curl htslib libbigwig zlib)) |
| 22629 | ;; Needed for tests |
| 22630 | (native-inputs |
| 22631 | (list python-wrapper)) |
| 22632 | (home-page "https://github.com/dpryan79/MethylDackel") |
| 22633 | (synopsis "Universal methylation extractor for BS-seq experiments") |
| 22634 | (description |
| 22635 | "MethylDackel will process a coordinate-sorted and indexed BAM or CRAM |
| 22636 | file containing some form of BS-seq alignments and extract per-base |
| 22637 | methylation metrics from them. MethylDackel requires an indexed fasta file |
| 22638 | containing the reference genome as well.") |
| 22639 | ;; See https://github.com/dpryan79/MethylDackel/issues/85 |
| 22640 | (license license:expat))) |
| 22641 | |
| 22642 | (define-public phast |
| 22643 | (package |
| 22644 | (name "phast") |
| 22645 | (version "1.9.9") |
| 22646 | (source |
| 22647 | (origin |
| 22648 | (method git-fetch) |
| 22649 | (uri (git-reference |
| 22650 | (url "https://github.com/CshlSiepelLab/phast") |
| 22651 | (commit (string-append "v" version)))) |
| 22652 | (file-name (git-file-name name version)) |
| 22653 | (sha256 |
| 22654 | (base32 "0j8mgb833i1d0bl5faaxn087z2bjghqvdixwrgjr2hgpcwnd42ki")))) |
| 22655 | (build-system cmake-build-system) |
| 22656 | (arguments |
| 22657 | (list |
| 22658 | #:phases |
| 22659 | #~(modify-phases %standard-phases |
| 22660 | (delete 'check) |
| 22661 | (add-after 'install 'post-install-check |
| 22662 | (lambda* (#:key tests? inputs outputs #:allow-other-keys) |
| 22663 | (when tests? |
| 22664 | (with-directory-excursion "../source" |
| 22665 | (setenv "PATH" (string-append #$output "/bin" ":" |
| 22666 | (getenv "PATH"))) |
| 22667 | ;; Only run the msa_view tests because the others fail for |
| 22668 | ;; unknown reasons. |
| 22669 | (invoke "make" "-C" "test" "msa_view")))))))) |
| 22670 | (inputs |
| 22671 | (list lapack pcre)) |
| 22672 | (native-inputs |
| 22673 | (list perl)) |
| 22674 | (home-page "http://compgen.cshl.edu/phast/") |
| 22675 | (synopsis "Phylogenetic analysis with space/time models") |
| 22676 | (description |
| 22677 | "Phylogenetic Analysis with Space/Time models (PHAST) is a collection of |
| 22678 | command-line programs and supporting libraries for comparative and |
| 22679 | evolutionary genomics. Best known as the search engine behind the |
| 22680 | Conservation tracks in the University of California, Santa Cruz (UCSC) Genome |
| 22681 | Browser, PHAST also includes several tools for phylogenetic modeling, |
| 22682 | functional element identification, as well as utilities for manipulating |
| 22683 | alignments, trees and genomic annotations.") |
| 22684 | (license license:bsd-3))) |
| 22685 | |
| 22686 | (define-public python-gffutils |
| 22687 | (package |
| 22688 | (name "python-gffutils") |
| 22689 | (version "0.13") |
| 22690 | (source |
| 22691 | (origin |
| 22692 | (method git-fetch) |
| 22693 | (uri (git-reference |
| 22694 | (url "https://github.com/daler/gffutils") |
| 22695 | (commit (string-append "v" version)))) |
| 22696 | (file-name (git-file-name name version)) |
| 22697 | (sha256 |
| 22698 | (base32 |
| 22699 | "148i7bk5bawrz19jp3nl0z859wdlldgrw8f0aw9wsprj8s3d713a")))) |
| 22700 | (build-system pyproject-build-system) |
| 22701 | (arguments |
| 22702 | (list |
| 22703 | ;; Failed: 'yield' keyword is allowed in fixtures, but not in tests |
| 22704 | ;; (test_region) |
| 22705 | #:test-flags #~(list "--ignore=gffutils/test/test_1.py") |
| 22706 | #:phases |
| 22707 | #~(modify-phases %standard-phases |
| 22708 | (add-before 'build 'set-HOME |
| 22709 | (lambda _ |
| 22710 | ;; FileNotFoundError: [Errno 2] No such file or directory: |
| 22711 | ;; '/homeless-shelter/.gffutils.test' |
| 22712 | (setenv "HOME" "/tmp")))))) |
| 22713 | (native-inputs |
| 22714 | (list python-pytest python-setuptools)) |
| 22715 | (propagated-inputs |
| 22716 | (list python-argcomplete |
| 22717 | python-argh |
| 22718 | python-biopython |
| 22719 | python-pybedtools |
| 22720 | python-pyfaidx |
| 22721 | python-simplejson)) |
| 22722 | (home-page "https://github.com/daler/gffutils") |
| 22723 | (synopsis "Tool for manipulation of GFF and GTF files") |
| 22724 | (description |
| 22725 | "python-gffutils is a Python package for working with and manipulating |
| 22726 | the GFF and GTF format files typically used for genomic annotations. The |
| 22727 | files are loaded into a SQLite database, allowing much more complex |
| 22728 | manipulation of hierarchical features (e.g., genes, transcripts, and exons) |
| 22729 | than is possible with plain-text methods alone.") |
| 22730 | (license license:expat))) |
| 22731 | |
| 22732 | (define-public indelfixer |
| 22733 | (package |
| 22734 | (name "indelfixer") |
| 22735 | (version "1.1") |
| 22736 | (source (origin |
| 22737 | (method git-fetch) |
| 22738 | (uri (git-reference |
| 22739 | (url "https://github.com/cbg-ethz/InDelFixer/") |
| 22740 | (commit (string-append "v" version)))) |
| 22741 | (file-name (git-file-name name version)) |
| 22742 | (sha256 |
| 22743 | (base32 |
| 22744 | "10ak05x8i1bx2p7rriv2rglqg1wr7c8wrhjrqlq1wm7ka99w8i79")))) |
| 22745 | (build-system ant-build-system) |
| 22746 | (arguments |
| 22747 | `(#:jar-name "InDelFixer.jar" |
| 22748 | #:source-dir "src/main/java" |
| 22749 | #:test-dir "src/test")) |
| 22750 | (inputs |
| 22751 | (list java-args4j java-commons-lang)) |
| 22752 | (native-inputs |
| 22753 | (list java-junit)) |
| 22754 | (home-page "https://github.com/cbg-ethz/InDelFixer/") |
| 22755 | (synopsis "Iterative and sensitive NGS sequence aligner") |
| 22756 | (description "InDelFixer is a sensitive aligner for 454, Illumina and |
| 22757 | PacBio data, employing a full Smith-Waterman alignment against a reference. |
| 22758 | This Java command line application aligns Next-Generation Sequencing (NGS) and |
| 22759 | third-generation reads to a set of reference sequences, by a prior fast k-mer |
| 22760 | matching and removes indels, causing frame shifts. In addition, only a |
| 22761 | specific region can be considered. An iterative refinement of the alignment |
| 22762 | can be performed, by alignment against the consensus sequence with wobbles. |
| 22763 | The output is in SAM format.") |
| 22764 | (license license:gpl3+))) |
| 22765 | |
| 22766 | (define-public libsbml |
| 22767 | (package |
| 22768 | (name "libsbml") |
| 22769 | (version "5.20.5") |
| 22770 | (source (origin |
| 22771 | (method git-fetch) |
| 22772 | (uri (git-reference |
| 22773 | (url "https://github.com/sbmlteam/libsbml") |
| 22774 | (commit (string-append "v" version)))) |
| 22775 | (file-name (git-file-name name version)) |
| 22776 | (sha256 |
| 22777 | (base32 |
| 22778 | "1bzsgwblh5l15xxy7kpdwiya5kwm26sj6daqr9i93h04manpqmfw")))) |
| 22779 | (build-system cmake-build-system) |
| 22780 | (arguments |
| 22781 | `(#:configure-flags |
| 22782 | ,#~(list "-DWITH_CHECK=ON" |
| 22783 | (string-append "-DLIBXML_LIBRARY=" |
| 22784 | #$(this-package-input "libxml2") |
| 22785 | "/lib/libxml2.so") |
| 22786 | (string-append "-DLIBXML_INCLUDE_DIR=" |
| 22787 | #$(this-package-input "libxml2") |
| 22788 | "/include/libxml2")))) |
| 22789 | (propagated-inputs |
| 22790 | (list libxml2)) |
| 22791 | (native-inputs |
| 22792 | (list check swig-4.0)) |
| 22793 | (home-page "https://sbml.org/Software/libSBML") |
| 22794 | (synopsis "Process SBML files and data streams") |
| 22795 | (description "LibSBML is a library to help you read, write, manipulate, |
| 22796 | translate, and validate SBML files and data streams. The @dfn{Systems Biology |
| 22797 | Markup Language} (SBML) is an interchange format for computer models of |
| 22798 | biological processes. SBML is useful for models of metabolism, cell |
| 22799 | signaling, and more. It continues to be evolved and expanded by an |
| 22800 | international community.") |
| 22801 | (license license:lgpl2.1+))) |
| 22802 | |
| 22803 | (define-public kraken2 |
| 22804 | (package |
| 22805 | (name "kraken2") |
| 22806 | (version "2.1.2") |
| 22807 | (source (origin |
| 22808 | (method git-fetch) |
| 22809 | (uri (git-reference |
| 22810 | (url "https://github.com/DerrickWood/kraken2") |
| 22811 | (commit (string-append "v" version)))) |
| 22812 | (file-name (git-file-name name version)) |
| 22813 | (sha256 |
| 22814 | (base32 |
| 22815 | "1pl6ml1ldg2hnhy8ps56q0fl1wq3g91qkhinj6pb4yjjhv1rxsjf")))) |
| 22816 | (build-system gnu-build-system) |
| 22817 | (arguments |
| 22818 | `(#:tests? #false ; there are none |
| 22819 | #:make-flags |
| 22820 | ,#~(list "-C" "src" |
| 22821 | (string-append "KRAKEN2_DIR=" #$output "/bin")) |
| 22822 | #:phases |
| 22823 | (modify-phases %standard-phases |
| 22824 | (delete 'configure) |
| 22825 | (add-before 'install 'install-scripts |
| 22826 | (lambda* (#:key outputs #:allow-other-keys) |
| 22827 | (let* ((bin (string-append (assoc-ref outputs "out") "/bin")) |
| 22828 | (replacements `(("KRAKEN2_DIR" . ,bin) |
| 22829 | ("VERSION" . ,,version)))) |
| 22830 | (mkdir-p bin) |
| 22831 | |
| 22832 | (with-directory-excursion "scripts" |
| 22833 | (let ((scripts (find-files "." ".*"))) |
| 22834 | (substitute* scripts |
| 22835 | (("#####=([^=]+)=#####" _ key) |
| 22836 | (or (assoc-ref replacements key) |
| 22837 | (error (format #false "unknown key: ~a~%" key))))) |
| 22838 | (substitute* "kraken2" |
| 22839 | (("compression_program = \"bzip2\"") |
| 22840 | (string-append "compression_program = \"" |
| 22841 | (which "bzip2") |
| 22842 | "\"")) |
| 22843 | (("compression_program = \"gzip\"") |
| 22844 | (string-append "compression_program = \"" |
| 22845 | (which "gzip") |
| 22846 | "\""))) |
| 22847 | (substitute* '("download_genomic_library.sh" |
| 22848 | "download_taxonomy.sh" |
| 22849 | "16S_gg_installation.sh" |
| 22850 | "16S_silva_installation.sh" |
| 22851 | "16S_rdp_installation.sh") |
| 22852 | (("wget") (which "wget"))) |
| 22853 | (substitute* '("download_taxonomy.sh" |
| 22854 | "download_genomic_library.sh" |
| 22855 | "rsync_from_ncbi.pl") |
| 22856 | (("rsync -") |
| 22857 | (string-append (which "rsync") " -"))) |
| 22858 | (substitute* "mask_low_complexity.sh" |
| 22859 | (("which") (which "which"))) |
| 22860 | (substitute* '("mask_low_complexity.sh" |
| 22861 | "download_genomic_library.sh" |
| 22862 | "16S_silva_installation.sh") |
| 22863 | (("sed -e ") |
| 22864 | (string-append (which "sed") " -e "))) |
| 22865 | (substitute* '("rsync_from_ncbi.pl" |
| 22866 | "16S_rdp_installation.sh" |
| 22867 | "16S_silva_installation.sh" |
| 22868 | "16S_gg_installation.sh" |
| 22869 | "download_taxonomy.sh" |
| 22870 | "download_genomic_library.sh") |
| 22871 | (("gunzip") (which "gunzip"))) |
| 22872 | (for-each (lambda (script) |
| 22873 | (chmod script #o555) |
| 22874 | (install-file script bin)) |
| 22875 | scripts))))))))) |
| 22876 | (inputs |
| 22877 | (list gzip |
| 22878 | perl |
| 22879 | rsync |
| 22880 | sed |
| 22881 | wget |
| 22882 | which)) |
| 22883 | (home-page "https://github.com/DerrickWood/kraken2") |
| 22884 | (synopsis "Taxonomic sequence classification system") |
| 22885 | (description "Kraken is a taxonomic sequence classifier that assigns |
| 22886 | taxonomic labels to DNA sequences. Kraken examines the k-mers within a query |
| 22887 | sequence and uses the information within those k-mers to query a |
| 22888 | database. That database maps k-mers to the lowest common ancestor (LCA) of all |
| 22889 | genomes known to contain a given k-mer.") |
| 22890 | (license license:expat))) |
| 22891 | |
| 22892 | (define-public lofreq |
| 22893 | (package |
| 22894 | (name "lofreq") |
| 22895 | (version "2.1.5") |
| 22896 | (source (origin |
| 22897 | (method git-fetch) |
| 22898 | (uri (git-reference |
| 22899 | (url "https://github.com/CSB5/lofreq") |
| 22900 | (commit (string-append "v" version)))) |
| 22901 | (file-name (git-file-name name version)) |
| 22902 | (sha256 |
| 22903 | (base32 |
| 22904 | "0qssrn3mgjak7df6iqc1rljqd3g3a5syvg0lsv4vds43s3fq23bl")))) |
| 22905 | (build-system gnu-build-system) |
| 22906 | (arguments |
| 22907 | '(#:test-target "bug-tests" |
| 22908 | #:tests? #false ;test data are not included |
| 22909 | #:phases |
| 22910 | (modify-phases %standard-phases |
| 22911 | (add-after 'unpack 'set-source-file-times-to-1980 |
| 22912 | (lambda _ |
| 22913 | (let ((circa-1980 (* 10 366 24 60 60))) |
| 22914 | (for-each (lambda (file) |
| 22915 | (let ((s (lstat file))) |
| 22916 | (unless (eq? (stat:type s) 'symlink) |
| 22917 | (utime file circa-1980 circa-1980)))) |
| 22918 | (find-files "." #:directories? #t)))))))) |
| 22919 | (inputs |
| 22920 | (list htslib python-wrapper zlib)) |
| 22921 | (native-inputs |
| 22922 | (list autoconf automake python-setuptools which)) |
| 22923 | (home-page "https://csb5.github.io/lofreq/") |
| 22924 | (synopsis "Sensitive variant calling from sequencing data") |
| 22925 | (description "LoFreq is a fast and sensitive variant-caller for inferring |
| 22926 | SNVs and indels from next-generation sequencing data. It makes full use of |
| 22927 | base-call qualities and other sources of errors inherent in |
| 22928 | sequencing (e.g. mapping or base/indel alignment uncertainty), which are |
| 22929 | usually ignored by other methods or only used for filtering.") |
| 22930 | (license license:expat))) |
| 22931 | |
| 22932 | (define-public louvain |
| 22933 | (package |
| 22934 | (name "louvain") |
| 22935 | (version "0.2") |
| 22936 | (source (origin |
| 22937 | (method url-fetch) |
| 22938 | (uri "mirror://sourceforge/louvain/louvain_latest.tar.gz") |
| 22939 | (sha256 |
| 22940 | (base32 |
| 22941 | "0hqlv5jqc889nbv7j1bchrx4zhh69hgr2mqvfdygc7kwrywn22lb")))) |
| 22942 | (build-system gnu-build-system) |
| 22943 | (arguments |
| 22944 | (list |
| 22945 | #:tests? #false ;there are none |
| 22946 | #:phases |
| 22947 | #~(modify-phases %standard-phases |
| 22948 | (delete 'configure) |
| 22949 | (add-after 'unpack 'patch-includes |
| 22950 | (lambda _ |
| 22951 | (substitute* "main_community.cpp" |
| 22952 | (("using namespace std;" m) |
| 22953 | (string-append "#include <unistd.h> /* for getpid */\n" m))))) |
| 22954 | (replace 'install |
| 22955 | (lambda _ |
| 22956 | (for-each |
| 22957 | (lambda (exe) |
| 22958 | (install-file exe (string-append #$output "/bin"))) |
| 22959 | '("convert" "community" "hierarchy"))))))) |
| 22960 | (home-page "https://sourceforge.net/projects/louvain/") |
| 22961 | (synopsis "Multi-criteria community detection") |
| 22962 | (description "This package offers a set of functions to use in order to |
| 22963 | compute communities on graphs weighted or unweighted.") |
| 22964 | (license license:gpl3+))) |
| 22965 | |
| 22966 | (define-public ivar |
| 22967 | (package |
| 22968 | (name "ivar") |
| 22969 | (version "1.4.4") |
| 22970 | (source (origin |
| 22971 | (method git-fetch) |
| 22972 | (uri (git-reference |
| 22973 | (url "https://github.com/andersen-lab/ivar") |
| 22974 | (commit (string-append "v" version)))) |
| 22975 | (file-name (git-file-name name version)) |
| 22976 | (sha256 |
| 22977 | (base32 |
| 22978 | "1bwygjv81m4yv5ycxb5gx22k6njgwrzzs7jrsadq6363klcv4irh")))) |
| 22979 | (build-system gnu-build-system) |
| 22980 | (arguments |
| 22981 | (list |
| 22982 | #:parallel-tests? #false ;not supported |
| 22983 | #:phases |
| 22984 | '(modify-phases %standard-phases |
| 22985 | (add-after 'unpack 'patch-CXXFLAGS |
| 22986 | (lambda _ |
| 22987 | (substitute* '("src/Makefile.am" |
| 22988 | "tests/Makefile.am") |
| 22989 | (("-Werror") ""))))))) |
| 22990 | (inputs |
| 22991 | (list htslib zlib)) |
| 22992 | (native-inputs |
| 22993 | (list autoconf automake)) |
| 22994 | (home-page "https://andersen-lab.github.io/ivar/html/") |
| 22995 | (synopsis "Tools for amplicon-based sequencing") |
| 22996 | (description "iVar is a computational package that contains functions |
| 22997 | broadly useful for viral amplicon-based sequencing.") |
| 22998 | (license license:gpl3+))) |
| 22999 | |
| 23000 | (define-public python-pyliftover |
| 23001 | (package |
| 23002 | (name "python-pyliftover") |
| 23003 | (version "0.4") |
| 23004 | ;; The version of pypi does not include test data. |
| 23005 | (source |
| 23006 | (origin |
| 23007 | (method git-fetch) |
| 23008 | (uri (git-reference |
| 23009 | (url "https://github.com/konstantint/pyliftover") |
| 23010 | (commit version))) |
| 23011 | (file-name (git-file-name name version)) |
| 23012 | (sha256 |
| 23013 | (base32 "1j8jp9iynv2l3jv5pr0pn0p3azlama1bqg233piglzm6bqh3m2m3")))) |
| 23014 | (build-system pyproject-build-system) |
| 23015 | (arguments |
| 23016 | `(#:tests? #f)) ;the tests access the web |
| 23017 | (native-inputs (list python-pytest python-setuptools)) |
| 23018 | (home-page "https://github.com/konstantint/pyliftover") |
| 23019 | (synopsis |
| 23020 | "Python implementation of UCSC liftOver genome coordinate conversion") |
| 23021 | (description |
| 23022 | "PyLiftover is a library for quick and easy conversion of genomic (point) |
| 23023 | coordinates between different assemblies.") |
| 23024 | (license license:expat))) |
| 23025 | |
| 23026 | (define-public python-cgatcore |
| 23027 | (package |
| 23028 | (name "python-cgatcore") |
| 23029 | (version "0.6.16") |
| 23030 | ;; The version of pypi does not include test data. |
| 23031 | (source (origin |
| 23032 | (method git-fetch) |
| 23033 | (uri (git-reference |
| 23034 | (url "https://github.com/cgat-developers/cgat-core") |
| 23035 | (commit (string-append "v" version)))) |
| 23036 | (file-name (git-file-name name version)) |
| 23037 | (sha256 |
| 23038 | (base32 |
| 23039 | "0kvfb6fpfncdfb8wjmn7n2vmqk3wd7sdrfw1rhlihfdxbfzb5fa8")))) |
| 23040 | (build-system pyproject-build-system) |
| 23041 | (arguments |
| 23042 | (list |
| 23043 | #:test-flags |
| 23044 | ;; Failed: 'yield' keyword is allowed in fixtures, but not in tests |
| 23045 | ;; (test_import) |
| 23046 | '(list "--ignore=tests/test_import.py" |
| 23047 | "-k" |
| 23048 | (string-append |
| 23049 | ;; This test actually does what it should, but the check fails with |
| 23050 | ;; TypeError: cannot unpack non-iterable Namespace object |
| 23051 | "not test_start_and_stop_are_logged_with_argparse" |
| 23052 | ;; These all attempt to connect to localhost with SSH |
| 23053 | " and not test_job_should_use_TMPDIR_and_clean_up" |
| 23054 | " and not test_job_should_use_TMPDIR_and_clean_up_after_fail" |
| 23055 | " and not test_job_should_write_to_explicit_temp_and_not_clean_up")) |
| 23056 | #:phases |
| 23057 | '(modify-phases %standard-phases |
| 23058 | (add-after 'unpack 'fix-references |
| 23059 | (lambda _ |
| 23060 | (substitute* "cgatcore/pipeline/execution.py" |
| 23061 | (("#!/bin/bash") (string-append "#!" (which "bash"))) |
| 23062 | (("executable=\"/bin/bash\"") |
| 23063 | (string-append "executable=\"" (which "bash") "\"")) |
| 23064 | (("\\\\time") (which "time"))))) |
| 23065 | (add-after 'unpack 'sqlite-compatibility |
| 23066 | (lambda _ |
| 23067 | ;; Load apsw (and thus newer sqlite3) before importing Python's |
| 23068 | ;; older sqlite3 library. |
| 23069 | (substitute* "cgatcore/pipeline/__init__.py" |
| 23070 | (("import os") |
| 23071 | (string-append "import os\nimport apsw"))) |
| 23072 | (substitute* "tests/template_pipeline.py" |
| 23073 | (("import sys" m) |
| 23074 | (string-append "import apsw\n" m)))))))) |
| 23075 | (native-inputs |
| 23076 | (list inetutils |
| 23077 | lsof |
| 23078 | openssl |
| 23079 | python-pytest |
| 23080 | python-setuptools)) |
| 23081 | (inputs (list time)) |
| 23082 | (propagated-inputs |
| 23083 | (list python-apsw |
| 23084 | python-gevent |
| 23085 | python-pandas |
| 23086 | python-paramiko |
| 23087 | python-pyyaml |
| 23088 | python-ruffus |
| 23089 | python-sqlalchemy)) |
| 23090 | (home-page "https://github.com/cgat-developers/cgat-core") |
| 23091 | (synopsis "Computational genomics analysis toolkit") |
| 23092 | (description |
| 23093 | "CGAT-core is a set of libraries and helper functions used to enable |
| 23094 | researchers to design and build computational workflows for the analysis of |
| 23095 | large-scale data-analysis.") |
| 23096 | (license license:expat))) |
| 23097 | |
| 23098 | (define-public perl-cworld-dekker |
| 23099 | (package |
| 23100 | (name "perl-cworld-dekker") |
| 23101 | (version "1.01") |
| 23102 | (source (origin |
| 23103 | (method git-fetch) |
| 23104 | (uri (git-reference |
| 23105 | (url "https://github.com/dekkerlab/cworld-dekker.git") |
| 23106 | (commit (string-append "v" version)))) |
| 23107 | (file-name (git-file-name name version)) |
| 23108 | (sha256 |
| 23109 | (base32 |
| 23110 | "1dvh23fx52m59y6304xi2j2pl2hiqadlqg8jyv2pm14j1hy71ych")))) |
| 23111 | (build-system perl-build-system) |
| 23112 | (arguments |
| 23113 | (list |
| 23114 | #:modules '((guix build perl-build-system) |
| 23115 | (guix build utils) |
| 23116 | (srfi srfi-26)) |
| 23117 | #:phases |
| 23118 | #~(modify-phases %standard-phases |
| 23119 | (add-after 'unpack 'hardcode-references |
| 23120 | (lambda* (#:key inputs #:allow-other-keys) |
| 23121 | (let ((bedtools #$(this-package-input "bedtools")) |
| 23122 | (r #$(this-package-input "r-minimal"))) |
| 23123 | (substitute* '("scripts/python/getEigenVectors.py" |
| 23124 | "scripts/python/matrix2EigenVectors.py") |
| 23125 | (("bedtools intersect") |
| 23126 | (string-append bedtools "/bin/bedtools intersect"))) |
| 23127 | (substitute* "lib/cworld/dekker.pm" |
| 23128 | (("bedtools --version") |
| 23129 | (string-append bedtools "/bin/bedtools --version"))) |
| 23130 | (substitute* '("scripts/perl/correlateMatrices.pl" |
| 23131 | "scripts/perl/matrix2scaling.pl" |
| 23132 | "scripts/perl/matrix2distance.pl" |
| 23133 | "scripts/perl/coverageCorrect.pl" |
| 23134 | "scripts/perl/matrix2anchorPlot.pl" |
| 23135 | "scripts/python/matrix2EigenVectors.py" |
| 23136 | "scripts/python/matrix2insulation-lite.py" |
| 23137 | "scripts/perl/matrix2compartment.pl" |
| 23138 | "scripts/perl/anchorPurge.pl" |
| 23139 | "scripts/perl/applyCorrection.pl" |
| 23140 | "scripts/perl/compareInsulation.pl" |
| 23141 | "scripts/perl/fillMissingData.pl" |
| 23142 | "scripts/perl/matrix2loess.pl" |
| 23143 | "scripts/python/getEigenVectors.py" |
| 23144 | "scripts/perl/aggregateBED.pl" |
| 23145 | "scripts/perl/collapseMatrix.pl" |
| 23146 | "scripts/perl/matrix2direction.pl" |
| 23147 | "scripts/perl/singletonRemoval.pl" |
| 23148 | "lib/cworld/dekker.pm" |
| 23149 | "scripts/perl/matrix2insulation.pl") |
| 23150 | (("(`|\")Rscript" _ pre) |
| 23151 | (string-append pre r "/bin/Rscript")))))) |
| 23152 | (add-after 'install 'install-scripts |
| 23153 | (lambda _ |
| 23154 | (let ((share (string-append #$output "/share/cworld-dekker"))) |
| 23155 | (mkdir-p share) |
| 23156 | (copy-recursively "scripts" share) |
| 23157 | |
| 23158 | ;; Make all scripts executable and wrap them. |
| 23159 | (let ((r (find-files share "\\.R$")) |
| 23160 | (py (find-files share "\\.py$")) |
| 23161 | (pl (find-files share "\\.pl$")) |
| 23162 | (wrap (lambda* (script var #:optional (extra "")) |
| 23163 | (let ((path (string-append (getenv var) |
| 23164 | extra))) |
| 23165 | (wrap-program script |
| 23166 | `(,var ":" prefix (,path))))))) |
| 23167 | (for-each (cut chmod <> #o555) (append r py pl)) |
| 23168 | (for-each (cut wrap <> "PERL5LIB" |
| 23169 | (string-append ":" #$output |
| 23170 | "/lib/perl5/site_perl")) |
| 23171 | pl) |
| 23172 | (for-each (cut wrap <> "GUIX_PYTHONPATH") py)))))))) |
| 23173 | (inputs |
| 23174 | (list gd |
| 23175 | perl-gd |
| 23176 | bedtools |
| 23177 | python-wrapper |
| 23178 | python-scipy |
| 23179 | python-numpy |
| 23180 | python-matplotlib |
| 23181 | python-h5py |
| 23182 | python-scikit-learn |
| 23183 | r-minimal)) |
| 23184 | (native-inputs |
| 23185 | (list perl-module-build)) |
| 23186 | (home-page "https://github.com/dekkerlab/cworld-dekker") |
| 23187 | (synopsis "Utility and analysis scripts for 3C, 4C, 5C, and Hi-C data") |
| 23188 | (description "This package is a collection of Perl, Python, and R |
| 23189 | scripts for manipulating 3C/4C/5C/Hi-C data.") |
| 23190 | (license license:asl2.0))) |
| 23191 | |
| 23192 | (define-public ensembl-vep |
| 23193 | (let* ((api-version "112") |
| 23194 | (api-module |
| 23195 | (lambda (name hash) |
| 23196 | (origin (method git-fetch) |
| 23197 | (uri (git-reference |
| 23198 | (url (string-append "https://github.com/Ensembl/" |
| 23199 | name ".git")) |
| 23200 | (commit (string-append "release/" api-version)))) |
| 23201 | (file-name (string-append name "-" api-version "-checkout")) |
| 23202 | (sha256 (base32 hash)))))) |
| 23203 | (package |
| 23204 | (name "ensembl-vep") |
| 23205 | (version api-version) |
| 23206 | (source |
| 23207 | (origin |
| 23208 | (method git-fetch) |
| 23209 | (uri (git-reference |
| 23210 | (url "https://github.com/Ensembl/ensembl-vep.git") |
| 23211 | (commit (string-append "release/" version)))) |
| 23212 | (file-name (git-file-name name version)) |
| 23213 | (sha256 |
| 23214 | (base32 |
| 23215 | "0nznmiln2q6bzd3xp8d5cw56higa5w3g9rmg66956bkfky53chvw")))) |
| 23216 | (build-system gnu-build-system) |
| 23217 | (arguments |
| 23218 | `(#:modules ((guix build gnu-build-system) |
| 23219 | (guix build utils) |
| 23220 | (ice-9 match)) |
| 23221 | #:phases |
| 23222 | (modify-phases %standard-phases |
| 23223 | (delete 'configure) |
| 23224 | (delete 'build) |
| 23225 | ;; Tests need to run after installation |
| 23226 | (delete 'check) |
| 23227 | (replace 'install |
| 23228 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 23229 | (let* ((modules '(("ensembl" "/") |
| 23230 | ("ensembl-variation" "/Variation") |
| 23231 | ("ensembl-funcgen" "/Funcgen") |
| 23232 | ("ensembl-io" "/"))) |
| 23233 | (scripts '(("convert_cache.pl" "vep_convert_cache.pl") |
| 23234 | ("INSTALL.pl" "vep_install.pl") |
| 23235 | ("haplo" #f) |
| 23236 | ("variant_recoder" #f) |
| 23237 | ("filter_vep" #f) |
| 23238 | ("vep" #f))) |
| 23239 | (out (assoc-ref outputs "out")) |
| 23240 | (bin (string-append out "/bin")) |
| 23241 | (perl (string-append out "/lib/perl5/site_perl"))) |
| 23242 | (for-each |
| 23243 | (match-lambda |
| 23244 | ((name path) |
| 23245 | (let ((dir (string-append perl "/Bio/EnsEMBL" path))) |
| 23246 | (mkdir-p dir) |
| 23247 | (copy-recursively |
| 23248 | (string-append (assoc-ref inputs (string-append "api-module-" name)) |
| 23249 | "/modules/Bio/EnsEMBL" path) |
| 23250 | dir)))) |
| 23251 | modules) |
| 23252 | (copy-recursively "modules/" perl) |
| 23253 | (mkdir-p bin) |
| 23254 | (for-each |
| 23255 | (match-lambda |
| 23256 | ((script new-name) |
| 23257 | (let ((location (string-append bin "/" |
| 23258 | (or new-name (basename script))))) |
| 23259 | (copy-file script location) |
| 23260 | (chmod location #o555) |
| 23261 | (wrap-program location |
| 23262 | `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB") |
| 23263 | ,perl)))))) |
| 23264 | scripts) |
| 23265 | |
| 23266 | ;; Fix path to tools |
| 23267 | (with-directory-excursion (string-append perl "/Bio/EnsEMBL") |
| 23268 | (substitute* '("Funcgen/RunnableDB/ProbeMapping/PrePipelineChecks.pm" |
| 23269 | "VEP/BaseRunner.pm" |
| 23270 | "VEP/Utils.pm" |
| 23271 | "VEP/AnnotationSource/Cache/VariationTabix.pm" |
| 23272 | "VEP/AnnotationSource/Cache/BaseSerialized.pm" |
| 23273 | "Variation/Utils/BaseVepTabixPlugin.pm" |
| 23274 | "Variation/Utils/VEP.pm" |
| 23275 | "Variation/Pipeline/ReleaseDataDumps/PreRunChecks.pm") |
| 23276 | (("`which") |
| 23277 | (string-append "`" |
| 23278 | (assoc-ref inputs "which") |
| 23279 | "/bin/which"))))))) |
| 23280 | (add-after 'install 'check |
| 23281 | (lambda* (#:key tests? inputs outputs #:allow-other-keys) |
| 23282 | (when tests? |
| 23283 | (setenv "PERL5LIB" |
| 23284 | (string-append (getenv "PERL5LIB") |
| 23285 | ":" |
| 23286 | (assoc-ref outputs "out") |
| 23287 | "/lib/perl5/site_perl")) |
| 23288 | (copy-recursively (string-append (assoc-ref inputs "source") "/t") |
| 23289 | "/tmp/t") |
| 23290 | (for-each make-file-writable (find-files "/tmp/t")) |
| 23291 | ;; TODO: haplo needs Set/IntervalTree.pm |
| 23292 | (invoke "perl" "-e" (string-append " |
| 23293 | use Test::Harness; use Test::Exception; |
| 23294 | my $dirname = \"/tmp\"; |
| 23295 | opendir TEST, \"$dirname\\/t\"; |
| 23296 | my @test_files = map {\"$dirname\\/t\\/\".$_} grep {!/^\\./ && /\\.t$/} readdir TEST; closedir TEST; |
| 23297 | @test_files = grep {!/Haplo/} @test_files; |
| 23298 | runtests(@test_files); |
| 23299 | ")))))))) |
| 23300 | (inputs |
| 23301 | (list bioperl-minimal |
| 23302 | perl-bio-db-hts |
| 23303 | perl-dbi |
| 23304 | perl-dbd-mysql |
| 23305 | perl-libwww |
| 23306 | perl-list-moreutils |
| 23307 | perl-http-tiny |
| 23308 | perl-json |
| 23309 | which)) |
| 23310 | (propagated-inputs |
| 23311 | (list kentutils)) |
| 23312 | (native-inputs |
| 23313 | `(("unzip" ,unzip) |
| 23314 | ("perl" ,perl) |
| 23315 | ("api-module-ensembl" |
| 23316 | ,(api-module "ensembl" |
| 23317 | "10r576iqrz1p61mqbbfs87w4w3nldi45p51z52mq76f3n00l010h")) |
| 23318 | ("api-module-ensembl-variation" |
| 23319 | ,(api-module "ensembl-variation" |
| 23320 | "0ad03xnyyqpya1bkg6igq9abqxdmi58j89wn2kb3m4bvy1zs03mf")) |
| 23321 | ("api-module-ensembl-funcgen" |
| 23322 | ,(api-module "ensembl-funcgen" |
| 23323 | "1m3dxnr6k9x5hmcsxckpxlqx7vbc82lk74r84vcjijgxjkfa5rpp")) |
| 23324 | ("api-module-ensembl-io" |
| 23325 | ,(api-module "ensembl-io" |
| 23326 | "1xr6kdqqzmbi3m4bls589d1dfjvbs13dxlbf1y172xjyipvmag43")) |
| 23327 | ("perl-test-deep" ,perl-test-deep) |
| 23328 | ("perl-test-exception" ,perl-test-exception) |
| 23329 | ("perl-test-harness" ,perl-test-harness) |
| 23330 | ("perl-test-warnings" ,perl-test-warnings))) |
| 23331 | (home-page "http://www.ensembl.org/vep") |
| 23332 | (synopsis "Predict functional effects of genomic variants") |
| 23333 | (description |
| 23334 | "This package provides a Variant Effect Predictor, which predicts |
| 23335 | the functional effects of genomic variants. It also provides |
| 23336 | Haplosaurus, which uses phased genotype data to predict |
| 23337 | whole-transcript haplotype sequences, and Variant Recoder, which |
| 23338 | translates between different variant encodings.") |
| 23339 | (license license:asl2.0)))) |
| 23340 | |
| 23341 | (define-public r-signac |
| 23342 | (let ((commit "f5a84118508d2f0d6b04bd7fd28ad7f3576de461") |
| 23343 | (revision "1")) |
| 23344 | (package |
| 23345 | (name "r-signac") |
| 23346 | (version (git-version "1.16.0" revision commit)) |
| 23347 | (source (origin |
| 23348 | (method git-fetch) |
| 23349 | (uri (git-reference |
| 23350 | (url "https://github.com/timoast/signac/") |
| 23351 | (commit commit))) |
| 23352 | (file-name (git-file-name name version)) |
| 23353 | (sha256 |
| 23354 | (base32 |
| 23355 | "1q80ynngskmkndsbfliikrmj8q9q73vx30cfzk6v14w0y6f8rak7")))) |
| 23356 | (properties |
| 23357 | '((upstream-name . "Signac") |
| 23358 | (updater-extra-native-inputs . ("r-testthat")))) |
| 23359 | (build-system r-build-system) |
| 23360 | (inputs (list zlib)) |
| 23361 | (propagated-inputs |
| 23362 | (list r-biocgenerics |
| 23363 | r-data-table |
| 23364 | r-dplyr |
| 23365 | r-fastmatch |
| 23366 | r-future |
| 23367 | r-future-apply |
| 23368 | r-genomeinfodb |
| 23369 | r-genomicranges |
| 23370 | r-ggplot2 |
| 23371 | r-iranges |
| 23372 | r-irlba |
| 23373 | r-lifecycle |
| 23374 | r-matrix |
| 23375 | r-patchwork |
| 23376 | r-pbapply |
| 23377 | r-rcpp |
| 23378 | r-rcpproll |
| 23379 | r-rlang |
| 23380 | r-rsamtools |
| 23381 | r-s4vectors |
| 23382 | r-scales |
| 23383 | r-seuratobject |
| 23384 | r-stringi |
| 23385 | r-tidyr |
| 23386 | r-tidyselect |
| 23387 | r-vctrs)) |
| 23388 | (native-inputs (list r-testthat)) |
| 23389 | (home-page "https://github.com/timoast/signac/") |
| 23390 | (synopsis "Analysis of single-cell chromatin data") |
| 23391 | (description |
| 23392 | "This package provides a framework for the analysis and exploration of |
| 23393 | single-cell chromatin data. The Signac package contains functions for |
| 23394 | quantifying single-cell chromatin data, computing per-cell quality control |
| 23395 | metrics, dimension reduction and normalization, visualization, and DNA |
| 23396 | sequence motif analysis.") |
| 23397 | (license license:expat)))) |
| 23398 | |
| 23399 | ;; This is a fork of the original unmaintained python-pyvcf. |
| 23400 | (define-public python-pyvcf3 |
| 23401 | (let ((commit "1fb3789153d1d8e28e2cedf121399f276b5f312a") |
| 23402 | (revision "0")) |
| 23403 | (package |
| 23404 | (name "python-pyvcf3") |
| 23405 | (version (git-version "1.0.3" revision commit)) |
| 23406 | (source |
| 23407 | (origin |
| 23408 | (method git-fetch) |
| 23409 | (uri (git-reference |
| 23410 | (url "https://github.com/dridk/PyVCF3") |
| 23411 | (commit commit))) |
| 23412 | (file-name (git-file-name name version)) |
| 23413 | (sha256 |
| 23414 | (base32 "0i4j5bq5q32q216ja7yvg0mpww5j0b9p8ky5bya4d31wqmygal8z")))) |
| 23415 | (build-system pyproject-build-system) |
| 23416 | (propagated-inputs (list python-setuptools)) |
| 23417 | (native-inputs (list python-pytest python-setuptools)) |
| 23418 | (home-page "https://github.com/dridk/PyVCF3") |
| 23419 | (synopsis "Variant Call Format parser for Python") |
| 23420 | (description "This package provides a @acronym{VCF,Variant Call Format} |
| 23421 | parser for Python.") |
| 23422 | (license license:expat)))) |
| 23423 | |
| 23424 | (define-deprecated/public-alias python-pyvcf python-pyvcf3) |
| 23425 | |
| 23426 | (define-public nanosv |
| 23427 | (package |
| 23428 | (name "nanosv") |
| 23429 | (version "1.2.4") |
| 23430 | (source |
| 23431 | (origin |
| 23432 | (method url-fetch) |
| 23433 | (uri (pypi-uri "NanoSV" version)) |
| 23434 | (sha256 |
| 23435 | (base32 "1wl2daj0bwrl8fx5xi8j8hfs3mp3vg3qycy66538n032v1qkc6xg")))) |
| 23436 | (build-system pyproject-build-system) |
| 23437 | (arguments |
| 23438 | (list |
| 23439 | #:tests? #f ; No tests upstream, even in git. |
| 23440 | #:phases |
| 23441 | #~(modify-phases %standard-phases |
| 23442 | (add-after 'unpack 'relax-requirements |
| 23443 | (lambda _ |
| 23444 | (substitute* "setup.py" |
| 23445 | (("'pyvcf'") |
| 23446 | "'pyvcf3'"))))))) |
| 23447 | (native-inputs (list python-setuptools)) |
| 23448 | (inputs (list python-configparser python-pysam python-pyvcf3)) |
| 23449 | (home-page "https://github.com/mroosmalen/nanosv") |
| 23450 | (synopsis "Structural variation detection tool for Oxford Nanopore data") |
| 23451 | (description |
| 23452 | "NanoSV is a software package that can be used to identify |
| 23453 | structural genomic variations in long-read sequencing data, such as data |
| 23454 | produced by Oxford Nanopore Technologies’ MinION, GridION or PromethION |
| 23455 | instruments, or Pacific Biosciences RSII or Sequel sequencers.") |
| 23456 | (license license:expat))) |
| 23457 | |
| 23458 | (define-public python-strawc |
| 23459 | (package |
| 23460 | (name "python-strawc") |
| 23461 | (version "0.0.2.1") |
| 23462 | (source |
| 23463 | (origin |
| 23464 | (method url-fetch) |
| 23465 | (uri (pypi-uri "strawC" version)) |
| 23466 | (sha256 |
| 23467 | (base32 |
| 23468 | "1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6")))) |
| 23469 | (build-system pyproject-build-system) |
| 23470 | (native-inputs (list python-setuptools)) |
| 23471 | (arguments (list #:tests? #f)) ;No tests on either PyPI or Git. |
| 23472 | (inputs |
| 23473 | (list curl zlib)) |
| 23474 | (propagated-inputs |
| 23475 | (list pybind11-2)) |
| 23476 | (home-page "https://github.com/aidenlab/straw") |
| 23477 | (synopsis "Stream data from .hic files") |
| 23478 | (description "Straw is library which allows rapid streaming of contact |
| 23479 | data from @file{.hic} files. This package provides Python bindings.") |
| 23480 | (license license:expat))) |
| 23481 | |
| 23482 | (define-public python-pybbi |
| 23483 | (package |
| 23484 | (name "python-pybbi") |
| 23485 | (version "0.4.1") |
| 23486 | (source |
| 23487 | (origin |
| 23488 | (method url-fetch) |
| 23489 | (uri (pypi-uri "pybbi" version)) |
| 23490 | (sha256 |
| 23491 | (base32 "0p1s6y9f33wzmvxdhfg9b37sas2kghnmvkfnb317aiad1p6ks6ba")))) |
| 23492 | (build-system pyproject-build-system) |
| 23493 | (arguments |
| 23494 | (list |
| 23495 | #:test-flags |
| 23496 | #~(list "-k" (string-join |
| 23497 | ;; Network is required to run these tests. |
| 23498 | (list "not test_aws_403_redirect" |
| 23499 | "test_chromsizes" |
| 23500 | "test_fetch_remote" |
| 23501 | "test_fetch_remote_https" |
| 23502 | "test_sigs") |
| 23503 | " and not ")) |
| 23504 | #:phases |
| 23505 | #~(modify-phases %standard-phases |
| 23506 | (add-after 'unpack 'set-cc |
| 23507 | (lambda _ (setenv "CC" #$(cc-for-target)))) |
| 23508 | (add-before 'check 'remove-local-bbi |
| 23509 | (lambda _ |
| 23510 | ;; This would otherwise interfere with finding the installed bbi |
| 23511 | ;; when running tests. |
| 23512 | (delete-file-recursively "bbi")))))) |
| 23513 | (native-inputs |
| 23514 | (list pkg-config |
| 23515 | python-cython |
| 23516 | python-pandas |
| 23517 | python-pkgconfig |
| 23518 | python-pytest |
| 23519 | python-setuptools)) |
| 23520 | (inputs |
| 23521 | (list libpng |
| 23522 | openssl |
| 23523 | zlib)) |
| 23524 | (propagated-inputs |
| 23525 | (list python-numpy)) |
| 23526 | (home-page "https://github.com/nvictus/pybbi") |
| 23527 | (synopsis "Python bindings to UCSC Big Binary file library") |
| 23528 | (description |
| 23529 | "This package provides Python bindings to the UCSC Big |
| 23530 | Binary (bigWig/bigBed) file library. This provides read-level access to local |
| 23531 | and remote bigWig and bigBed files but no write capabilitites. The main |
| 23532 | feature is fast retrieval of range queries into numpy arrays.") |
| 23533 | (license license:expat))) |
| 23534 | |
| 23535 | (define-public python-dna-features-viewer |
| 23536 | (package |
| 23537 | (name "python-dna-features-viewer") |
| 23538 | (version "3.1.1") |
| 23539 | (source |
| 23540 | (origin |
| 23541 | (method url-fetch) |
| 23542 | (uri (pypi-uri "dna_features_viewer" version)) |
| 23543 | (sha256 |
| 23544 | (base32 |
| 23545 | "10a5pmh73spdgfml88zjqg1rn2j2zdxn06ir8a5q3arspyqvyqcb")))) |
| 23546 | (build-system pyproject-build-system) |
| 23547 | (arguments |
| 23548 | (list |
| 23549 | #:tests? #false ;there are none |
| 23550 | #:phases |
| 23551 | '(modify-phases %standard-phases |
| 23552 | ;; See https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer/issues/73 |
| 23553 | ;; and https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer/pull/74 |
| 23554 | (add-after 'unpack 'fix-biopython-compatibility |
| 23555 | (lambda _ |
| 23556 | (substitute* "dna_features_viewer/biotools.py" |
| 23557 | (("zip\\(aa1 \\+ \"\\*\", aa3 \\+ \\[\"\\*\"\\]\\)") |
| 23558 | "zip(aa1 + ('*',), aa3 + ('*',))"))))))) |
| 23559 | (propagated-inputs |
| 23560 | (list python-biopython |
| 23561 | python-matplotlib |
| 23562 | python-packaging)) |
| 23563 | (native-inputs (list python-setuptools)) |
| 23564 | (home-page |
| 23565 | "https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer") |
| 23566 | (synopsis "Plot features from DNA sequences") |
| 23567 | (description |
| 23568 | "DNA Features Viewer is a Python library to visualize DNA features, |
| 23569 | e.g. from GenBank or Gff files, or Biopython SeqRecords.") |
| 23570 | (license license:expat))) |
| 23571 | |
| 23572 | (define-public python-coolbox |
| 23573 | (package |
| 23574 | (name "python-coolbox") |
| 23575 | ;; TODO: Newer versions depend on python-polars, see |
| 23576 | ;; <https://codeberg.org/guix/guix/pulls/2570>. |
| 23577 | (version "0.3.9") |
| 23578 | (source |
| 23579 | (origin |
| 23580 | (method git-fetch) |
| 23581 | (uri (git-reference |
| 23582 | (url "https://github.com/GangCaoLab/CoolBox") |
| 23583 | (commit version))) |
| 23584 | (file-name (git-file-name name version)) |
| 23585 | (sha256 |
| 23586 | (base32 "1a9h0xrg7issgprzm6awabfw73ddm2910rqcvcfg5v0cfn599aws")))) |
| 23587 | (build-system pyproject-build-system) |
| 23588 | (arguments |
| 23589 | (list |
| 23590 | ;; tests: 29 passed, 7 deselected, 17 warnings |
| 23591 | #:test-flags |
| 23592 | ;; XXX: Maybe there is a build problem with python-pypairix? |
| 23593 | ;; FileNotFoundError: [Errno 2] No such file or directory: 'pairix' |
| 23594 | #~(list "--deselect=tests/test_browser.py::test_browser" |
| 23595 | "--deselect=tests/test_coverage.py::test_arcs_coverage" |
| 23596 | "--deselect=tests/test_frame.py::test_frame" |
| 23597 | "--deselect=tests/test_track.py::test_bedpe" |
| 23598 | "--deselect=tests/test_track.py::test_pairs" |
| 23599 | "--deselect=tests/test_track.py::test_arcs") |
| 23600 | #:phases |
| 23601 | #~(modify-phases %standard-phases |
| 23602 | ;; FIXME: Some issue with checking the correct versions of Jupyter |
| 23603 | ;; dependencies. |
| 23604 | (delete 'sanity-check)))) |
| 23605 | (native-inputs |
| 23606 | (list pybind11-2 |
| 23607 | python-pytest |
| 23608 | python-pypairix |
| 23609 | python-setuptools |
| 23610 | samtools)) |
| 23611 | (propagated-inputs |
| 23612 | (list jupyter |
| 23613 | python-cooler |
| 23614 | python-dna-features-viewer |
| 23615 | python-fire |
| 23616 | python-h5py |
| 23617 | python-intervaltree |
| 23618 | python-ipywidgets |
| 23619 | python-matplotlib |
| 23620 | python-nbformat |
| 23621 | python-numpy |
| 23622 | python-numpydoc |
| 23623 | python-pandas |
| 23624 | python-pybbi |
| 23625 | python-scipy |
| 23626 | python-statsmodels |
| 23627 | python-strawc |
| 23628 | python-svgutils |
| 23629 | python-voila)) |
| 23630 | (home-page "https://github.com/GangCaoLab/CoolBox") |
| 23631 | (synopsis "Genomic data visualization toolkit") |
| 23632 | (description |
| 23633 | "CoolBox is a toolkit for visual analysis of genomics data. It aims to |
| 23634 | be highly compatible with the Python ecosystem, easy to use and highly |
| 23635 | customizable with a well-designed user interface. It can be used in various |
| 23636 | visualization situations, for example, to produce high-quality genome track |
| 23637 | plots or fetch common used genomic data files with a Python script or command |
| 23638 | line, interactively explore genomic data within Jupyter environment or web |
| 23639 | browser.") |
| 23640 | (license license:gpl3+))) |
| 23641 | |
| 23642 | (define-public python-pyspoa |
| 23643 | (package |
| 23644 | (name "python-pyspoa") |
| 23645 | (version "0.0.5") |
| 23646 | (source |
| 23647 | (origin |
| 23648 | (method git-fetch) |
| 23649 | (uri (git-reference |
| 23650 | (url "https://github.com/nanoporetech/pyspoa") |
| 23651 | (commit (string-append "v" version)) |
| 23652 | (recursive? #t))) |
| 23653 | (file-name (git-file-name name version)) |
| 23654 | (sha256 |
| 23655 | (base32 "1lgf2shzhxkcsircd6vy46h27pjljd5q95fyz1cm3lkk702qbnzx")))) |
| 23656 | (build-system pyproject-build-system) |
| 23657 | (arguments |
| 23658 | (list |
| 23659 | #:test-backend #~'custom |
| 23660 | #:test-flags #~(list "tests/test_pyspoa.py") |
| 23661 | #:phases |
| 23662 | #~(modify-phases %standard-phases |
| 23663 | (add-before 'build 'build-libspoa |
| 23664 | (lambda _ |
| 23665 | (mkdir-p "src/build") |
| 23666 | (with-directory-excursion "src/build" |
| 23667 | (invoke "cmake" "-Dspoa_optimize_for_portability=ON" |
| 23668 | "-DCMAKE_BUILD_TYPE=Release" |
| 23669 | "-DCMAKE_CXX_FLAGS=\"-I ../vendor/cereal/include/\" -fPIC" |
| 23670 | "..") |
| 23671 | (invoke "make"))))))) |
| 23672 | (propagated-inputs (list pybind11-2)) |
| 23673 | (native-inputs (list cmake-minimal python-setuptools)) |
| 23674 | (home-page "https://github.com/nanoporetech/pyspoa") |
| 23675 | (synopsis "Python bindings for the SIMD partial order alignment library") |
| 23676 | (description |
| 23677 | "This package provides Python bindings for spoa, a C++ implementation of |
| 23678 | the @dfn{partial order alignment} (POA) algorithm (as described in |
| 23679 | 10.1093/bioinformatics/18.3.452) which is used to generate consensus |
| 23680 | sequences") |
| 23681 | (license license:expat))) |
| 23682 | |
| 23683 | (define-public python-bwapy |
| 23684 | (package |
| 23685 | (name "python-bwapy") |
| 23686 | (version "0.1.4") |
| 23687 | (source |
| 23688 | (origin |
| 23689 | (method url-fetch) |
| 23690 | (uri (pypi-uri "bwapy" version)) |
| 23691 | (sha256 |
| 23692 | (base32 "090qwx3vl729zn3a7sksbviyg04kc71gpbm3nd8dalqp673x1npw")) |
| 23693 | (modules '((guix build utils))) |
| 23694 | (snippet |
| 23695 | '(for-each delete-file (find-files "." "\\.o$"))))) |
| 23696 | (build-system pyproject-build-system) |
| 23697 | (arguments |
| 23698 | (list #:tests? #f ;no tests |
| 23699 | #:phases |
| 23700 | #~(modify-phases %standard-phases |
| 23701 | ;; TODO: it's possible that the import error points to a real |
| 23702 | ;; problem with the C sources. |
| 23703 | (delete 'sanity-check)))) |
| 23704 | (propagated-inputs |
| 23705 | (list python-cffi python-setuptools)) |
| 23706 | (inputs |
| 23707 | (list zlib)) |
| 23708 | (home-page "https://github.com/ACEnglish/bwapy") |
| 23709 | (synopsis "Python bindings to bwa aligner") |
| 23710 | (description "This package provides Python bindings to the bwa mem |
| 23711 | aligner.") |
| 23712 | ;; These Python bindings are licensed under Mozilla Public License 2.0, |
| 23713 | ;; bwa itself is licenced under GNU General Public License v3.0. |
| 23714 | (license license:mpl2.0))) |
| 23715 | |
| 23716 | (define-public python-scvelo |
| 23717 | (package |
| 23718 | (name "python-scvelo") |
| 23719 | (version "0.3.3") |
| 23720 | (source |
| 23721 | (origin |
| 23722 | (method git-fetch) |
| 23723 | (uri (git-reference |
| 23724 | (url "https://github.com/theislab/scvelo") |
| 23725 | (commit (string-append "v" version)))) |
| 23726 | (file-name (git-file-name name version)) |
| 23727 | (sha256 |
| 23728 | (base32 "0xsi0bdsk24mf7zifizshlc3arc6fn2blmvjzbl21k66hc2xd2z9")))) |
| 23729 | (build-system pyproject-build-system) |
| 23730 | (arguments |
| 23731 | (list |
| 23732 | ;; tests: 173 passed, 1707 warnings |
| 23733 | #:test-flags |
| 23734 | ;; Run only core tests as other fail a lot in: datasets, preprocessing |
| 23735 | ;; and tools. |
| 23736 | #~(list "tests/core") |
| 23737 | #:phases |
| 23738 | #~(modify-phases %standard-phases |
| 23739 | ;; Numba needs a writable dir to cache functions. |
| 23740 | (add-before 'build 'set-numba-cache-dir |
| 23741 | (lambda _ |
| 23742 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 23743 | (native-inputs |
| 23744 | (list python-pytest |
| 23745 | python-setuptools |
| 23746 | python-setuptools-scm)) |
| 23747 | (propagated-inputs |
| 23748 | (list python-anndata |
| 23749 | python-loompy |
| 23750 | python-matplotlib |
| 23751 | python-numba |
| 23752 | python-numpy |
| 23753 | python-pandas |
| 23754 | python-scanpy |
| 23755 | python-scikit-learn |
| 23756 | python-scipy |
| 23757 | python-umap-learn |
| 23758 | ;; [optional] |
| 23759 | pybind11-2 |
| 23760 | python-hnswlib |
| 23761 | python-igraph |
| 23762 | python-louvain)) |
| 23763 | (home-page "https://scvelo.org") |
| 23764 | (synopsis "RNA velocity generalized through dynamical modeling") |
| 23765 | (description "ScVelo is a scalable toolkit for RNA velocity analysis in |
| 23766 | single cells. RNA velocity enables the recovery of directed dynamic |
| 23767 | information by leveraging splicing kinetics. scVelo generalizes the concept of |
| 23768 | RNA velocity by relaxing previously made assumptions with a stochastic and a |
| 23769 | dynamical model that solves the full transcriptional dynamics. It thereby |
| 23770 | adapts RNA velocity to widely varying specifications such as non-stationary |
| 23771 | populations.") |
| 23772 | (license license:bsd-3))) |
| 23773 | |
| 23774 | (define-deprecated-package scvelo |
| 23775 | python-scvelo) |
| 23776 | |
| 23777 | (define-public megadepth |
| 23778 | (package |
| 23779 | (name "megadepth") |
| 23780 | (version "1.1.1") |
| 23781 | (source (origin |
| 23782 | (method git-fetch) |
| 23783 | (uri (git-reference |
| 23784 | (url "https://github.com/ChristopherWilks/megadepth") |
| 23785 | (commit version))) |
| 23786 | (file-name (git-file-name name version)) |
| 23787 | (sha256 |
| 23788 | (base32 |
| 23789 | "0hj69d2dgmk2zwgazik7xzc04fxxlk93p888kpgc52fmhd95qph7")))) |
| 23790 | (build-system cmake-build-system) |
| 23791 | (arguments |
| 23792 | `(#:tests? #false ; some tests seem to require connection to |
| 23793 | ; www.ebi.ac.uk; this may be caused by htslib. |
| 23794 | #:phases |
| 23795 | (modify-phases %standard-phases |
| 23796 | (add-after 'unpack 'prepare-CMakeLists.txt |
| 23797 | (lambda _ |
| 23798 | (rename-file "CMakeLists.txt.ci" "CMakeLists.txt") |
| 23799 | (substitute* "CMakeLists.txt" |
| 23800 | (("`cat ../VERSION`") ,version) |
| 23801 | (("target_link_libraries\\(megadepth_static") "#") |
| 23802 | (("target_link_libraries\\(megadepth_statlib") "#") |
| 23803 | (("add_executable\\(megadepth_static") "#") |
| 23804 | (("add_executable\\(megadepth_statlib") "#")) |
| 23805 | |
| 23806 | (substitute* "tests/test.sh" |
| 23807 | ;; Disable remote test |
| 23808 | (("./megadepth http://stingray.cs.jhu.edu/data/temp/test.bam") "#") |
| 23809 | ;; Prior to installation the binary's name differs from what |
| 23810 | ;; the test script assumes. |
| 23811 | (("./megadepth") "../build/megadepth_dynamic")))) |
| 23812 | (replace 'check |
| 23813 | (lambda* (#:key tests? #:allow-other-keys) |
| 23814 | (when tests? |
| 23815 | (with-directory-excursion "../source" |
| 23816 | (invoke "bash" "tests/test.sh" "use-local-test-data"))))) |
| 23817 | (replace 'install |
| 23818 | (lambda* (#:key outputs #:allow-other-keys) |
| 23819 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) |
| 23820 | (mkdir-p bin) |
| 23821 | (copy-file "megadepth_dynamic" |
| 23822 | (string-append bin "/megadepth")))))))) |
| 23823 | (native-inputs |
| 23824 | (list diffutils perl grep)) |
| 23825 | (inputs |
| 23826 | (list curl htslib libdeflate libbigwig zlib)) |
| 23827 | (home-page "https://github.com/ChristopherWilks/megadepth") |
| 23828 | (synopsis "BigWig and BAM/CRAM related utilities") |
| 23829 | (description "Megadepth is an efficient tool for extracting coverage |
| 23830 | related information from RNA and DNA-seq BAM and BigWig files. It supports |
| 23831 | reading whole-genome coverage from BAM files and writing either indexed TSV or |
| 23832 | BigWig files, as well as efficient region coverage summary over intervals from |
| 23833 | both types of files.") |
| 23834 | (license license:expat))) |
| 23835 | |
| 23836 | (define-public megahit |
| 23837 | (package |
| 23838 | (name "megahit") |
| 23839 | (version "1.2.9") |
| 23840 | (source (origin |
| 23841 | (method git-fetch) |
| 23842 | (uri (git-reference |
| 23843 | (url "https://github.com/voutcn/megahit.git") |
| 23844 | (commit (string-append "v" version)))) |
| 23845 | (file-name (git-file-name name version)) |
| 23846 | (sha256 |
| 23847 | (base32 |
| 23848 | "1r5d9nkdmgjsbrpj43q9hy3s8jwsabaz3ji561v18hy47v58923c")))) |
| 23849 | (build-system cmake-build-system) |
| 23850 | (arguments |
| 23851 | (list |
| 23852 | #:modules '((guix build cmake-build-system) |
| 23853 | ((guix build gnu-build-system) #:prefix gnu:) |
| 23854 | (guix build utils)) |
| 23855 | #:phases |
| 23856 | #~(modify-phases %standard-phases |
| 23857 | (add-after 'unpack 'fix-headers |
| 23858 | (lambda _ |
| 23859 | (substitute* "src/localasm/local_assemble.h" |
| 23860 | (("#include <string>") "#include <string>\n#include <cstdint>")))) |
| 23861 | (add-after 'unpack 'fix-tests |
| 23862 | (lambda _ |
| 23863 | (substitute* "src/megahit" |
| 23864 | (("os.path.join\\(script_path, '..'\\)") |
| 23865 | "os.path.join(script_path, '../source')")))) |
| 23866 | (replace 'check |
| 23867 | (lambda* (#:rest args) |
| 23868 | (apply (assoc-ref gnu:%standard-phases 'check) |
| 23869 | #:test-target "simple_test" args)))))) |
| 23870 | (inputs (list python-wrapper zlib)) |
| 23871 | (home-page "https://www.ncbi.nlm.nih.gov/pubmed/25609793") |
| 23872 | (synopsis "Meta-genome assembler") |
| 23873 | (description "Megahit is a fast and memory-efficient NGS assembler. It is |
| 23874 | optimized for metagenomes, but also works well on generic single genome |
| 23875 | assembly (small or mammalian size) and single-cell assembly.") |
| 23876 | (license license:gpl3))) |
| 23877 | |
| 23878 | (define-public mudskipper |
| 23879 | (let ((commit "effd3fac03bc09d313e84fa680f18fdc6f3a16a0") |
| 23880 | (revision "1")) |
| 23881 | (package |
| 23882 | (name "mudskipper") |
| 23883 | (version (git-version "0.1.0" revision commit)) |
| 23884 | (source (origin |
| 23885 | (method git-fetch) |
| 23886 | (uri (git-reference |
| 23887 | (url "https://github.com/OceanGenomics/mudskipper") |
| 23888 | (commit commit))) |
| 23889 | (file-name (git-file-name name version)) |
| 23890 | (sha256 |
| 23891 | (base32 |
| 23892 | "17jm39sbrwgjlynxsn4g7lvq5hx6rwyjg86p10v4mc74fmdn5xd5")))) |
| 23893 | (build-system cargo-build-system) |
| 23894 | (arguments |
| 23895 | (list #:install-source? #f |
| 23896 | #:phases |
| 23897 | #~(modify-phases %standard-phases |
| 23898 | (add-after 'unpack 'skip-doctesting-code-blocks |
| 23899 | ;; See also https://github.com/rust-lang/rust/issues/63193. |
| 23900 | (lambda _ |
| 23901 | (substitute* "src/query_bam_records.rs" |
| 23902 | (((string-append |
| 23903 | "(pub )?fn (" |
| 23904 | (string-join |
| 23905 | '("get_next_query_records" |
| 23906 | "get_next_query_records_skip" |
| 23907 | "get_primary_record_of_sa_tag" |
| 23908 | "get_records_from_sa_tag" |
| 23909 | "group_records" |
| 23910 | "group_records_skip" |
| 23911 | "new") |
| 23912 | "|") |
| 23913 | ")") |
| 23914 | all) |
| 23915 | (string-append "#[cfg(not(doctest))]\n" all)))))))) |
| 23916 | (native-inputs |
| 23917 | (list pkg-config)) |
| 23918 | (inputs |
| 23919 | (cons* zlib (cargo-inputs 'mudskipper))) |
| 23920 | (home-page "https://github.com/OceanGenomics/mudskipper") |
| 23921 | (synopsis "Convert genomic alignments to transcriptomic BAM/RAD files") |
| 23922 | (description "Mudskipper is a tool for projecting genomic alignments to |
| 23923 | transcriptomic coordinates.") |
| 23924 | (license license:bsd-3)))) |
| 23925 | |
| 23926 | (define-public r-ascat |
| 23927 | (package |
| 23928 | (name "r-ascat") |
| 23929 | (version "2.5.2") |
| 23930 | (source (origin |
| 23931 | (method git-fetch) |
| 23932 | (uri (git-reference |
| 23933 | (url "https://github.com/Crick-CancerGenomics/ascat.git") |
| 23934 | (commit (string-append "v" version)))) |
| 23935 | (file-name (git-file-name name version)) |
| 23936 | (sha256 |
| 23937 | (base32 |
| 23938 | "0cc0y3as6cb64iwnx0pgbajiig7m4z723mns9d5i4j09ccid3ccm")))) |
| 23939 | (build-system r-build-system) |
| 23940 | (arguments |
| 23941 | `(#:phases |
| 23942 | (modify-phases %standard-phases |
| 23943 | (add-after 'unpack 'move-to-ascat-dir |
| 23944 | (lambda _ |
| 23945 | (chdir "ASCAT")))))) |
| 23946 | (propagated-inputs |
| 23947 | (list r-rcolorbrewer)) |
| 23948 | (home-page "https://github.com/VanLoo-lab/ascat/") |
| 23949 | (synopsis "Allele-Specific Copy Number Analysis of Tumors in R") |
| 23950 | (description "This package provides the @acronym{ASCAT,Allele-Specific Copy |
| 23951 | Number Analysis of Tumors} R package that can be used to infer tumour purity, |
| 23952 | ploidy and allele-specific copy number profiles.") |
| 23953 | (license license:gpl3))) |
| 23954 | |
| 23955 | (define-public r-battenberg |
| 23956 | (package |
| 23957 | (name "r-battenberg") |
| 23958 | (version "2.2.9") |
| 23959 | (source (origin |
| 23960 | (method git-fetch) |
| 23961 | (uri (git-reference |
| 23962 | (url "https://github.com/Wedge-lab/battenberg.git") |
| 23963 | (commit (string-append "v" version)))) |
| 23964 | (file-name (git-file-name name version)) |
| 23965 | (sha256 |
| 23966 | (base32 |
| 23967 | "0nmcq4c7y5g8h8lxsq9vadz9bj4qgqn118alip520ny6czaxki4h")))) |
| 23968 | (build-system r-build-system) |
| 23969 | (propagated-inputs |
| 23970 | (list r-devtools |
| 23971 | r-readr |
| 23972 | r-doparallel |
| 23973 | r-ggplot2 |
| 23974 | r-rcolorbrewer |
| 23975 | r-gridextra |
| 23976 | r-gtools |
| 23977 | r-ascat)) |
| 23978 | (home-page "https://github.com/Wedge-lab/battenberg") |
| 23979 | (synopsis "Subclonal copy number estimation in R") |
| 23980 | (description "This package contains the Battenberg R package for subclonal |
| 23981 | copy number estimation, as described by |
| 23982 | @url{doi:10.1016/j.cell.2012.04.023,Nik-Zainal et al.}") |
| 23983 | (license license:gpl3))) |
| 23984 | |
| 23985 | (define-public r-bayesprism |
| 23986 | (package |
| 23987 | (name "r-bayesprism") |
| 23988 | (version "2.2.2") |
| 23989 | (source |
| 23990 | (origin |
| 23991 | (method git-fetch) |
| 23992 | (uri (git-reference |
| 23993 | (url "https://github.com/Danko-Lab/BayesPrism") |
| 23994 | ;; The version string in the DESCRIPTION file was changed to |
| 23995 | ;; 2.2.2 in this commit. |
| 23996 | (commit "5d43190d5fdfc900571ae1b05b9dcad9ee6b8b2b"))) |
| 23997 | (file-name (git-file-name name version)) |
| 23998 | (sha256 |
| 23999 | (base32 "0rlq6nv1adc9w1ync8834kv59ksixxzbpf3xlbxi5s8x54gv4q9y")))) |
| 24000 | (properties `((upstream-name . "BayesPrism"))) |
| 24001 | (build-system r-build-system) |
| 24002 | (arguments |
| 24003 | (list |
| 24004 | #:phases |
| 24005 | '(modify-phases %standard-phases |
| 24006 | (add-after 'unpack 'chdir |
| 24007 | (lambda _ (chdir "BayesPrism")))))) |
| 24008 | (propagated-inputs (list r-biocparallel |
| 24009 | r-gplots |
| 24010 | r-matrix |
| 24011 | r-nmf |
| 24012 | r-scran |
| 24013 | r-snowfall |
| 24014 | r-r-utils)) |
| 24015 | (native-inputs (list r-knitr)) |
| 24016 | (home-page "https://github.com/Danko-Lab/BayesPrism") |
| 24017 | (synopsis "Bayesian cell type and gene expression deconvolution") |
| 24018 | (description |
| 24019 | "BayesPrism includes deconvolution and embedding learning modules. |
| 24020 | The deconvolution module models a prior from cell type-specific expression |
| 24021 | profiles from scRNA-seq to jointly estimate the posterior distribution of cell |
| 24022 | type composition and cell type-specific gene expression from bulk RNA-seq |
| 24023 | expression of tumor samples. The embedding learning module uses |
| 24024 | @dfn{Expectation-maximization} (EM) to approximate the tumor expression using |
| 24025 | a linear combination of malignant gene programs while conditional on the |
| 24026 | inferred expression and fraction of non-malignant cells estimated by the |
| 24027 | deconvolution module.") |
| 24028 | (license license:gpl3))) |
| 24029 | |
| 24030 | (define-public r-catch |
| 24031 | (let ((commit "196ddd5a51b1a5f5daa01de53fdaad9b7505e084") |
| 24032 | (revision "1")) |
| 24033 | (package |
| 24034 | (name "r-catch") |
| 24035 | (version (git-version "1.0" revision commit)) |
| 24036 | (source (origin |
| 24037 | (method git-fetch) |
| 24038 | (uri (git-reference |
| 24039 | (url "https://github.com/zhanyinx/CaTCH") |
| 24040 | (commit commit))) |
| 24041 | (file-name (git-file-name name version)) |
| 24042 | (sha256 |
| 24043 | (base32 |
| 24044 | "11c7f1fc8f57wnwk1hrgr5y814m80zj8gkz5021vxyxy2v02cqgd")))) |
| 24045 | (build-system r-build-system) |
| 24046 | (arguments |
| 24047 | `(#:phases |
| 24048 | (modify-phases %standard-phases |
| 24049 | (add-after 'unpack 'chdir |
| 24050 | (lambda _ (chdir "CaTCH")))))) |
| 24051 | (home-page "https://github.com/zhanyinx/CaTCH_R") |
| 24052 | (synopsis "Call a hierarchy of domains based on Hi-C data") |
| 24053 | (description "This package allows building the hierarchy of domains |
| 24054 | starting from Hi-C data. Each hierarchical level is identified by a minimum |
| 24055 | value of physical insulation between neighboring domains.") |
| 24056 | (license license:gpl2+)))) |
| 24057 | |
| 24058 | (define-public r-spacexr |
| 24059 | (let ((commit "0a0861e3d1e16014a20e9b743d0e19d3b42231f3") |
| 24060 | (revision "1")) |
| 24061 | (package |
| 24062 | (name "r-spacexr") |
| 24063 | (version (git-version "2.2.1" revision commit)) |
| 24064 | (source |
| 24065 | (origin |
| 24066 | (method git-fetch) |
| 24067 | (uri (git-reference |
| 24068 | (url "https://github.com/dmcable/spacexr") |
| 24069 | (commit commit))) |
| 24070 | (file-name (git-file-name name version)) |
| 24071 | (sha256 |
| 24072 | (base32 "0hqrllzq2hi6dsr8nykn1yp7s3rcbjrv3m624b61n4nxnzza458a")))) |
| 24073 | (properties `((upstream-name . "spacexr"))) |
| 24074 | (build-system r-build-system) |
| 24075 | (propagated-inputs (list r-compquadform |
| 24076 | r-data-table |
| 24077 | r-doparallel |
| 24078 | r-dplyr |
| 24079 | r-fields |
| 24080 | r-foreach |
| 24081 | r-ggplot2 |
| 24082 | r-knitr |
| 24083 | r-locfdr |
| 24084 | r-matrix |
| 24085 | r-metafor |
| 24086 | r-mgcv |
| 24087 | r-pals |
| 24088 | r-quadprog |
| 24089 | r-readr |
| 24090 | r-reshape2 |
| 24091 | r-rfast |
| 24092 | r-rmarkdown |
| 24093 | r-tibble)) |
| 24094 | (native-inputs (list r-knitr)) |
| 24095 | (home-page "https://github.com/dmcable/spacexr") |
| 24096 | (synopsis |
| 24097 | "Cell type identification and differential expression in spatial transcriptomics") |
| 24098 | (description |
| 24099 | "This package is used for cell type identification in spatial transcriptomics. |
| 24100 | It also handles cell type-specific differential expression.") |
| 24101 | (license license:gpl3)))) |
| 24102 | |
| 24103 | (define-public r-spectre |
| 24104 | (package |
| 24105 | (name "r-spectre") |
| 24106 | (version "1.3.0") |
| 24107 | (source |
| 24108 | (origin |
| 24109 | (method git-fetch) |
| 24110 | (uri (git-reference |
| 24111 | (url "https://github.com/ImmuneDynamics/Spectre") |
| 24112 | (commit (string-append "v" version)))) |
| 24113 | (file-name (git-file-name name version)) |
| 24114 | (sha256 |
| 24115 | (base32 |
| 24116 | "15g9w08x0pz2ia9qfalhcg3z5z2zx2085mfbr8gx9w5yxnw475ld")))) |
| 24117 | (properties `((upstream-name . "Spectre"))) |
| 24118 | (build-system r-build-system) |
| 24119 | (propagated-inputs |
| 24120 | (list r-biobase |
| 24121 | r-biocmanager |
| 24122 | r-caret |
| 24123 | r-class |
| 24124 | r-colorramps |
| 24125 | r-data-table |
| 24126 | r-dendsort |
| 24127 | r-devtools |
| 24128 | r-dplyr |
| 24129 | r-exactextractr |
| 24130 | r-factoextra |
| 24131 | r-flowcore |
| 24132 | r-flowsom |
| 24133 | r-flowviz |
| 24134 | r-fnn |
| 24135 | r-ggplot2 |
| 24136 | r-ggpointdensity |
| 24137 | r-ggpubr |
| 24138 | r-ggraph |
| 24139 | r-ggthemes |
| 24140 | r-gridextra |
| 24141 | r-gridextra |
| 24142 | r-gtools |
| 24143 | r-hdf5array |
| 24144 | r-irlba |
| 24145 | r-patchwork |
| 24146 | r-pheatmap |
| 24147 | r-plyr |
| 24148 | r-qs2 |
| 24149 | r-raster |
| 24150 | r-rcolorbrewer |
| 24151 | r-rhdf5 |
| 24152 | r-rstudioapi |
| 24153 | r-rsvd |
| 24154 | r-rtsne |
| 24155 | r-s2 |
| 24156 | r-scales |
| 24157 | r-scattermore |
| 24158 | r-sf |
| 24159 | r-sp |
| 24160 | r-stars |
| 24161 | r-stringr |
| 24162 | r-tidygraph |
| 24163 | r-tidyr |
| 24164 | r-tidyr |
| 24165 | r-tiff |
| 24166 | r-umap |
| 24167 | r-uwot)) |
| 24168 | (home-page "https://github.com/ImmuneDynamics/Spectre") |
| 24169 | (synopsis "High-dimensional cytometry and imaging analysis") |
| 24170 | (description |
| 24171 | "This package provides a computational toolkit in R for the |
| 24172 | integration, exploration, and analysis of high-dimensional single-cell |
| 24173 | cytometry and imaging data.") |
| 24174 | (license license:expat))) |
| 24175 | |
| 24176 | (define-public r-compgenomrdata |
| 24177 | (let ((commit "24484cb77631e1123ead6c329b9d62c160e600c6") |
| 24178 | (revision "1")) |
| 24179 | (package |
| 24180 | (name "r-compgenomrdata") |
| 24181 | (version (git-version "0.1.0" revision commit)) |
| 24182 | (source (origin |
| 24183 | (method git-fetch) |
| 24184 | (uri (git-reference |
| 24185 | (url "https://github.com/compgenomr/compGenomRData") |
| 24186 | (commit commit))) |
| 24187 | (file-name (git-file-name name version)) |
| 24188 | (sha256 |
| 24189 | (base32 |
| 24190 | "06gdvz4m4qlb1ylv10qfx09zv4c95cm7nps4y2s67m946kv8czv8")))) |
| 24191 | (properties `((upstream-name . "compGenomRData"))) |
| 24192 | (build-system r-build-system) |
| 24193 | (home-page "https://github.com/compgenomr/compGenomRData") |
| 24194 | (synopsis "Data for Computational Genomics with R book") |
| 24195 | (description "This package provides data for the book \"Computational |
| 24196 | Genomics with R\".") |
| 24197 | (license license:gpl3)))) |
| 24198 | |
| 24199 | (define-public r-cytonorm |
| 24200 | (let ((commit "166f9ff3d692278241018c2846cb4f86ab16065b") |
| 24201 | (revision "1")) |
| 24202 | (package |
| 24203 | (name "r-cytonorm") |
| 24204 | (version (git-version "0.0.10" revision commit)) |
| 24205 | (source (origin |
| 24206 | (method git-fetch) |
| 24207 | (uri (git-reference |
| 24208 | (url "https://github.com/saeyslab/CytoNorm") |
| 24209 | (commit commit))) |
| 24210 | (file-name (git-file-name name version)) |
| 24211 | (sha256 |
| 24212 | (base32 |
| 24213 | "0vbqy3b26j1zqmwgqx59kkn9pm2m0qwlcppskvahrxcwrj6m1s5y")))) |
| 24214 | (properties `((upstream-name . "CytoNorm"))) |
| 24215 | (build-system r-build-system) |
| 24216 | (propagated-inputs |
| 24217 | (list r-cytoml |
| 24218 | r-dplyr |
| 24219 | r-emdist |
| 24220 | r-flowcore |
| 24221 | r-flowsom |
| 24222 | r-flowworkspace |
| 24223 | r-ggplot2 |
| 24224 | r-gridextra |
| 24225 | r-pheatmap |
| 24226 | r-stringr)) |
| 24227 | (home-page "https://github.com/saeyslab/CytoNorm") |
| 24228 | (synopsis "Normalize cytometry data measured across multiple batches") |
| 24229 | (description |
| 24230 | "This package can be used to normalize cytometry samples when a control |
| 24231 | sample is taken along in each of the batches. This is done by first |
| 24232 | identifying multiple clusters/cell types, learning the batch effects from the |
| 24233 | control samples and applying quantile normalization on all markers of |
| 24234 | interest.") |
| 24235 | (license license:gpl2+)))) |
| 24236 | |
| 24237 | (define-public r-kbet |
| 24238 | (let ((commit "f35171dfb04c7951b8a09ac778faf7424c4b6bc0") |
| 24239 | (revision "1")) |
| 24240 | (package |
| 24241 | (name "r-kbet") |
| 24242 | (version (git-version "0.99.6" revision commit)) |
| 24243 | (source (origin |
| 24244 | (method git-fetch) |
| 24245 | (uri (git-reference |
| 24246 | (url "https://github.com/theislab/kBET") |
| 24247 | (commit commit))) |
| 24248 | (file-name (git-file-name name version)) |
| 24249 | (sha256 |
| 24250 | (base32 |
| 24251 | "1r91prl2kki3zk694vhlmxdlqh0ixlhs8jfcqw6wc7cdsa0nv67k")))) |
| 24252 | (properties `((upstream-name . "kBET"))) |
| 24253 | (build-system r-build-system) |
| 24254 | (propagated-inputs (list r-cluster r-fnn r-ggplot2 r-mass r-rcolorbrewer)) |
| 24255 | (native-inputs (list r-knitr)) |
| 24256 | (home-page "https://github.com/theislab/kBET") |
| 24257 | (synopsis "k-nearest neighbour batch effect test") |
| 24258 | (description |
| 24259 | "This tool detects batch effects in high-dimensional data based on chi^2-test.") |
| 24260 | ;; Any version of the GPL |
| 24261 | (license license:gpl3+)))) |
| 24262 | |
| 24263 | (define-public python-vireosnp |
| 24264 | (let ((commit "e3654633f7663732572c03c5dcf9fb00ec43b653") |
| 24265 | (revision "0")) |
| 24266 | (package |
| 24267 | (name "python-vireosnp") |
| 24268 | (version (git-version "0.5.9" revision commit)) |
| 24269 | (source |
| 24270 | (origin |
| 24271 | (method git-fetch) |
| 24272 | (uri (git-reference |
| 24273 | (url "https://github.com/huangyh09/vireoSNP") |
| 24274 | (commit commit))) |
| 24275 | (file-name (git-file-name name version)) |
| 24276 | (sha256 |
| 24277 | (base32 "1wd4llm54fvc1pc4nqfdc43g637gfx1f4z4aznvdr3biy9jksqza")))) |
| 24278 | (build-system pyproject-build-system) |
| 24279 | (arguments |
| 24280 | (list |
| 24281 | #:phases |
| 24282 | #~(modify-phases %standard-phases |
| 24283 | (replace 'check |
| 24284 | (lambda* (#:key tests? #:allow-other-keys) |
| 24285 | (if tests? |
| 24286 | (with-directory-excursion "examples" |
| 24287 | (invoke "bash" "demo.sh")) |
| 24288 | (format #f "test suite not run.~%"))))))) |
| 24289 | (propagated-inputs (list python-matplotlib python-numpy python-scipy)) |
| 24290 | (native-inputs (list python-setuptools)) |
| 24291 | (home-page "https://github.com/huangyh09/vireoSNP") |
| 24292 | (synopsis "Deconvolution based on SNP for multiplexed scRNA-seq data") |
| 24293 | (description |
| 24294 | "This package provides a deconvolution based on Single Nucleotide |
| 24295 | Position (SNP) for multiplexed scRNA-seq data. The name vireo stand for |
| 24296 | Variational Inference for Reconstructing Ensemble Origin by expressed SNPs in |
| 24297 | multiplexed scRNA-seq data and follows the clone identification from |
| 24298 | single-cell data named @url{https://github.com/PMBio/cardelino, cardelino}.") |
| 24299 | (license license:asl2.0)))) |
| 24300 | |
| 24301 | (define-public ccwl |
| 24302 | (package |
| 24303 | (name "ccwl") |
| 24304 | (version "0.5.0") |
| 24305 | (source |
| 24306 | (origin |
| 24307 | (method url-fetch) |
| 24308 | (uri (string-append "https://ccwl.systemreboot.net/releases/ccwl-" |
| 24309 | version ".tar.lz")) |
| 24310 | (sha256 |
| 24311 | (base32 |
| 24312 | "1pna61cqhhg69qpa682x911x85nlin1wpp29naqzq3r0s951qxi6")))) |
| 24313 | (build-system gnu-build-system) |
| 24314 | (arguments |
| 24315 | `(#:make-flags '("GUILE_AUTO_COMPILE=0") ; to prevent guild warnings |
| 24316 | #:modules (((guix build guile-build-system) |
| 24317 | #:select (target-guile-effective-version)) |
| 24318 | ,@%default-gnu-modules) |
| 24319 | #:imported-modules ((guix build guile-build-system) |
| 24320 | ,@%default-gnu-imported-modules) |
| 24321 | #:phases |
| 24322 | (modify-phases %standard-phases |
| 24323 | (add-after 'patch-source-shebangs 'patch-more-source-shebangs |
| 24324 | (lambda* (#:key inputs #:allow-other-keys) |
| 24325 | (substitute* "scripts/ccwl" |
| 24326 | (("^exec guile") |
| 24327 | (string-append "exec " |
| 24328 | (search-input-file inputs "/bin/guile")))))) |
| 24329 | (add-after 'install 'wrap |
| 24330 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 24331 | (let ((out (assoc-ref outputs "out")) |
| 24332 | (effective-version (target-guile-effective-version))) |
| 24333 | (wrap-program (string-append out "/bin/ccwl") |
| 24334 | `("GUILE_LOAD_PATH" prefix |
| 24335 | (,(string-append out "/share/guile/site/" effective-version) |
| 24336 | ,(getenv "GUILE_LOAD_PATH"))) |
| 24337 | `("GUILE_LOAD_COMPILED_PATH" prefix |
| 24338 | (,(string-append out "/lib/guile/" effective-version "/site-ccache") |
| 24339 | ,(getenv "GUILE_LOAD_COMPILED_PATH")))))))))) |
| 24340 | (inputs |
| 24341 | (list bash-minimal |
| 24342 | guile-3.0 |
| 24343 | guile-libyaml)) |
| 24344 | (native-inputs |
| 24345 | (list pkg-config |
| 24346 | lzip |
| 24347 | guile-run64 |
| 24348 | ;; To build documentation |
| 24349 | cwltool |
| 24350 | graphviz |
| 24351 | skribilo)) |
| 24352 | (home-page "https://ccwl.systemreboot.net") |
| 24353 | (synopsis "Concise common workflow language") |
| 24354 | (description "The @acronym{ccwl, Concise Common Workflow Language} is a |
| 24355 | concise syntax to express CWL workflows. ccwl is a compiler to generate CWL |
| 24356 | workflows from concise descriptions in ccwl. It is implemented as an |
| 24357 | @acronym{EDSL, Embedded Domain Specific Language} in the Scheme programming |
| 24358 | language.") |
| 24359 | (license license:gpl3+))) |
| 24360 | |
| 24361 | (define-public hh-suite |
| 24362 | (package |
| 24363 | (name "hh-suite") |
| 24364 | (version "3.3.0") |
| 24365 | (source |
| 24366 | (origin |
| 24367 | (method git-fetch) |
| 24368 | (uri (git-reference |
| 24369 | (url "https://github.com/soedinglab/hh-suite") |
| 24370 | (commit (string-append "v" version)))) |
| 24371 | (file-name (git-file-name name version)) |
| 24372 | (sha256 |
| 24373 | (base32 |
| 24374 | "1bcmzg0ii6nkda2xm5jdddbwkgsag7k38j20af0c9chr2mbxwx4d")) |
| 24375 | (modules '((guix build utils))) |
| 24376 | (snippet |
| 24377 | '(delete-file-recursively "lib/simde")))) |
| 24378 | (build-system cmake-build-system) |
| 24379 | (arguments |
| 24380 | (list |
| 24381 | #:tests? #false ;no test target |
| 24382 | #:phases |
| 24383 | #~(modify-phases %standard-phases |
| 24384 | (add-after 'unpack 'fix-gcc-14 |
| 24385 | (lambda _ |
| 24386 | (substitute* "src/a3m_compress.h" |
| 24387 | (("#include <climits>") |
| 24388 | "#include <climits> |
| 24389 | #include <cstdint>"))))))) |
| 24390 | (inputs |
| 24391 | (list openmpi simde)) |
| 24392 | (native-inputs |
| 24393 | (list perl pkg-config xxd)) |
| 24394 | (home-page "https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-3019-7") |
| 24395 | (synopsis "Remote protein homology detection suite") |
| 24396 | (description "The HH-suite is a software package for sensitive protein sequence searching |
| 24397 | based on the pairwise alignment of hidden Markov models (HMMs).") |
| 24398 | (license license:gpl3+))) |
| 24399 | |
| 24400 | (define-public wfmash |
| 24401 | (package |
| 24402 | (name "wfmash") |
| 24403 | (version "0.21.0") |
| 24404 | (source |
| 24405 | (origin |
| 24406 | (method url-fetch) |
| 24407 | (uri (string-append "https://github.com/waveygang/wfmash/releases/download/v" |
| 24408 | version "/wfmash-v" version ".tar.gz")) |
| 24409 | (sha256 |
| 24410 | (base32 |
| 24411 | "0v9giqrqxl9kkcrs6zrfj1y07j6p9r8d82kkwigvndlg1708457w")) |
| 24412 | (snippet |
| 24413 | #~(begin |
| 24414 | (use-modules (guix build utils)) |
| 24415 | ;; Unbundle atomic-queue. |
| 24416 | (delete-file-recursively "src/common/atomic_queue") |
| 24417 | (substitute* "src/align/include/computeAlignments.hpp" |
| 24418 | (("\"common/atomic_queue/atomic_queue.h\"") |
| 24419 | "<atomic_queue/atomic_queue.h>")) |
| 24420 | ;; Remove compiler optimizations. |
| 24421 | (substitute* (find-files "." "CMakeLists\\.txt") |
| 24422 | (("-march=native ") "")))))) |
| 24423 | (build-system cmake-build-system) |
| 24424 | (arguments |
| 24425 | (list |
| 24426 | ;; Tests time out on riscv64-linux. |
| 24427 | #:tests? (and (not (%current-target-system)) |
| 24428 | (not (target-riscv64?))) |
| 24429 | #:configure-flags |
| 24430 | #~(list "-DWFA_PNG_AND_TSV=ON") |
| 24431 | #:phases |
| 24432 | #~(modify-phases %standard-phases |
| 24433 | (add-after 'unpack 'fix-cmakelists |
| 24434 | (lambda _ |
| 24435 | (substitute* "CMakeLists.txt" |
| 24436 | ;; Remove broken configure of CTestCustom.cmake. |
| 24437 | (("^configure_file[^\n]*") "") |
| 24438 | ;; Do not hard-code wfmash executable. |
| 24439 | (("\\./build/bin/wfmash") "wfmash")))) |
| 24440 | (add-before 'check 'build-check-prerequisites |
| 24441 | (lambda _ |
| 24442 | (let ((wfa2-lib #$(string-append "../wfmash-v" |
| 24443 | version |
| 24444 | "/src/common/wflign/deps/WFA2-lib"))) |
| 24445 | (substitute* (string-append wfa2-lib "/Makefile") |
| 24446 | ;; Remove architecture-specific flags. |
| 24447 | (("-march=x86-64-v3") "")) |
| 24448 | (substitute* (string-append wfa2-lib "/tests/wfa.utest.sh") |
| 24449 | ;; Fix time command. |
| 24450 | (("\\\\time -v") "time")) |
| 24451 | ;; Build wfa2-lib. |
| 24452 | (invoke "make" "-C" wfa2-lib |
| 24453 | #$(string-append "CC=" (cc-for-target)))))) |
| 24454 | (add-after 'install 'install-scripts |
| 24455 | (lambda _ |
| 24456 | (copy-file (string-append "../wfmash-v" #$version |
| 24457 | "/scripts/split_approx_mappings_in_chunks.py") |
| 24458 | (string-append #$output "/bin/split_approx_mappings_in_chunks"))))))) |
| 24459 | (inputs |
| 24460 | (list atomic-queue |
| 24461 | gsl |
| 24462 | htslib |
| 24463 | python-wrapper |
| 24464 | libdeflate |
| 24465 | zlib)) |
| 24466 | (native-inputs |
| 24467 | (list pkg-config |
| 24468 | samtools)) |
| 24469 | (synopsis "Base-accurate DNA sequence aligner") |
| 24470 | (description "@code{wfmash} is a DNA sequence read mapper based on mash |
| 24471 | distances and the wavefront alignment algorithm. It is a fork of MashMap that |
| 24472 | implements base-level alignment via the wflign tiled wavefront global |
| 24473 | alignment algorithm. It completes MashMap with a high-performance alignment |
| 24474 | module capable of computing base-level alignments for very large sequences.") |
| 24475 | (home-page "https://github.com/waveygang/wfmash") |
| 24476 | (license license:expat))) |
| 24477 | |
| 24478 | (define-public gdcm |
| 24479 | (package |
| 24480 | (name "gdcm") |
| 24481 | (version "3.2.2") |
| 24482 | (source (origin |
| 24483 | (method git-fetch) |
| 24484 | (uri (git-reference |
| 24485 | (url "https://github.com/malaterre/gdcm") |
| 24486 | (commit (string-append "v" version)) |
| 24487 | (recursive? #t))) |
| 24488 | (file-name (git-file-name name version)) |
| 24489 | (sha256 |
| 24490 | (base32 |
| 24491 | "1d9dm1wawgjy6vgw3shqchqpjcic6hprwhn0v7dw1qkgn3y8508w")))) |
| 24492 | (build-system cmake-build-system) |
| 24493 | (outputs '("out" "doc")) |
| 24494 | (arguments |
| 24495 | (list |
| 24496 | #:test-exclude (string-join (list "TestSCUValidation" |
| 24497 | "TestWriter" |
| 24498 | "TestAnonymizer4" |
| 24499 | "TestPrinter1" |
| 24500 | "TestEcho" |
| 24501 | ;; The scanner tests depend on TestWriter output. |
| 24502 | "TestStrictScanner1" |
| 24503 | "TestStrictScanner2_1" |
| 24504 | "TestStrictScanner2" |
| 24505 | "TestStrictScanner2_2" |
| 24506 | "TestFind" |
| 24507 | ;; Fail with 'Unsupported JPEG data precision 12'. |
| 24508 | "TestImageReaderRandomEmpty" |
| 24509 | "TestTransferSyntax" |
| 24510 | ;; Relies on non-existent file. |
| 24511 | "TestJSON1") |
| 24512 | "|") |
| 24513 | #:configure-flags |
| 24514 | #~(list "-DGDCM_BUILD_DOCBOOK_MANPAGES=ON" |
| 24515 | "-DGDCM_BUILD_TESTING=true" |
| 24516 | "-DGDCM_DOCUMENTATION:BOOL=ON" |
| 24517 | (string-append "-DGDCM_INSTALL_DOC_DIR=" |
| 24518 | #$output:doc "/share/doc/" #$name) |
| 24519 | "-DGDCM_PDF_DOCUMENTATION:BOOL=OFF" |
| 24520 | "-DGDCM_USE_SYSTEM_CHARLS=ON" |
| 24521 | "-DGDCM_USE_SYSTEM_EXPAT=ON" |
| 24522 | "-DGDCM_USE_SYSTEM_JSON=ON" |
| 24523 | "-DGDCM_USE_SYSTEM_OPENSSL=ON" |
| 24524 | "-DGDCM_USE_SYSTEM_UUID=ON" |
| 24525 | "-DGDCM_USE_SYSTEM_ZLIB=ON") |
| 24526 | #:phases |
| 24527 | #~(modify-phases %standard-phases |
| 24528 | (add-after 'unpack 'refer-to-charls |
| 24529 | (lambda _ |
| 24530 | ;; Resolve the absolute path to libcharls.so instead of exporting |
| 24531 | ;; a bare '-lcharls' reference in GDCM targets. |
| 24532 | (substitute* "CMakeLists.txt" |
| 24533 | (("set\\(GDCM_CHARLS_LIBRARIES charls\\)") |
| 24534 | (string-append |
| 24535 | "find_library(CHARLS_LIBRARY NAMES charls REQUIRED)\n" |
| 24536 | " set(GDCM_CHARLS_LIBRARIES ${CHARLS_LIBRARY})"))))) |
| 24537 | (add-before 'build 'set-HOME |
| 24538 | ;; The build with documentation spams ‘Fontconfig error: No writable |
| 24539 | ;; cache directories’ in a seemingly endless loop otherwise. |
| 24540 | (lambda _ |
| 24541 | (setenv "HOME" "/tmp")))))) |
| 24542 | (native-inputs (list docbook-xsl doxygen graphviz libxslt)) |
| 24543 | (inputs (list charls |
| 24544 | expat |
| 24545 | json-c |
| 24546 | openssl |
| 24547 | (list util-linux "lib") |
| 24548 | zlib)) |
| 24549 | (home-page "https://sourceforge.net/projects/gdcm/") |
| 24550 | (synopsis "Grassroots DICOM library") |
| 24551 | (description |
| 24552 | "Grassroots DICOM (GDCM) is an implementation of the DICOM standard |
| 24553 | designed to be open source so that researchers may access clinical data |
| 24554 | directly. GDCM includes a file format definition and a network communications |
| 24555 | protocol, both of which should be extended to provide a full set of tools for |
| 24556 | a researcher or small medical imaging vendor to interface with an existing |
| 24557 | medical database.") |
| 24558 | (license license:bsd-3))) |
| 24559 | |
| 24560 | (define-public wiggletools |
| 24561 | (package |
| 24562 | (name "wiggletools") |
| 24563 | (version "1.2.11") |
| 24564 | (source |
| 24565 | (origin |
| 24566 | (method git-fetch) |
| 24567 | (uri (git-reference |
| 24568 | (url "https://github.com/Ensembl/WiggleTools/") |
| 24569 | (commit (string-append "v" version)))) |
| 24570 | (file-name (git-file-name name version)) |
| 24571 | (sha256 |
| 24572 | (base32 |
| 24573 | "1g3qla4l1g583nzlgyww5jqxpq87ndpn9cmjls098bgqjyn5292q")))) |
| 24574 | (build-system gnu-build-system) |
| 24575 | (arguments |
| 24576 | (list |
| 24577 | ;; Tests require internet access |
| 24578 | #:tests? #false |
| 24579 | #:make-flags |
| 24580 | #~(list "Wiggletools" |
| 24581 | (string-append "CC=" #$(cc-for-target))) |
| 24582 | #:phases |
| 24583 | #~(modify-phases %standard-phases |
| 24584 | (delete 'configure) |
| 24585 | (replace 'install |
| 24586 | (lambda _ |
| 24587 | (install-file "bin/wiggletools" |
| 24588 | (string-append #$output "/bin"))))))) |
| 24589 | (inputs |
| 24590 | (list curl ; XXX: needed by libbigwig |
| 24591 | htslib libbigwig gsl xz zlib)) |
| 24592 | (home-page "https://github.com/Ensembl/WiggleTools/") |
| 24593 | (synopsis "Operations on the space of numerical functions defined on the genome") |
| 24594 | (description "The WiggleTools package allows genomewide data files to be |
| 24595 | manipulated as numerical functions, equipped with all the standard functional |
| 24596 | analysis operators (sum, product, product by a scalar, comparators), and |
| 24597 | derived statistics (mean, median, variance, stddev, t-test, Wilcoxon's rank |
| 24598 | sum test, etc).") |
| 24599 | (license license:asl2.0))) |
| 24600 | |
| 24601 | (define-public flair |
| 24602 | (package |
| 24603 | (name "flair") |
| 24604 | (version "1.6.4") |
| 24605 | (source |
| 24606 | (origin |
| 24607 | (method git-fetch) |
| 24608 | (uri (git-reference |
| 24609 | (url "https://github.com/BrooksLabUCSC/flair") |
| 24610 | (commit (string-append "v" version)))) |
| 24611 | (file-name (git-file-name name version)) |
| 24612 | (sha256 |
| 24613 | (base32 "0jviacx6qx5rwgi3wvl7a8a8ml19r6cpngddivlk13f6g9072din")))) |
| 24614 | (build-system pyproject-build-system) |
| 24615 | (arguments |
| 24616 | (list |
| 24617 | #:tests? #false ;there are none |
| 24618 | #:phases |
| 24619 | #~(modify-phases %standard-phases |
| 24620 | (add-after 'install 'wrap-executable |
| 24621 | (lambda _ |
| 24622 | (for-each |
| 24623 | (lambda (script) |
| 24624 | (wrap-program script |
| 24625 | `("R_HOME" ":" = (,(string-append #$r-minimal "/lib/R"))) |
| 24626 | `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE"))))) |
| 24627 | (find-files (string-append #$output "/bin")))))))) |
| 24628 | (propagated-inputs |
| 24629 | (list python-mappy |
| 24630 | python-numpy |
| 24631 | python-ncls |
| 24632 | python-pybedtools |
| 24633 | python-pysam |
| 24634 | python-rpy2 |
| 24635 | python-scipy |
| 24636 | python-tqdm)) |
| 24637 | ;; Used by rpy2 |
| 24638 | (inputs |
| 24639 | (list bash-minimal |
| 24640 | r-minimal ;for R_LIBS_SITE |
| 24641 | r-apeglm ;for runDE |
| 24642 | r-deseq2 ;for runDE |
| 24643 | r-drimseq ;for runDS |
| 24644 | r-ggplot2 ;runDS, runDU |
| 24645 | r-lazyeval ;for rpy2 |
| 24646 | r-qqman ;for runDE |
| 24647 | r-rlang)) ;for rpy2 |
| 24648 | (native-inputs |
| 24649 | (list python-pypa-build python-setuptools)) |
| 24650 | (home-page "https://flair.readthedocs.io/en/latest/") |
| 24651 | (synopsis "Full-length alternative isoform analysis of RNA") |
| 24652 | (description "This package implements FLAIR (Full-Length Alternative |
| 24653 | Isoform analysis of RNA) for the correction, isoform definition, and |
| 24654 | alternative splicing analysis of noisy reads. FLAIR has primarily been used |
| 24655 | for nanopore cDNA, native RNA, and PacBio sequencing reads.") |
| 24656 | (license license:bsd-3))) |
| 24657 | |
| 24658 | (define-public go-github-com-biogo-graph |
| 24659 | (package |
| 24660 | (name "go-github-com-biogo-graph") |
| 24661 | (version "0.0.0-20150317020928-057c1989faed") |
| 24662 | (source (origin |
| 24663 | (method git-fetch) |
| 24664 | (uri (git-reference |
| 24665 | (url "https://github.com/biogo/graph") |
| 24666 | (commit (go-version->git-ref version)))) |
| 24667 | (file-name (git-file-name name version)) |
| 24668 | (sha256 |
| 24669 | (base32 |
| 24670 | "1kpzs5dfd5dsk4mg1g2qjz1prqd84ixhrcxxnf90hq25vxcnk7lh")))) |
| 24671 | (build-system go-build-system) |
| 24672 | (arguments |
| 24673 | '(#:import-path "github.com/biogo/graph" |
| 24674 | #:tests? #false)) ;TODO: one of 13 tests fails for unknown reasons |
| 24675 | (propagated-inputs |
| 24676 | (list go-gopkg-in-check-v1)) |
| 24677 | (home-page "https://github.com/biogo/graph") |
| 24678 | (synopsis "Undirected graph analysis for biogo") |
| 24679 | (description "The package @code{graph} implements graph manipulation |
| 24680 | functions.") |
| 24681 | (license license:bsd-3))) |
| 24682 | |
| 24683 | (define-public go-github-com-biogo-store |
| 24684 | (package |
| 24685 | (name "go-github-com-biogo-store") |
| 24686 | (version "0.0.0-20201120204734-aad293a2328f") |
| 24687 | (source (origin |
| 24688 | (method git-fetch) |
| 24689 | (uri (git-reference |
| 24690 | (url "https://github.com/biogo/store") |
| 24691 | (commit (go-version->git-ref version)))) |
| 24692 | (file-name (git-file-name name version)) |
| 24693 | (sha256 |
| 24694 | (base32 |
| 24695 | "0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a")))) |
| 24696 | (build-system go-build-system) |
| 24697 | (arguments |
| 24698 | (list |
| 24699 | #:skip-build? #t |
| 24700 | #:import-path "github.com/biogo/store" |
| 24701 | #:test-flags #~(list "-vet=off"))) |
| 24702 | (propagated-inputs |
| 24703 | (list go-gopkg-in-check-v1 |
| 24704 | go-github-com-kr-pretty)) |
| 24705 | (home-page "https://github.com/biogo/store") |
| 24706 | (synopsis "Interval store type for biogo") |
| 24707 | (description |
| 24708 | "The @code{store} package provides a number of data store types that are |
| 24709 | useful for bioinformatic analysis.") |
| 24710 | (license license:bsd-3))) |
| 24711 | |
| 24712 | (define-public go-github-com-biogo-hts |
| 24713 | (package |
| 24714 | (name "go-github-com-biogo-hts") |
| 24715 | (version "1.4.4") |
| 24716 | (source (origin |
| 24717 | (method git-fetch) |
| 24718 | (uri (git-reference |
| 24719 | (url "https://github.com/biogo/hts") |
| 24720 | (commit (string-append "v" version)))) |
| 24721 | (file-name (git-file-name name version)) |
| 24722 | (sha256 |
| 24723 | (base32 |
| 24724 | "1vkcqxyajghx5p5j7g2i376nbsxh8q2smk0smlv8mi34yr7hlw5b")))) |
| 24725 | (build-system go-build-system) |
| 24726 | (arguments |
| 24727 | (list |
| 24728 | #:skip-build? #t |
| 24729 | #:import-path "github.com/biogo/hts" |
| 24730 | ;; Tests try to get samples from <https://github.com/samtools/htslib>. |
| 24731 | #:test-flags #~(list "-skip" "TestHasEOF|TestRead"))) |
| 24732 | (native-inputs |
| 24733 | (list go-gopkg-in-check-v1)) |
| 24734 | (propagated-inputs |
| 24735 | (list go-github-com-ulikunitz-xz |
| 24736 | go-github-com-kortschak-utter)) |
| 24737 | (home-page "https://github.com/biogo/hts") |
| 24738 | (synopsis "HTS module for biogo") |
| 24739 | (description |
| 24740 | "This package provides tools for handling BAM, SAM, Tabix, bgzf, CRAM, |
| 24741 | CSIv1, CSIv2 and FAI files.") |
| 24742 | (license license:bsd-3))) |
| 24743 | |
| 24744 | (define-public go-github-com-biogo-biogo |
| 24745 | (package |
| 24746 | (name "go-github-com-biogo-biogo") |
| 24747 | (version "1.0.4") |
| 24748 | (source (origin |
| 24749 | (method git-fetch) |
| 24750 | (uri (git-reference |
| 24751 | (url "https://github.com/biogo/biogo") |
| 24752 | (commit (string-append "v" version)))) |
| 24753 | (file-name (git-file-name name version)) |
| 24754 | (sha256 |
| 24755 | (base32 |
| 24756 | "0ali1mqf3dc26myv6l7wmqfr8i25461rbq3qdad8s0wi29622199")))) |
| 24757 | (build-system go-build-system) |
| 24758 | (arguments |
| 24759 | '(#:import-path "github.com/biogo/biogo")) |
| 24760 | (propagated-inputs |
| 24761 | (list go-gopkg-in-check-v1 |
| 24762 | go-github-com-biogo-store |
| 24763 | go-github-com-biogo-hts |
| 24764 | go-github-com-biogo-graph)) |
| 24765 | (home-page "https://github.com/biogo/biogo") |
| 24766 | (synopsis "Bioinformatics library for Go") |
| 24767 | (description |
| 24768 | "Bíogo is a bioinformatics library for the Go language.") |
| 24769 | (license license:bsd-3))) |
| 24770 | |
| 24771 | (define-public python-gseapy |
| 24772 | (package |
| 24773 | (name "python-gseapy") |
| 24774 | (version "1.1.12") |
| 24775 | (source (origin |
| 24776 | (method git-fetch) |
| 24777 | (uri (git-reference |
| 24778 | (url "https://github.com/zqfang/GSEApy") |
| 24779 | (commit (string-append "v" version)))) |
| 24780 | (file-name (git-file-name name version)) |
| 24781 | (sha256 |
| 24782 | (base32 |
| 24783 | "0xdh2v0s2jwj5n541z9zlcq5f6ka0r8jk03jdv8z3j27hc6azf3s")))) |
| 24784 | (build-system cargo-build-system) |
| 24785 | (arguments |
| 24786 | (list |
| 24787 | #:install-source? #false |
| 24788 | #:features '(list "extension-module") |
| 24789 | #:cargo-test-flags '(list "--features=extension-module") |
| 24790 | #:imported-modules |
| 24791 | (append %cargo-build-system-modules |
| 24792 | %pyproject-build-system-modules) |
| 24793 | #:modules |
| 24794 | '((guix build cargo-build-system) |
| 24795 | ((guix build pyproject-build-system) #:prefix py:) |
| 24796 | (guix build utils)) |
| 24797 | #:phases |
| 24798 | #~(modify-phases %standard-phases |
| 24799 | (add-after 'install 'prepare-python-module |
| 24800 | (lambda _ |
| 24801 | ;; We don't use maturin, nor do we use setuptools-rust. |
| 24802 | (delete-file "pyproject.toml") |
| 24803 | (call-with-output-file "pyproject.toml" |
| 24804 | (lambda (port) |
| 24805 | (format port "\ |
| 24806 | [build-system] |
| 24807 | build-backend = 'setuptools.build_meta' |
| 24808 | requires = ['setuptools'] |
| 24809 | "))) |
| 24810 | (delete-file "setup.py") |
| 24811 | (call-with-output-file "setup.cfg" |
| 24812 | (lambda (port) |
| 24813 | (format port "\ |
| 24814 | [metadata] |
| 24815 | name = gseapy |
| 24816 | version = ~a |
| 24817 | |
| 24818 | [options] |
| 24819 | packages = find: |
| 24820 | |
| 24821 | [options.packages.find] |
| 24822 | exclude = |
| 24823 | src |
| 24824 | docs |
| 24825 | tests |
| 24826 | Cargo.toml |
| 24827 | " #$version))))) |
| 24828 | ;; We delete the Cargo checks but run the Python tests later. |
| 24829 | ;; See https://github.com/zqfang/GSEApy/issues/207 |
| 24830 | (delete 'check) |
| 24831 | (add-after 'prepare-python-module 'enable-bytecode-determinism |
| 24832 | (assoc-ref py:%standard-phases 'enable-bytecode-determinism)) |
| 24833 | (add-after 'enable-bytecode-determinism 'build-python-module |
| 24834 | (assoc-ref py:%standard-phases 'build)) |
| 24835 | (add-after 'build-python-module 'install-python-module |
| 24836 | (assoc-ref py:%standard-phases 'install)) |
| 24837 | (add-after 'install-python-module 'install-python-library |
| 24838 | (lambda _ |
| 24839 | (let ((site (string-append #$output "/lib/python" |
| 24840 | #$(version-major+minor |
| 24841 | (package-version python)) |
| 24842 | "/site-packages"))) |
| 24843 | (mkdir-p site) |
| 24844 | (copy-file "target/release/libgse.so" |
| 24845 | (string-append site "/gseapy/gse.so"))))) |
| 24846 | (add-after 'install-python-library 'add-install-to-pythonpath |
| 24847 | (assoc-ref py:%standard-phases 'add-install-to-pythonpath)) |
| 24848 | (add-after 'add-install-to-pythonpath 'check |
| 24849 | (lambda* (#:key tests? #:allow-other-keys) |
| 24850 | (when tests? |
| 24851 | (invoke "pytest" "-vv" "tests" |
| 24852 | ;; These tests need access to the internet |
| 24853 | "-k" "not test_enrichr and not test_prerank"))))))) |
| 24854 | (inputs |
| 24855 | (cons python-wrapper (cargo-inputs 'python-gseapy))) |
| 24856 | (native-inputs |
| 24857 | (list python-pytest python-setuptools)) |
| 24858 | (propagated-inputs |
| 24859 | (list python-numpy |
| 24860 | python-scipy |
| 24861 | python-pandas |
| 24862 | python-matplotlib |
| 24863 | python-requests)) |
| 24864 | (home-page "https://github.com/zqfang/gseapy") |
| 24865 | (synopsis "Gene Set Enrichment Analysis in Python") |
| 24866 | (description "GSEApy is a Python/Rust implementation for GSEA and wrapper |
| 24867 | for Enrichr. GSEApy can be used for RNA-seq, ChIP-seq, Microarray data. It |
| 24868 | can be used for convenient GO enrichment and to produce publication quality |
| 24869 | figures in Python.") |
| 24870 | (license license:bsd-3))) |
| 24871 | |
| 24872 | ;;; |
| 24873 | ;;; Avoid adding new packages to the end of this file. To reduce the chances |
| 24874 | ;;; of a merge conflict, place them above by existing packages with similar |
| 24875 | ;;; functionality or similar names. |
| 24876 | ;;; |