diff options
| author | pjotrp | 2026-04-15 12:02:33 +0200 |
|---|---|---|
| committer | pjotrp | 2026-04-15 12:02:33 +0200 |
| commit | fd691f93def9e431d2a1fbd719c1332a88c430f3 (patch) | |
| tree | 224871095d724e2eeebd918853852d1c7173428d | |
| parent | b816d1ee91db57de62cef0a6abc0fb45cbbac8ee (diff) | |
| download | guix-bioinformatics-fd691f93def9e431d2a1fbd719c1332a88c430f3.tar.gz | |
Added bandageNG
| -rw-r--r-- | gn/packages/pangenome.scm | 74 |
1 files changed, 73 insertions, 1 deletions
diff --git a/gn/packages/pangenome.scm b/gn/packages/pangenome.scm index a11bde2..5073c75 100644 --- a/gn/packages/pangenome.scm +++ b/gn/packages/pangenome.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages time) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages cpp) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) @@ -43,6 +44,7 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages ncurses) #:use-module (gnu packages protobuf) + #:use-module (gnu packages qt) #:use-module (gnu packages rdf) #:use-module (gnu packages ruby) #:use-module (gnu packages ruby-xyz) @@ -1123,6 +1125,74 @@ multiple sequence alignment.") license:zlib license:boost1.0)))) +(define-public bandage-ng + (package + (name "bandage-ng") + (version "2026.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/asl/BandageNG") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "071inw1dd0m430p1qh7w2zdvz7y586hgvhhahwv99016l601ha3c")))) + (build-system cmake-build-system) + (inputs + (list cli11 + lexy + qtbase + qtsvg + qtwayland + (list zstd "lib"))) + (native-inputs + (list pkg-config)) + (arguments + (list + #:configure-flags + #~(list "-DCMAKE_BUILD_TYPE=Release" + "-DFETCHCONTENT_FULLY_DISCONNECTED=ON") + #:tests? #f ; tests require display + #:modules '((guix build cmake-build-system) + (guix build utils) + (ice-9 textual-ports)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-system-deps + (lambda _ + ;; Use system zlib instead of bundled zlib-ng + (substitute* "thirdparty/CMakeLists.txt" + (("if \\(CMAKE_OSX_ARCHITECTURES\\)") + "if (TRUE)")) + ;; Remove FetchContent block and replace with find_package + (use-modules (ice-9 textual-ports)) + (let ((text (call-with-input-file "CMakeLists.txt" + get-string-all))) + ;; Remove lines between "include(FetchContent)" and + ;; "FetchContent_MakeAvailable(zstd)" inclusive + (let ((start (string-contains text "include(FetchContent)")) + (end-marker "FetchContent_MakeAvailable(zstd)")) + (let ((end (+ (string-contains text end-marker) + (string-length end-marker) + 1))) ; +1 for newline + (call-with-output-file "CMakeLists.txt" + (lambda (out) + (display (substring text 0 start) out) + (display "find_package(lexy REQUIRED)\n" out) + (display "find_package(CLI11 REQUIRED)\n" out) + (display "find_library(ZSTD_LIB zstd REQUIRED)\nfind_path(ZSTD_INCLUDE_DIR zstd.h REQUIRED)\nadd_library(zstd::libzstd_shared SHARED IMPORTED)\nset_target_properties(zstd::libzstd_shared PROPERTIES IMPORTED_LOCATION ${ZSTD_LIB})\ntarget_include_directories(zstd::libzstd_shared INTERFACE ${ZSTD_INCLUDE_DIR})\n" out) + (display (substring text end) out)))))) + (substitute* "CMakeLists.txt" + (("libzstd_static") "zstd::libzstd_shared") + (("\\$\\{zstd_SOURCE_DIR\\}/lib") ""))))))) + (home-page "https://github.com/asl/BandageNG") + (synopsis "Visualize de novo assembly graphs") + (description "BandageNG is a program for visualising de novo assembly +graphs. It extends the original Bandage with new features including support +for GFA format, annotations, and improved rendering.") + (license license:gpl3+))) + (define-public pangenomes (package (name "pangenomes") @@ -1136,7 +1206,8 @@ multiple sequence alignment.") (use-modules (guix build utils)) (mkdir-p (string-append #$output "/bin"))))) (propagated-inputs - (list bedtools + (list bandage-ng + bedtools bwa-mem2 cosigt fastga-rs @@ -1158,6 +1229,7 @@ multiple sequence alignment.") smoothxg vcfbub vcflib + vg wally wfmash)) (home-page "https://github.com/pangenome") |
