From ea986e95f6b2f66268a53a34945d858130bff018 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Tue, 19 Sep 2023 11:01:36 +0300 Subject: Remove `rust-clap-4` There is a `rust-clap-4` package upstream. --- gn/packages/crates-io.scm | 44 -------------------------------------------- 1 file changed, 44 deletions(-) (limited to 'gn/packages/crates-io.scm') diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm index e500d86..7e74b60 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -475,50 +475,6 @@ or any combination.") (description "Rust CLI tools for manipulation of Jupyter Notebooks.") (license #f)))) ; There is no license. -(define-public rust-clap-4 - (package - (name "rust-clap") - (version "4.0.9") - (source (origin - (method url-fetch) - (uri (crate-uri "clap" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1w0dxqzrh449s9l2k8g66pdsff02599bwi5mh0gny3227kcpsq1h")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t ; Not all inputs packaged. - #:cargo-inputs - (("rust-atty" ,rust-atty-0.2) - ("rust-backtrace" ,rust-backtrace-0.3) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-clap-derive" ,rust-clap-derive-4) - ("rust-clap-lex" ,rust-clap-lex-0.3) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-strsim" ,rust-strsim-0.10) - ("rust-termcolor" ,rust-termcolor-1) - ("rust-terminal-size" ,rust-terminal-size-0.1) - ("rust-unicase" ,rust-unicase-2) - ("rust-unicode-width" ,rust-unicode-width-0.1)) - ;#:cargo-development-inputs - ;(("rust-humantime" ,rust-humantime-2) - ; ("rust-rustversion" ,rust-rustversion-1) - ; ("rust-shlex" ,rust-shlex-1) - ; ("rust-snapbox" ,rust-snapbox-0.4) - ; ("rust-static-assertions" ,rust-static-assertions-1) - ; ("rust-trybuild" ,rust-trybuild-1) - ; ("rust-trycmd" ,rust-trycmd-0.13) - ; ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)) - )) - (home-page "https://github.com/clap-rs/clap") - (synopsis - "A simple to use, efficient, and full-featured Command Line Argument Parser") - (description - "This package provides a simple to use, efficient, and full-featured Command Line - Argument Parser") - (license (list license:expat license:asl2.0)))) - (define-public rust-clap-derive-4 (package (name "rust-clap-derive") -- cgit v1.2.3 From 8885768936858286babae788a5dcfb01c2cad0a8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Sep 2023 19:00:45 +0300 Subject: gfaffix: Update to 0.1.5. --- gn/packages/bioinformatics.scm | 22 +++++----------------- gn/packages/crates-io.scm | 4 ++-- 2 files changed, 7 insertions(+), 19 deletions(-) (limited to 'gn/packages/crates-io.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index db420b7..63934fc 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -469,7 +469,7 @@ reads.") (define-public gfaffix (package (name "gfaffix") - (version "0.1.3") + (version "0.1.5") (source (origin (method git-fetch) @@ -478,12 +478,7 @@ reads.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1biss5qv6ag1dfkn1nspwd528hpzgn8i4jydvbv2z7yv7sc685rh")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "Cargo.toml" - (("^handlegraph.*") "handlegraph = \"0.7\"\n")))))) + (base32 "181jxl8ldj39jgscyqzhz4l4k5kxj1j9hvzi8dxj59h2zzznb0kb")))) (build-system cargo-build-system) (arguments `(#:install-source? #f @@ -491,19 +486,12 @@ reads.") (("rust-clap" ,rust-clap-3) ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-regex" ,rust-regex-1) - ("rust-handlegraph" ,rust-handlegraph-0.7) + ("rust-handlegraph" ,rust-handlegraph-0.7.0-alpha.9) ("rust-gfa" ,rust-gfa-0.10) ("rust-quick-csv", rust-quick-csv-0.1) + ("rust-rayon" ,rust-rayon-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) - (let ((handlebar-version ,(package-version rust-handlegraph-0.7))) - (substitute* "Cargo.toml" - (("\"0.7\"") - (string-append "{ version = \"" handlebar-version "\" }"))))))))) + ("rust-env-logger" ,rust-env-logger-0.7)))) (home-page "https://github.com/marschall-lab/GFAffix") (synopsis "Identify walk-preserving shared affixes in variation graphs") (description diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm index 7e74b60..a0e31ce 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -144,7 +144,7 @@ functions} for a collection of hashable objects.") "Library for working with graphs in the GFA (Graphical Fragment Assembly) format") (license license:expat))) -(define-public rust-handlegraph-0.7 +(define-public rust-handlegraph-0.7.0-alpha.9 (package (name "rust-handlegraph") (version "0.7.0-alpha.9") @@ -180,7 +180,7 @@ functions} for a collection of hashable objects.") (define-public rust-handlegraph-0.3 (package - (inherit rust-handlegraph-0.7) + (inherit rust-handlegraph-0.7.0-alpha.9) (name "rust-handlegraph") (version "0.3.0") (source (origin -- cgit v1.2.3 From 90d0c931a585ec862151a11b6a88fce678670b9d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Sep 2023 19:16:01 +0300 Subject: Add vcfbub --- gn/packages/bioinformatics.scm | 49 ++++++++++++++++++++++++++++++++++++++++++ gn/packages/crates-io.scm | 26 ++++++++++++++++++++++ 2 files changed, 75 insertions(+) (limited to 'gn/packages/crates-io.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 63934fc..2b1d514 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -499,6 +499,55 @@ reads.") collapses them into a non-redundant graph structure.") (license license:expat))) +(define-public vcfbub + (package + (name "vcfbub") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pangenome/vcfbub") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sk2ab22z6qa00j1w8a8f5kbb7q2xb10fhd32zy4lh351v3mqmyg")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + #:cargo-inputs + (("rust-clap" ,rust-clap-2) + ("rust-flate2" ,rust-flate2-1) + ("rust-vcf" ,rust-vcf-0.6)))) + (home-page "https://github.com/pangenome/vcfbub") + (synopsis "Popping bubbles in vg deconstruct VCFs") + (description + "The VCF output produced by a command like @command{vg deconstruct -e -a +-H '#' ...} includes information about the nesting of variants. With @code{-a}, +@code{--all-snarls}, we obtain not just the top level bubbles, but all nested +ones. This exposed snarl tree information can be used to filter the VCF to +obtain a set of non-overlapping sites (n.b. \"snarl\" is a generic model of +graph bubbles including tips and loops). +@code{vcfbub} lets us do two common operations on these VCFs: +@enumerate +@item We can filter sites by maximum level in the snarl tree. For instance, +@code{--max-level 0} would keep only sites with @code{LV=0}. In practice, vg's +snarl finder ensures that these are sites rooted on the main linear axis of the +pangenome graph. Those at higher levels occur within larger variants. +@item We can filter sites by maximum allele size, either for the reference +allele or any allele. In this case, @code{--max-ref-length 10000} would keep +only sites where the reference allele is less than 10kb long. Setting +@code{--max-ref-length} or @code{--max-allele-length} additionally ensures that +the output contains the bubbles nested inside of any popped bubble, even if +they are at greater than @code{--max-level}. +@end enumerate +@code{vcfbub} accomplishes a simple task: we keep sites that are the children +of those which we \"pop\" due to their size. These occur around complex large +SVs, such as multi-Mbp inversions and segmental duplications. We often need to +remove these, as they provide little information for many downstream +applications, such as haplotype panels or other imputation references.") + (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 a0e31ce..79832bc 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -575,6 +575,32 @@ or any combination.") (description "Yet another format-preserving TOML parser.") (license (list license:expat license:asl2.0)))) +(define-public rust-vcf-0.6 + (package + (name "rust-vcf") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (crate-uri "vcf" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dc0p00a19rpmhrqcshrn2qg5l716b5s1fy8vpd3p32bw77vpbs0")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included + #:cargo-inputs + (("rust-nom" ,rust-nom-7) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-thiserror" ,rust-thiserror-1)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-flate2" ,rust-flate2-1)))) + (home-page "https://github.com/informationsea/vcf-rs") + (synopsis "Rust implmentation of VCF parser") + (description "This package provides a rust implmentation of a VCF parser.") + (license license:asl2.0))) + (define-public rust-gsl-sys (package (name "rust-gsl-sys") -- cgit v1.2.3 From c2415bfa014892a56be9b621089a0a2ffab234f7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Sep 2023 19:24:04 +0300 Subject: Add fastix --- gn/packages/bioinformatics.scm | 26 ++++++++++++++++++++++++++ gn/packages/crates-io.scm | 25 +++++++++++++++++++++++++ 2 files changed, 51 insertions(+) (limited to 'gn/packages/crates-io.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 2b1d514..4b37c8f 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -548,6 +548,32 @@ remove these, as they provide little information for many downstream applications, such as haplotype panels or other imputation references.") (license license:expat))) +(define-public fastix + (package + (name "fastix") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "fastix" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1mzk65mg8vx0hz39xis6zqdmq56abhmza656gn9pgmlsn151gpx2")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + #:cargo-inputs + (("rust-clap" ,rust-clap-2)) + #:cargo-development-inputs + (("rust-assert-cmd" ,rust-assert-cmd-0.12) + ("rust-predicates" ,rust-predicates-1)))) + (home-page "https://github.com/ekg/fastix") + (synopsis "Prefix-renaming FASTA records") + (description "A command line tool to add prefixes to FASTA headers. The +idea is to support pangenomic applications, following the +@url{https://github.com/pangenome/PanSN-spec, PanSN} hierarchical naming +specification.") + (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 79832bc..557c980 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -10,6 +10,31 @@ #:use-module (gnu packages maths) #:use-module (gnu packages python)) +(define-public rust-assert-cmd-0.12 + (package + (name "rust-assert-cmd") + (version "0.12.2") + (source (origin + (method url-fetch) + (uri (crate-uri "assert-cmd" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xfn2spazxk3ljj9q3250a24gndja9vwa0h0rnbccdrbd4ncyvwk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-escargot" ,rust-escargot-0.5) + ("rust-predicates" ,rust-predicates-1) + ("rust-predicates-core" ,rust-predicates-core-1) + ("rust-predicates-tree" ,rust-predicates-tree-1) + ("rust-wait-timeout" ,rust-wait-timeout-0.2)))) + (home-page "https://github.com/assert-rs/assert_cmd") + (synopsis "Test CLI Applications.") + (description "Test CLI Applications.") + (license (list license:expat license:asl2.0)))) + (define-public rust-bgzip-0.2 (package (name "rust-bgzip") -- cgit v1.2.3 From 29839033efcc894718b1596e66bcea811da19d7a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Sep 2023 19:38:52 +0300 Subject: Add pafplot --- gn/packages/bioinformatics.scm | 37 +++++++++++++++++++++++++++ gn/packages/crates-io.scm | 58 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) (limited to 'gn/packages/crates-io.scm') 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") -- cgit v1.2.3 From 658464c22150e62c731ee1bfe1efb7253876f53a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 20 Sep 2023 10:24:10 +0300 Subject: remove crates existing upstream --- gn/packages/crates-io.scm | 45 --------------------------------------------- 1 file changed, 45 deletions(-) (limited to 'gn/packages/crates-io.scm') diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm index 6db2716..331a179 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -91,25 +91,6 @@ for massive key sets}. It generates an @acronym{MPHF, minimal perfect hash functions} for a collection of hashable objects.") (license license:expat))) -(define-public rust-clap-lex-0.3 - (package - (name "rust-clap-lex") - (version "0.3.0") - (source (origin - (method url-fetch) - (uri (crate-uri "clap-lex" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1a4dzbnlxiamfsn0pnkhn7n9bdfjh66j9fxm6mmr7d227vvrhh8d")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6)))) - (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex") - (synopsis "Minimal, flexible command line parser") - (description "Minimal, flexible command line parser") - (license (list license:expat license:asl2.0)))) - (define-public rust-cuckoofilter-0.5 (package (name "rust-cuckoofilter") @@ -558,32 +539,6 @@ or any combination.") (description "Rust CLI tools for manipulation of Jupyter Notebooks.") (license #f)))) ; There is no license. -(define-public rust-clap-derive-4 - (package - (name "rust-clap-derive") - (version "4.0.9") - (source (origin - (method url-fetch) - (uri (crate-uri "clap-derive" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "02zhbbmyz3dpy9ml6xfp7i8p3ffj1djvkdnkg6gr6d0s5r4hg8x4")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-heck" ,rust-heck-0.4) - ("rust-proc-macro-error" ,rust-proc-macro-error-1) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/clap-rs/clap/tree/master/clap_derive") - (synopsis - "Parse command line argument by defining a struct, derive crate.") - (description - "Parse command line argument by defining a struct, derive crate.") - (license (list license:expat license:asl2.0)))) - (define-public rust-trycmd-0.12 (package (name "rust-trycmd") -- cgit v1.2.3 From a490ca06e186f5057bcdda17266ad93763cc0c2f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 29 Feb 2024 00:31:32 +0000 Subject: gn: crates-io: Import (gnu packages crates-windows) for rust-dunce-1. --- gn/packages/crates-io.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gn/packages/crates-io.scm') diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm index 331a179..4cebb33 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -7,6 +7,7 @@ #:use-module (guix build-system cargo) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-windows) #:use-module (gnu packages maths) #:use-module (gnu packages python)) -- cgit v1.2.3