aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner2023-09-19 19:38:52 +0300
committerEfraim Flashner2023-09-19 19:43:03 +0300
commit29839033efcc894718b1596e66bcea811da19d7a (patch)
treeab00cb78fa89cc3e0856b137c321cd97d8afb6e1
parentc2415bfa014892a56be9b621089a0a2ffab234f7 (diff)
downloadguix-bioinformatics-29839033efcc894718b1596e66bcea811da19d7a.tar.gz
Add pafplot
-rw-r--r--gn/packages/bioinformatics.scm37
-rw-r--r--gn/packages/crates-io.scm58
2 files changed, 95 insertions, 0 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 4b37c8f..75449f3 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -39,6 +39,7 @@
#:use-module (gnu packages cpp)
#:use-module (gnu packages cran)
#:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-graphics)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
@@ -574,6 +575,42 @@ idea is to support pangenomic applications, following the
specification.")
(license license:expat)))
+(define-public pafplot
+ (let ((commit "7dda24c0aeba8556b600d53d748ae3103ec85501")
+ (revision "1"))
+ (package
+ (name "pafplot")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/pafplot.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04ffz0zfj4mvfxmrwgisv213fypgl02f7sim950a067pm7375g1l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:install-source? #f
+ #:cargo-inputs
+ (("rust-clap" ,rust-clap-2)
+ ("rust-boomphf" ,rust-boomphf-0.5)
+ ("rust-itertools" ,rust-itertools-0.10)
+ ("rust-fnv" ,rust-fnv-1)
+ ("rust-lodepng" ,rust-lodepng-3)
+ ("rust-rgb" ,rust-rgb-0.8)
+ ("rust-line-drawing" ,rust-line-drawing-0.8))))
+ (home-page "https://github.com/ekg/pafplot.git")
+ (synopsis "Base-level dotplots from PAF alignments")
+ (description "In the process of generating alignments between whole
+genomes, we often need to understand the base-level alignment between
+particular sequences. @command{pafplot} allows us to do so by rasterizing the
+matches alignment set. It draws a line on a raster image to represent each
+match found in a set of alignments. The resulting image provides a high-level
+view of the structure of the alignments, and in consequence the homology
+relationships between the sequences in consideration.")
+ (license license:expat))))
+
(define-public gafpack
(let ((commit "ad31875b6914d964c6fd72d1bf334f0843538fb6") ; November 10, 2022
(revision "1"))
diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm
index 557c980..6db2716 100644
--- a/gn/packages/crates-io.scm
+++ b/gn/packages/crates-io.scm
@@ -246,6 +246,64 @@ functions} for a collection of hashable objects.")
(description "Key String provides a Rust package optimized for map keys.")
(license (list license:expat license:asl2.0))))
+(define-public rust-line-drawing-0.8
+ (package
+ (name "rust-line-drawing")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "line-drawing" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18a940s3mv8w5prpb99sdxykzhrvzrnymw3hvd7wisnkgbr11jqm"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-num-traits" ,rust-num-traits-0.2))
+ #:cargo-development-inputs
+ (("rust-bresenham" ,rust-bresenham-0.1)
+ ("rust-image" ,rust-image-0.23)
+ ("rust-rand" ,rust-rand-0.8))))
+ (home-page "https://github.com/expenses/line_drawing")
+ (synopsis
+ "A collection of line-drawing algorithms for use in graphics and video games.")
+ (description
+ "This package provides a collection of line-drawing algorithms for use in
+graphics and video games.")
+ (license license:expat)))
+
+(define-public rust-lodepng-3
+ (package
+ (name "rust-lodepng")
+ (version "3.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "lodepng" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1f5d9bva17sq7npw9qh7h6sh02k0ycrjx5hr147q0jv4m0qd2970"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-test-flags
+ (list "--release" "--"
+ ;; Not all files included.
+ "--skip=test::read_icc")
+ #:cargo-inputs
+ (("rust-crc32fast" ,rust-crc32fast-1)
+ ("rust-fallible-collections" ,rust-fallible-collections-0.4)
+ ("rust-flate2" ,rust-flate2-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rgb" ,rust-rgb-0.8))))
+ (home-page "https://lib.rs/crates/lodepng")
+ (synopsis
+ "Reading and writing PNG files without system dependencies. Pure Rust port of LodePNG.")
+ (description
+ "Reading and writing PNG files without system dependencies. Pure Rust port of
+@code{LodePNG}.")
+ (license license:zlib)))
+
(define-public rust-pyo3-0.14
(package
(name "rust-pyo3")