From 2e3c2a1df0b9ad675291d1ae52821ac7bd72e458 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Aug 2021 12:52:54 +0300 Subject: gn: Add gfaffix. --- gn/packages/bioinformatics.scm | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index b5ea52f..b2950ee 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -8,6 +8,7 @@ #:use-module (guix git-download) #:use-module (guix hg-download) #:use-module (guix build-system ant) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) @@ -15,6 +16,7 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system waf) #:use-module (gnu packages) + #:use-module (gn packages crates-io) #:use-module (gn packages java) #:use-module (gn packages python) #:use-module (gn packages twint) @@ -28,6 +30,7 @@ #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cran) + #:use-module (gnu packages crates-io) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) @@ -56,6 +59,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages rsync) #:use-module (gnu packages ruby) + #:use-module (gnu packages rust) #:use-module (gnu packages serialization) #:use-module (gnu packages shells) #:use-module (gnu packages statistics) @@ -447,6 +451,55 @@ reads.") (define-public edirect-gn (deprecated-package "edirect-gn" edirect)) +(define-public gfaffix + (package + (name "gfaffix") + (version "0.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marschall-lab/GFAffix") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xpzi0zvaa4pajs4vbp3vkwj2ha8pi62ly7bd8cpf3fi6r32pgdz")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Cargo.toml" + (("^handlegraph.*") "handlegraph = \"0.7\"\n")))))) + (build-system cargo-build-system) + (arguments + `(#:rust ,rust-1.49 ; or later + #:cargo-inputs + (("rust-clap" ,rust-clap-3) + ("rust-rustc-hash" ,rust-rustc-hash-1) + ("rust-regex" ,rust-regex-1) + ("rust-handlegraph" ,rust-handlegraph-0.7) + ("rust-gfa" ,rust-gfa-0.10) + ("rust-quick-csv", rust-quick-csv-0.1) + ("rust-log" ,rust-log-0.4) + ("rust-env-logger" ,rust-env-logger-0.7)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'adjust-dependency-version + (lambda* (#:key inputs #:allow-other-keys) + ;; TODO: Replace the hardcoded version with logic. + (substitute* "Cargo.toml" + (("\"0.7\"") + "{ version = \"0.7.0-alpha.7\" }")) + #t))))) + (inputs + ;; rust-handlegraph@0.7 doesn't get picked up as a rust input. + `(("rust-handlegraph-0.7" ,rust-handlegraph-0.7))) + (home-page "https://github.com/marschall-lab/GFAffix") + (synopsis "Identify walk-preserving shared affixes in variation graphs") + (description + "GFAffix identifies walk-preserving shared affixes in variation graphs and +collapses them into a non-redundant graph structure.") + (license license:expat))) + ;; TODO: Unbundle zlib, bamtools, tclap (define-public sniffles (package -- cgit v1.2.3