diff options
| author | pjotrp | 2026-03-22 11:19:26 +0100 |
|---|---|---|
| committer | pjotrp | 2026-03-22 11:19:26 +0100 |
| commit | cf1b0e132ebd6fe2e83d3f914f9f57c291263268 (patch) | |
| tree | 1a9a1b1b5bc13d45332cb73a8217552e66c5fed3 | |
| parent | a53736983170f28909a7a6d6e7d370a8825e95ef (diff) | |
| download | guix-bioinformatics-cf1b0e132ebd6fe2e83d3f914f9f57c291263268.tar.gz | |
Moved redundant and older packages to new repo: guix-bioinformatics-past. It may have been too much, but we can move back
32 files changed, 1 insertions, 6764 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index f2c7045..8d488d6 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -96,60 +96,6 @@ #:use-module (gnu packages zig) #:use-module (past packages python27)) -(define-public contra - (package - (name "contra") - (version "2.0.6") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://sourceforge/contra-cnv/CONTRA.V" - (version-major+minor version) "/CONTRA.v" version ".tar.gz")) - (sha256 - (base32 - "0agpcm2xh5f0i9n9sx1kvln6mzdksddmh11bvzj6bh76yw5pnw91")) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file "BEDTools.v2.11.2.tar.gz") #t)))) - (build-system gnu-build-system) - (propagated-inputs - `(("python" ,python-2) - ("r" ,r) - ;; ("r-dnacopy" ,r-dnacopy) <-- missing in Pjotr's tree - ("bedtools" ,bedtools) - ("samtools" ,samtools))) - (arguments - `(#:tests? #f ; There are no tests. - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) ; We can use Guix's BEDtools instead. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (doc (string-append out "/share/doc/contra"))) - (copy-recursively "scripts" (string-append bin "/scripts")) - (install-file "contra.py" bin) - (install-file "baseline.py" bin) - ;; There's only a pre-built PDF available. - (install-file "CONTRA_User_Guide.2.0.pdf" doc)) - #t))))) - (home-page "http://contra-cnv.sourceforge.net/") - (synopsis "Tool for copy number variation (CNV) detection for targeted -resequencing data") - (description "CONTRA is a tool for copy number variation (CNV) detection -for targeted resequencing data such as those from whole-exome capture data. -CONTRA calls copy number gains and losses for each target region with key -strategies including the use of base-level log-ratios to remove GC-content -bias, correction for an imbalanced library size effect on log-ratios, and the -estimation of log-ratio variations via binning and interpolation. It takes -standard alignment formats (BAM/SAM) and outputs in variant call format -(VCF 4.0) for easy integration with other next generation sequencing analysis -package.") - (license license:gpl3+))) - (define boost-delly (package (inherit boost) (name "boost-delly") @@ -164,3931 +110,6 @@ package.") (base32 "0rs94vdmg34bwwj23fllva6mhrml2i7mvmlb11zyrk1k5818q34i")))))) -(define-public delly - (package - (name "delly") - (version "0.7.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/tobiasrausch/delly/archive/v" - version ".tar.gz")) - (sha256 - (base32 "173mmg43dbxqkyq0kiffz63xbmggr2kzd55mwxci9yfh5md1zprn")) - (patches (list (search-patch "delly-use-system-libraries.patch"))))) - (build-system gnu-build-system) - (native-inputs - `(("python" ,python-2))) - (inputs - `(("boost" ,boost-delly) ; Use version 1.57.0 instead. - ("htslib" ,htslib) - ("zlib" ,zlib) - ("bzip2" ,bzip2))) - (arguments - `(#:tests? #f ; There are no tests to run. - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - (replace 'install - (lambda _ - (let ((bin (string-append (assoc-ref %outputs "out") "/bin"))) - (install-file "src/cov" bin) - (install-file "src/delly" bin) - (install-file "src/extract" bin) - (install-file "src/iover" bin) - (install-file "src/stats" bin))))))) - (home-page "https://github.com/tobiasrausch/delly") - (synopsis "Integrated structural variant prediction method") - (description "Delly is an integrated structural variant prediction method -that can discover and genotype deletions, tandem duplications, inversions and -translocations at single-nucleotide resolution in short-read massively parallel -sequencing data. It uses paired-ends and split-reads to sensitively and -accurately delineate genomic rearrangements throughout the genome. Structural -variants can be visualized using Delly-maze and Delly-suave.") - (license license:gpl3))) - -(define-public wfmash-x86-64-v2 - (package/inherit wfmash - (name "wfmash-x86-64-v2") - (arguments - (substitute-keyword-arguments (package-arguments wfmash) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v2" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v2" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v2")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-binary - (lambda _ - (delete-file-recursively (string-append #$output "/bin")))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t))))) - -(define-public wfmash-x86-64-v3 - (package/inherit wfmash - (name "wfmash-x86-64-v3") - (arguments - (substitute-keyword-arguments (package-arguments wfmash) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v3" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v3" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v3")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-binary - (lambda _ - (delete-file-recursively (string-append #$output "/bin")))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t))))) - -(define-public wfmash-x86-64-v4 - (package/inherit wfmash - (name "wfmash-x86-64-v4") - (arguments - (substitute-keyword-arguments (package-arguments wfmash) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v4" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v4" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v4")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-binary - (lambda _ - (delete-file-recursively (string-append #$output "/bin")))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t))))) - -;; This copy of wfmash will automatically use the libraries that target the -;; x86_64 psABI which the hardware supports. -(define-public wfmash-hwcaps - (package/inherit wfmash - (name "wfmash-hwcaps") - (arguments - (substitute-keyword-arguments (package-arguments wfmash) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'install-optimized-libraries - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((hwcaps "/lib/glibc-hwcaps")) - (copy-recursively - (string-append (assoc-ref inputs "wfmash-x86-64-v2") - hwcaps "/x86-64-v2") - (string-append #$output hwcaps "/x86-64-v2")) - (copy-recursively - (string-append (assoc-ref inputs "wfmash-x86-64-v3") - hwcaps "/x86-64-v3") - (string-append #$output hwcaps "/x86-64-v3")) - (copy-recursively - (string-append (assoc-ref inputs "wfmash-x86-64-v4") - hwcaps "/x86-64-v4") - (string-append #$output hwcaps "/x86-64-v4"))))))))) - (native-inputs - (modify-inputs (package-native-inputs wfmash) - (append wfmash-x86-64-v2 - wfmash-x86-64-v3 - wfmash-x86-64-v4))) - (properties `((tunable? . #f))))) - -(define-public freec - (package - (name "control-freec") - (version "8.7") - (source (origin - (method url-fetch) - (uri "http://bioinfo-out.curie.fr/projects/freec/src/FREEC_Linux64.tar.gz") - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "12sl7gxbklhvv0687qjhml1z4lwpcn159zcyxvawvclsrzqjmv0h")))) - (build-system gnu-build-system) - ;; The source code's filename indicates only a 64-bit Linux build. - ;; We need to investigate whether this is true. - (supported-systems '("x86_64-linux")) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; There's no configure phase because there are no external - ;; dependencies. - (delete 'configure) - ;; There are no tests. - (delete 'check) - (replace - 'unpack - (lambda* (#:key source #:allow-other-keys) - (and - (zero? (system* "mkdir" "source")) - (with-directory-excursion "source" - (zero? (system* "tar" "xvf" source)))))) - (replace - 'build - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "source" - (zero? (system* "make"))))) - (replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "source/freec" bin))))))) - (home-page "http://bioinfo-out.curie.fr/projects/freec/") - (synopsis "Tool for detection of copy-number changes and allelic imbalances -(including LOH) using deep-sequencing data") - (description "Control-FREEC automatically computes, normalizes, segments -copy number and beta allele frequency (BAF) profiles, then calls copy number -alterations and LOH. The control (matched normal) sample is optional for whole -genome sequencing data but mandatory for whole exome or targeted sequencing -data. For whole genome sequencing data analysis, the program can also use -mappability data (files created by GEM). ") - (license license:gpl2+))) - -(define-public plink2 - (package - (name "plink2") - (version "1.90b3") - (source - (origin - (method url-fetch) - ;; https://github.com/chrchang/plink-ng/archive/v1.90b3.tar.gz - (uri (string-append - "https://github.com/chrchang/plink-ng/archive/v" - version ".tar.gz")) - (sha256 - (base32 "03fzib1al5qkr9vxv63wxmv6y2pfb1rmir0h8jpi72r87hczqjig")) - (patches (list (search-patch "plink-ng-Makefile-zlib.patch"))))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ;no "check" target - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (zero? (system* "make" "-f" "Makefile.std")) - )) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") - "/bin/"))) - (install-file "plink2" bin) - #t)))))) - (inputs - `(("zlib" ,zlib) - ("openblas" ,openblas) - ;; ("atlas" ,atlas) - ;; ("lapack" ,lapack) - ("gfortran" ,gfortran) - )) - (native-inputs - `(("unzip" ,unzip))) - (home-page "https://www.cog-genomics.org/plink2") - (synopsis "Whole genome association analysis toolset") - (description - "PLINK is a whole genome association analysis toolset, designed to -perform a range of basic, large-scale analyses in a computationally efficient -manner. The focus of PLINK is purely on analysis of genotype/phenotype data, -so there is no support for steps prior to this (e.g. study design and -planning, generating genotype or CNV calls from raw data). Through -integration with gPLINK and Haploview, there is some support for the -subsequent visualization, annotation and storage of results.") - ;; Code is released under GPLv2, except for fisher.h, which is under - ;; LGPLv2.1+ - (license (list license:gpl2 license:lgpl2.1+)))) - -(define-public plink-ng-gn - (let ((commit "5d1db4313ba0cc976562da233db4aced78975d10")) - (package - (name "plink-ng-gn") - (version (string-append "1.90b3-" commit )) ; Aug 11, 2016 - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/genenetwork/plink-ng.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "1366li3ks9076bblvd1rpzkjq4j8f8f08lhga4c1ckrkil3xww4m")))) - ;; no longer (patches (list (search-patch "plink-ng-Makefile-zlib-git.patch"))))) - (inputs - `(("zlib" ,zlib) - ("openblas" ,openblas) - ;; ("atlas" ,atlas) ; openblas replaces atlas - ("lapack" ,lapack) ; lapack is disabled in GUIX openblas - ;; ("gfortran" ,gfortran) - ;; ("python" ,python-2) ;; for tests - currently disabled - )) - (native-inputs - `(("unzip" ,unzip))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ;no "check" target. Some of the python-based tests fail - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (zero? (system* "make" "-f" "Makefile.guix")) - )) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") - "/bin/"))) - (install-file "plink2" bin) - #t)))))) - (home-page "https://www.cog-genomics.org/plink2") - (synopsis "Whole genome association analysis toolset") - (description - "PLINK is a whole genome association analysis toolset, designed to -perform a range of basic, large-scale analyses in a computationally efficient -manner. The focus of PLINK is purely on analysis of genotype/phenotype data, -so there is no support for steps prior to this (e.g. study design and -planning, generating genotype or CNV calls from raw data). Through -integration with gPLINK and Haploview, there is some support for the -subsequent visualization, annotation and storage of results.") - (license license:gpl3+)))) - -(define-public pindel - (package - (name "pindel") - (version "0.2.5b8") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/genome/pindel.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "16a32fbgv1n58nfcxa1nyphrdrad80sgpinfa9p028n6plwycpww")))) - (build-system gnu-build-system) - (inputs - `(("samtools" ,samtools) - ("htslib" ,htslib) - ("zlib" ,zlib))) - (native-inputs - `(("cppcheck" ,cppcheck) - ("python" ,python-2) - ("perl" ,perl))) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - ;; The build phase needs to run 'make' twice for the reasons described - ;; below. - (replace 'build - (lambda* (#:key inputs #:allow-other-keys) - ;; The first run creates a Makefile.local file. Make will report - ;; the failure to find Makefile.local, but we can ignore this error. - (system* "make" (string-append "SAMTOOLS=" (assoc-ref inputs "samtools"))) - ;; The second run actually compiles the program. Now Makefile.local - ;; is available, and we should treat an exiting make with an error as - ;; a true error. - (invoke "make"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "src/pindel" bin) - (install-file "src/pindel2vcf" bin) - (install-file "src/pindel2vcf4tcga" bin) - (install-file "src/sam2pindel" bin)))) - ;; There are multiple test targets, so in order to run all - ;; tests, we must run the separate make targets. - (replace 'check - (lambda _ - (for-each (lambda (target) - (invoke "make" target)) - '("acceptance-tests" "coverage-tests" "cppcheck" - "functional-tests" "regression-tests"))))))) - (home-page "https://github.com/genome/pindel") - (synopsis "Structural variants detector for next-gen sequencing data") - (description "Pindel can detect breakpoints of large deletions, medium sized -insertions, inversions, tandem duplications and other structural variants at -single-based resolution from next-gen sequence data. It uses a pattern growth -approach to identify the breakpoints of these variants from paired-end short -reads.") - (license license:gpl3+))) - -(define-public varscan - (package - (name "varscan") - (version "2.4.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/dkoboldt/varscan/releases/download/v" - version "/VarScan.v" version ".source.jar")) - (sha256 - (base32 "0y45ympkza7qwcbcisg006286pwjbr5978n03hx5nvl09f0mapk8")))) - (build-system ant-build-system) - (arguments - `(#:tests? #f ; build.xml does not exist - #:phases - (modify-phases %standard-phases - (replace 'unpack - (lambda _ - (mkdir "source") - (chdir "source") - ;; Unpack the Java archive containing the source files. - (invoke "jar" "xf" (assoc-ref %build-inputs "source")) - ;; Remove existing compiled output. - (with-directory-excursion "net/sf/varscan/" - (for-each (lambda (file) - (delete-file file)) - (find-files "." "^.java$" #:directories? #f))) - #t)) - (replace 'build - (lambda _ - ;; Compile the source files. - (with-directory-excursion "net/sf/varscan/" - (for-each (lambda (file) - (invoke "javac" file)) - (find-files "." ".java$" #:directories? #f))) - ;; Construct the new Java archive. - (apply invoke "jar" "cfm" - (string-append "varscan-" ,version ".jar") - "META-INF/MANIFEST.MF" - (find-files "net/sf/varscan" ".java$")))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (string-append (assoc-ref outputs "out") - "/share/java/varscan/"))) - (install-file (string-append "varscan-" ,version ".jar") out)) - #t))))) - (home-page "https://dkoboldt.github.io/varscan/") - (synopsis "Variant detection in massively parallel sequencing data") - (description "Variant detection in massively parallel sequencing data.") - ;; Free for non-commercial use by academic, government, and - ;; non-profit/not-for-profit institutions - (license (license:non-copyleft "file:///LICENSE")))) - -(define-public edirect-gn - (deprecated-package "edirect-gn" edirect)) - -(define-public gfaffix - (package - (name "gfaffix") - (version "0.2.1") - (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 "0yn8i70ww3x544qm4fwr33vklsxf3fvivpfpv46prkfz9hsmd9ps")))) - (build-system cargo-build-system) - (arguments - `(#:install-source? #f)) - (inputs (cargo-inputs 'gfaffix - #:module '(gn packages rust-crates))) - (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))) - -(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 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 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")) - (package - (name "gafpack") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ekg/gafpack") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0di2psh0ls7jlbnqs7k71p55f73pn23a09k1h3ril7gwjcrzr3rk")))) - (build-system cargo-build-system) - (arguments - `(#:install-source? #f - #:cargo-inputs - (("rust-clap" ,rust-clap-4) - ("rust-gfa" ,rust-gfa-0.10)))) - (home-page "https://github.com/ekg/gafpack") - (synopsis "Convert variation graph alignments to coverage maps over nodes") - (description - "Gafpack converts alignments to pangenome variation graphs to coverage -maps useful in haplotype-based genotyping.") - (license license:expat)))) - -(define-public agc-for-pgr-tk - (let ((commit "453c0afdc54b4aa00fa8e97a63f196931fdb81c4") ; April 26, 2022 - (revision "1")) - (package - (name "agc") - (version (git-version "2.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cschin/agc") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1v5s79rl38dcyy5h1lykbp6clcbqq9winn533j54y49q1jp8chix")) - (snippet - #~(begin - (use-modules (guix build utils)) - ;; Copy the two radul files we can't find a replacement for: - ;; https://github.com/refresh-bio/RADULS - (mkdir "keep-libs") - (rename-file "libs/raduls.h" "keep-libs/raduls.h") - (rename-file "libs/libraduls.a" "keep-libs/libraduls.a") - (delete-file-recursively "libs") - (rename-file "keep-libs" "libs") - - (delete-file-recursively "py_agc_api/pybind11-2.8.1") - (substitute* '("makefile" "makefile.release") - (("-mavx") "") - (("-m64") "") - (("\\$\\(AGC_LIBS_DIR)\\/mimalloc/\\$\\(LIB_ALLOC\\)") - "$(pkg-config --cflags --libs mimalloc) /usr/lib/libmimalloc.so") - (("\\$\\(AGC_LIBS_DIR)\\/\\$\\(LIB_ZLIB\\)") - "$(pkg-config --cflags --libs zlib) /usr/lib/libz.so") - (("\\$\\(AGC_LIBS_DIR)\\/\\$\\(LIB_ZSTD\\)") - "$(pkg-config --cflags --libs libzstd) /usr/lib/libzstd.so") - (("^PYBIND11_LIB = .*") "PYBIND11_LIB = /usr/include/pybind11") - (("\\$\\(PYBIND11_LIB\\)/include") "$(PYBIND11_LIB)")) - (substitute* (find-files "src" "\\.(h|cpp)$") - (("../../libs/ketopt.h") "ketopt.h") - (("../../libs/zlib.h") "zlib.h") - (("../../libs/zstd.h") "zstd.h")))))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; No tests. - #:phases - (modify-phases %standard-phases - (delete 'configure) ; No configure script. - (add-after 'unpack 'adjust-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((mimalloc (assoc-ref inputs "mimalloc"))) - (substitute* '("makefile" "makefile.release") - (("/usr/include/pybind11") - (search-input-directory inputs "/include/pybind11")) - (("/usr/lib/libmimalloc.so") - (search-input-file inputs "/lib/libmimalloc.so")) - (("/usr/lib/libz.so") - (search-input-file inputs "/lib/libz.so")) - (("/usr/lib/libzstd.so") - (search-input-file inputs "/lib/libzstd.so")) - (("pkg-config") ,(pkg-config-for-target)))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (include (string-append out "/include/"))) - (install-file "agc" (string-append out "/bin")) - (install-file "libagc.so" (string-append out "/lib")) - (mkdir-p (string-append include "app")) - (mkdir-p (string-append include "core")) - (mkdir-p (string-append include "lib-cxx")) - (with-directory-excursion "src" - (for-each - (lambda (file) - (copy-file file (string-append include file))) - (find-files "." "\\.h$"))))))))) - (native-inputs - (list minimap2 ; for ketopt.h - pkg-config)) - (inputs - (list mimalloc - python - pybind11 - zlib - (list zstd "lib"))) - (home-page "https://github.com/cschin/agc") - (synopsis "Assembled Genomes Compressor") - (description - "@acronym{Assembled Genomes Compressor, AGC} is a tool designed to -compress collections of de-novo assembled genomes. It can be used for various -types of datasets: short genomes (viruses) as well as long (humans).") - (license license:expat)))) - -(define-public pgr-tk - (package - (name "pgr-tk") - (version "0.3.6") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Sema4-Research/pgr-tk") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0vm1k63v91zd0pfbg2zmwskajylz8xg83m63qxwaiwny5f4y6f1j")) - (snippet - #~(begin - (use-modules (guix build utils)) - (substitute* (find-files "." "Cargo.toml") - ;; Only use the major+minor version to decrease the number of - ;; special version crates. - (("(.*= \")([[:digit:]]+\\.[[:digit:]]+)\\.[[:digit:]]+(\".*)" - _ name version tail) - (string-append name version tail)) - ;; Then fix the version string for the actual package. - (("^version = \".*") - (string-append "version = \"" #$version "\"\n"))))))) - (build-system cargo-build-system) - (arguments - `(#:install-source? #f - #:cargo-test-flags - (list "--release" "--" - "--skip=get_aln_segements" - "--skip=get_shmmr_dots" - "--skip=AGCFile" - "--skip=SeqIndexDB") - #:cargo-inputs - (("rust-bindgen" ,rust-bindgen-0.58) - ("rust-bgzip" ,rust-bgzip-0.2) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-clap" ,rust-clap-3) - ("rust-cuckoofilter" ,rust-cuckoofilter-0.5) - ("rust-flate2" ,rust-flate2-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-petgraph" ,rust-petgraph-0.6) - ("rust-pyo3" ,rust-pyo3-0.14) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-rustc-hash" ,rust-rustc-hash-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-simple-logger" ,rust-simple-logger-1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'insert-wfa-source - (lambda* (#:key inputs #:allow-other-keys) - (copy-recursively (assoc-ref inputs "wfa-src") - "rs-wfa/WFA"))) - (add-after 'unpack 'adjust-source - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("pgr-bin/build.rs" - "pgr-db/build.rs" - "pgr-tk/build.rs") - (("git") "ls") - (("bioconda") "Guix")) - ;; Build with zlib, not zlib-ng - (substitute* '("pgr-bin/Cargo.toml" - "pgr-db/Cargo.toml") - (("zlib-ng-compat") "zlib")) - ;; Don't look for agc to be bundled. - (substitute* "pgr-db/wrapper.h" - (("../agc/src/lib-cxx/agc-api.h") "lib-cxx/agc-api.h")) - (substitute* "pgr-db/build.rs" - ((".*panic!\\(\"Error.*") "")) - (mkdir-p "target/release") - (symlink (search-input-file inputs "/bin/agc") - "target/release/agc") - (symlink (search-input-file inputs "/lib/libagc.so") - "target/release/libagc"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion "target/release" - (install-file "libpgrtk.so" (string-append out "/lib")) - (for-each - (lambda (file) - (install-file file (string-append out "/bin"))) - (list "pgr-filter" - "pgr-mdb" - "pgr-multifilter" - "pgr-probe-match" - "pgr-shmmr-pair-count"))))))))) - (inputs - (list agc-for-pgr-tk - clang - python - zlib - (list zstd "lib"))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("wfa-src" - ,(origin - (method git-fetch) - (uri (git-reference - ;; forPYO3 branch, 14-03-2021 - (url "https://github.com/cschin/WFA") - (commit "1f8c8d2905ed482cd2d306a1676d60c2a45cb098"))) - (file-name "wfa-for-pgr-tk") - (sha256 - (base32 "19h1cjp2bdlcfq5c6rsbk8bc0f8zn64b471dhj4xlfxd1prv2dpk")))))) - (home-page "https://github.com/Sema4-Research/pgr-tk") - (synopsis "Pangenome Research Tool Kit") - (description - "PGR-TK provides pangenome assembly management, query and -@acronym{Minimizer Anchored Pangenome, MAP} Graph Generation. It is a project -to provide Python and Rust libraries to facilitate pangenomics analysis. -Several algorithms and data structures used for the Peregrine Genome Assembler -are useful for Pangenomics analysis as well. This repo takes those algorithms -and data structure, combining other handy 3rd party tools to expose them as a -library in Python (with Rust code for those computing parts that need -performance.)") - (license (license:non-copyleft - "file:///LICENSE" - "CC-BY-NC-SA 4.0")))) - -(define-public graph-genotyper - (let ((commit "e7cc6b43a5b1f389d76bf9aac7f2ee02f92caeaf") ; October 17, 2022 - (revision "13")) - (package - (name "graph-genotyper") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/davidebolo1993/graph_genotyper") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1l8yjpkqamiqr1q5i7vr5z04aba7skpbcwyc9dx5fiklvljjfhcx")))) - (build-system copy-build-system) - (arguments - `(#:install-plan - '(("genotype.py" "bin/") - ("genotype.sh" "bin/")) - #:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-genotype - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-script (string-append out "/bin/genotype.sh") - `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) - `("PATH" ":" prefix - ,(map (lambda (file-name) - (string-append (assoc-ref inputs file-name) "/bin")) - (list "gafpack" - "odgi" - "python" - "samtools" - "vg")))))))))) - (inputs - (list gafpack - guile-3.0 - odgi - python - python-numpy - python-pandas - python-scipy - samtools - vg)) - (home-page "https://bitbucket.org/jana_ebler") - (synopsis "Genotyping based on k-mers and pangenome graphs") - (description - "This package provides a genotyper for various types of genetic variants -(such as SNPs, indels and structural variants). Genotypes are computed based on -read k-mer counts and a panel of known haplotypes. A description of the method -can be found @url{https://www.biorxiv.org/content/10.1101/2020.11.11.378133v1, -here}.") - (license (license:non-copyleft - "No license listed"))))) - -(define-public pangenie - (let ((commit "e779076827022d1416ab9fabf99a03d8f4725956") ; September 2, 2021 from phasing-tests branch - (revision "2")) - (package - (name "pangenie") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://bitbucket.org/jana_ebler/pangenie.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1mphrvidaz328kcwrjgz8q5i4iwnz6ygl6279lm2acv4zgqhmp5i")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags (list (string-append "-DCMAKE_BUILD_RPATH=" - (assoc-ref %outputs "out") "/lib")) - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "make" "-C" "tests")) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion "src" - (install-file "PanGenie" (string-append out "/bin")) - (install-file "PanGenie-graph" (string-append out "/bin")) - (install-file "libPanGenieLib.so" (string-append out "/lib")) - ) - #t)))))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("jellyfish" ,jellyfish))) - (home-page "https://bitbucket.org/jana_ebler") - (synopsis "Genotyping based on k-mers and pangenome graphs") - (description - "This package provides a genotyper for various types of genetic variants -(such as SNPs, indels and structural variants). Genotypes are computed based on -read k-mer counts and a panel of known haplotypes. A description of the method -can be found @url{https://www.biorxiv.org/content/10.1101/2020.11.11.378133v1, -here}.") - (license license:expat)))) - -(define-public pbsim2 - (let ((commit "e71f7892aea0bd3c963b4f1f5628db4f830ee475") ; Dec 2, 2020 - (revision "1")) - (package - (name "pbsim2") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/yukiteruono/pbsim2") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "13d3mhdp3rs58w14j9a5sbda4q8k9vzic7rgfa8223m7cm5ih6y7")))) - (build-system gnu-build-system) - (home-page "https://github.com/yukiteruono/pbsim2") - (synopsis "Simulator for long read sequencers") - (description "PBSIM simulates @acronym{Continuous Long Reads, CLRs} of -PacBio, and Nanopore reads. In it sampling-based and model-based simulations -are implemented.") - (license license:gpl2)))) - -(define-public pirs - (let ((commit "bee9b594f4d0e10580aae77ec411cecec4a77219") ; Sept 7, 2017 - (revision "1")) - (package - (name "pirs") - (version (git-version "2.0.2" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/galaxy001/pirs") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0pn74h98cqcr5qayp4riss982n4272p35y5dp472cmqpwjjil9cd")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags (list "--enable-pirs-diploid" - ;; TODO: Enable after core-updates merge, late 2021. - ;,@(if (not (or (target-x86-64?) - ; (target-x86-32?))) - ; `("--disable-sse2") - ; '()) - ) - #:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'chdir - (lambda _ - (chdir "src"))) - (add-after 'unpack 'patch-source - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "src/configure.ac" - (("ssse2") "sse2")) - (substitute* "src/stator/gcContCvgBias/Makefile" - (("gzstream.o ") "") - (("-lz")"-lgzstream -lz") - (("-static") "") - (("-mtune=generic") "")) - (substitute* "src/pirs/gccMakefile" - (("/usr/local") out))))) - (replace 'check - (lambda* (#:key tests? test-target #:allow-other-keys #:rest args) - (when tests? - (apply (assoc-ref %standard-phases 'check) args) - (with-directory-excursion "stator/gcContCvgBias" - ; ((assoc-ref %standard-phases 'check) - ; #:test-target "test" args)) - (invoke "make" "test"))))) - (add-after 'build 'build-more - (lambda* (#:key #:allow-other-keys #:rest args) - (with-directory-excursion "stator/gcContCvgBias" - (apply (assoc-ref %standard-phases 'build) args)))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys #:rest args) - (let ((out (assoc-ref outputs "out"))) - (apply (assoc-ref %standard-phases 'install) args) - (with-directory-excursion "stator/gcContCvgBias" - ;(apply (assoc-ref %standard-phases 'install) args) - (install-file "gc_coverage_bias" (string-append out "/bin"))))))))) - (inputs - `(("gnuplot" ,gnuplot) - ("perl" ,perl) - ("zlib" ,zlib))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("boost" ,boost) - ("gzstream" ,gzstream) - ("libtool" ,libtool))) - (home-page "https://github.com/galaxy001/pirs") - (synopsis "Profile based Illumina pair-end Reads Simulator") - (description "@code{pIRS} is a program for simulating paired-end reads -from a reference genome. It is optimized for simulating reads similar to those -generated from the Illumina platform.") - (license license:gpl2)))) - -;; TODO: Unbundle zlib, bamtools, tclap -(define-public sniffles - (package - (name "sniffles") - (version "1.0.11") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fritzsedlazeck/Sniffles.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0rkwqn1ycckfzrg2wdid4cqahq8q2jmmgi7vvl8qxgpsihqfbq0j")))) - (build-system cmake-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file (string-append "../source/bin/sniffles-core-" - ,version "/sniffles") - (string-append out "/bin"))) - #t)) - (replace 'check - (lambda _ - (with-directory-excursion "../source/test_set" - (for-each make-file-writable (find-files ".")) - (invoke (string-append "../bin/sniffles-core-" ,version "/sniffles") - "-m" "reads_region.bam" "-v" "test.vcf"))))))) - (native-inputs - `(("zlib" ,zlib))) - (home-page "https://github.com/fritzsedlazeck/Sniffles") - (synopsis "Structural variation caller using third generation sequencing") - (description - "Sniffles is a structural variation caller using third generation sequencing -(PacBio or Oxford Nanopore). It detects all types of SVs (10bp+) using evidence -from split-read alignments, high-mismatch regions, and coverage analysis.") - (license license:expat))) - -;; TODO: Unbundle Complete-Striped-Smith-Waterman-Library -(define-public ngmlr - (package - (name "ngmlr") - (version "0.2.7") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/philres/ngmlr.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0lmsy8w0kxbyfnrln7lxgmnx3d82sv2b20n2yw5742rvfhq1v31n")))) - (build-system cmake-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'patch-source-shebangs 'patch-more-tools - (lambda* (#:key inputs #:allow-other-keys) - (let ((bed (assoc-ref inputs "bedtools")) - (sam (assoc-ref inputs "samtools"))) - (substitute* (find-files "test" "\\.sh$") - (("bedtools") (string-append bed "/bin/bedtools")) - (("samtools") (string-append sam "/bin/samtools"))) - #t))) - (replace 'check - (lambda _ - (with-directory-excursion "../source" - (invoke "sh" "test/test_travis.sh"))))))) - (native-inputs - `(("bedtools" ,bedtools) - ("samtools" ,samtools))) - (inputs - `(("zlib" ,zlib))) - (home-page "https://github.com/philres/ngmlr") - (synopsis "Long-read mapper designed to align PacBio or Oxford Nanopore") - (description - "NGMLR is a long-read mapper designed to align PacBio or Oxford Nanopore -(standard and ultra-long) to a reference genome with a focus on reads that span -structural variations.") - (license license:expat))) - -(define-public svim - (package - (name "svim") - (version "1.2.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/eldariont/svim.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "08j02in9jbq41b67dna1apnc3y30i37v44d1khml1xlx0iga720s")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "python3" "-m" "unittest" "discover" "-s" "src/")))))) - (propagated-inputs - `(("python-matplotlib" ,python-matplotlib) - ("python-numpy" ,python-numpy) - ("python-pysam" ,python-pysam) - ("python-scipy" ,python-scipy) - ("minimap2" ,minimap2) - ("ngmlr" ,ngmlr) - ("samtools" ,samtools))) - (home-page "https://github.com/eldariont/svim") - (synopsis "Structural Variant Identification Method using Long Reads") - (description - "SVIM (pronounced SWIM) is a structural variant caller for long reads. It -is able to detect, classify and genotype five different classes of structural -variants. Unlike existing methods, SVIM integrates information from across the -genome to precisely distinguish similar events, such as tandem and interspersed -duplications and novel element insertions.") - (license license:gpl3))) - -(define-public bamaddrg - (let ((commit "3fccbf057eef21f6304fade6c306c5bb64158865") ; May 26, 2012 - (revision "1")) - (package - (name "bamaddrg") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ekg/bamaddrg.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "14hq66cc7f4cssagb6079fmd2i6hfr9vmpcw5vi5kzsqr3ifc5yk")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (delete 'configure) - ;; The Makefile wants to vendor bamtools' source so we mimic it. - (replace 'build - (lambda* (#:key inputs #:allow-other-keys) - (let ((bam (assoc-ref inputs "bamtools"))) - (apply invoke - `("g++" "-O3" - ,(string-append "-I" bam "/include/bamtools") - ,(string-append "-L" bam "/lib/libbamtools.a") - "bamaddrg.cpp" "-o" "bamaddrg" "-lbamtools" "-lz"))) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "bamaddrg" bin) - #t)))))) - (native-inputs - `(("bamtools" ,bamtools))) - (inputs - `(("zlib" ,zlib))) - (home-page "https://github.com/ekg/bamaddrg") - (synopsis "Adds read groups to input BAM files, streams BAM output on stdout") - (description - "This is intended for use \"fixing up\" RG tags on the fly so that they -reflect the source file from which the aligment originated from. This allows -the \"safe\" merging of many files from many individuals into one stream, -suitable for input into downstream processing systems such as freebayes ( -population variant detector).") - (license #f)))) ; no license listed - -(define-public qctool - (let ((changeset "73662f5f6e1e6efe75796bc64e342fb5d5d35e54") ; May 30, 2019 - (revision "1")) - (package - (name "qctool") - (version (string-append "2.0.5-" revision "." (string-take changeset 7))) - (source - (origin - (method hg-fetch) - (uri (hg-reference - (url "https://bitbucket.org/gavinband/qctool") - (changeset changeset))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 "0lcir6jdw1gsi1l0yrsyqgrb8dryxxw3gyncfx5bx34qbhd6f5dv")))) - (build-system waf-build-system) - (arguments - `(#:python ,python-2 - #:tests? #f ; no check command - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'rename-waf - (lambda _ - (rename-file "waf-1.5.18" "waf") - #t))))) - (native-inputs - `(("readline" ,readline) - ("zlib" ,zlib))) - (inputs - `(("lapack" ,lapack) - ("openblas" ,openblas))) - (home-page "https://www.well.ox.ac.uk/~gav/qctool_v2/") - (synopsis "Quality control and analysis of gwas datasets") - (description - "QCTOOL is a command-line utility program for manipulation and quality -control of gwas datasets and other genome-wide data. QCTOOL can be used -@enumerate -@item To compute per-variant and per-sample QC metrics. -@item To filter out samples or variants. -@item To merge datasets in various ways. -@item To convert dataset between file formats. (In particular QCTOOL can read -and write BGEN files, including full support for the BGEN v1.2 format that has -been used for the UK Biobank imputed data full release). -@item To manipulate datasets in various ways - e.g. by updating data fields or -aligning alleles to a reference sequence based on information in a strand file. -@item To annotate variants with information from BED files, sequence from FASTA -files, or with genetic map positions. -@item To compute LD metrics between variants. -@item To compare genotypes for individuals typed or imputed or phased in -different datasets. -@item To compute between-sample relatedness and principal components. -@item To compute 'genetic risk predictor' scores. -@end enumerate") - (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"))))) - -(define-public rn6-assembly-error-app - (package - (name "rn6-assembly-error-app") - (version "0.12") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/chen42/rn6_assembly_error_app.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ilmn6w0l17041dlizf4dy4pqn26k7956k7fjx4fvssb525g4gi6")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (targetdir (string-append out "/share/" ,name)) - (app (string-append out "/bin/" ,name)) - (Rbin (string-append (assoc-ref %build-inputs "r-min") - "/bin/Rscript")) - (convert (string-append (assoc-ref %build-inputs "imagemagick") - "/bin/convert")) - (cp (string-append (assoc-ref %build-inputs "coreutils") - "/bin/cp")) - (source (assoc-ref %build-inputs "source"))) - (copy-recursively source targetdir) - (substitute* (string-append targetdir "/server.r") - ;; This version is ideal for deploying with the included PNGs. - ;; But we want all of them, so we use a local copy in shepherd's $HOME. - ;;(("./pngs") (string-append targetdir "/pngs")) - (("./pngs") "/home/shepherd/rn6app/pngs") - (("cp") cp) - (("convert") convert)) - (mkdir-p (string-append out "/bin")) - (call-with-output-file app - (lambda (port) - (format port -"#!~a -library(shiny) -setwd(\"~a\") -runApp(launch.browser=0, port=4202)~%\n" - Rbin targetdir))) - (chmod app #o555) - #t)))) - (native-inputs `(("source" ,source))) - (inputs - `(("coreutils" ,coreutils-minimal) - ("imagemagick" ,imagemagick) - ("r-min" ,r-minimal))) - (propagated-inputs - `(("freetype" ,freetype) - ("r" ,r) - ("r-ggplot2" ,r-ggplot2) - ("r-shiny" ,r-shiny))) - (home-page "http://rn6err.opar.io/") - (synopsis "Display potential assembly errors in rn6") - (description - "Display potential assembly errors in rn6.") - (license license:expat))) - -(define-public bxd-power-calculator-app - (let ((commit "7cdd73daa9a7aa79af1de04dc314c325f9706fb8") - (revision "1")) - (package - (name "bxd-power-calculator-app") - (version (git-version "0.7" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Dashbrook/BXD_power_calculator_app/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0vdfilzy78jalkh9w9xxvarnzgnlaz943crmhlds8bcrvwbmf6yh")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (targetdir (string-append out "/share/" ,name)) - (app (string-append out "/bin/" ,name)) - (Rbin (string-append (assoc-ref %build-inputs "r-min") - "/bin/Rscript")) - (datasets (assoc-ref %build-inputs "datasets")) - (source (assoc-ref %build-inputs "source"))) - (copy-recursively source targetdir) - (mkdir-p (string-append out "/bin")) - (call-with-output-file app - (lambda (port) - (format port -"#!~a -library(shiny) -setwd(\"~a\") -runApp(launch.browser=0, port=3978)~%\n" - Rbin targetdir))) - (chmod app #o555) - (substitute* (string-append targetdir "/server.R") - (("read.csv.*") - (string-append "read.csv(url(\"file://" datasets "\"), header = TRUE)\n"))) - #t)))) - (native-inputs `(("source" ,source))) - (propagated-inputs - `(("r" ,r) - ("r-data-table" ,r-data-table) - ("r-dt" ,r-dt) - ("r-dplyr" ,r-dplyr) - ("r-ggplot2" ,r-ggplot2) - ("r-rcolorbrewer" ,r-rcolorbrewer) - ("r-shiny" ,r-shiny))) - (inputs - `(("r-min" ,r-minimal) - ;; Also available from ipfs - ;; ipfs get Qma3LWJBoks77btTmp6rn6jGSBcuBoPgcPCmofY2RRKEKf - ("datasets" ,(origin - (method url-fetch) - (uri "https://web.archive.org/web/20191016132922/http://individual.utoronto.ca/D_Ashbrook/Effect_size_analysis_heritability_28th_Nov_2018_recalc.csv") - (sha256 - (base32 - "1ldr9infavd0vak8n8ry9smcnrir3xgs1bahmmx7n2csx4n6qx2x")))))) - (home-page "https://dashbrook1.shinyapps.io/bxd_power_calculator_app/") - (synopsis "Visualize probability (beta) of detecting a QTL") - (description - "The BXD power app seeks to provide a quick and easy graphical interface -for users to calculate the theortical power to detect an effect in a two parent -recombinant inbred population. A power calculator such as this is needed as all -grants require a calculation of the applications power to detect the effect of -interest, and this app can provide values and figures for applicants to use.") - (license license:gpl3)))) - -(define-public singlecellrshiny - (let ((commit "bdca74f4819d11e8fe7b15d9ab91b853f6542f7a") - (revision "3")) - (package - (name "singlecellrshiny") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/genenetwork/singleCellRshiny") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1rxj933s9p9r7358vnp15f7ag6c0j65r4hgr8kyirfhmp1i8xdlw")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (targetdir (string-append out "/share/" ,name)) - (app (string-append out "/bin/" ,name)) - (Rbin (string-append (assoc-ref %build-inputs "r-min") - "/bin/Rscript")) - (top1001 (assoc-ref %build-inputs "RobTop1001.csv")) - (celltypes (assoc-ref %build-inputs "CellTypes_RGC_Master_08Dec2018.csv")) - (800-H1 (assoc-ref %build-inputs "800-H1-H20-RNA-Seq.csv")) - (source (assoc-ref %build-inputs "source"))) - (copy-recursively source targetdir) - (substitute* (string-append targetdir "/app.R") - ;; As seen in https://github.com/genenetwork/singleCellRshiny/commit/6b2a344dd0d02f65228ad8c350bac0ced5850d05.patch - (("library\\(DT\\)") "library(DT)\nlibrary(multtest)")) - (substitute* (string-append targetdir "/global.R") - (("800-H1-H20-RNA-Seq-SingleCell-Retina-OMRF-03-29-19_FPKM_v2_SiamakPlay.csv") 800-H1) - (("CellTypes_RGC_Master_08Dec2018.csv") celltypes) - (("RobTop1001.csv") top1001) - ;; As seen in https://github.com/genenetwork/singleCellRshiny/commit/6b2a344dd0d02f65228ad8c350bac0ced5850d05.patch - (("dim\\(sc.object.1") "dim(sc.object")) - (mkdir-p (string-append out "/bin")) - (call-with-output-file app - (lambda (port) - (format port -"#!~a -library(shiny) -setwd(\"~a\") -runApp(launch.browser=0, port=4208)~%\n" - Rbin targetdir))) - (chmod app #o555) - #t)))) - (inputs - `(("r-min" ,r-minimal) - ("RobTop1001.csv" - ,(origin - (method url-fetch) - (uri "https://archive.org/download/celltypesrgcmaster08dec2018/RobTop1001.csv") - (file-name "RobTop1001.csv") - (sha256 - (base32 "0pa73kc1p8417sjvvvhp9xsbh2h8g7h85pnmm16mnv4wjalhq0gn")))) - ("CellTypes_RGC_Master_08Dec2018.csv" - ,(origin - (method url-fetch) - (uri "https://archive.org/download/celltypesrgcmaster08dec2018/CellTypes_RGC_Master_08Dec2018.csv") - (file-name "CellTypes_RGC_Master_08Dec2018.csv") - (sha256 - (base32 "0y411968np1f5g21iym9xc9yj5c1jsn94rpkwkxh9pw2z43gvghn")))) - ("800-H1-H20-RNA-Seq.csv" - ,(origin - (method url-fetch) - (uri "https://archive.org/download/celltypesrgcmaster08dec2018/800-H1-H20-RNA-Seq-SingleCell-Retina-OMRF-03-29-19_FPKM_v2_SiamakPlay.csv") - (file-name "800-H1-H20-RNA-Seq-SingleCell-Retina-OMRF-03-29-19_FPKM_v2_SiamakPlay.csv") - (sha256 - (base32 "1b1y4lfs8drypm04i1rypbmk67rdqgs27nfh05pwnv3sja2nanam")))))) - (propagated-inputs - `(("r" ,r) - ("r-dt" ,r-dt) - ("r-multtest" ,r-multtest) - ("r-seurat" ,r-seurat) - ("r-shiny" ,r-shiny))) - (home-page "http://singlecell.opar.io/") - (synopsis "RNA sequencing data analysis") - (description - "This is the R-Shiny programs to run some basic single cell RNA sequencing -(scRNA-seq) data analysis.") - (license license:agpl3)))) - -(define-public seqwish - (package - (name "seqwish") - (version "0.7.11") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ekg/seqwish.git") - (commit (string-append "v" version)) - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 "18wsrvqf0nsfk29v3ggdq2r4q15d4n4sq8v228qq1jsybbjlkgsa")) - (patches (search-patches "seqwish-paryfor-riscv.diff" - "seqwish-shared-library.diff")) - (snippet - #~(begin - (use-modules (guix build utils)) - (substitute* '("CMakeLists.txt" - "deps/atomic_queue/Makefile" - "deps/mmmulti/deps/DYNAMIC/CMakeLists.txt" - "deps/mmmulti/deps/atomic_queue/Makefile" - "deps/mmmulti/deps/ips4o/CMakeLists.txt") - (("-march=native") "") - (("-mcx16") "")) - (substitute* '("deps/mmmulti/deps/sdsl-lite/CMakeLists.txt" - "deps/sdsl-lite/CMakeLists.txt") - (("-msse4.2 -march=native") "")))))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - (cons* ,@(if (target-x86?) - ;; This is the minimum needed to compile on x86_64, and is a - ;; subset of any other optimizations which might be applied. - '("-DCMAKE_C_FLAGS=-mcx16" - "-DCMAKE_CXX_FLAGS=-mcx16") - '()) - '("-DSEQWISH_LINK_SHARED_LIBRARY=ON")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-version - (lambda _ - ;; This stashes the build version in the executable. - (mkdir "include") - (substitute* "CMakeLists.txt" - (("^execute_process") "#execute_process")) - (with-output-to-file "include/seqwish_git_version.hpp" - (lambda () - (format #t "#define SEQWISH_GIT_VERSION \"~a\"~%" ,version))))) - (add-after 'unpack 'link-with-some-shared-libraries - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("CMakeLists.txt" - "deps/mmmulti/CMakeLists.txt") - (("\".*libsdsl\\.a\"") "\"-lsdsl\"") - (("\".*libdivsufsort\\.a\"") "\"-ldivsufsort\"") - (("\".*libdivsufsort64\\.a\"") "\"-ldivsufsort64\"") - (("\\$\\{sdsl-lite_INCLUDE\\}") - (search-input-directory inputs "/include/sdsl")) - (("\\$\\{sdsl-lite-divsufsort_INCLUDE\\}") - (dirname - (search-input-file inputs "/include/divsufsort.h")))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - ;; Add seqwish to the PATH for the tests. - (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) - (when tests? - (with-directory-excursion "../source/test" - (invoke "make")))))))) - (inputs - (list jemalloc - libdivsufsort - openmpi - sdsl-lite - zlib)) - (native-inputs - (list perl)) - (home-page "https://github.com/ekg/seqwish") - (synopsis "Alignment to variation graph inducer") - (description "Seqwish implements a lossless conversion from pairwise -alignments between sequences to a variation graph encoding the sequences and -their alignments. As input we typically take all-versus-all alignments, but the -exact structure of the alignment set may be defined in an application specific -way. This algorithm uses a series of disk-backed sorts and passes over the -alignment and sequence inputs to allow the graph to be constructed from very -large inputs that are commonly encountered when working with large numbers of -noisy input sequences. Memory usage during construction and traversal is -limited by the use of sorted disk-backed arrays and succinct rank/select -dictionaries to record a queryable version of the graph.") - (properties `((tunable? . #t))) - (license license:expat))) - -(define-public seqwish-x86-64-v2 - (package/inherit seqwish - (name "seqwish-x86-64-v2") - (outputs '("out" "static")) - (arguments - (substitute-keyword-arguments (package-arguments seqwish) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v2" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v2" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v2")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-extra-files - (lambda _ - (delete-file-recursively (string-append #$output "/bin")))) - (add-after 'install 'move-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib "/lib/glibc-hwcaps/x86-64-v2/libseqwish.a")) - (mkdir-p (dirname (string-append #$output:static lib))) - (rename-file (string-append #$output lib) - (string-append #$output:static lib))))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t) - (tunable? . #f))))) - -(define-public seqwish-x86-64-v3 - (package/inherit seqwish - (name "seqwish-x86-64-v3") - (outputs '("out" "static")) - (arguments - (substitute-keyword-arguments (package-arguments seqwish) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v3" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v3" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v3")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-extra-files - (lambda _ - (delete-file-recursively (string-append #$output "/bin")))) - (add-after 'install 'move-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib "/lib/glibc-hwcaps/x86-64-v3/libseqwish.a")) - (mkdir-p (dirname (string-append #$output:static lib))) - (rename-file (string-append #$output lib) - (string-append #$output:static lib))))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t) - (tunable? . #f))))) - -(define-public seqwish-x86-64-v4 - (package/inherit seqwish - (name "seqwish-x86-64-v4") - (outputs '("out" "static")) - (arguments - (substitute-keyword-arguments (package-arguments seqwish) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v4" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v4" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v4")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-extra-files - (lambda _ - (delete-file-recursively (string-append #$output "/bin")))) - (add-after 'install 'move-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib "/lib/glibc-hwcaps/x86-64-v4/libseqwish.a")) - (mkdir-p (dirname (string-append #$output:static lib))) - (rename-file (string-append #$output lib) - (string-append #$output:static lib))))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t) - (tunable? . #f))))) - -;; This copy of seqwish will automatically use the libraries that target the -;; x86_64 psABI which the hardware supports. -(define-public seqwish-hwcaps - (package/inherit seqwish - (name "seqwish-hwcaps") - (arguments - (substitute-keyword-arguments (package-arguments seqwish) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'install-optimized-libraries - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((hwcaps "/lib/glibc-hwcaps")) - (copy-recursively - (string-append (assoc-ref inputs "seqwish-x86-64-v2") - hwcaps "/x86-64-v2") - (string-append #$output hwcaps "/x86-64-v2")) - (copy-recursively - (string-append (assoc-ref inputs "seqwish-x86-64-v3") - hwcaps "/x86-64-v3") - (string-append #$output hwcaps "/x86-64-v3")) - (copy-recursively - (string-append (assoc-ref inputs "seqwish-x86-64-v4") - hwcaps "/x86-64-v4") - (string-append #$output hwcaps "/x86-64-v4"))))))))) - (native-inputs - (modify-inputs (package-native-inputs seqwish) - (append seqwish-x86-64-v2 - seqwish-x86-64-v3 - seqwish-x86-64-v4))) - (properties `((tunable? . #f))))) - -(define-public smoothxg - (package - (name "smoothxg") - (version "0.8.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/pangenome/smoothxg" - "/releases/download/v" version - "/smoothxg-v" version ".tar.gz")) - (sha256 - (base32 "1hqaa6l904zl01rsmw5vzx2kvcncl97i5kln850snywyv33skxp6")) - (snippet - #~(begin - (use-modules (guix build utils)) - (substitute* (find-files "." "CMakeLists.txt") - (("spoa_optimize_for_native ON") - "spoa_optimize_for_native OFF") - (("-msse4\\.2") "") - (("-march=native") "")))))) - (build-system cmake-build-system) - (arguments - (list - #:make-flags - #~(list (string-append "CC = " #$(cc-for-target))) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'link-with-some-shared-libraries - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("CMakeLists.txt" - "deps/mmmulti/CMakeLists.txt" - "deps/odgi/deps/mmmulti/CMakeLists.txt") - (("\".*libsdsl\\.a\"") "\"-lsdsl\"") - (("\".*libdivsufsort\\.a\"") "\"-ldivsufsort\"") - (("\".*libdivsufsort64\\.a\"") "\"-ldivsufsort64\"") - (("\".*libodgi\\.a\"") "\"-lodgi\"") - (("\\$\\{sdsl-lite_INCLUDE\\}") - (search-input-directory inputs "/include/sdsl")) - (("\\$\\{sdsl-lite-divsufsort_INCLUDE\\}") - (dirname - (search-input-file inputs "/include/divsufsort.h"))) - (("\\$\\{odgi_INCLUDE\\}") - (search-input-directory inputs "/include/odgi"))))) - (add-before 'build 'build-abPOA - (lambda* (#:key make-flags #:allow-other-keys) - ;; This helps with portability to other architectures. - (with-directory-excursion - (string-append "../smoothxg-v" #$version "/deps/abPOA") - (substitute* "Makefile" - (("-march=native") "") - (("-march=armv8-a\\+simd") "")) - (apply invoke "make" "libabpoa" make-flags))))))) - (inputs - (list jemalloc - libdivsufsort - odgi - openmpi - pybind11 - python - sdsl-lite - zlib - (list zstd "lib"))) - (native-inputs - (list pkg-config)) - (home-page "https://github.com/ekg/smoothxg") - (synopsis - "Linearize and simplify variation graphs using blocked partial order alignment") - (description "Pangenome graphs built from raw sets of alignments may have -complex local structures generated by common patterns of genome variation. -These local nonlinearities can introduce difficulty in downstream analyses, -visualization, and interpretation of variation graphs. - -@command{smoothxg} finds blocks of paths that are collinear within a variation -graph. It applies partial order alignment to each block, yielding an acyclic -variation graph. Then, to yield a smoothed graph, it walks the original paths -to lace these subgraphs together. The resulting graph only contains cyclic or -inverting structures larger than the chosen block size, and is otherwise -manifold linear. In addition to providing a linear structure to the graph, -smoothxg can be used to extract the consensus pangenome graph by applying the -heaviest bundle algorithm to each chain. - -To find blocks, smoothxg applies a greedy algorithm that assumes that the graph -nodes are sorted according to their occurence in the graph's embedded paths. -The path-guided stochastic gradient descent based 1D sort implemented in -@command{odgi sort -Y} is designed to provide this kind of sort.") - (properties `((tunable? . #t))) - (license license:expat))) - -;; TODO: Unbundle BBHash, parallel-hashmap, zstr -(define-public graphaligner - (package - (name "graphaligner") - (version "1.0.20") - (source (origin - (method url-fetch) - (uri "https://github.com/user-attachments/files/17976913/GraphAligner.tar.gz") - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1gs6jds4lazljb1s7s8f1vp0l4j8jvqy6qhb9sck7x66z8157ndm")))) - (build-system gnu-build-system) - (arguments - (list - #:tests? #f ; no tests - #:make-flags - #~(list (string-append "VERSION=" #$version)) - #:phases - #~(modify-phases %standard-phases - (delete 'configure) ; no configure phase - (add-after 'unpack 'patch-source - (lambda* (#:key inputs #:allow-other-keys) - (delete-file-recursively "concurrentqueue") - (substitute* "makefile" - (("-Iconcurrentqueue") - (string-append "-I" (search-input-directory inputs "/include/concurrentqueue"))) - (("^JEMALLOCFLAGS.*") - "JEMALLOCFLAGS= `pkg-config --libs jemalloc`\n") - (("`pkg-config --cflags zlib`/bamtools") - (string-append "-I " (search-input-directory inputs "include/bamtools"))) - ;; No need to build statically. - (("-Wl,-Bstatic") "") - (("-static-libstdc\\+\\+") "")))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (for-each - (lambda (program) - (install-file program (string-append out "/bin"))) - (find-files "bin")) - (for-each - (lambda (header) - (install-file header (string-append out "/include"))) - (find-files "src" "\\.h(pp)?$")))))))) - (native-inputs - (list (list jemalloc "bin") - pkg-config - sparsehash)) - (inputs - (list bamtools - boost - concurrentqueue - jemalloc - libdivsufsort - mummer - protobuf - sdsl-lite - zlib)) - (home-page "https://github.com/maickrau/GraphAligner") - (synopsis "Seed-and-extend program for aligning genome graphs") - (description "Seed-and-extend program for aligning long error-prone reads to -genome graphs. For a description of the bitvector alignment extension -algorithm, see -@url{https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btz162/5372677 -here}.") - (license license:expat))) - -(define-public mummer - (package - (name "mummer") - (version "4.0.1") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/mummer4/mummer/releases/" - "download/v" version "/mummer-" version ".tar.gz")) - (sha256 - (base32 "0gix9qay0bcv515q9xag9arhq3wal77vf5g5whiy7cm004ksw85w")))) - (build-system gnu-build-system) - (inputs - (list gnuplot - perl)) - (home-page "http://mummer.sourceforge.net/") - (synopsis "Efficient sequence alignment of full genomes") - (description "MUMmer is a versatil alignment tool for DNA and protein sequences.") - (license license:artistic2.0))) - -(define-public diagnostic-slider - (let ((commit "514d65d4982133e4869e578c5553fced4c6d506c") - (revision "1")) - (package - (name "diagnostic-slider") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/sens/diagnostic-slider") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "04g8if32g8syg6v0bd3jjn05i3d394nx8i3ccl0883p8mlmdvlmx")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (targetdir (string-append out "/share/" ,name)) - (app (string-append out "/bin/" ,name)) - (Rbin (string-append (assoc-ref %build-inputs "r-min") - "/bin/Rscript")) - (source (assoc-ref %build-inputs "source"))) - (copy-recursively source targetdir) - (mkdir-p (string-append out "/bin")) - (call-with-output-file app - (lambda (port) - (format port -"#!~a -library(shiny) -setwd(\"~a\") -runApp(launch.browser=0, port=4206)~%\n" - Rbin targetdir))) - (chmod app #o555) - #t)))) - (native-inputs - `(("source" ,source))) - (inputs - `(("r-min" ,r-minimal))) - (propagated-inputs - `(("r" ,r) - ("r-shiny" ,r-shiny))) - (home-page "https://github.com/sens/diagnostic-slider") - (synopsis "") - (description - "") - (license #f)))) - -(define-public clustalw - (package - (name "clustalw") - (version "2.1") - (source (origin - (method url-fetch) - (uri "http://www.clustal.org/download/current/clustalw-2.1.tar.gz") - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "11llyj08liq0bg6vqan8728qjrbam3xhna2wd6g8rzdbhydhalp0")))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after - 'install 'post-install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (rename-file (string-append out "/bin/clustalw2") - (string-append out "/bin/clustalw")) - )))))) - (build-system gnu-build-system) - (home-page "http://www.clustal.org/") - (synopsis "") - (description - "") - (license #f))) - -(define-public python-whatshap - (package - (name "python-whatshap") - (version "1.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "whatshap" version)) - (sha256 - (base32 "0vxv6y8sg25yii106j6k55vc5z7n1l1y1nax49dgbarbrvk8cr2f")))) - (build-system python-build-system) - (inputs - `(("python-biopython" ,python-biopython) - ("python-networkx" ,python-networkx) - ("python-pyfaidx" ,python-pyfaidx) - ("python-pysam" ,python-pysam) - ("python-scipy" ,python-scipy) - ("python-xopen" ,python-xopen))) - (native-inputs - `(("python-cython" ,python-cython) - ("python-setuptools-scm" ,python-setuptools-scm))) - (home-page "https://github.com/whatshap/whatshap/") - (synopsis "Read-based phasing of genomic variants") - (description - "WhatsHap is a software for phasing genomic variants using DNA sequencing -reads, also called read-based phasing or haplotype assembly. It is especially -suitable for long reads, but works also well with short reads.") - (license license:expat))) - -(define-public python-scanpy-git - (let ((commit "590d42309f9ed6550d7b887039990edfc1ac7648") ; April 22, 2020 - (revision "1")) - (package - (inherit python-scanpy) - (name "python-scanpy-git") - (version (git-version "1.4.6" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/theislab/scanpy") - (commit commit))) - (file-name (git-file-name "python-scanpy" version)) - (sha256 - (base32 "0z3pk9vh4b7fqq7fs262i6z0pm1dnn6bf49a4r7r73k6gjj6namd")))) - (arguments - (substitute-keyword-arguments (package-arguments python-scanpy) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'fix-build - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (pyv (python-version (assoc-ref inputs "python")))) - (substitute* "setup.py" - (("use_scm_version=True") "use_scm_version=False")) - (substitute* "scanpy/__init__.py" - (("__version__.*") - (string-append "__version__ = '" ,version "'\n"))) - (mkdir-p - (string-append out "/lib/python" pyv "/site-packages")) - (setenv "PYTHONPATH" - (string-append out - "/lib/python" pyv "/site-packages/:" - (getenv "PYTHONPATH")))) - ;; These tests fail on this git revision - (delete-file "scanpy/tests/test_neighbors_key_added.py") - (delete-file "scanpy/tests/test_pca.py") - #t))))))))) - -;; TODO: Unbundle everything before upstreaming -(define-public odgi - (package - (name "odgi") - (version "0.9.0") - (outputs '("out" "static")) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/pangenome/odgi/releases" - "/download/v" version - "/odgi-v" version ".tar.gz")) - (sha256 - (base32 "0brg0sz45v1wv4ld3p4jwiab10nyp2f691zfwpiva6g6f71q3cbk")) - (snippet - #~(begin - (use-modules (guix build utils)) - (substitute* "CMakeLists.txt" - (("-march=native") "") - (("-msse4\\.2") "")))))) - (build-system cmake-build-system) - (arguments - (list - #:tests? #f ;; FIXME: tests are broken - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'use-gnuinstalldirs-macros - (lambda _ - (substitute* "CMakeLists.txt" - (("project\\(odgi\\)" all) - (string-append all "\ninclude(GNUInstallDirs)")) - ;; This is different than the default. - ;(("PUBLIC_HEADER DESTINATION include/odgi") - ; "PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}") - (("LIBRARY DESTINATION lib") - "LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}") - (("ARCHIVE DESTINATION lib") - "ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}")))) - (add-after 'unpack 'link-to-libodgi - (lambda _ - ;; This lets us provide libraries for different psABI levels. - (substitute* "CMakeLists.txt" - (("^ \\$<TARGET_OBJECTS:odgi_objs>.*") "") - (("target_link_libraries\\(odgi " all) - (string-append all "libodgi_shared "))))) - (add-after 'install 'move-static-library - (lambda* (#:key outputs #:allow-other-keys) - (mkdir-p (string-append #$output:static "/lib")) - (rename-file (string-append #$output "/lib/libodgi.a") - (string-append #$output:static "/lib/libodgi.a"))))))) - (native-inputs - (list pkg-config)) - (inputs - (list jemalloc - libdivsufsort - openmpi - pybind11 - python - sdsl-lite)) - (home-page "https://github.com/vgteam/odgi") - (synopsis "Optimized Dynamic Genome/Graph Implementation") - (description "@acronym{Optimized Dynamic Genome/Graph Implementation, odgi} -provides an efficient and succinct dynamic DNA sequence graph model, as well as -a host of algorithms that allow the use of such graphs in bioinformatic -analyses. - -Careful encoding of graph entities allows odgi to efficiently compute and -transform pangenomes with minimal overheads. @command{odgi} implements a -dynamic data structure that leveraged multi-core CPUs and can be updated on the -fly. - -The edges and path steps are recorded as deltas between the current node id and -the target node id, where the node id corresponds to the rank in the global -array of nodes. Graphs built from biological data sets tend to have local -partial order and, when sorted, the deltas be small. This allows them to be -compressed with a variable length integer representation, resulting in a small -in-memory footprint at the cost of packing and unpacking.") - (properties '((tunable? . #t))) - (license license:expat))) - -(define-public odgi-x86-64-v2 - (package/inherit odgi - (name "odgi-x86-64-v2") - (arguments - (substitute-keyword-arguments (package-arguments odgi) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v2" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v2" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v2")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-extra-files - (lambda _ - (delete-file-recursively (string-append #$output "/bin")) - (delete-file-recursively (string-append #$output "/include")))) - (replace 'move-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib "/lib/glibc-hwcaps/x86-64-v2/libodgi.a")) - (mkdir-p (dirname (string-append #$output:static lib))) - (rename-file (string-append #$output lib) - (string-append #$output:static lib))))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t))))) - -(define-public odgi-x86-64-v3 - (package/inherit odgi - (name "odgi-x86-64-v3") - (arguments - (substitute-keyword-arguments (package-arguments odgi) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v3" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v3" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v3")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-extra-files - (lambda _ - (delete-file-recursively (string-append #$output "/bin")) - (delete-file-recursively (string-append #$output "/include")))) - (replace 'move-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib "/lib/glibc-hwcaps/x86-64-v3/libodgi.a")) - (mkdir-p (dirname (string-append #$output:static lib))) - (rename-file (string-append #$output lib) - (string-append #$output:static lib))))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t))))) - -(define-public odgi-x86-64-v4 - (package/inherit odgi - (name "odgi-x86-64-v4") - (arguments - (substitute-keyword-arguments (package-arguments odgi) - ((#:configure-flags flags #~'()) - #~(append (list "-DEXTRA_FLAGS=-march=x86-64-v4" - "-DCMAKE_INSTALL_LIBDIR=lib/glibc-hwcaps/x86-64-v4" - (string-append "-DCMAKE_INSTALL_RPATH=" #$output - "/lib/glibc-hwcaps/x86-64-v4")) - #$flags)) - ;; The building machine can't necessarily run the code produced. - ((#:tests? _ #t) #f) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'remove-extra-files - (lambda _ - (delete-file-recursively (string-append #$output "/bin")) - (delete-file-recursively (string-append #$output "/include")))) - (replace 'move-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib "/lib/glibc-hwcaps/x86-64-v4/libodgi.a")) - (mkdir-p (dirname (string-append #$output:static lib))) - (rename-file (string-append #$output lib) - (string-append #$output:static lib))))))))) - (supported-systems '("x86_64-linux")) - (properties `((hidden? . #t))))) - -;; This copy of odgi will automatically use the libraries that target the -;; x86_64 psABI which the hardware supports. -(define-public odgi-hwcaps - (package/inherit odgi - (name "odgi-hwcaps") - (arguments - (substitute-keyword-arguments (package-arguments odgi) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'install-optimized-libraries - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((hwcaps "/lib/glibc-hwcaps")) - (copy-recursively - (string-append (assoc-ref inputs "odgi-x86-64-v2") - hwcaps "/x86-64-v2") - (string-append #$output hwcaps "/x86-64-v2")) - (copy-recursively - (string-append (assoc-ref inputs "odgi-x86-64-v3") - hwcaps "/x86-64-v3") - (string-append #$output hwcaps "/x86-64-v3")) - (copy-recursively - (string-append (assoc-ref inputs "odgi-x86-64-v4") - hwcaps "/x86-64-v4") - (string-append #$output hwcaps "/x86-64-v4"))))))))) - (native-inputs - (modify-inputs (package-native-inputs odgi) - (append odgi-x86-64-v2 - odgi-x86-64-v3 - odgi-x86-64-v4))) - (properties `((tunable? . #f))))) - -;; new wfa2-lib v2.3.6 with cstdint fix, pkg-config and tests -(define-public wfa2-lib - (package - (name "wfa2-lib") - (version "2.3.6") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/smarco/WFA2-lib") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0hfgq09r0ndrsa2jwy9wkg8p7xzgvclbj5ysp73bawwkgwpgfhy4")))) - (build-system cmake-build-system) - (native-inputs - (list pkg-config time)) ; time for testing - (arguments - (list - #:configure-flags - #~(list "-DCMAKE_BUILD_TYPE=RelWithDebInfo"))) - (home-page "https://github.com/smarco/WFA2-lib") - (synopsis "Wavefront alignment algorithm library") - (description "The wavefront alignment (WFA) algorithm is an exact -gap-affine algorithm that takes advantage of homologous regions between the -sequences to accelerate the alignment process.") - (properties '((tunable? . #t))) - (license license:expat))) - -(define-public vcflib - (package - (name "vcflib") - (version "1.0.15") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/vcflib/vcflib") - (commit (string-append "v" version)) - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "04gwnwvr10z6kc0f4n25a5dhw4jl4i2mqfxyy1kxmqbl1dw1b20k")) - (patches - (list (search-patch "vcflib-use-system-fastahack-smithwaterman.patch"))))) - (build-system cmake-build-system) - (inputs - (list - fastahack - htslib - pandoc ; for man pages - perl - python - python-pytest - pybind11 - ruby ; for man pages - smithwaterman - tabixpp - time ; for tests - wfa2-lib - xz - zig-0.15)) ; older versions of zig will not work - (native-inputs - (list pkg-config)) - (home-page "https://github.com/vcflib/vcflib/") - (synopsis "Library for parsing and manipulating VCF files") - (description "Vcflib provides methods to manipulate and interpret -sequence variation as it can be described by VCF. It is both an API for parsing -and operating on records of genomic variation as it can be described by the VCF -format, and a collection of command-line utilities for executing complex -manipulations on VCF files.") - (license license:expat))) - -(define-public vg - (package - (name "vg") - (version "1.72.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/vgteam/vg/releases/download/v" - version "/vg-v" version ".tar.gz")) - (sha256 - (base32 "17s5vd4ry8hys6jkramdkspw5w287airfca68gb6fiapcavqaz0w")) - (snippet - #~(begin - (use-modules (guix build utils)) - (substitute* (find-files "." "(CMakeLists\\.txt|Makefile)") - (("-march=native") "") - (("-mtune=native") "") - (("-msse4.2") "") - (("-mcx16") "")))))) - (build-system gnu-build-system) - (arguments - (list - #:make-flags - #~(list (string-append "CC=" #$(cc-for-target)) - (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")) - #:phases - #~(modify-phases %standard-phases - (delete 'configure) ; no configure script - (add-after 'unpack 'patch-source - (lambda* (#:key inputs #:allow-other-keys) - ;; Add subdirectory include paths for system packages - (let ((extra-includes - (string-join - (list (search-input-directory inputs "/include/vcflib") - (search-input-directory inputs "/include/fastahack") - (search-input-directory inputs "/include/cairo") - (search-input-directory inputs "/include/raptor2")) - ":"))) - (setenv "CPLUS_INCLUDE_PATH" - (string-append extra-includes - ":" (or (getenv "CPLUS_INCLUDE_PATH") ""))) - (setenv "C_INCLUDE_PATH" - (string-append extra-includes - ":" (or (getenv "C_INCLUDE_PATH") "")))) - (substitute* "Makefile" - ;; PKG_CONFIG_DEPS - use external vcflib and fastahack - (("cairo libzstd") - "cairo htslib libzstd libdw libelf protobuf raptor2 sdsl-lite tabixpp vcflib fastahack libdeflate libwfa2") - - ;; Skip the part where we link static libraries special - (("-Wl,-B.*") "\n") - - (("\\$\\(CWD\\)/\\$\\(LIB_DIR\\)/libtabixpp\\.a") "$(LIB_DIR)/libtabixpp.a") - ((" \\$\\(LIB_DIR\\)/libtabixpp\\.a") - (string-append " " (search-input-file inputs "/lib/libtabixpp.so"))) - (("\\$\\(LIB_DIR\\)/pkgconfig/tabixpp\\.pc") - (string-append " " (search-input-file inputs "/lib/pkgconfig/tabixpp.pc"))) - - (("\\$\\(CWD\\)/\\$\\(LIB_DIR\\)/libhts\\.a") "$(LIB_DIR)/libhts.a") - ((" \\$\\(LIB_DIR\\)/libhts\\.a") - (string-append " " (search-input-file inputs "/lib/libhts.so"))) - (("\\$\\(LIB_DIR\\)/pkgconfig/htslib\\.pc") - (string-append " " (search-input-file inputs "/lib/pkgconfig/htslib.pc"))) - - (("\\$\\(CWD\\)/\\$\\(LIB_DIR\\)/libdeflate\\.a") "$(LIB_DIR)/libdeflate.a") - ((" \\$\\(LIB_DIR\\)/libdeflate\\.a") - (string-append " " (search-input-file inputs "/lib/libdeflate.so"))) - - ;; Use external vcflib - ((" \\$\\(LIB_DIR\\)/libvcflib.a") - (string-append " " (search-input-file inputs "/lib/libvcflib.so"))) - ((" \\$\\(BIN_DIR\\)/vcf2tsv") - (string-append " " (search-input-file inputs "/bin/vcf2tsv"))) - - ((" \\$\\(FASTAHACK_DIR\\)/fastahack") - (string-append " " (search-input-file inputs "/bin/fastahack"))) - (("\\+= \\$\\(OBJ_DIR\\)/Fasta\\.o") "+=") - ;; Add fastahack, smithwaterman, cairo to linker flags - (("-lvcflib") "-lvcflib -lfastahack -lsmithwaterman -lcairo") - - ((" \\$\\(LIB_DIR\\)/libsnappy.a") - (string-append " " (search-input-file inputs "/lib/libsnappy.so"))) - - ;; Only link against the libraries in the elfutils package. - (("-ldwfl -ldw -ldwelf -lelf -lebl") "-ldw -lelf") - ((" \\$\\(LIB_DIR\\)/libelf.a") - (string-append " " (search-input-file inputs "/lib/libelf.so"))) - ((" \\$\\(LIB_DIR\\)/libdw.a") - (string-append " " (search-input-file inputs "/lib/libdw.so"))) - - ((" \\$\\(LIB_DIR\\)/%divsufsort.a") - (string-append " " (dirname - (search-input-file inputs "/lib/libdivsufsort.so")) - "%divsufsort.so")) - ((" \\$\\(LIB_DIR\\)/libdivsufsort.a") - (string-append " " (search-input-file inputs "/lib/libdivsufsort.so"))) - ((" \\$\\(LIB_DIR\\)/%divsufsort64.a") - (string-append " " (dirname - (search-input-file inputs "/lib/libdivsufsort64.so")) - "%divsufsort64.so")) - ((" \\$\\(LIB_DIR\\)/libdivsufsort64.a") - (string-append " " (search-input-file inputs "/lib/libdivsufsort64.so"))) - - ((" \\$\\(LIB_DIR\\)/libjemalloc.a") - (string-append " " (search-input-file inputs "/lib/libjemalloc.a"))) - - ((" \\$\\(INC_DIR\\)/sparsehash") - (string-append " " (search-input-directory inputs "/include/sparsehash"))) - - ((" \\$\\(INC_DIR\\)/raptor2") - (string-append " " (search-input-directory inputs "/include/raptor2"))) - ((" \\$\\(LIB_DIR\\)/libraptor2.a") - (string-append " " (search-input-file inputs "/lib/libraptor2.so"))) - ((" \\$\\(BIN_DIR\\)/rapper") - (string-append " " (search-input-file inputs "/bin/rapper")))) - ;; Create obj and lib directories. They do not exist in - ;; the release tarball. - (mkdir "deps/libbdsg/bdsg/obj") - (mkdir "deps/libbdsg/lib") - ;; Do not remove obj and lib directories in the clean target. - (substitute* "deps/libbdsg/Makefile" - (("\\[ ! -e \\$\\(OBJ_DIR\\) \\][^\n]*") "") - (("\\[ ! -e \\$\\(LIB_DIR\\) \\][^\n]*") "")))) - (add-after 'unpack 'link-with-some-shared-libraries - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("deps/mmmultimap/CMakeLists.txt" - "deps/xg/CMakeLists.txt" - "deps/xg/deps/mmmulti/CMakeLists.txt") - (("\".*libsdsl\\.a\"") "\"-lsdsl\"") - (("\".*libdivsufsort\\.a\"") "\"-ldivsufsort\"") - (("\".*libdivsufsort64\\.a\"") "\"-ldivsufsort64\"") - (("\\$\\{sdsl-lite_INCLUDE\\}") - (search-input-directory inputs "/include/sdsl")) - (("\\$\\{sdsl-lite-divsufsort_INCLUDE\\}") - (dirname - (search-input-file inputs "/include/divsufsort.h")))))) - (add-after 'unpack 'dont-build-shared-vgio - (lambda _ - ;; vg will link with libvgio and fail the 'validate-runpath phase. - (substitute* "deps/libvgio/CMakeLists.txt" - (("TARGETS vgio vgio_static") "TARGETS vgio_static")))) - (add-after 'unpack 'adjust-tests - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash-tap (assoc-ref inputs "bash-tap"))) - (substitute* (find-files "test/t") - (("BASH_TAP_ROOT.*") - (string-append "BASH_TAP_ROOT=" bash-tap "/bin\n")) - ((".*bash-tap-bootstrap") - (string-append ". " bash-tap "/bin/bash-tap-bootstrap"))) - (substitute* "test/t/02_vg_construct.t" - (("../deps/fastahack/fastahack") (which "fastahack")) - (("../bin/vcf2tsv") (which "vcf2tsv"))) - ;; Skip failing tests - (substitute* "test/t/02_vg_construct.t" - ((".*self-inconsistent.*") "is $(true) \"\" \"\"\n")) - (substitute* "test/t/07_vg_map.t" - (("identity\\) 1 \"") "identity) 1.0 \"")) - (substitute* '("test/t/07_vg_map.t" - "test/t/33_vg_mpmap.t") - ((".*node id.*") "is $(true) \"\" \"\"\n")) - (substitute* "test/t/48_vg_convert.t" - (("true \"vg.*") "true \"true\"\n")) - (substitute* "test/t/50_vg_giraffe.t" - ((".*A long read can.*") "is $(true) \"\" \"\"\n") - ((".*A long read has.*") "is $(true) \"\" \"\"\n") - ((".*Long read minimizer.*") "is $(true) \"\" \"\"\n")) - ;; Don't test the docs, we're not providing npm - (substitute* "Makefile" - ((".*test-docs.*") ""))))) - (add-after 'build 'build-manpages - (lambda* (#:key make-flags #:allow-other-keys) - ;; vg is not in PATH. Replace it with full path. - (substitute* "doc/vgmanmd.py" - (("'vg'") "'./bin/vg'")) - (apply invoke "make" "man" make-flags))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "bin/vg" (string-append out "/bin")) - (install-file "lib/libhandlegraph.so" (string-append out "/lib")) - (for-each - (lambda (file) - (install-file file (string-append out "/share/man/man1"))) - (find-files "doc/man" "\\.1$")))))) - #:test-target "test")) - (native-inputs - (append - (if (supported-package? ruby-asciidoctor) - (list ruby-asciidoctor) - '()) - (list asciidoc - bash-tap - bc - cmake-minimal - ghc-pandoc - jq - perl - pkg-config - python - samtools - util-linux - which - xxd))) - (inputs - (list boost - cairo - curl - elfutils - fastahack - htslib - jansson - jemalloc - libdeflate - libdivsufsort - ncurses - openmpi - openssl - protobuf - raptor2 - sdsl-lite - smithwaterman - snappy - sparsehash - tabixpp - vcflib - wfa2-lib - zlib - (list zstd "lib"))) - (home-page "https://www.biostars.org/t/vg/") - (synopsis "Tools for working with genome variation graphs") - (description "Variation graphs provide a succinct encoding of the sequences -of many genomes. A variation graph (in particular as implemented in vg) is -composed of: -@enumerate -@item nodes, which are labeled by sequences and ids -@item edges, which connect two nodes via either of their respective ends -@item paths, describe genomes, sequence alignments, and annotations (such as -gene models and transcripts) as walks through nodes connected by edges -@end enumerate -This model is similar to sequence graphs that have been used in assembly and -multiple sequence alignment.") - (properties `((release-monitoring-url . "https://github.com/vgteam/vg/releases") - (tunable? . #t))) - (license - (list - license:expat ; main program - license:bsd-2 ; deps/xg/deps/ips4o - license:bsd-3 ; deps/sparsepp, deps/sonLib/C/{impl,inc} - license:asl2.0 ; deps/sonLib/externalTools/quicktree_1.1, deps/structures - license:gpl3+ ; all sdsl-lite copies - license:zlib ; deps/sonLib/externalTools/cutest - license:boost1.0)))) ; catch.hpp - -(define-public pggb - (package - (name "pggb") - (version "0.7.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pangenome/pggb") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1mzyr15l40hrjkdzrq49xzbby9a3a70j7glwf74k9z53firp0pf6")))) - (build-system copy-build-system) - (arguments - (list - #:install-plan - #~'(("pggb" "bin/") - ("partition-before-pggb" "bin/") - ("scripts/" "bin/") - ("scripts" "bin/scripts")) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'force-python3 - (lambda _ - (substitute* (find-files "scripts" "\\.py$") - (("/usr/bin/python") "/usr/bin/python3")))) - (add-before 'install 'patch-and-wrap-scripts - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "scripts/vcf_preprocess.sh" - (("bcftools ") - (string-append (search-input-file inputs "/bin/bcftools") " "))) - (wrap-script "scripts/net2communities.py" - `("GUIX_PYTHONPATH" ":" prefix - (,(getenv "GUIX_PYTHONPATH")))))) - (add-after 'install 'wrap-scripts - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (for-each - (lambda (file) - (wrap-script file - `("R_LIBS_SITE" ":" prefix - (,(getenv "R_LIBS_SITE"))) - `("PATH" ":" prefix - ,(map (lambda (input) (string-append input "/bin")) - '#$(map (lambda (label) - (or (this-package-input (string-append label "-hwcaps")) - (this-package-input label))) - (list "bc" - "bcftools" - "bedtools" - "gfaffix" - "htslib" - "multiqc" - "odgi" - "parallel" - "pigz" - "python" - "r-data-table" - "r-minimal" - "rtg-tools" - "samtools" - "seqwish" - "smoothxg" - "time" - "vcfbub" - "vg" - "wfmash")))))) - (list (string-append out "/bin/pggb") - (string-append out "/bin/partition-before-pggb") - (string-append out "/bin/gfa2evaluation.sh") - (string-append out "/bin/scripts/gfa2evaluation.sh")))))) - (add-after 'install 'substitute-file-paths - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* (string-append out "/bin/gfa2evaluation.sh") - (("/usr/local/bin/vcf_preprocess.sh") - (string-append out "/bin/vcf_preprocess.sh")) - (("/usr/local/bin/nucmer2vcf.R") - (string-append out "/bin/nucmer2vcf.R"))))))))) - (inputs - (list bc - bcftools - bedtools - gfaffix - guile-3.0 ; for wrap-script - htslib ; tabix - multiqc - odgi - parallel - pigz - python - python-igraph - r-data-table - r-minimal - rtg-tools - samtools - seqwish - smoothxg - time - vcfbub - vg - wfmash)) - (home-page "https://doi.org/10.1101/2023.04.05.535718") - (synopsis "PanGenome Graph Builder") - (description "@command{pggb} builds -@url{https://doi.org/10.1146%2Fannurev-genom-120219-080406, pangenome} -@url{https://doi.org/10.1038/nbt.4227, variation graphs} from a set of input -sequences. -A pangenome variation graph is a kind of generic multiple sequence alignment. -It lets us understand any kind of sequence variation between a collection of -genomes. It shows us similarity where genomes walk through the same parts of -the graph, and differences where they do not. -@command{pggb} generates this kind of graph using an all-to-all alignment of -input sequences (@url{https://github.com/waveygang/wfmash, wfmash}), graph -induction (@url{https://doi.org/10.1101/2022.02.14.480413, seqwish}), and -progressive normalization (@url{https://github.com/pangenome/smoothxg, -smoothxg}, @url{https://github.com/marschall-lab/GFAffix, gfaffix}). After -construction, @command{pggb} generates diagnostic visualizations of the graph -(@url{https://doi.org/10.1093/bioinformatics/btac308, odgi}). A variant call -report (in VCF) representing both small and large variants can be generated -based on any reference genome included in the graph -(@url{https://github.com/vgteam/vg, vg}). @command{pggb} writes its output in -@url{https://github.com/GFA-spec/GFA-spec/blob/master/GFA1.md, GFAv1} format, -which can be used as input by numerous \"genome graph\" and pangenome tools, -such as the @url{https://github.com/vgteam/vg, vg} and -@url{https://doi.org/10.1093/bioinformatics/btac308, odgi} toolkits. -@command{pggb} has been tested at scale in the @acronym{Human Pangenome -Reference Consortium, HPRC} as a method to build a graph from the -@url{https://doi.org/10.1101/2022.07.09.499321, draft human pangenome}.") - (license license:expat))) - -(define use-glibc-hwcaps - (package-input-rewriting/spec - ;; Replace some packages with ones built targeting custom packages build - ;; with glibc-hwcaps support. - `(;("gsl" . ,(const gsl-hwcaps)) ; Causes too many rebuilds through multiqc - ("sdsl-lite" . ,(const sdsl-lite-hwcaps)) - ("seqwish" . ,(const seqwish-hwcaps)) - ("odgi" . ,(const odgi-hwcaps)) - ("wfmash" . ,(const wfmash-hwcaps))))) - -(define-public pggb-with-hwcaps - (package - (inherit (use-glibc-hwcaps pggb)) - (name "pggb-with-hwcaps"))) - -(define-public ucsc-genome-browser - (package - (name "ucsc-genome-browser") - (version "413") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://genome-source.gi.ucsc.edu/kent.git/") - (commit (string-append "v" version "_base")))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1qcjhd4wcajik71z5347fw2sfhfkv0p6y7yldrrkmycw2qhqmpzn")))) - (build-system gnu-build-system) - (arguments - `(#:test-target "test" - #:parallel-tests? #f ; not supported - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - (add-before 'build 'pre-build - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Start by setting some variables. - (chdir "src") - (setenv "CC" ,(cc-for-target)) - (setenv "HOME" (getcwd)) - - ;; And here we set the output directories - (setenv "CGI_BIN" (string-append out "/cgi-bin")) - (setenv "CGI_BIN_USER" (string-append out "/cgi-bin")) - (setenv "DOCUMENTROOT" (string-append out "/html")) - (setenv "DOCUMENTROOT_USER" (string-append out "/html")) - (setenv "BINDIR" (string-append out "/bin")) - - ;; Now let's fix some errors: - (mkdir-p (string-append out "/cgi-bin")) - (substitute* "inc/cgi_build_rules.mk" - (("rm -f.*") "")) - (substitute* (cons* "inc/cgi_build_rules.mk" - (find-files "." "makefile")) - (("CGI_BIN\\}-\\$\\{USER") "CGI_BIN_USER")) - - ;; Force linking with freetype. - (substitute* "inc/common.mk" - (("libpng-config --ldflags") "pkg-config --libs libpng freetype2") - (("libpng-config --I_opts") "pkg-config --cflags-only-I libpng freetype2") - (("\\$\\{HG_INC\\}" hg_inc) (string-append hg_inc " -DUSE_FREETYPE"))) - - ;; Force the trash location. - (substitute* (cons* - "utils/qa/showTracks" - "webBlat/webBlat.cfg" - "hg/js/hgTracks.js" - (find-files "." "\\.c$")) - ;; This line is specifically needed as-is. - (("\\.\\./trash") "/var/cache/genome")) - - #t))) - - (add-before 'check 'pre-check - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (triplet ,(gnu-triplet->nix-system (%current-system)))) - (setenv "PATH" (string-append (getenv "PATH") - ":" out "/bin")) - (setenv "MACHTYPE" - (string-take triplet (string-index triplet #\-))) - (for-each make-file-writable - (find-files "utils/bedJoinTabOffset/tests")) - (substitute* '("utils/bamToPsl/tests/makefile" - "utils/trackDbIndexBb/tests/makefile") - (("/cluster/bin/bedtools/bedtools") (which "bedtools"))) - - ;; These tests fail intermittently: - (substitute* "utils/vcfFilter/tests/makefile" - ((" testRenameNoGt ") " ") - ((" testMinAc1NoGt ") " ")) - - ;; These tests can't find their database: - (substitute* "hg/lib/tests/makefile" - ((" spDbTest ") " ") - ((" hdbTest ") " ")) - (substitute* "hg/lib/tests/genePredTests.mk" - ((" tableTests ") " ") - ((" compatTblTests ") " ")) - (substitute* "hg/lib/tests/pslReaderTests.mk" - ((" tableTests") " ")) - (substitute* "hg/lib/tests/makefile" - ((" annoGratorTest ") " ") - ((" customTrackTest ") " ") - ((" hgvsTest") " ")) - (substitute* "hg/autoSql/tests/makefile" - ((" dbLinkTest ") " ") - ((" symColsTest ") " ")) - (delete-file "hg/checkTableCoords/tests/makefile") - (delete-file "hg/hgGetAnn/tests/makefile") - (substitute* "hg/sqlToXml/makefile" - ((".*doTest.*") "")) - (substitute* "hg/utils/genePredFilter/tests/makefile" - ((" gencodeHackDbTest") " ")) - (substitute* "hg/utils/refSeqGet/tests/makefile" - (("^test::.*") "test:: mkout\n")) - (delete-file "hg/utils/vcfToHgvs/tests/makefile") - (substitute* "hg/bedItemOverlapCount/tests/makefile" - ((".*RunTest.*") "")) - - ;; Depends on /cluster - (substitute* "hg/liftOver/tests/makefile" - (("^test:.*") "test: mkdirs scaffoldEndBug\n")) - (delete-file "hg/mouseStuff/netToAxt/tests/makefile") - (substitute* "hg/pslToChain/tests/makefile" - ((" example1 ") " ")) - - ;; Depends on /gbdb - (delete-file "hg/mouseStuff/chainBridge/tests/makefile") - - ;; Depends on /hive - (delete-file "hg/utils/genePredToProt/tests/makefile") - - ;; Unclear why this fails - (delete-file "hg/utils/hgvsToVcf/tests/makefile") - - ;; Wants network - (substitute* "hg/utils/hubCheck/tests/makefile" - (("^test::.*") "test:: one two\n")) - #t))) - - ;; Install happens during the 'build phase. - ;; Install the website files too - (replace 'install - (lambda _ - (invoke "make" "doc-install") - #t)) - (add-after 'install 'create-hg-conf - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-output-to-file (string-append out "/cgi-bin/hg.conf") - (lambda () - (display - "include /var/lib/genome/hg.conf\n"))) - #t))) - (add-after 'install 'create-symlink - (lambda* (#:key inputs #:allow-other-keys) - (mkdir-p "htdocs") - ;; Fallback location for fonts. - (symlink (string-append (assoc-ref inputs "gs-fonts") - "/share/fonts/type1/ghostscript") - "htdocs/urw-fonts") - #t))))) - (inputs - `(("freetype" ,freetype) - ("libpng" ,libpng) - ("mysql:dev" ,mariadb "dev") - ("mysql:lib" ,mariadb "lib") - ("openssl" ,openssl) - ("perl" ,perl) - ("python2" ,python-2) - ("zlib" ,zlib))) - (native-inputs - `(("bedtools" ,bedtools) - ("gs-fonts" ,gs-fonts) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("rsync" ,rsync) ; For installing js files from the source checkout - ("tcl" ,tcl) - ("tcsh" ,tcsh) - ("util-linux:lib" ,util-linux "lib") - ("which" ,(@ (gnu packages base) which)))) - (home-page "https://www.genome.ucsc.edu/") - (synopsis "Structural variants detector for next-gen sequencing data") - (description - "The UCSC Genome Browser provides a rapid and reliable display of any -requested portion of genomes at any scale, together with dozens of aligned -annotation tracks (known genes, predicted genes, ESTs, mRNAs, CpG islands, -assembly gaps and coverage, chromosomal bands, mouse homologies, and more). -Half of the annotation tracks are computed at UCSC from publicly available -sequence data. The remaining tracks are provided by collaborators worldwide. -Users can also add their own custom tracks to the browser for educational or -research purposes. -The Genome Browser stacks annotation tracks beneath genome coordinate positions, -allowing rapid visual correlation of different types of information. The user -can look at a whole chromosome to get a feel for gene density, open a specific -cytogenetic band to see a positionally mapped disease gene candidate, or zoom in -to a particular gene to view its spliced ESTs and possible alternative splicing. -The Genome Browser itself does not draw conclusions; rather, it collates all -relevant information in one location, leaving the exploration and interpretation -to the user.") - (license (list - ;; license:bsd-0 ; kent/src/{utils,lib,inc,tabStorm,parasol,hg/ausoSql,hg/autoXml} - license:bsd-3 ; these two for bundled htslib-1.3 - license:expat - (license:non-copyleft - "https://www.genome.ucsc.edu/license/" - "Free for academic/non-profit/personal use only.") - (license:non-copyleft ; Blat, In-Silico PCR - "http://www.kentinformatics.com/index.html" - "Free for universities and non-profit institutions."))))) - -(define htslib-1.14 - (package/inherit htslib - (version "1.14") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/samtools/htslib/releases/download/" - version "/htslib-" version ".tar.bz2")) - (sha256 - (base32 - "0pwk8yhhvb85mi1d2qhwsb4samc3rmbcrq7b1s0jz0glaa7in8pd")))) - (arguments - (substitute-keyword-arguments (package-arguments htslib) - ((#:configure-flags cf #~'()) - #~(delete "--with-external-htscodecs" #$cf)))) - (propagated-inputs - (modify-inputs (package-propagated-inputs htslib) - (delete "htscodecs"))))) - -(define-public pbbam - (package - (name "pbbam") - (version "2.1.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PacificBiosciences/pbbam") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1iyazi3l7dswpfxh39k5j7ydi0ywja0579xz3r6l9kkwz2n1z6dc")))) - (build-system meson-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda* (#:key inputs #:allow-other-keys) - ;; Disable this test. I tried fixing it by including - ;; optional_io.hpp, but there's a type error. - (substitute* "tests/src/meson.build" - (("'test_ReadGroupInfo.cpp',") "")) - #; - (substitute* "include/pbbam/ReadGroupInfo.h" - (("#include <boost/optional.hpp>" m) - (string-append m "\n#include <boost/optional/optional_io.hpp>"))) - (substitute* '("tests/scripts/cram/_test.py" - "tests/scripts/cram/_main.py") - (("'/bin/sh'") - (string-append "'" (which "sh") "'")))))))) - ;; These libraries are listed as "Required" in the pkg-config file. - (propagated-inputs - (list htslib-1.14 pbcopper zlib)) - (inputs - (list boost samtools)) - (native-inputs - (list googletest - pkg-config - python-wrapper)) ;for tests - (home-page "https://github.com/PacificBiosciences/pbbam") - (synopsis "Work with PacBio BAM files") - (description - "The pbbam software package provides components to create, query, and -edit PacBio BAM files and associated indices. These components include a core -C++ library, bindings for additional languages, and command-line utilities. -This library is not intended to be used as a general-purpose BAM utility - all -input and output BAMs must adhere to the PacBio BAM format specification. -Non-PacBio BAMs will cause exceptions to be thrown.") - (license license:bsd-3))) - -(define-public bam2fastx - (package - (name "bam2fastx") - (version "1.3.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PacificBiosciences/bam2fastx") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0pyfmvh874w29kaq6gbb1bd86135qs2jc4f8giw98kxw1b2gjdh0")))) - (build-system meson-build-system) - (arguments - `(#:configure-flags '("-Dtests=true"))) - (inputs - `(("boost" ,boost) - ;("htslib" ,htslib) - ("pbbam" ,pbbam) - ("pbcopper" ,pbcopper) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("python-cram" ,python-cram) - ("python-wrapper" ,python-wrapper))) - (home-page "https://github.com/PacificBiosciences/bam2fastx") - (synopsis "Converting and demultiplexing of PacBio BAM files into gzipped fasta and fastq files") - (description "Conversion of PacBio BAM files into gzipped fasta and fastq files, including splitting of barcoded data.") - (license license:bsd-3))) - -(define-public pbbam-1 - (package - (name "pbbam") - (version "1.6.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PacificBiosciences/pbbam") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1z3sh9cmrap37ijrm0cv85j92r1xkq6kba2j10mrr4fv7fc9zzfb")))) - (build-system meson-build-system) - ;; These libraries are listed as "Required" in the pkg-config file. - (propagated-inputs - `(("htslib" ,htslib) - ("pbcopper" ,pbcopper) - ("zlib" ,zlib))) - (inputs - `(("boost" ,boost) - ("samtools" ,samtools))) - (native-inputs - `(("cram" ,python-cram) - ("googletest" ,googletest) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) ; for tests - (home-page "https://github.com/PacificBiosciences/pbbam") - (synopsis "Work with PacBio BAM files") - (description - "The pbbam software package provides components to create, query, and -edit PacBio BAM files and associated indices. These components include a core -C++ library, bindings for additional languages, and command-line utilities. -This library is not intended to be used as a general-purpose BAM utility - all -input and output BAMs must adhere to the PacBio BAM format specification. -Non-PacBio BAMs will cause exceptions to be thrown.") - (license license:bsd-3))) - -(define-public pbcopper - (package - (name "pbcopper") - (version "1.9.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PacificBiosciences/pbcopper") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1pphklil5kn1ds796ch41bgvdf7yq03z6w5rgi572s8xg8k5b0xn")))) - (build-system meson-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* "meson.build" - ;; uncomment when upstreaming - ;(("sse4\\.1") "nosse4.1") - (("v8\\.2-a") "v8-a")) - #t))))) - (inputs - `(("boost" ,boost))) - (native-inputs - `(("googletest" ,googletest))) - (home-page "https://github.com/PacificBiosciences/pbcopper") - (synopsis "Data structures, algorithms, and utilities for C++ applications") - (description "The pbcopper library provides a suite of data structures, -algorithms, and utilities for PacBio C++ applications.") - (license license:bsd-3))) - -(define-public pbmm2 - (package - (name "pbmm2") - (version "1.4.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PacificBiosciences/pbmm2") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0c01c647c7wvq5jzkf68xsf0bn8mlyw0hbz2fiyirxg7hj05jyac")))) - (build-system meson-build-system) - (arguments - `(#:tests? #f)) ; TODO: Fix later. - (inputs - `(("boost" ,boost) - ("htslib" ,htslib) - ("minimap2" ,minimap2-for-pbmm2) - ("pbbam" ,pbbam-1) - ("pbcopper" ,pbcopper))) - (native-inputs - `(("cram" ,python-cram) - ("googletest" ,googletest) - ("pkg-config" ,pkg-config) - ("samtools" ,samtools) - ("util-linux" ,util-linux) - ("zlib" ,zlib))) - (home-page "https://github.com/PacificBiosciences/pbmm2") - (synopsis "minimap2 frontend for PacBio native data formats") - (description "pbmm2 is a SMRT C++ wrapper for minimap2's C API. Its purpose is to support native PacBio in- and output, provide sets of recommended parameters, generate sorted output on-the-fly, and postprocess alignments. Sorted output can be used directly for polishing using GenomicConsensus, if BAM has been used as input to pbmm2. Benchmarks show that pbmm2 outperforms BLASR in sequence identity, number of mapped bases, and especially runtime. pbmm2 is the official replacement for BLASR.") - (license license:bsd-3))) - -(define minimap2-for-pbmm2 - (package - (name "minimap2") - (version "2.17") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pacificbiosciences/minimap2") - (commit (string-append version "-meson")))) - (file-name (git-file-name "minimap2-for-pbmm2" version)) - (sha256 - (base32 - "1833y6xdcblz7k4fyclryd6lwibsisp4svp2mk9w6ivk64icl6jq")))) - (build-system meson-build-system) - (inputs - `(("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://lh3.github.io/minimap2/") - (synopsis "Pairwise aligner for genomic and spliced nucleotide sequences") - (description "Minimap2 is a versatile sequence alignment program that -aligns DNA or mRNA sequences against a large reference database. Typical use -cases include: - -@enumerate -@item mapping PacBio or Oxford Nanopore genomic reads to the human genome; -@item finding overlaps between long reads with error rate up to ~15%; -@item splice-aware alignment of PacBio Iso-Seq or Nanopore cDNA or Direct RNA - reads against a reference genome; -@item aligning Illumina single- or paired-end reads; -@item assembly-to-assembly alignment; -@item full-genome alignment between two closely related species with - divergence below ~15%. -@end enumerate\n") - (license license:expat))) - -;; 0.8.9 is the last version which supports python2. -(define-public python2-bx-python - (let ((base (python2-package python-bx-python))) - (package - (inherit base) - (name "python2-bx-python") - (version "0.8.9") - (source (origin - ;; No cythonized files in the git repository. - (method git-fetch) - (uri (git-reference - (url "https://github.com/bxlab/bx-python") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0bsqnw8rv08586wksvx2a8dawvhyzvz5pzsh9y3217b6wxq98dnq")))) - (propagated-inputs - (modify-inputs (package-propagated-inputs base) - (append python2-six)))))) - -(define-public hap.py - (package - (name "hap.py") - (version "0.3.14") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Illumina/hap.py") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1bnm7s86651p3zf6wahz5pic7n8416fx677kj47lwckr3syp2x1h")) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file-recursively "external/bcftools.tar.gz") - (delete-file-recursively "external/boost_subset_1_58_0.tar.bz2") - (delete-file-recursively "external/htslib.tar.gz") - ;; TODO: Unbundle jsoncpp. - ;(delete-file-recursively "external/jsoncpp") - ;(delete-file-recursively "external/klib") - (delete-file-recursively "external/samtools.tar.gz") - (delete-file-recursively "external/virtualenv-12.0.7.tar.gz") - (delete-file-recursively "external/zlib-1.2.8.tar.gz") - #t)))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags (list "-DBUILD_VCFEVAL=ON") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-package-version - (lambda _ - (substitute* "CMakeLists.txt" - (("git describe --tags --always") - (string-append "echo " ,version))) - #t)) - ;; A shared library conflicts with boost-static. - ;; Not using boost-static causes linking errors. - ;(add-after 'unpack 'build-dynamic-library - ; (lambda _ - ; (substitute* "src/c++/lib/CMakeLists.txt" - ; (("STATIC") "SHARED")) - ; #t)) - (add-after 'unpack 'fix-build - (lambda* (#:key inputs #:allow-other-keys) - (let ((zlib (assoc-ref inputs "zlib")) - (bcftools (assoc-ref inputs "bcftools")) - (boost (assoc-ref inputs "boost")) - (htslib (assoc-ref inputs "htslib")) - (samtools (assoc-ref inputs "samtools"))) - (mkdir-p "external/bin") - (mkdir-p "external/lib") - (mkdir-p "external/include") - (mkdir-p "external/scratch/lib") - - (substitute* "external/make_dependencies.sh" - (("zlib-1\\.2\\.8/libz\\.a") "lib/libz.so")) - (substitute* "src/cmake/FindHTSLib.cmake" - (("libhts\\.a") "libhts.so")) - (substitute* "CMakeLists.txt" - (("ZLIB_LIBRARIES .*\\)") - (string-append "ZLIB_LIBRARIES \"" zlib "/lib/libz.so\")"))) - - (setenv "BOOST_ROOT" boost) - (setenv "LDFLAGS" - (string-append "-L" (assoc-ref %build-inputs "htslib") "/lib")) - - (symlink (string-append zlib "/lib/libz.so") - "external/scratch/lib/libz.so") - - (symlink (string-append htslib "/include/htslib") - "external/include/htslib") - (symlink (string-append htslib "/lib/libhts.so") - "external/lib/libhts.so") - (symlink (string-append htslib "/lib/libhts.so") - "external/lib/libhts.so.3") - - (symlink (string-append bcftools "/bin/bcftools") - "external/bin/bcftools") - (symlink (string-append samtools "/bin/samtools") - "external/bin/samtools") - #t))) - (add-after 'fix-build 'insert-rtg-tools - (lambda* (#:key inputs #:allow-other-keys) - (let ((rtg-tools (assoc-ref inputs "rtg-tools")) - (dest "external/libexec/rtg-tools-install")) - (mkdir-p (dirname dest)) - (symlink rtg-tools dest) - #t))) - (replace 'configure - (lambda* (#:key outputs (configure-flags '()) (out-of-source? #t) - build-type target - #:allow-other-keys) - "Configure the given package." - (let* ((out (assoc-ref outputs "out")) - (abs-srcdir (getcwd)) - (srcdir (if out-of-source? - (string-append "../" (basename abs-srcdir)) - "."))) - (format #t "source directory: ~s (relative from build: ~s)~%" - abs-srcdir srcdir) - (when out-of-source? - (mkdir "../build") - - ;; Extra code added here!! - (copy-recursively "external/scratch" "../build/scratch") - (copy-recursively "external/libexec" "../build/libexec") - (copy-recursively "external/lib" "../build/lib") - (copy-recursively "external/bin" "../build/bin") - (copy-recursively "external/include" "../build/include") - - (chdir "../build")) - (format #t "build directory: ~s~%" (getcwd)) - - (let ((args `(,srcdir - ,@(if build-type - (list (string-append "-DCMAKE_BUILD_TYPE=" - build-type)) - '()) - ,(string-append "-DCMAKE_INSTALL_PREFIX=" out) - ;; ensure that the libraries are installed into /lib - "-DCMAKE_INSTALL_LIBDIR=lib" - ;; add input libraries to rpath - "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" - ;; add (other) libraries of the project itself to rpath - ,(string-append "-DCMAKE_INSTALL_RPATH=" out "/lib") - ;; enable verbose output from builds - "-DCMAKE_VERBOSE_MAKEFILE=ON" - - ;; Cross-build - ,@(if target - (list (string-append "-DCMAKE_C_COMPILER=" - target "-gcc") - (string-append "-DCMAKE_CXX_COMPILER=" - target "-g++") - (if (string-contains target "mingw") - - "-DCMAKE_SYSTEM_NAME=Windows" - "-DCMAKE_SYSTEM_NAME=Linux")) - '()) - ,@configure-flags))) - (format #t "running 'cmake' with arguments ~s~%" args) - (apply invoke "cmake" args))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "./bin/test_haplotypes")) - #t)) - (add-before 'install 'remove-extra-files - (lambda _ - (delete-file "bin/bcftools") - (delete-file "bin/samtools") - (delete-file "bin/test_haplotypes") - (delete-file "lib/libhts.so") - (delete-file "lib/libhts.so.3") - #t)) - (add-after 'install 'wrap-programs - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bcftools (assoc-ref inputs "bcftools")) - (samtools (assoc-ref inputs "samtools"))) - (for-each - (lambda (file) - (wrap-script file - `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) - `("PATH" ":" prefix (,(string-append bcftools "/bin") - ,(string-append samtools "/bin"))))) - (find-files (string-append out "/bin") "\\.py$")) - #t)))))) - (inputs - `(("bcftools" ,bcftools) - ("boost" ,boost-static) ; has to be boost-static - ("guile" ,guile-3.0) ; for wrap-script - ("htslib" ,htslib) - ;; The software specifically states python-2. - ("python" ,python-2) - ("python2-bx-python" ,python2-bx-python) - ("python2-numpy" ,python2-numpy) - ("python2-pandas" ,python2-pandas) - ("python2-pysam" ,(python2-package python-pysam)) - ("python2-scipy" ,python2-scipy) - ("rtg-tools" ,rtg-tools) - ("samtools" ,samtools) - ("zlib" ,zlib))) - (home-page "https://github.com/Illumina/hap.py") - (synopsis "Haplotype VCF comparison tools") - (description - "This is a set of programs based on htslib to benchmark variant calls -against gold standard truth datasets. - -The main two tools are @code{hap.py} (diploid precision/recall evaluation) and -@code{som.py} (somatic precision/recall evaluation -- this ignores the GT and -just checks for presence of alleles). Other tools are @code{qfy.py} (which just -executes the quantification step of the analysis pipeline, this requires a -GA4GH-intermediate VCF file), and @code{pre.py}, which is @code{hap.py}'s input -cleaning and variant normalisation step. - -To run the bundled rtg-tools software you will also need java. The -@code{icedtea:jdk} output should work nicely.") - (license (list license:expat ; bundled jsoncpp, klib - license:bsd-2)))) - -;; TODO: -;; Unbundle gatb-core. -(define-public minia - (package - (name "minia") - (version "3.2.6") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/GATB/minia/releases" - "/download/v" version - "/minia-v" version "-Source.tar.gz")) - (sha256 - (base32 "03zg1jh0yjw7546kax8xs0zwiqhaiqz044409jc3ss6nj968ay70")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; Tests are expected to be run manually. - #:configure-flags '("-DNO_SSE=ON") ; Can be removed after unbundling gatb-core. - #:phases - (modify-phases %standard-phases - (add-after 'install 'remove-cruft - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion out - (delete-file-recursively "lib") - (delete-file-recursively "test") - (delete-file "bin/h5cc") - (delete-file "LICENSE") - (delete-file "README.md") - #t))))))) - (inputs - `(("zlib" ,zlib))) - (home-page "https://gatb.inria.fr/software/minia") - (synopsis "Short-read assembler based on a de Bruijn graph") - (description "Minia is a short-read assembler based on a de Bruijn graph, -capable of assembling a human genome on a desktop computer in a day. The output -of Minia is a set of contigs. Back when it was released, Minia produced results -of similar contiguity and accuracy to other de Bruijn assemblers (e.g. Velvet).") - (license license:agpl3+))) - -(define-public metaeuk - (package - (name "metaeuk") - (version "5-34c21f2") ; As seen upstream. - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/soedinglab/metaeuk") - (commit version) - (recursive? #t))) ; Only contains the tests. - (file-name (git-file-name name version)) - (sha256 - (base32 "0pqiqy3wycn9h3y699b5drd3y4zmz087bwgdxx6wbbqqipa6wk0j")) - (modules '((guix build utils))) - (snippet - '(begin - ;(delete-file-recursively "lib/mmseqs/lib/gzstream") - (delete-file-recursively "lib/mmseqs/lib/simde") - (delete-file-recursively "lib/mmseqs/lib/xxhash") - (delete-file-recursively "lib/mmseqs/lib/zstd"))))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags '("-DUSE_SYSTEM_ZSTD=YES") - #:substitutable? #f ; We want the native build. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'use-shared-libraries - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "lib/mmseqs/CMakeLists.txt" - (("libzstd\\.a") "libzstd.so") - (("libzstd_static") "libzstd_shared") - ;(("lib/gzstream") - ; (string-append (assoc-ref inputs "gzstream") "/include")) - (("lib/xxhash") - (string-append (assoc-ref inputs "xxhash") "/include")) - (("lib/simde") - (string-append (assoc-ref inputs "simde") "/include/simde"))) - #t)) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (with-directory-excursion "../source/tests" - (invoke "./run.sh" "../../build/src/metaeuk")))))))) - (inputs - `(("bzip2" ,bzip2) - ("zlib" ,zlib) - ("zstd:lib" ,zstd "lib"))) - (native-inputs - `(;("gzstream" ,gzstream) - ("perl" ,perl) - ("simde" ,simde) - ("xxd" ,xxd) - ("xxhash" ,xxhash))) - (home-page "https://github.com/soedinglab/metaeuk") - (synopsis - "Gene discovery and annotation for large-scale eukaryotic metagenomics") - (description - "MetaEuk is a modular toolkit designed for large-scale gene discovery and -annotation in eukaryotic metagenomic contigs. MetaEuk combines the fast and -sensitive homology search capabilities of -@url{https://github.com/soedinglab/MMseqs2, MMseqs2} with a dynamic programming -procedure to recover optimal exons sets. It reduces redundancies in multiple -discoveries of the same gene and resolves conflicting gene predictions on the -same strand.") - (license license:gpl3))) - -(define-public augustus - (package - (name "augustus") - (version "3.4.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Gaius-Augustus/Augustus") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1nc4nddcxi98fb14vmgj7x5aw5vglm4amzraqibgzmigpqnca68f")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "CXX=" ,(cxx-for-target))) - #:phases - (modify-phases %standard-phases - (delete 'configure) ; No configure script - (add-after 'unpack 'adjust-sources - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "common.mk" - ;; Has the wrong version. - (("AUGVERSION = .*") - (string-append "AUGVERSION = " ,version "\n")) - ;; Looks for ancient version of mysql. - (("COMPGENEPRED = ") - "SQLITE=true\nMYSQL = false\nCOMPGENEPRED = ")) - (substitute* "src/Makefile" - (("/usr/include/lpsolve") - (string-append (assoc-ref inputs "lpsolve") "/include/lpsolve"))) - (substitute* (find-files "auxprogs" "Makefile") - (("/usr/include/bamtools") - (string-append (assoc-ref inputs "bamtools") "/include/bamtools")) - (("/usr/include/htslib") - (string-append (assoc-ref inputs "htslib") "/include/htslib")) - (("/usr/include/boost") - (string-append (assoc-ref inputs "boost") "/include/boost"))) - #t)) - (replace 'check - (lambda args - ;; These tests rely on mysql. - ;(apply (assoc-ref %standard-phases 'check) - ; `(,@args #:test-target "unit_test")) - (apply (assoc-ref %standard-phases 'check) - `(,@args #:test-target "test")))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (share (string-append out "/share/augstus")) - (scripts (string-append share "/scripts"))) - ;; Install targets taken from Debian. - (install-file "auxprogs/bam2wig/bam2wig" bin) - (install-file "auxprogs/compileSpliceCands/compileSpliceCands" bin) - (install-file "auxprogs/homGeneMapping/src/homGeneMapping" bin) - (install-file "auxprogs/joingenes/joingenes" bin) - (mkdir-p scripts) - (copy-recursively "scripts" scripts) - (copy-recursively "config" share) - (with-directory-excursion "scripts" - (for-each delete-file (cons "executeTestCGP.py" - (find-files "." "\\.txt$")))) - (for-each make-file-writable (find-files out "\\.gz$")) - #t)))))) - (inputs - `(("boost" ,boost) - ("htslib" ,htslib) - ("perl" ,perl) - ("python" ,python) - ("sqlite" ,sqlite) - ("zlib" ,zlib))) - (native-inputs - `(("bamtools" ,bamtools) - ("gsl" ,gsl) - ("gzip" ,gzip) - ("lpsolve" ,lpsolve) - ("samtools" ,samtools) - ("suitesparse" ,suitesparse))) - (home-page "http://bioinf.uni-greifswald.de/webaugustus/") - (synopsis "Genome annotation with AUGUSTUS") - (description "Augustus can be used as an ab initio program, which means it -bases its prediction purely on the sequence. AUGUSTUS may also incorporate -hints on the gene structure coming from extrinsic sources such as EST, MS/MS, -protein alignments and syntenic genomic alignments.") - (license (license:non-copyleft - "https://opensource.org/licenses/artistic-license-1.0" - "Artistic-license-1.0")))) - -(define-public pplacer - (let ((commit "807f6f3")) - (build-with-ocaml4.07 - (package - (name "pplacer") - ;; The commit should be updated with each version change. - (version "1.1.alpha19") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/matsen/pplacer") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "11ppbbbx20p2g9wj3ff64dhnarb12q79v7qh4rk0gj6lkbz4n7cn")))) - (build-system ocaml-build-system) - (arguments - (list - #:modules '((guix build ocaml-build-system) - (guix build utils) - (ice-9 ftw)) - #:phases - #~(modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'fix-build-with-latest-ocaml - (lambda _ - (substitute* "myocamlbuild.ml" - (("dep \\[\"c_pam\"\\]" m) - (string-append "flag [\"ocaml\"; \"compile\"] (A \"-unsafe-string\");\n" - m)) - (("let run_and_read" m) - (string-append " -let split s ch = - let x = ref [] in - let rec go s = - let pos = String.index s ch in - x := (String.before s pos)::!x; - go (String.after s (pos + 1)) - in - try go s - with Not_found -> !x -let split_nl s = split s '\\n' -let before_space s = - try String.before s (String.index s ' ') - with Not_found -> s - -" m)) - (("run_and_read \"ocamlfind list \\| cut -d' ' -f1\"" m) - (string-append "List.map before_space (split_nl & " m ")")) - ((" blank_sep_strings &") "") - ((" Lexing.from_string &") "")))) - (add-after 'unpack 'replace-bundled-cddlib - (lambda* (#:key inputs #:allow-other-keys) - (let* ((cddlib-src (assoc-ref inputs "cddlib-src")) - (local-dir "cddlib_guix")) - (mkdir local-dir) - (with-directory-excursion local-dir - (invoke "tar" "xvf" cddlib-src)) - (let ((cddlib-src-folder - (string-append local-dir "/" - (list-ref (scandir local-dir) 2) - "/lib-src"))) - (for-each make-file-writable (find-files "cdd_src" ".*")) - (for-each - (lambda (file) - (copy-file file - (string-append "cdd_src/" (basename file)))) - (find-files cddlib-src-folder ".*[ch]$")))))) - (add-after 'unpack 'fix-makefile - (lambda _ - ;; Remove system calls to 'git'. - (substitute* "Makefile" - (("^DESCRIPT:=pplacer-.*") - (string-append - "DESCRIPT:=pplacer-$(shell uname)-v" ,version "\n"))) - (substitute* "myocamlbuild.ml" - (("git describe --tags --long .*\\\" with") - (string-append - "echo -n v" ,version "-" ,commit "\" with"))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (copy-recursively "bin" bin))))) - #:ocaml ocaml-4.07 - #:findlib ocaml4.07-findlib)) - (inputs - (list (list zlib "static") - (list gsl "static") - (package-with-ocaml4.07 ocaml-ounit) - (package-with-ocaml4.07 ocaml-batteries) - (package-with-ocaml4.07 camlzip) - (package-with-ocaml4.07 ocaml-csv) - (package-with-ocaml4.07 ocaml-sqlite3) - (package-with-ocaml4.07 ocaml-xmlm) - (package-with-ocaml4.07 ocaml-mcl) - ocaml4.07-gsl-1 - (list sqlite "static"))) - (native-inputs - (list (package-source cddlib) - (package-with-ocaml4.07 ocamlbuild) - pkg-config)) - (propagated-inputs - (list pplacer-scripts)) - (synopsis "Phylogenetic placement of biological sequences") - (description - "Pplacer places query sequences on a fixed reference phylogenetic tree -to maximize phylogenetic likelihood or posterior probability according to a -reference alignment. Pplacer is designed to be fast, to give useful -information about uncertainty, and to offer advanced visualization and -downstream analysis.") - (home-page "https://matsen.fhcrc.org/pplacer/") - (license license:gpl3))))) - -(define-public python2-biopython - (python2-package python-biopython)) - -;; This package is installed alongside 'pplacer'. It is a separate package so -;; that it can use the python-build-system for the scripts that are -;; distributed alongside the main OCaml binaries. -(define pplacer-scripts - (package - (inherit pplacer) - (name "pplacer-scripts") - (build-system python-build-system) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'enter-scripts-dir - (lambda _ (chdir "scripts"))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "python" "-m" "unittest" "discover" "-v")))) - (add-after 'install 'wrap-executables - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (path (string-append - (assoc-ref inputs "hmmer") "/bin:" - (assoc-ref inputs "infernal") "/bin"))) - (display path) - (wrap-program (string-append bin "/refpkg_align.py") - `("PATH" ":" prefix (,path))) - (wrap-program (string-append bin "/hrefpkg_query.py") - `("PATH" ":" prefix (,path))))))))) - (inputs - `(("infernal" ,infernal) - ("hmmer" ,hmmer))) - (propagated-inputs - `(("python-biopython" ,python2-biopython) - ("taxtastic" ,taxtastic))) - (synopsis "Pplacer Python scripts"))) - -(define-public sepp - (package - (name "sepp") - (version "4.5.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/smirarab/sepp") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1bw5gjhymq0a4slkk7pr5dl4jb9bnwv4qpn26mvwp8fx3aszvmij")) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file-recursively "tools/bundled") - (mkdir-p "tools/bundled/Linux") - (for-each (lambda (file) - (with-output-to-file - (string-append "tools/bundled/Linux/" file) - (lambda _ - (format #t "")))) - '("guppy-32" "guppy-64" - "hmmalign-32" "hmmalign-64" - "hmmbuild-32" "hmmbuild-64" - "hmmsearch-32" "hmmsearch-64" - "pplacer-32" "pplacer-64")) - ;; TODO: Rebuild java blob. - ;(delete-file-recursively "tools/merge/lib") - ;(delete-file "tools/merge/seppJsonMerger.jar") - ;; This is a circular reference to the top directory ... - (delete-file-recursively "sepp-package/sepp"))))) - (build-system python-build-system) - (arguments - `(#:tests? #f ; Test suite hangs. - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda* (#:key tests? inputs outputs #:allow-other-keys) - (let ((hmmer (string-append (assoc-ref inputs "hmmer") "/bin/")) - (pplacer (string-append (assoc-ref inputs "pplacer") "/bin/")) - (tools "tools/bundled/Linux/")) - (for-each - (lambda (target package) - (delete-file (string-append tools target)) - (symlink (string-append package (string-drop-right target 3)) - (string-append tools target))) - (list "guppy-32" "guppy-64" - "hmmalign-32" "hmmalign-64" - "hmmbuild-32" "hmmbuild-64" - "hmmsearch-32" "hmmsearch-64" - "pplacer-32" "pplacer-64") - (list pplacer pplacer - hmmer hmmer - hmmer hmmer - hmmer hmmer - pplacer pplacer)) - #t))) - (replace 'check - (lambda* (#:key tests? inputs outputs #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - ;; This test is upset we removed the Darwin binary. - (delete-file "test/unittest/testConfig.py") - ;; This test is missing its config file. - (delete-file "test/unittest/testUPP.py") - (invoke "nosetests" "-w" "test/unittest")))) - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (home.path (string-append out "/share/sepp"))) - (setenv "HOME" home.path) - (mkdir-p (string-append home.path "/.sepp")) - ;; configure with '-c' so our pretend bundled - ;; libraries aren't actually installed. - (invoke "python" "setup.py" "config" "-c") - #t))) - (add-after 'install 'copy-home.path - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (home.path (string-append out "/share/sepp"))) - (with-output-to-file (string-append out "/home.path") - (lambda _ - (format #t "~a/.sepp" - home.path))) - (with-output-to-file (string-append home.path "/.sepp/main.config") - (lambda _ - (format #t "[pplacer]~@ - path=~a/bin/pplacer~@ - ~@ - [hmmalign]~@ - path=~a/bin/hmmalign~@ - ~@ - [hmmsearch]~@ - path=~a/bin/hmmsearch~@ - piped=False~@ - elim=10000~@ - filters=True~@ - ~@ - [hmmbuild]~@ - path=~a/bin/hmmbuild~@ - ~@ - [jsonmerger]~@ - path=~a/share/sepp/seppJsonMerger.jar~@ - ~@ - [exhaustive]~@ - strategy = centroid~@ - minsubsetsize = 2~@ - placementminsubsetsizefacotr = 4~@ - placer = pplacer~@ - weight_placement_by_alignment = True~%" - (assoc-ref inputs "pplacer") - (assoc-ref inputs "hmmer") - (assoc-ref inputs "hmmer") - (assoc-ref inputs "hmmer") - out))) - (install-file "tools/merge/seppJsonMerger.jar" - home.path) - (copy-file (string-append out "/home.path") - (string-append (site-packages inputs outputs) "/home.path")) - #t)))))) - (inputs - `(("hmmer" ,hmmer) - ("java" ,icedtea-8) - ("pplacer" ,pplacer) - ("python-dendropy" ,python-dendropy))) - (native-inputs - `(("python-nose" ,python-nose))) - (home-page "https://github.com/smirarab/sepp") - (synopsis "SATe enabled phylogenetic placement") - (description "SEPP operates by using a divide-and-conquer strategy adopted -from SATe-II (@url{Liu et al. (Systematic Biology 2012), -http://sysbio.oxfordjournals.org/content/61/1/90.full.pdf+html?sid=dd32838d-89dc-4bda-8008-6f948146341f} -and @url{Liu et. al. (Science 2009), -http://www.sciencemag.org/content/324/5934/1561.abstract}) to construct an -Ensemble of @acronym{HMMs, Hidden Markov Models} to represent the input -multiple sequence alignment `A`. It then computes the fit of each query -sequence in `X` to each HMM in the ensemble, and uses the highest scoring HMM to -add the sequence to the input tree `T`. This technique improves the accuracy of -the placements of the query sequences compared to using a single HMM to -represent the input alignment. SEPP uses tools in HMMER to construct HMMs, -compute the fit of sequences to HMMs, and add sequences to the alignment `A`. -SEPP uses @code{pplacer} to add query sequences to the input tree `T`, after -they are added to the alignment `A`. SEPP is also used in other software, -including @acronym{TIPP, taxonomic identical using phylogenetic placement} and -@acronym{UPP, ultra-large alignments using phylogeny-aware profiles}.") - (license license:gpl3+))) - -(define-public busco - (package - (name "busco") - (version "5.4.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/ezlab/busco") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0fnijr7q9jj8hq3q5v0jd73zcznqrg72idr3lmchx7x2c66mb9dz")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - (when tests? - (begin (add-installed-pythonpath inputs outputs) - (invoke "python" "setup.py" "check"))))) - (add-after 'install 'wrap-binary - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/busco") - `("PATH" ":" prefix - (,(string-append (assoc-ref inputs "augustus") "/bin") - ,(string-append (assoc-ref inputs "blast") "/bin") - ,(string-append (assoc-ref inputs "hmmer") "/bin") - ,(string-append (assoc-ref inputs "metaeuk") "/bin") - ,(string-append (assoc-ref inputs "prodigal") "/bin") - ,(string-append (assoc-ref inputs "r") "/bin") - ,(string-append (assoc-ref inputs "sepp") "/bin")))))))))) - (inputs - `(("augustus" ,augustus) - ("blast" ,blast+) - ("hmmer" ,hmmer) - ("metaeuk" ,metaeuk) - ("prodigal" ,prodigal) - ("python-biopython" ,python-biopython) - ("python-pandas" ,python-pandas) - ("r" ,r) - ("sepp" ,sepp))) - (home-page "https://busco.ezlab.org/") - (synopsis "Assess genome assembly and annotation completeness") - (description "Assess genome assembly and annotation completeness with -Benchmarking Universal Single-Copy Orthologs.") - (license license:expat))) - -(define-public mutation-simulator - (let ((commit "9cb6bd2acf8201151bc610be14963e65b41d8899") ; March 25, 2021 - (revision "1")) - (package - (name "mutation-simulator") - (version (git-version "2.0.3" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mkpython3/mutation-simulator") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1yxn5v5x804rm5ra1srmnph468yk7amsgfsj6h20rd6nmj2j0g9c")))) - (build-system copy-build-system) - (arguments - `(#:install-plan - '(("mutation-simulator.py" "bin/")) - #:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-script - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (script (string-append out "/bin/mutation-simulator.py"))) - ;; wrap-script doesn't accept arguments - (wrap-program script - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) - (chmod script #o555) - ;; When using wrap-script. - (when (file-exists? - (string-append out "/bin/.mutation-simulator.py-real")) - (chmod (string-append out "/bin/.mutation-simulator.py-real") - #o555)) - #t))) - (add-after 'wrap-script 'check - (lambda* (#:key tests? outputs #:allow-other-keys) - (when tests? - (invoke (string-append (assoc-ref outputs "out") - "/bin/mutation-simulator.py") - "Test/test.fa" "rmt" "Test/test.rmt"))))))) - (inputs - `(("bash" ,bash-minimal) ; for wrap-program - ;("guile" ,(@ (gnu packages guile) guile-3.0)) ; for wrap-script - ("python" ,python) - ("python-blist" ,python-blist) - ("python-pyfaidx" ,python-pyfaidx) - ("python-numpy" ,python-numpy) - ("python-tqdm" ,python-tqdm))) - (home-page "https://github.com/mkpython3/mutation-simulator") - (synopsis "Simulate mutations on given fasta files") - (description "Mutation-Simulator is a Python tool for simulating SNPs and -SVs in any reference genome with cohesive documentation about implemented -mutations. With Mutation-Simulator, the new file format @acronym{RMT, Random -Mutation Tables} is introduced, which gives more simulation power to the user by -creating an interface for more natural simulations within specific genomes. -Mutation-Simulator provides 3 different modes to simulate SNPs, insertions, -deletions, tandem duplications, inversions, translocations and interchromosomal -translocations from the commandline or with highly configureable RMT files.") - (license license:gpl3+)))) - -(define-public python-blist - (package - (name "python-blist") - (version "1.3.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "blist" version)) - (sha256 - (base32 "1hqz9pqbwx0czvq9bjdqjqh5bwfksva1is0anfazig81n18c84is")) - (patches (search-patches "blist-stopiteration.patch")))) - (build-system python-build-system) - (home-page "http://stutzbachenterprises.com/blist/") - (synopsis "List-like type for Python with better asymptotic performance") - (description - "This package provides a list-like type for Python with better asymptotic -performance and similar performance on small lists.") - (license license:bsd-3))) - (define-public verkko (let ((commit "9323e71f46b0ea1725202ebe911142d0d1288c45") ; Jan 22, 2022 (revision "1")) @@ -4293,168 +314,6 @@ their chance of getting selected as minimizers.") ;; Rest of the code is public domain. (license license:expat))) -(define-public quast - (package - (name "quast") - (version "5.2.0") - (source - (origin - (method url-fetch) - (uri (list (pypi-uri "quast" version) - (string-append "https://github.com/ablab/quast" - "/releases/download/quast_" version - "/quast-" version ".tar.gz"))) - (sha256 - (base32 "1nz0lz7zgrhcirmm3xcn756f91a6bpww9npap3a4l9gsgh413nfc")) - (patches (search-patches "quast.patch")) - (snippet - #~(begin - (use-modules (guix build utils)) - (with-directory-excursion "quast_libs" - (substitute* "run_busco.py" - (("from quast_libs\\.busco import busco") "import busco")) - (delete-file-recursively "site_packages/joblib2") - (delete-file-recursively "site_packages/joblib3") - (delete-file-recursively "site_packages/simplejson") - (delete-file-recursively "minimap2") ; Accepts minimap2 >= 2.19 - ;; These packages are needed at runtime - (delete-file-recursively "bedtools") - (delete-file-recursively "bwa") - ;; These files are from python itself - (delete-file "site_packages/bz2.py") - (delete-file "site_packages/_bz2.py") - (delete-file "site_packages/_compression.py") - ;; Delete some pre-compiled binaries - (delete-file-recursively "barrnap/binaries/darwin") - (delete-file "barrnap/binaries/linux/nhmmer") - (delete-file "busco/hmmsearch") - (delete-file "sambamba/sambamba_linux") - (delete-file "sambamba/sambamba_osx") - ;; TODO: - ;(delete-file "barrnap/bin/barrnap") - - ;; Genemark is a non-free, but available to academic - ;; institutions. Remove some of the bundled binaries. - (delete-file-recursively "genemark/linux_32") - (delete-file-recursively "genemark/macosx") - (delete-file-recursively "genemark-es/linux_32") - (delete-file-recursively "genemark-es/macosx")))))) - (build-system python-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patchelf-genemark - (lambda* (#:key inputs #:allow-other-keys) - (let ((patchelf (search-input-file inputs "/bin/patchelf")) - (ld-so (search-input-file inputs #$(glibc-dynamic-linker))) - (rpath (dirname - (search-input-file inputs "/lib/libstdc++.so.6")))) - (for-each (lambda (binary) - (invoke patchelf "--set-interpreter" ld-so binary) - (invoke patchelf "--set-rpath" rpath binary)) - (list "quast_libs/genemark/linux_64/gmhmmp" - "quast_libs/genemark/linux_64/probuild" - "quast_libs/genemark-es/linux_64/gmhmme3" - "quast_libs/genemark-es/linux_64/probuild"))))) - (add-before 'build 'replace-bundled-binaries - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "quast_libs/ca_utils/misc.py" - (("join\\(qconfig.LIBS_LOCATION, 'minimap2'\\)") - (string-append "'" (search-input-file inputs "/bin/minimap2") "'"))) - (substitute* "./quast_libs/ra_utils/misc.py" - (("join\\(sambamba_dirpath, fname \\+ platform_suffix\\)") - (string-append "'" (search-input-file inputs "/bin/sambamba") "'")) - (("join\\(qconfig.LIBS_LOCATION, 'bedtools', 'bin'\\)") - (string-append - "'" (dirname (search-input-file inputs "/bin/bedtools")) "'"))))) - (add-after 'wrap 'wrap-more - (lambda* (#:key inputs outputs #:allow-other-keys) - (for-each - (lambda (file) - (wrap-program file - `("PATH" ":" prefix - ,(map (lambda (file-name) - (string-append (assoc-ref inputs file-name) "/bin")) - (list "bedtools" - "blast+" - "busco" - "bwa" - "hmmer" - "minimap2" - "sambamba"))))) - (find-files (string-append #$output "/bin") "\\.py$")))) - (replace 'check - (lambda* (#:key tests? inputs outputs #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "python" "setup.py" "test")))) - (delete 'strip)))) ; Can't strip genemark binaries. - (native-inputs - (list (list (canonical-package gcc) "lib") patchelf)) - (inputs - (list python-joblib - python-matplotlib - python-simplejson - ;; And the non-python packages: - ;augustus - bash-minimal - bedtools - blast+ - busco - bwa - hmmer - minimap2 - perl - sambamba)) - (home-page "http://quast.sourceforge.net/") - (synopsis "Genome assembly evaluation tool") - (description "QUAST stands for QUality ASsessment Tool. It evaluates -genome/metagenome assemblies by computing various metrics. The current QUAST -toolkit includes the general QUAST tool for genome assemblies, MetaQUAST, the -extension for metagenomic datasets, QUAST-LG, the extension for large genomes -(e.g., mammalians), and Icarus, the interactive visualizer for these tools.") - (supported-systems '("x86_64-linux")) ; Due to bundled genemark - (license - (list license:gpl2 ; Main program - ;; Genemark (bundled) is free for non-commercial use by academic, - ;; government, and non-profit/not-for-profit institutions. - (license:non-copyleft - "http://topaz.gatech.edu/GeneMark/license_download.cgi"))))) - -(define-public blobtools - (let ((commit "1bed7870198831539b370f9254d5d30b94199a18") - (revision "3")) ;; 2022-09-21 - (package - (name "blobtools") - (version (git-version "1.1.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/DRL/blobtools") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0nki2m1sxkx75rkwzw6dqvxzyswrv47q0rz4bx9w0bz4fawnx86z")))) - (build-system python-build-system) - (arguments - (list #:tests? #f)) ; No tests in repo. - (inputs - (list python-docopt - python-matplotlib - python-tqdm - python-pysam - python-pyyaml)) - (home-page "https://blobtools.readme.io/") - (synopsis - "Modular command-line solution for partitioning of genome datasets") - (description "Blobtools is a modular command-line solution for -visualisation, quality control and taxonomic partitioning of genome datasets. -BlobTools takes the information from HITS files and sums up bitscores by -taxonomic group at each taxonomic rank.") - (license license:gpl3)))) - ;; TODO: Regenerate or remove docs folder. (define-public python-pixy (package @@ -4875,7 +734,6 @@ annotated in the reference.") "This package provides a ggplot2 extension for drawing gene arrow maps.") (license license:gpl2))) - (define-public r-dendextendrcpp (package (name "r-dendextendrcpp") @@ -4899,33 +757,3 @@ annotated in the reference.") (description "A dendrogram object in R are is a list structure with attributes in its nodes and leaves.") (license license:gpl3))) -(define-public r-dendextend - (package - (name "r-dendextend") - (version "1.19.1") - (source - (origin - (method url-fetch) - (uri (cran-uri "dendextend" version)) - (sha256 - (base32 "0097bmdv960khjkf3gvbdrazx4ns8i9221m9h68vnq541h61ag5y")))) - (properties `((upstream-name . "dendextend"))) - (build-system r-build-system) - (propagated-inputs (list r-ggplot2 r-magrittr r-viridis)) - (native-inputs (list r-ape - r-cluster - r-data-table - r-dendextendrcpp - r-fpc - r-knitr - r-pvclust - r-testthat)) - (home-page "https://talgalili.github.io/dendextend/") - (synopsis "Extending 'dendrogram' Functionality in R") - (description - "Offers a set of functions for extending dendrogram objects in R, letting you -visualize and compare trees of hierarchical clusterings'. You can (1) Adjust a -tree's graphical parameters - the color, size, type, etc of its branches, nodes -and labels. (2) Visually and statistically compare different dendrograms to one -another.") - (license (list license:gpl2 license:gpl3)))) diff --git a/gn/packages/check.scm b/gn/packages/check.scm index 01f1508..e7ffe25 100644 --- a/gn/packages/check.scm +++ b/gn/packages/check.scm @@ -91,24 +91,3 @@ interpreter when it prints a stack trace.") standard library.") (license license:psfl))) -(define-public python-pyux - (package - (name "python-pyux") - (version "0.0.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pyux" version)) - (sha256 - (base32 - "1i17xh4dy238ibrjdgh8vn78fk5q6dj37mcznpvdfzidj57js7ca")))) - (build-system pyproject-build-system) - (arguments - `(#:tests? #f)) ;the mini test suite fails - (native-inputs - (list python-pytest python-setuptools)) - (home-page "https://github.com/farizrahman4u/pyux") - (synopsis "Utility to check API integrity in Python libraries") - (description "The pyux utility detects API changes in Python -libraries.") - (license license:expat))) diff --git a/gn/packages/cran.scm b/gn/packages/cran.scm index 34e781c..52c21b0 100644 --- a/gn/packages/cran.scm +++ b/gn/packages/cran.scm @@ -7,29 +7,6 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages cran)) -(define-public r-tictoc - (package - (name "r-tictoc") - (version "1.0") - (source - (origin - (method url-fetch) - (uri (cran-uri "tictoc" version)) - (sha256 - (base32 - "1zp2n8k2ax2jjw89dsri268asmm5ry3ijf32wbca5ji231y0knj7")))) - (build-system r-build-system) - (home-page "http://github.com/collectivemedia/tictoc") - (synopsis "Functions for timing R scripts") - (description - "This package provides the timing functions @code{tic} and @code{toc} that -can be nested. One can record all timings while a complex script is running, -and examine the values later. It is also possible to instrument the timing call -with custom callbacks. In addition, this package provides class 'Stack', -implemented as a vector, and class 'List', implemented as a list, both of whic -support operations 'push', 'pop', 'first', 'last' and 'clear'.") - (license license:asl2.0))) - (define-public r-bracer (package (name "r-bracer") diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm index ea87358..509c1e1 100644 --- a/gn/packages/crates-io.scm +++ b/gn/packages/crates-io.scm @@ -392,25 +392,6 @@ Python code from a Rust binary is also supported.") (description "Code generation for PyO3 package") (license license:asl2.0))) -(define-public rust-quick-csv-0.1 - (package - (name "rust-quick-csv") - (version "0.1.6") - (source (origin - (method url-fetch) - (uri (crate-uri "quick-csv" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "131k8zzlplk2h62wz813jbvm0sk7v3mixwhhq34y9lmp3mqbgx7d")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))) - (home-page "https://github.com/tafia/quick-csv") - (synopsis "quick csv reader and decoder") - (description "quick csv reader and decoder") - (license license:expat))) - (define-public rust-succinct-0.5 (package (name "rust-succinct") @@ -538,46 +519,6 @@ or any combination.") (description "Rust CLI tools for manipulation of Jupyter Notebooks.") (license #f)))) ; There is no license. -(define-public rust-trycmd-0.12 - (package - (name "rust-trycmd") - (version "0.12.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "trycmd" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1rwa5nzq8c5zg7lqmpkf7hyib415yxshd9amp911y8w1zss4s38p")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-backtrace" ,rust-backtrace-0.3) - ("rust-concolor" ,rust-concolor-0.0.8) - ("rust-content-inspector" ,rust-content-inspector-0.2) - ("rust-difflib" ,rust-difflib-0.4) - ("rust-dunce" ,rust-dunce-1) - ("rust-escargot" ,rust-escargot-0.5) - ("rust-glob" ,rust-glob-0.3) - ("rust-humantime" ,rust-humantime-2) - ("rust-humantime-serde" ,rust-humantime-serde-1) - ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3) - ("rust-os-pipe" ,rust-os-pipe-1) - ("rust-rayon" ,rust-rayon-1) - ("rust-schemars" ,rust-schemars-0.8) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-shlex" ,rust-shlex-1) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-toml-edit" ,rust-toml-edit-0.12) - ("rust-wait-timeout" ,rust-wait-timeout-0.2) - ("rust-walkdir" ,rust-walkdir-2) - ("rust-yansi" ,rust-yansi-0.5)))) - (home-page "https://github.com/assert-rs/trycmd") - (synopsis "Snapshot testing for a herd of CLI tests") - (description "Snapshot testing for a herd of CLI tests") - (license (list license:expat license:asl2.0)))) - (define-public rust-toml-edit-0.12 (package (name "rust-toml-edit") diff --git a/gn/packages/databases.scm b/gn/packages/databases.scm index 20ea612..dcd40b3 100644 --- a/gn/packages/databases.scm +++ b/gn/packages/databases.scm @@ -68,76 +68,6 @@ ("zlib" ,zlib))) (native-inputs `()))) -(define-public mysql-5.5 - (package - (inherit mysql) - (version "5.5.62") - (source - (origin - (method url-fetch) - (uri (string-append "https://downloads.mysql.com/archives/mysql-" - (version-major+minor version) - "/mysql-" version ".tar.gz")) - (sha256 - (base32 - "1mwrzwk9ap09s430fpdkyhvx5j2syd3xj2hyfzvanjphq4xqbrxi")))) - (arguments - `(#:configure-flags - '("-DBUILD_CONFIG=mysql_release" - "-DWITH_SSL=system" - "-DWITH_ZLIB=system" - "-DWITH_READLINE=OFF" - "-DWITH_LIBEDIT=OFF" - "-DDEFAULT_CHARSET=utf8" - "-DDEFAULT_COLLATION=utf8_general_ci" - "-DMYSQL_DATADIR=/var/lib/mysql" - "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" - "-DINSTALL_INFODIR=share/mysql/docs" - "-DINSTALL_MANDIR=share/man" - "-DINSTALL_PLUGINDIR=lib/mysql/plugin" - "-DINSTALL_SCRIPTDIR=bin" - "-DINSTALL_INCLUDEDIR=include/mysql" - "-DINSTALL_DOCREADMEDIR=share/mysql/docs" - "-DINSTALL_SUPPORTFILESDIR=share/mysql" - "-DINSTALL_MYSQLSHAREDIR=share/mysql" - "-DINSTALL_DOCDIR=share/mysql/docs" - "-DINSTALL_SHAREDIR=share/mysql" - ;; Get rid of test data. - "-DINSTALL_MYSQLTESTDIR=" - "-DINSTALL_SQLBENCHDIR=") - #:phases - (modify-phases %standard-phases - (add-after 'install 'clean-install-directories - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (delete-file-recursively (string-append out "/data")) - (for-each delete-file - (find-files (string-append out "/bin") "_embedded$")) - #t)))))) - (inputs - `(("libaio" ,libaio) - ("ncurses" ,ncurses) - ("openssl" ,openssl-1.0) - ("readline" ,readline) - ("zlib" ,zlib))))) - -(define-public python2-mysqlclient - (let ((base (package-with-python2 python-mysqlclient))) - (package - (inherit base) - (version "1.4.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "mysqlclient" version)) - (sha256 - (base32 - "05ifrfz7rrl7j4gq4xz5acd76lrnmry9vrvg98hknakm72damzgk")))) - (inputs - `(("zlib" ,zlib) - ,@(package-inputs base)))))) - - (define-public python-mysqlclient-2.2.7 (package (inherit python-mysqlclient) diff --git a/gn/packages/dlang.scm b/gn/packages/dlang.scm deleted file mode 100644 index a7d76a2..0000000 --- a/gn/packages/dlang.scm +++ /dev/null @@ -1,264 +0,0 @@ -(define-module (gn packages dlang) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake) - #:use-module (gnu packages) - #:use-module (gnu packages base) - #:use-module (gnu packages check) - #:use-module (gnu packages compression) - #:use-module (gnu packages curl) - #:use-module (gnu packages gdb) - #:use-module (gnu packages libedit) - #:use-module (gnu packages dlang) - #:use-module (gnu packages llvm) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages textutils) - #:use-module (gnu packages xorg)) - -#! -The following tests FAILED: - 394 - std.socket (Failed) - 793 - std.socket-debug (Failed) - 1192 - std.socket-shared (Failed) - 1591 - std.socket-debug-shared (Failed) - 1608 - druntime-test-aa (Failed) - 1610 - druntime-test-allocations (Failed) - 1612 - druntime-test-betterc (Failed) - 1614 - druntime-test-config (Failed) - 1616 - druntime-test-coverage (Failed) - 1618 - druntime-test-cpuid (Failed) - 1620 - druntime-test-cycles (Failed) - 1622 - druntime-test-exceptions (Failed) - 1624 - druntime-test-gc (Failed) - 1626 - druntime-test-hash (Failed) - 1630 - druntime-test-init_fini (Failed) - 1632 - druntime-test-profile (Failed) - 1634 - druntime-test-shared (Failed) - 1638 - druntime-test-thread (Failed) - 1640 - druntime-test-typeinfo (Failed) - 1642 - druntime-test-unittest (Failed) - 1643 - build-run-dmd-testsuite (Failed) - 1645 - dmd-testsuite-debug (Not Run) - 1647 - dmd-testsuite (Not Run) - 1648 - lit-tests (Failed) -Errors while running CTest -!# - -(define ldc-bootstrap-0.17 - (package - (name "ldc") - (version "0.17.6") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/ldc") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1q6hm4fkrcwys83x0p4kfg9xrc1b9g2qicqif2zy5z4nsfsb5vgs")))) - (build-system cmake-build-system) - (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) - (properties - ;; Some of the tests take a very long time on ARMv7. See - ;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>. - `((max-silent-time . ,(* 3600 3)))) - (arguments - `(#:tests? #f ;requires obsolete python-lit test dependency - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (input target) - (let ((source (assoc-ref inputs input))) - ;; Git checkouts are directories as long as - ;; there are no patches; tarballs otherwise. - (if (file-is-directory? source) - (copy-recursively source target) - (with-directory-excursion target - (invoke "tar" "xvf" source - "--strip-components=1"))))))) - (unpack "phobos-src" "runtime/phobos") - (unpack "druntime-src" "runtime/druntime") - (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))) - (add-after 'unpack-submodule-sources 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "runtime/phobos/std/process.d" - (("/bin/sh") (which "sh")) - (("echo") (which "echo"))) - (substitute* "runtime/phobos/std/datetime.d" - (("/usr/share/zoneinfo/") - (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) - (("tzName == \"[+]VERSION\"") - "(tzName == \"+VERSION\" || \ -std.algorithm.endsWith(tzName, \"/leapseconds\"))"))))))) - (inputs - `(("libconfig" ,libconfig) - ("libedit" ,libedit) - ("tzdata" ,tzdata) - ("zlib" ,zlib))) - (native-inputs - `(("llvm" ,llvm-12) - ("python-wrapper" ,python-wrapper) - ("unzip" ,unzip) - ("phobos-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/phobos") - (commit (string-append "ldc-v" version)))) - (file-name (git-file-name "phobos" version)) - (sha256 - (base32 "15jzs38wanks2jfp2izzl7zqrp4c8ai54ppsgm8ws86p3sbbkmj8")))) - ("druntime-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/druntime") - (commit (string-append "ldc-v" version)))) - (file-name (git-file-name "druntime" version)) - (sha256 - (base32 "00wr2kiggwnd8h7by51fhj1xc65hv1ysip5gbgdbkfar58p2d0bb")))) - ("dmd-testsuite-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/dmd-testsuite") - (commit (string-append "ldc-v" version)))) - (file-name (git-file-name "dmd-testsuite" version)) - (sha256 - (base32 "1d1c0979wbippldrkjf7szyj4n87hxz8dwqg1r5b3aai37g9kcky")))))) - (home-page "http://wiki.dlang.org/LDC") - (synopsis "LLVM-based compiler for the D programming language") - (description - "LDC is an LLVM compiler for the D programming language. It is based on -the latest DMD compiler that was written in C and is used for -bootstrapping more recent compilers written in D.") - ;; Most of the code is released under BSD-3, except for code originally - ;; written for GDC, which is released under GPLv2+, and the DMD frontend, - ;; which is released under the "Boost Software License version 1.0". - (license (list license:bsd-3 - license:gpl2+ - license:boost1.0)))) - -(define-public ldc - ;; Phobos, druntime and dmd-testsuite library dependencies do - ;; not always have a newer release than the compiler, hence we - ;; retain this variable. - (let ((older-version "1.26.0")) ;; retain this because sometimes the libs are older - (package - (inherit ldc-bootstrap-0.17) - (name "ldc") - (version "1.26.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/ldc") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1k9998w8zdm6l6ld8wzxvp5hj5jfqhnxmvs82vmrrh92ysrfjbp6")))) - (arguments - `(#:tests? #f ;; tests fail, see list above - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (input target) - (let ((source (assoc-ref inputs input))) - ;; Git checkouts are directories as long as - ;; there are no patches; tarballs otherwise. - (if (file-is-directory? source) - (copy-recursively source target) - (with-directory-excursion target - (invoke "tar" "xvf" source - "--strip-components=1"))))))) - (unpack "phobos-src" "runtime/phobos") - (unpack "druntime-src" "runtime/druntime") - (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite") - #t))) - (add-after 'unpack-submodule-sources 'patch-phobos - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("runtime/phobos/std/process.d" - "tests/linking/linker_switches.d") - (("/bin/sh") (which "sh")) - (("echo") (which "echo"))) - (substitute* "tests/d2/dmd-testsuite/Makefile" - (("/bin/bash") (which "bash"))) - ;; disable unittests in the following files. We are discussing with - ;; upstream - (substitute* '("runtime/phobos/std/net/curl.d" - "runtime/phobos/std/datetime/systime.d" - "runtime/phobos/std/datetime/timezone.d" - ) - (("version(unittest)") "version(skipunittest)") - ((" unittest") " version(skipunittest) unittest")) - ;; the following tests require a more recent LLVM - (delete-file "tests/compilable/ctfe_math.d") - (delete-file "tests/debuginfo/nested_gdb.d") - (delete-file "tests/debuginfo/classtypes_gdb.d") - ;; the following tests plugins we don't have. - (delete-file "tests/plugins/addFuncEntryCall/testPlugin.d") - ;; the following tests requires AVX instruction set in the CPU. - ; (substitute* "tests/d2/dmd-testsuite/runnable/test_cdvecfill.d" - ; (("^// DISABLED: ") "^// DISABLED: linux64 ")) - #t)) - ; (replace 'check - ; (lambda* (#:key inputs outputs #:allow-other-keys) - ; ;; some tests call into gdb binary which needs SHELL and CC set - ; (setenv "SHELL" (which "sh")) - ; (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) - ; (invoke "make" "test" "-j" (number->string (parallel-job-count)))))))) - ))) - (native-inputs - `(("llvm" ,llvm) - ("clang" ,clang) - ("ldc" ,ldc-bootstrap-0.17) - ("python-lit" ,python-lit) - ("python-wrapper" ,python-wrapper) - ("unzip" ,unzip) - ("gdb" ,gdb) - ("phobos-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/phobos") - (commit (string-append "ldc-v" older-version)))) - (file-name (git-file-name "phobos" older-version)) - (sha256 - (base32 "0salwkm2kl9vyaqqjzxgqfd6k7grk2d8886g7vahl4mqm5nqc78w")) - ;; This patch deactivates some tests that depend on network access - ;; to pass. It also deactivates some tests that have some reliance - ;; on timezone. - ;; - ;; For the network tests, there's an effort to get a version flag - ;; added to deactivate these tests for distribution packagers - ;; that is being pursued at - ;; <https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org>. - ;; It also deactivates a test that requires /root - ;; (patches (search-patches "ldc-disable-phobos-tests.patch")) - )) - ("druntime-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/druntime") - (commit (string-append "ldc-v" older-version)))) - (file-name (git-file-name "druntime" older-version)) - (sha256 - (base32 "07l71j3haafiglf8f0f5q5k84zsd61jgghsxqb4krs9rc1yxmr4s")))) - ("dmd-testsuite-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ldc-developers/dmd-testsuite") - (commit (string-append "ldc-v" older-version)))) - (file-name (git-file-name "dmd-testsuite" older-version)) - (sha256 - (base32 "0cvf6nk7yi3s800plx0j6765p3irqm2k6zwz2pmwallxjl21zbvq"))))))))) diff --git a/gn/packages/edash.scm b/gn/packages/edash.scm index 42da046..e46ebae 100644 --- a/gn/packages/edash.scm +++ b/gn/packages/edash.scm @@ -72,29 +72,6 @@ transfers.") interface to the Amazon Web Services (AWS) API.") (license license:asl2.0))) -(define-public python-boto3 - (package - (name "python-boto3") - (version "1.7.48") - (source - (origin - (method url-fetch) - (uri (pypi-uri "boto3" version)) - (sha256 - (base32 - "1pnm5pj70kaa8pbq39i2y70h17cazk8nkjqh12b8xqks7ywjr9f5")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) - (propagated-inputs - `(("python-botocore" ,python-botocore-1.10.48) - ("python-jmespath" ,python-jmespath) - ("python-s3transfer" ,python-s3transfer-0.1.13))) - (home-page "https://github.com/boto/boto3") - (synopsis "The AWS SDK for Python") - (description "The AWS SDK for Python") - (license license:asl2.0))) - (define-public python-speaklater (package (name "python-speaklater") @@ -208,27 +185,6 @@ command line interfaces in a composable way with as little code as necessary.") (license license:asl2.0))) -(define-public python-testfixtures - (package - (name "python-testfixtures") - (version "6.3.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "testfixtures" version)) - (sha256 - (base32 - "1x16xkw483nb1ngv74s7lgaj514pb1ldklal7kb7iwqbxcgnrh2k")))) - (build-system python-build-system) - (arguments `(#:tests? #f)) - (home-page - "https://github.com/Simplistix/testfixtures") - (synopsis - "Collection of helpers and mock objects for unit tests and doc tests") - (description - "A collection of helpers and mock objects for unit tests and doc tests.") - (license license:expat))) - (define-public python-aiohttp-jinja2 (package (name "python-aiohttp-jinja2") @@ -253,38 +209,6 @@ necessary.") "jinja2 template renderer for aiohttp.web (http server for asyncio)") (license license:asl2.0))) -(define-public python-openapi-spec-validator - (package - (name "python-openapi-spec-validator") - (version "0.2.4") - (source - (origin - (method url-fetch) - (uri (pypi-uri "openapi-spec-validator" version)) - (sha256 - (base32 - "0khzsk1dqjfj2j8z8iqn4l47j133b0yavzrj268hxwy4qjp4ls0l")))) - (build-system python-build-system) - (propagated-inputs - `(("python-six" ,python-six) - ("python-tox" ,python-tox) - ("python-mock" ,python-mock) - ("python-pyyaml" ,python-pyyaml) - ("python-pytest-cov" ,python-pytest-cov) - ("python-jsonschema" ,python-jsonschema) - ("python-pytest-pycodestyle" ,python-pytest-pycodestyle) -;; ("python-pytest-flakes" ,python-pytest-flakes) - )) - (arguments `(#:tests? #f)) - (home-page - "https://github.com/p1c2u/openapi-spec-validator") - (synopsis "OpenAPI Spec validator") - (description "OpenAPI Spec Validator is a Python library that -validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger) and -OpenAPI 3.0.0 specification. The validator aims to check for full compliance -with the Specification.") - (license license:asl2.0))) - (define-public python-swagger-ui-bundle (package (name "python-swagger-ui-bundle") @@ -362,30 +286,6 @@ with the Specification.") "Connexion - API first applications with OpenAPI/Swagger and Flask") (license license:asl2.0))) -(define-public python-flask-cors - (package - (name "python-flask-cors") - (version "3.0.7") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Flask-Cors" version)) - (sha256 - (base32 - "1v6gq4vjgyxi8q8lxawpdfhq01adb4bznnabp08ks5nzbwibz43y")))) - (build-system python-build-system) - (inputs - `(("python-flask" ,python-flask) - ("python-six" ,python-six) - ("python-nose" ,python-nose))) - (home-page - "https://github.com/corydolphin/flask-cors") - (synopsis - "A Flask extension adding a decorator for CORS support") - (description - "A Flask extension adding a decorator for CORS support") - (license license:expat))) - (define-public edash (let ((md5 "93e745e9c")) (package diff --git a/gn/packages/elixir.scm b/gn/packages/elixir.scm index f4b1ece..f7dda47 100644 --- a/gn/packages/elixir.scm +++ b/gn/packages/elixir.scm @@ -27,94 +27,3 @@ #:use-module (gnu packages base) #:use-module (gnu packages erlang) #:use-module (gnu packages version-control)) - -(define-public elixir - (package - (name "elixir") - (version "1.5.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/elixir-lang/elixir" - "/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0shznrblh51s87b8z5a3hbk36d4yhkja312b9y7wxih0333kv44s")) - ;; FIXME: 27 tests (out of 4K) had to be disabled as - ;; they fail in the build environment. Common failures - ;; are: - ;; - Mix.Shell.cmd() fails with error 130 - ;; - The git_repo fixture cannot be found - ;; - Communication with spawned processes fails with EPIPE - ;; - Failure to copy files - ; (patches (search-patches "elixir-disable-failing-tests.patch")))) - ;; - )) - (build-system gnu-build-system) - (arguments - `(#:test-target "test" - #:tests? #f - #:make-flags (list (string-append "PREFIX=" - (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'replace-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("lib/elixir/lib/system.ex" - "lib/mix/lib/mix/scm/git.ex" - "lib/mix/test/test_helper.exs") - (("(cmd\\(['\"])git" _ prefix) - (string-append prefix (which "git")))) - (substitute* "bin/elixir" - (("ERL_EXEC=\"erl\"") - (string-append "ERL_EXEC=" (which "erl")))) - #t)) - (add-after 'unpack 'fix-or-disable-tests - (lambda* (#:key inputs #:allow-other-keys) - ;; Some tests require access to a home directory. - (setenv "HOME" "/tmp") - - ;; FIXME: These tests fail because the "git_repo" fixture does - ;; not exist or cannot be found. - (for-each delete-file '("lib/mix/test/mix/dep_test.exs" - "lib/mix/test/mix/tasks/deps.git_test.exs" - "lib/mix/test/mix/tasks/deps_test.exs" - "lib/mix/test/mix/tasks/cmd_test.exs" - "lib/mix/test/mix/tasks/escript_test.exs" - "lib/mix/test/mix/tasks/deps.tree_test.exs" - "lib/mix/test/mix/tasks/archive_test.exs" - "lib/mix/test/mix/umbrella_test.exs" - "lib/mix/test/mix/rebar_test.exs" - "lib/mix/test/mix/local/installer_test.exs" - "lib/mix/test/mix/shell/quiet_test.exs" - "lib/mix/test/mix/shell/io_test.exs" - "lib/iex/test/iex/helpers_test.exs")) - - ;; FIXME: Mix.Shell.cmd() always fails with error code 130. - (delete-file "lib/mix/test/mix/shell_test.exs") - #t)) - ; (add-before 'build 'break (lambda () (#f))) - (add-before 'build 'make-current - ;; The Elixir compiler checks whether or not to compile files by - ;; inspecting their timestamps. When the timestamp is equal to the - ;; epoch no compilation will be performed. Some tests fail when - ;; files are older than Jan 1, 2000. - (lambda _ - (for-each (lambda (file) - (let ((recent 1400000000)) - (utime file recent recent 0 0))) - (find-files "." ".*")) - #t)) - (delete 'configure)))) - (propagated-inputs - `(("erlang" ,erlang) - ("git" ,git) - ("glibc-utf8-locales" ,glibc-utf8-locales) - )) - (home-page "http://elixir-lang.org/") - (synopsis "Elixir programming language") - (description "Elixir is a dynamic, functional language used to build -scalable and maintainable applications. Elixir leverages the Erlang VM, known -for running low-latency, distributed and fault-tolerant systems, while also -being successfully used in web development and the embedded software domain.") - (license license:asl2.0))) diff --git a/gn/packages/globus.scm b/gn/packages/globus.scm index 6cc5d9e..edf25e8 100644 --- a/gn/packages/globus.scm +++ b/gn/packages/globus.scm @@ -10,25 +10,6 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) -(define-public python-globus-sdk - (package - (name "python-globus-sdk") - (version "3.37.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "globus-sdk" version)) - (sha256 - (base32 - "19w3pjzfycaqvvr11nq8c91i6pkkkic95yf170hr39dwj70lrkc7")))) - (build-system pyproject-build-system) - (propagated-inputs (list python-cryptography python-pyjwt python-requests - python-typing-extensions)) - (home-page "https://github.com/globus/globus-sdk-python") - (synopsis "Globus SDK for Python") - (description "@code{python-globus-sdk} provides a convenient Pythonic interface to -Globus APIs.") - (license license:asl2.0))) - (define-public python-click-type-test (package (name "python-click-type-test") diff --git a/gn/packages/gnulib.scm b/gn/packages/gnulib.scm index e9a1c15..254b30a 100644 --- a/gn/packages/gnulib.scm +++ b/gn/packages/gnulib.scm @@ -4,40 +4,3 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages texinfo)) - -(define-public gnulib - (let ((commit "de255f87357354e0f2422d9321fe9701b776ead5") - (revision "2877")) ; as reported from gnulib - (package - (name "gnulib") - (version (git-version "0.1" revision commit)) ; Sept. 30, 2019 - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/gnulib.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "00zjjldhj8ckr47fkqmb4d0lkpn6awwi8k8pngkfn2g30ccz7hji")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; the test suite doesn't help us - #:make-flags '("info") - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (install-file "doc/gnulib.info" - (string-append (assoc-ref outputs "out") - "/share/info"))))))) - (native-inputs - `(("texinfo" ,texinfo))) - (home-page "https://www.gnu.org/software/gnulib/") - (synopsis "Common GNU code") - (description - "Gnulib is a central location for common GNU code, intended to be shared -among GNU packages.") - (license (list license:gpl2+ - license:lgpl2.0+))))) diff --git a/gn/packages/java.scm b/gn/packages/java.scm index 2a3b07b..38e3473 100644 --- a/gn/packages/java.scm +++ b/gn/packages/java.scm @@ -283,32 +283,6 @@ flexibility and simplicity.") ;; an instance of the xUnit architecture for unit testing frameworks.") ;; (license license:asl2.0))) -(define-public maven - (package - (name "maven") - (version "3.3.9") - (source (origin - (method url-fetch) - (uri (string-append "http://apache.proserve.nl/maven/maven-3/" - version "/source/apache-maven-" version "-src.tar.gz")) - (sha256 - (base32 "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i")))) - (build-system ant-build-system) - (arguments - `(#:make-flags "-Dmaven.home=build/" - #:phases - (modify-phases %standard-phases - (add-before 'build 'set-m2-variable - (lambda _ - (setenv "M2_HOME" (string-append (assoc-ref %outputs "out") "/maven-3.3.9"))))))) - (home-page "https://maven.apache.org/") - (synopsis "") - (description "Apache Maven is a software project management and -comprehension tool. Based on the concept of a project object model (POM), -Maven can manage a project's build, reporting and documentation from a central -piece of information.") - (license license:asl2.0))) - ;; TODO: Remove bundled jars from buildLib, lib, testLib and javascript (define-public rtg-tools (package diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 059999b..d289bd2 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -101,22 +101,6 @@ for server-side analysis in a Node.js app or for a rich user interface.") (base32 "0fp4bv3gq9vj0517h61jvg7bxk8fyrhrq0jr1v4d0lzp164sgxln")))))) -(define-public javascript-cytoscape-2 - (package - (inherit javascript-cytoscape) - (name "javascript-cytoscape") - (version "2.7.29") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cytoscape/cytoscape.js") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "00y0h6kdkw2x6lyf9c16fxmg8iagfl77dz8nqb337v3ljifkb4z8")))))) - (define-public javascript-cytoscape-panzoom (package (name "javascript-cytoscape-panzoom") @@ -373,7 +357,6 @@ Javascript library, adding sorting, paging and filtering abilities to plain HTML tables with minimal effort.") (license license:expat))) - (define-public javascript-datatables-2.2.2 (package (name "javascript-datatables-2.2.2") @@ -503,7 +486,6 @@ tables with minimal effort. This package comes with Bootstrap5 integration (description "Scroller is a virtual rendering plug-in for DataTables which allows large datasets to be drawn on screen very quickly. Virtual rendering means is that only the visible portion of the table is drawn, while the scrolling container gives the visual impression that the whole table is visible, allowing excellent browser performance.") (license license:expat))) - (define-public javascript-datatables-scroller-style-2.4.3 (package (inherit javascript-datatables-scroller-style) @@ -560,7 +542,6 @@ tables with minimal effort. This package comes with Bootstrap5 integration (description "Scroller is a virtual rendering plug-in for DataTables which allows large datasets to be drawn on screen very quickly. Virtual rendering means is that only the visible portion of the table is drawn, while the scrolling container gives the visual impression that the whole table is visible, allowing excellent browser performance.") (license license:expat))) - (define-public javascript-datatables-scroller-2.4.3 (package (inherit javascript-datatables-scroller) @@ -587,7 +568,6 @@ tables with minimal effort. This package comes with Bootstrap5 integration (define-public javascript-datatables-scroller-2 javascript-datatables-scroller-2.4) - (define-public javascript-xterm (package (name "javascript-xterm") @@ -670,7 +650,6 @@ tables with minimal effort. This package comes with Bootstrap5 integration (description "Style sheets for xtermjs") (license license:expat))) - (define-public javascript-xterm-addon-fit (package (inherit javascript-xterm) @@ -1612,52 +1591,7 @@ a sample function, allowing for more complex calculations.") (arguments `(#:javascript-files '("dist/jstat.js"))) (build-system minify-build-system))) -(define-public javascript-ckeditor ; version 4 - (package - (name "javascript-ckeditor") - (version "4.13.0") ; Sept. 26, 2019 - (source - (origin - (method url-fetch) - (uri (string-append "http://download.cksource.com/CKEditor/CKEditor/CKEditor%20" version - "/ckeditor_4.13.0_standard.zip")) - (sha256 - (base32 - "1n2xynmbr2v4wm2g2vqcqd16n93phsbq4sqrnljzb7wzjq9svl36")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (name "ckeditor") - (unzip (string-append (assoc-ref %build-inputs "unzip") - "/bin/unzip")) - (targetdir - (string-append (string-append out "/share/genenetwork2/javascript/" name))) - (source (assoc-ref %build-inputs "source"))) - (mkdir-p targetdir) - (invoke unzip source) - (copy-recursively "ckeditor" targetdir))))) - (native-inputs - `(("source" ,source) - ("unzip" ,unzip))) - (home-page "https://ckeditor.com/") - (synopsis "Smart WYSIWYG HTML editor") - (description - "CKEditor is a proven, enterprise-grade WYSIWYG HTML editor with wide -browser compatibility, including legacy browsers. -@enumerate -@item Paste from Word and Excel, spell check, accessibility checker, tables. -@item Autocomplete, mentions, widgets, code snippets, emoji plugins. -@item Full control over content: HTML filtering, view source mode. -@item Great accessibility: WCAG 2.0 AA and Section 508 compliant. -@item Long-term support (LTS) until 2023. -@end enumerate") - (license (list license:gpl2+ - license:lgpl2.1+ - license:mpl1.1)))) ; Any of these three + ; Any of these three (define-public javascript-parsley (package @@ -2141,7 +2075,6 @@ Popper will automatically put the tooltip in the right place near the button.") (description "A simple, lightweight jQuery plugin for reading, writing and deleting cookies. No longer maintained, superseded by JS Cookie: https://github.com/js-cookie/js-cookie") (license license:expat))) - ;; See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32916 on why font-awesome ;; cannot be upstreamed (define-public javascript-font-awesome @@ -2178,7 +2111,6 @@ Popper will automatically put the tooltip in the right place near the button.") vector graphics.") (license license:silofl1.1))) - (define-public javascript-htmx (package (name "javascript-htmx") @@ -2243,7 +2175,6 @@ vector graphics.") "A low-level markdown compiler for parsing markdown without caching or blocking for long periods of time.") (license license:expat))) - (define-public javascript-marked-highlight (package (name "javascript-marked-highlight") @@ -2290,7 +2221,6 @@ vector graphics.") syntax highlighting support for fenced code blocks.") (license license:expat))) - (define-public javascript-ace (package (name "javascript-ace") diff --git a/gn/packages/julia.scm b/gn/packages/julia.scm index 0557dfc..4fdb403 100644 --- a/gn/packages/julia.scm +++ b/gn/packages/julia.scm @@ -571,29 +571,6 @@ zeros, of scalar functions of a single real variable using floating-point math.") (license license:expat))) -(define-public julia-commonsolve - (package - (name "julia-commonsolve") - (version "0.2.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/SciML/CommonSolve.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1w05fp02g5cmqzqp96hcpriwjpqx61sl481rj92gf4y4xpinmdf5")))) - (build-system julia-build-system) - (home-page "https://docs.sciml.ai/CommonSolve/stable") - (synopsis "Common solve function for scientific machine learning") - (description "This holds the common @code{solve}, @code{init}, -@code{step!}, and @code{solve!} commands. By using the same definition, solver -libraries from other completely different ecosystems can extend the functions -and thus not clash with SciML if both ecosystems export the @code{solve} -command. The rules are that you must dispatch on one of your own types.") - (license license:expat))) - (define-public julia-setfield (package (name "julia-setfield") @@ -619,26 +596,6 @@ command. The rules are that you must dispatch on one of your own types.") (description "Update deeply nested immutable structs.") (license license:expat))) -(define-public julia-staticarrayscore - (package - (name "julia-staticarrayscore") - (version "1.4.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaArrays/StaticArraysCore.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0m573mxvf0y9h7y8rxrk35haphhqisplx159r77g30qvw7zwpgar")))) - (build-system julia-build-system) - (home-page "https://github.com/JuliaArrays/StaticArraysCore.jl") - (synopsis "Interface package for StaticArrays.jl") - (description - "This package provides an interface package for @code{StaticArrays.jl}.") - (license license:expat))) - (define-public julia-progresslogging (package (name "julia-progresslogging") @@ -1410,120 +1367,6 @@ dependencies between them and takes care of execution.") native to Julia. Use it with the @code{@@bind} macro in Pluto.") (license license:unlicense))) -(define-public julia-http-1.5 - (package - (inherit julia-http) - (name "julia-http") - (version "1.5.5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaWeb/HTTP.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0qcfixsq65g8hdimygam7cd8nvcz6w7nzkkjk98mvf65dcby4593")))) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-before 'install 'disable-network-tests - (lambda _ - #;(substitute* "test/runtests.jl" - (("\"async.jl") "# \"async.jl") - (("\"client.jl") "# \"client.jl")) - #;(substitute* "test/aws4.jl" - (("@testset.*HTTP.request with AWS authentication.*" all) - (string-append all "return\n"))) - #;(substitute* "test/insert_layers.jl" - (("@testset.*Inserted final layer runs handler.*" all) - (string-append all "return\n"))) - #;(substitute* "test/multipart.jl" - (("@testset \"Setting of Content-Type.*" all) - (string-append all "return\n")) - (("@testset \"Deprecation of .*" all) - (string-append all "return\n"))) - #;(substitute* "test/websockets.jl" - (("@testset.*External Host.*" all) - (string-append all "return\n"))) - #;(substitute* "test/messages.jl" - (("@testset.*Read methods.*" all) - (string-append all "return\n")) - (("@testset.*Body - .*" all) - (string-append all "return\n")) - (("@testset.*Write to file.*" all) - (string-append all "return\n"))) - #;(substitute* "test/cookies.jl" - (("@testset.*Set-Cookie casing.*" all) - (string-append all "return\n"))) -#t))))) - (propagated-inputs - (list julia-codeczlib - julia-inifile - julia-loggingextras - julia-mbedtls - julia-openssl - julia-simplebufferstream - julia-uris)) - ;; required for tests - (native-inputs - (list julia-bufferedstreams - julia-json)))) - -(define-public julia-http-1.0 - (package - (inherit julia-http) - (name "julia-http") - (version "1.0.5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaWeb/HTTP.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "15bqf0gv4qz3990cv1s2nj9mjqaka1pkhzymgwc19wxqvacwvwqr")))) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-before 'install 'disable-network-tests - (lambda _ - (substitute* "test/runtests.jl" - (("\"async.jl") "# \"async.jl") - (("\"client.jl") "# \"client.jl") - (("\"websockets") "# \"websockets") - (("\"server") "# \"server")) - (substitute* "test/multipart.jl" - (("@testset \"Setting of Content-Type.*" all) - (string-append all "return\n")) - (("@testset \"Deprecation of .*" all) - (string-append all "return\n"))) - (substitute* "test/messages.jl" - (("@testset.*Read methods.*" all) - (string-append all "return\n")) - (("@testset.*Body - .*" all) - (string-append all "return\n")) - (("@testset.*Write to file.*" all) - (string-append all "return\n"))) - (substitute* "test/cookies.jl" - (("@testset.*Set-Cookie casing.*" all) - (string-append all "return\n"))) -))))) - (propagated-inputs - (list julia-codeczlib - julia-inifile - julia-loggingextras - julia-mbedtls - julia-simplebufferstream - julia-uris)) - ;; required for tests - (native-inputs - (list julia-bufferedstreams - julia-json)))) - ;; TODO: Unbundle fonts, more? (define-public julia-makie (package @@ -2096,60 +1939,6 @@ definition of your logging system.") generates precompile directives for any concrete signature that it can find.") (license license:expat))) -(define-public julia-precompiletools - (package - (name "julia-precompiletools") - (version "1.1.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/PrecompileTools.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "124qzflwnn34d8x8vz3cmj2m4a55mg5qf8i8jdcwyyrnag3si7zr")))) - (build-system julia-build-system) - (arguments - (list #:tests? #f)) ; Tries to download the Julia registry. - (propagated-inputs - (list julia-preferences)) - (home-page "https://github.com/JuliaLang/PrecompileTools.jl") - (synopsis "Reduce time-to-first-execution of Julia code") - (description "PrecompileTools allows you to reduce the latency of the first -execution of Julia code. It is applicable for package developers and for -\"ordinary users\" in their personal workflows.") - (license license:expat))) - -(define-public julia-timeroutputs - (package - (name "julia-timeroutputs") - (version "0.5.23") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KristofferC/TimerOutputs.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "031m7d837cw4c7iz4arrm1a1ppqihhj5jsldvm7z1bc72jxgfrcv")))) - (build-system julia-build-system) - (propagated-inputs - (list julia-exprtools)) - (home-page "https://github.com/KristofferC/TimerOutputs.jl") - (synopsis "Formatted output of timed sections in Julia") - (description "TimerOutputs is a small Julia package that is used to generate -formatted output from timings made in different sections of a program. It's -main functionality is the @code{@@timeit} macro, similar to the @code{@@time} -macro in Base except one also assigns a label to the code section being timed. -Multiple calls to code sections with the same label (and in the same \"scope\") -will accumulate the data for that label. After the program has executed, it is -possible to print a nicely formatted table presenting how much time, -allocations and number of calls were made in each section. The output can be -customized as to only show the things you are interested in.") - (license license:expat))) - (define-public julia-memoize (package (name "julia-memoize") @@ -2253,28 +2042,6 @@ and numerical functions for statistical computing.") (license license:expat))) ;; ready to upstream -(define-public julia-inversefunctions - (package - (name "julia-inversefunctions") - (version "0.1.8") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaMath/InverseFunctions.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "05g9f6i735x7syfr56l4yf4fy71kgdisjc6cfxi4jkf46iq86a69")))) - (build-system julia-build-system) - (native-inputs - (list julia-documenter)) - (home-page "https://github.com/JuliaMath/InverseFunctions.jl") - (synopsis "Interface for function inversion in Julia") - (description - "This package provides an interface to invert functions in Julia.") - (license license:expat))) - ;; ready to upstream (define-public rmath-for-julia-rmath-jll ;; More recent commits fix various build issues @@ -2494,40 +2261,6 @@ polynomials.") AbstractInterval, along with its subtypes Interval and AnchoredInterval, and also Bound.") (license license:expat))) -(define-public julia-infinity - (package - (name "julia-infinity") - (version "0.2.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cjdoris/Infinity.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1941lwvrdjnrynigzixxin3chpg1ba6xplvcwc89x0f6z658hwmm")))) - (build-system julia-build-system) - (arguments - (list - #:tests? #f ; TODO: Fix tests! - #:phases - #~(modify-phases %standard-phases - (add-after 'link-depot 'remove-timezones.jl - (lambda _ - (substitute* "test/runtests.jl" - (("using TimeZones.*") "") - ((".*infextendedtime.*") ""))))))) - (propagated-inputs - (list julia-requires)) - (native-inputs - (list julia-compat)) - (home-page "https://docs.juliahub.com/Infinity/") - (synopsis "Representation of infinity in Julia") - (description "This package provides representations for infinity and -negative infinity in Julia.") - (license license:expat))) - ;; TODO: There is talk upstream about separating out the timezone data into a ;; separate package which can allow this to actually be packaged in a sane way. ;; As of 1.7.1 there are 257 items in Artifact.toml @@ -2564,41 +2297,6 @@ language. @code{TimeZones.jl} extends the Date/DateTime support for Julia to include a new time zone aware @code{TimeType: ZonedDateTime}.") (license license:expat))) -(define-public julia-inlinestrings - (package - (name "julia-inlinestrings") - (version "1.1.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaStrings/InlineStrings.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1fwbnjrsig0fbi9vjn8apbn186xvzhk7vnw3g661q3g8f2j0snp9")))) - (build-system julia-build-system) - (arguments - (list - #:tests? #f ; TODO: Fix skipping the test in question - ;#:phases - ;#~(modify-phases %standard-phases - ; (add-after 'unpack 'adjust-tests - ; (lambda _ - ; (substitute* "test/runtests.jl" - ; ;; Need to skip lines 165, 166? - ; ((".*a,\".*") "") ; 165, 167 - ; ((".*a__\".*") "") ; 166, 168 - ; )))) - )) - (propagated-inputs - (list julia-parsers)) - (home-page "https://github.com/JuliaStrings/InlineStrings.jl") - (synopsis "Fixed-width string types for Julia") - (description "This package provides fixed-width string types for -facilitating certain string workflows in Julia.") - (license license:expat))) - ;; ready to upstream, if we want (define-public julia-lazyartifacts (package diff --git a/gn/packages/jupyterhub.scm b/gn/packages/jupyterhub.scm index 165bb8a..5763641 100644 --- a/gn/packages/jupyterhub.scm +++ b/gn/packages/jupyterhub.scm @@ -229,46 +229,6 @@ extremely lightweight, portable reverse proxy implementation, that supports load balancing and can configure itself automatically and dynamically.") (license license:bsd-3))) -(define-public python-etcd3 - (package - (name "python-etcd3") - (version "0.10.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "etcd3" version)) - (sha256 - (base32 - "11qf9v69h5gx212p9hv3m8z290gagn834x89y0gn7iijy2wj9995")))) - (build-system python-build-system) - (arguments '(#:tests? #f)) ; Tests require running etcd. - (propagated-inputs - `(("python-grpcio" ,python-grpcio) - ("python-protobuf" ,python-protobuf) - ("python-tenacity" ,python-tenacity))) - (home-page "https://github.com/kragniz/python-etcd3") - (synopsis "Python client for the etcd3 API") - (description "Python client for the etcd3 API") - (license license:asl2.0))) - -(define-public python-escapism - (package - (name "python-escapism") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "escapism" version)) - (sha256 - (base32 - "11lv1kqlk2brx1i2yczajga4c657z184f6fsnf2mnpx90kxc272z")))) - (build-system python-build-system) - (home-page "https://github.com/minrk/escapism") - (synopsis "Simple, generic API for escaping strings") - (description - "Simple, generic API for escaping strings.") - (license license:expat))) - (define-public python-jupyter-repo2docker (package (name "python-jupyter-repo2docker") diff --git a/gn/packages/kubernetes.scm b/gn/packages/kubernetes.scm index e762895..4619f5e 100644 --- a/gn/packages/kubernetes.scm +++ b/gn/packages/kubernetes.scm @@ -146,40 +146,6 @@ deployment, maintenance, and scaling of applications.") (propagated-inputs `(("crictl" ,crictl-1.15))))) -(define-public kubernetes-1.14 - (package - (inherit kubernetes-1.15) - (name "kubernetes") - (version "1.14.10") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kubernetes/kubernetes.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "09p3w64f7spcj2mg1gw32g2mwjpii4zmpd2ychazdq7zrc85lxdq")))) - (propagated-inputs - `(("crictl" ,crictl-1.14))))) - -(define-public kubernetes-1.13 - (package - (inherit kubernetes-1.15) - (name "kubernetes") - (version "1.13.12") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kubernetes/kubernetes.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1drbd0qdj7pala78hda1aag2vq791sbk5a13c060a15d77ppnzwr")))) - (propagated-inputs - `(("crictl" ,crictl-1.13))))) - (define-public minikube (package (name "minikube") diff --git a/gn/packages/machine-learning.scm b/gn/packages/machine-learning.scm index d302150..e100831 100644 --- a/gn/packages/machine-learning.scm +++ b/gn/packages/machine-learning.scm @@ -29,10 +29,6 @@ (delete "-Dtensorflow_OPTIMIZE_FOR_NATIVE_ARCH=OFF" ,flags))))))) -(define-public tensowflow-native-instead-of-tensorflow - (package-input-rewriting/spec `(("tensorflow" . ,(const tensorflow-native))))) - - (define-public python-keras-applications (package (name "python-keras-applications") @@ -59,7 +55,6 @@ models for use with the Keras deep learning framework.") (license license:expat))) - (define-public python-keras-preprocessing (package (name "python-keras-preprocessing") @@ -89,7 +84,6 @@ module of the Keras deep learning library. It provides utilities for working with image data, text data, and sequence data.") (license license:expat))) - (define-public python-keras-no-tests (package (name "python-keras-no-tests") diff --git a/gn/packages/maths.scm b/gn/packages/maths.scm index 7dfb896..acbf69d 100644 --- a/gn/packages/maths.scm +++ b/gn/packages/maths.scm @@ -82,57 +82,6 @@ (base32 "1cddqsdcfwavdklg7hsfifppsry81dx3c17wzk6r22mjjpwcihmb")))))) -(define-public suitesparse-3.5.0 - (package - (inherit suitesparse) - (version "3.5.0") - (source - (origin - (method url-fetch) - (uri (string-append - "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-" - version ".tar.gz")) - (sha256 - (base32 - "0npn7c1j5qag5m2r0cmh3bwc42c1jk8k2yg2cfyxlcrp0h7wn4rc")))) - (arguments - (substitute-keyword-arguments (package-arguments suitesparse) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'unpack-metis - (lambda* (#:key inputs #:allow-other-keys) - (let ((metis (assoc-ref inputs "metis-source"))) - (invoke "tar" "xvf" metis) - ;; backported from 4.0.3 - (substitute* (find-files "metis-4.0") - (("log2") "ilog2"))) - #t)) - (add-after 'unpack 'fix-source - (lambda _ - (substitute* "UFconfig/Makefile" - (("Lib/") "")) - ;; octave-3.4.3 expects it to be built with -fPIC - (substitute* "UFconfig/UFconfig.mk" - (("-O3") "-O3 -fPIC")) - #t)) - (add-before 'install 'prepare-directories - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/lib")) - (mkdir-p (string-append out "/include"))) - #t)))))) - (native-inputs - `(("metis-source" ,(origin - (method url-fetch) - (uri "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD/metis-4.0.1.tar.gz") - (sha256 - (base32 - "0lnkdfdrmmyy67h356bgdc06acvmcr26av9kdvqlws12znrr5iv0")))) - ,@(package-native-inputs suitesparse))) - (inputs - `(,@(fold alist-delete (package-inputs suitesparse) - '("metis")))))) - (define-public gsl-x86-64-v2 (package/inherit gsl (name "gsl-x86-64-v2") diff --git a/gn/packages/node.scm b/gn/packages/node.scm index 4e12781..ed50716 100644 --- a/gn/packages/node.scm +++ b/gn/packages/node.scm @@ -119,75 +119,6 @@ (description "Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript.") (license license:expat))) -(define-public node-async-2 - (package - (inherit node-async) - (name "node-async") - (version "2.6.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/caolan/async") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0lxr8m00f7723p5qpg5b5wlqv5a0y9a301r6rmhy1cv64jnznpxk")))) - (arguments - '(#:tests? #f - #:phases - (modify-phases %standard-phases - ;(replace 'build - ; (lambda _ - ; ;; make build - ; (invoke "make" "build-bundle") - ; )) - (delete 'build)))) ; Runs tests by default during 'make all'. - (inputs - `( - ;("node-lodash" ,node-lodash) - ;("node-lodash-es" ,node-lodash-es) - )) - (native-inputs - `( - ;("node-babel-cli" ,node-babel-cli) - ;("node-babel-core" ,node-babel-core) - ;("node-babel-plugin-add-module-exports" ,node-babel-plugin-add-module-exports) - ;("node-babel-plugin-instanbul" ,node-babel-plugin-instanbul) - ;("node-babel-plugin-transform-es2015-modules-commonjs" ,babel-plugin-transform-es2015-modules-commonjs) - ;("node-babel-preset-es2015" ,node-babel-preset-es2015) - ;("node-babel-preset-es2017" ,node-babel-preset-es2017) - ;("node-babelify" ,noce-babelify) - ;("node-benchmark" ,node-benchmark) - ;("node-bluebird" ,node-bluebird) - ;("node-browserify" ,node-browserify) - ;("node-chai" ,node-chai) - ;("node-cheerio" ,noce-cheerio) - ;("node-coveralls" ,node-coveralls) - ;("node-es6-promise" ,node-es6-promise) - ;("node-eslint" ,node-eslint) - ;("node-fs-extra" ,node-fs-extra) - ;("node-gh-pages-deploy" ,node-gh-pages-deploy) - ;("node-jsdoc" ,node-jsdoc) - ;("node-karma" ,node-karma) - ;("node-karma-browserify" ,node-karma-browserify) - ;("node-karma-firefox-launcher" ,node-karma-firefox-launcher) - ;("node-karma-mocha" ,node-karma-mocha) - ;("node-karma-mocha-reporter" ,node-karma-mocha-reporter) - ;("node-mocha" ,node-mocha) - ;("node-native-promises-only" ,node-native-promises-only) - ;("node-nyc" ,node-nyc) - ;("node-rimraf" ,node-rimraf) - ;("node-rollup" ,node-rollup) - ;("node-rollup-plugin-node-resolve" ,node-rollup-plugin-node-resolve) - ;("node-rollup-plugin-npm" ,node-rollup-plugin-npm) - ;("node-rsvp" ,node-rsvp) - ;("node-semver" ,node-semver) - ;("node-yargs" ,node-yargs) - ;("uglify-js" ,uglify-js) - )))) - (define-public node-async-1 (package (inherit node-async) @@ -481,39 +412,6 @@ implementing components such as reverse proxies and load balancers. By wrapping functionality to JupyterHub deployments.") (license license:bsd-3))) -(define-public node-configurable-http-proxy-3 - (package - (inherit node-configurable-http-proxy) - (name "node-configurable-http-proxy") - (version "3.1.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jupyterhub/configurable-http-proxy") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0rzyppyzbgmmkxa5v17rpvlh27ygr0wi5cnn01ajdqn9cfc70j4f")))) - (arguments '(#:tests? #f)) - (inputs - `(("node-commander" ,node-commander) - ("node-http-proxy" ,node-http-proxy) - ("node-lynx" ,node-lynx) - ("node-strftime" ,node-strftime) - ("node-winston" ,node-winston-2))) - (native-inputs - `( - ;("node-jasmine" ,node-jasmine) - ;("node-jshint" ,node-jshint) - ;("node-nyc" ,node-nyc) - ;("node-prettier" ,node-prettier) - ;("node-request" ,node-request) - ;("node-request-promise-native" ,node-request-promise-native) - ;("node-ws" ,node-ws) - )))) - (define-public node-core-util-is (package (name "node-core-util-is") @@ -1585,7 +1483,6 @@ from C are supported as well as some other extensions from Ruby.") (description "the mighty option parser used by yargs.") (license license:isc))) - (define-public node-resumablejs (let ((commit "b7580789f4d19bb180c08389538e0733f0f811d8")) (package diff --git a/gn/packages/notebooks.scm b/gn/packages/notebooks.scm index 89f1360..b4ebde1 100644 --- a/gn/packages/notebooks.scm +++ b/gn/packages/notebooks.scm @@ -78,6 +78,3 @@ notebooks in GNU Guix containers.") (define-public cl-nb (sbcl-package->cl-source-package sbcl-nb)) -(define-public ecl-nb - (sbcl-package->ecl-package sbcl-nb)) - diff --git a/gn/packages/opencl-icd-loader.scm b/gn/packages/opencl-icd-loader.scm index bbccea0..5e17d2f 100644 --- a/gn/packages/opencl-icd-loader.scm +++ b/gn/packages/opencl-icd-loader.scm @@ -44,52 +44,3 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages version-control) #:use-module (gnu packages linux)) - -(define-public opencl-icd-loader -(let ((commit "bf894eb")) - (package - (name "opencl-icd-loader") - (version (string-append "2.1-" commit )) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KhronosGroup/OpenCL-ICD-Loader.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "1sbxdd9vgl3m8j39kwvvk5cflyj7480pq0s307zg1ssidvj98v3g")))) -(native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("cmake" ,cmake) - ("pkg-config" ,pkg-config))) -(inputs `(("python" ,python-2) - ("boost" ,boost) - ("dbus" ,dbus) - ("clang" ,clang) - ("clang-runtime" ,clang-runtime) - ("enca" ,enca) - ("eudev" ,eudev) - ("fftw-openmpi" ,fftw-openmpi) - ("glew" ,glew) - ("hwloc" ,hwloc) - ("libcap" ,libcap) - ("libjpeg" ,libjpeg-turbo) - ("libltdl" ,libltdl) - ("libtiff" ,libtiff) - ("llvm" ,llvm) - ("mesa-utils" ,mesa-utils) - ("openmpi" ,openmpi) - ("perl" ,perl) - ("randrproto" ,randrproto) - ("libxrandr" ,libxrandr) - ("xineramaproto" ,xineramaproto) - ("libxinerama" ,libxinerama) - ("libxcursor" ,libxcursor) - ("fftw-openmpi" ,fftw-openmpi))) - (build-system cmake-build-system) - (synopsis "The Khronos OpenCL ICDs (Installable Client Driver)") - (description "This package provides the Khronos OpenCL ICDs") - (home-page "https://www.khronos.org/registry/cl/") - (license license:gpl2)))) diff --git a/gn/packages/phewas.scm b/gn/packages/phewas.scm index e6e749c..d0962a6 100644 --- a/gn/packages/phewas.scm +++ b/gn/packages/phewas.scm @@ -98,52 +98,6 @@ genome-wide association studies in structured populations.") (home-page "https://github.com/Gregor-Mendel-Institute/mlmm") (license license:gpl3)))) -(define-public r-fastmatch -(package - (name "r-fastmatch") - (version "1.1-0") - (source - (origin - (method url-fetch) - (uri (cran-uri "fastmatch" version)) - (sha256 - (base32 - "0z80jxkygmzn11sq0c2iz357s9bpki548lg926g85gldhfj1md90")))) - (build-system r-build-system) - (home-page "http://www.rforge.net/fastmatch") - (synopsis "Fast match() function") - (description - "Package providing a fast match() replacement for cases that require repeated look-ups. It is slightly faster that R's built-in match() function on first match against a table, but extremely fast on any subsequent lookup as it keeps the hash table in memory.") - (license license:gpl2))) - -(define-public r-fgsea - (package - (name "r-fgsea") - (version "1.4.1") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "fgsea" version)) - (sha256 - (base32 - "187c8xckx0s1p19i85nsiapgb3mppjqxp7zyld5hqyjvw3zcdj50")))) - (build-system r-build-system) - ; (native-inputs - ; `(("gfortran" ,gfortran))) - ; ‘Rcpp’, ‘data.table’, ‘BiocParallel’, ‘ggplot2’, ‘gridExtra’, ‘fastmatch - (propagated-inputs - `(("r-rcpp" ,r-rcpp) - ("r-data-table" ,r-data-table) - ("r-biocparallel" ,r-biocparallel) - ("r-ggplot2" ,r-ggplot2) - ("r-gridextra" ,r-gridextra) - ("r-fastmatch" ,r-fastmatch))) - (home-page "http://bioconductor.org/packages/fgsea") - (synopsis "") - (description - ".") - (license license:expat))) - (define-public r-qvalue-old (package (name "r-qvalue-old") diff --git a/gn/packages/python.scm b/gn/packages/python.scm index 2b25775..6a0bc40 100644 --- a/gn/packages/python.scm +++ b/gn/packages/python.scm @@ -45,21 +45,6 @@ #:use-module (srfi srfi-1) #:use-module (gn packages check)) -(define-public python-rpy2-2.9 - (package - (inherit python-rpy2) - (name "python-rpy2") - (version "2.9.6b0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "rpy2" version)) - (sha256 - (base32 - "1vqgw42a51l162gyg8qbx1xakxbj29riyb6azzv89f260w865k0d")))) - (arguments - `(#:tests? #f)))) - (define-public python2-rpy2 (package (name "python2-rpy2") @@ -115,52 +100,6 @@ functions.") (license license:gpl2)) ) -(define-public python-inotify ; guix candidate -(package - (name "python-inotify") - (version "0.2.9") - (source - (origin - (method url-fetch) - (uri (pypi-uri "inotify" version)) - (sha256 - (base32 - "043sbm9q8ca4fhn19knwpsxgzfgm5ik75m0bl7dp9hjy6p3v3zzn")))) - (build-system python-build-system) - (propagated-inputs - `(("inotify-tools" ,inotify-tools))) - (arguments `(#:tests? #f)) ;; No tests. - (home-page "https://pypi.python.org/pypi/inotify") - (synopsis - "Python inotify.") - (description - "Python inotify.") - (license license:gpl2)) -) - -(define-public python2-inotify - (package-with-python2 python-inotify)) - -(define-public python2-flask - (let ((base (package-with-python2 python-flask))) - (package - (inherit base) - (arguments - `(#:tests? #f))))) - -(define-public python2-werkzeug - (let ((base (package-with-python2 python-werkzeug))) - (package - (inherit base) - (arguments - `(#:tests? #f))))) - -(define-public python2-flask-sqlalchemy - (package-with-python2 python-flask-sqlalchemy)) - -(define-public python2-xlsxwriter - (package-with-python2 python-xlsxwriter)) - (define-public python-rserve (package (name "python-rserve") @@ -190,9 +129,6 @@ functions.") ".") (license license:expat))) -(define-public python2-rserve - (package-with-python2 python-rserve)) - (define-public python-setuptools-old (package (name "python-setuptools-old") @@ -237,7 +173,6 @@ Python 3 support.") license:asl2.0 ; packaging is dual ASL2/BSD-2 license:bsd-2)))) - (define-public python-avro ; guix ready - used by CWL (package (name "python-avro") @@ -259,10 +194,6 @@ Python 3 support.") "Avro is a serialization and RPC framework.") (license #f))) -(define-public python2-avro - (package-with-python2 python-avro)) - - (define-public python2-htmlgen-gn ; guix obsolete (package (name "python2-htmlgen-gn") @@ -426,7 +357,6 @@ capabilities to the Python interpreter.") "file://README" "See 'README' in the distribution.")))) - (define-public python2-piddle-gn ; guix obsolete (package (name "python2-piddle-gn") @@ -454,7 +384,6 @@ capabilities to the Python interpreter.") (description #f) (license #f))) - (define-public python2-pil1 ; guix obsolete (package (name "python2-pil1") ; this version is NOT used by genenetwork @@ -828,22 +757,6 @@ spreadsheets without the need for COM objects.") "Simple python high-performance computing cluster batch submission.") (license #f))) ; No license in repository. -(define-public python2-admiral - (package-with-python2 python-admiral)) - -(define-public python-pbr-1.6.0 - (package - (inherit python-pbr) - (name "python-pbr") - (version "1.6.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pbr" version)) - (sha256 - (base32 - "1lg1klrczvzfan89y3bl9ykrknl3nb01vvai37fkww24apzyibjf")))))) - (define-public python-py-dateutil (package (name "python-py-dateutil") @@ -870,26 +783,6 @@ spreadsheets without the need for COM objects.") (description "Extensions to the standard Python datetime module") (license license:bsd-3))) -(define-public python-cfgraph - (package - (name "python-cfgraph") - (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "CFGraph" version)) - (sha256 - (base32 - "0x7yz0lvqb6mkhl5fbml27sppmscgpf8v2ism9jzzf0h982ffzxm")))) - (build-system python-build-system) - (propagated-inputs - (list python-rdflib)) - (home-page "https://github.com/hsolbrig/CFGraph") - (synopsis "RDF Collections flattener for rdflib") - (description - "This package contains RDF Collections flattener for @code{rdflib}.") - (license license:asl2.0))) - (define-public python-pyshex (package (name "python-pyshex") @@ -1274,65 +1167,6 @@ query and resolves it against an endpoint.") sorted order.") (license license:expat))) -(define-public python-pytest-5 - (package - (inherit python-pytest) - (name "python-pytest") - (version "5.4.3") - (source (origin - (method url-fetch) - (uri (pypi-uri "pytest" version)) - (sha256 - (base32 - "1n67lk8iwlsmfdm8663k8l7isllg1xd3n9p1yla7885szhdk6ybr")))) - (build-system python-build-system) - (native-inputs - (modify-inputs (package-native-inputs python-pytest) - (prepend python-argcomplete python-requests))))) - -(define-public python-pytest-4 - (package - (inherit python-pytest) - (version "4.6.11") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pytest" version)) - (sha256 - (base32 - "0ls3pqr86xgif6bphsb6wrww9r2vc7p7a2naq8zcq8115wwq5yjh")))) - (arguments - (substitute-keyword-arguments (package-arguments python-pytest) - ((#:tests? _ #f) #f))) - (native-inputs - `(("python-argcomplete" ,python-argcomplete) - ("python-atomicwrites" ,python-atomicwrites) - ("python-requests" ,python-requests) - ,@(package-native-inputs python-pytest))))) - -(define-public python-pytest-runner-4 - (package - (inherit python-pytest-runner) - (name "python-pytest-runner") - (version "4.5.1") - (source (origin - (method url-fetch) - (uri (pypi-uri "pytest-runner" version)) - (sha256 - (base32 - "1vzilbayx5mznsdm1r258m3616374p6kvhsbj4j6238j9djkvjyi")))))) - -(define-public python-pytest-runner-2 - (package - (inherit python-pytest-runner) - (version "2.12.2") - (source (origin - (method url-fetch) - (uri (pypi-uri "pytest-runner" version)) - (sha256 - (base32 - "11ivjj9hfphkv4yfb2g74av4yy86y8gcbf7gbif0p1hcdfnxg3w6")))))) - (define-public python-pandas-plink (package (name "python-pandas-plink") @@ -1367,41 +1201,6 @@ sorted order.") "Read PLINK files into Pandas data frames") (license license:expat))) -(define-public python-pytest-regressions - (package - (name "python-pytest-regressions") - (version "2.0.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pytest-regressions" version)) - (sha256 - (base32 - "0227957vmy93pdaayakwwc2zawndbh203d2yc9nbss36i3s8xs3f")))) - (build-system python-build-system) - (propagated-inputs - `(("python-pytest" ,python-pytest) - ("python-pytest-datadir" ,python-pytest-datadir) - ("python-pyyaml" ,python-pyyaml))) - (native-inputs - `(("python-matplotlib" ,python-matplotlib) - ("python-numpy" ,python-numpy) - ("python-pandas" ,python-pandas) - ("python-pillow" ,python-pillow) - ("python-pre-commit" ,python-pre-commit) - ("python-restructuredtext-lint" - ,python-restructuredtext-lint) - ("python-tox" ,python-tox))) - (inputs - `(("python-setuptools-scm" ,python-setuptools-scm))) - (home-page - "https://github.com/ESSS/pytest-regressions") - (synopsis - "Easy to use fixtures to write regression tests.") - (description - "Easy to use fixtures to write regression tests.") - (license license:expat))) - (define-public python-pre-commit (package (name "python-pre-commit") @@ -1451,53 +1250,6 @@ sorted order.") (base32 "1vc0rd50wbny0qdjjc7z14xvjdsfcmzavx3njxpxr2dvhx3b6j79")))))) -(define-public python-engineio - (package - (name "python-engineio") - (version "3.13.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "python-engineio" version)) - (sha256 - (base32 - "0jzhrq9n8mvndl42zv448jiak89dg8wcdvi7ynkvdn82lxm3rcrn")))) - (build-system python-build-system) - ;; No tests - (arguments - `(#:tests? #f)) - (propagated-inputs - `(("python-six" ,python-six))) - (home-page - "http://github.com/miguelgrinberg/python-engineio/") - (synopsis "Engine.IO server") - (description "Engine.IO server") - (license license:expat))) - -(define-public python-socketio - (package - (name "python-socketio") - (version "4.6.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "python-socketio" version)) - (sha256 - (base32 - "0npjklf76flavqlsijvz07h5ndvzwj1s5jjvla757i19q2xqz39m")))) - (build-system python-build-system) - ;; No tests - (arguments - `(#:tests? #f)) - (propagated-inputs - `(("python-engineio" ,python-engineio) - ("python-six" ,python-six))) - (home-page - "http://github.com/miguelgrinberg/python-socketio/") - (synopsis "Socket.IO server") - (description "Socket.IO server") - (license license:expat))) - (define-public python-varint (package (name "python-varint") @@ -1580,7 +1332,6 @@ sorted order.") (description "Python IPFS HTTP CLIENT library") (license license:expat))) - (define-public python-jupyter-server-proxy (package (name "python-jupyter-server-proxy") @@ -1651,79 +1402,6 @@ that provides the main functionality, the JupyterLab extension window to get to RStudio for example.") (license license:bsd-3))) -(define-public python-jupyter-server - (package - (name "python-jupyter-server") - (version "1.8.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "jupyter-server" version)) - (sha256 - (base32 - "0dqj51fj5ikklbl0gnb939pp80ngnzml5932mljn2lvplph7a34g")))) - (build-system python-build-system) - (propagated-inputs - `(("python-anyio" ,python-anyio) - ("python-argon2-cffi" ,python-argon2-cffi) - ("python-ipython-genutils" ,python-ipython-genutils) - ("python-jinja2" ,python-jinja2) - ("python-jupyter-client" ,python-jupyter-client) - ("python-jupyter-core" ,python-jupyter-core) - ("python-nbconvert" ,python-nbconvert) - ("python-nbformat" ,python-nbformat) - ("python-prometheus-client" ,python-prometheus-client) - ("python-pyzmq" ,python-pyzmq) - ("python-send2trash" ,python-send2trash) - ("python-terminado" ,python-terminado) - ("python-tornado" ,python-tornado) - ("python-traitlets" ,python-traitlets) - ("python-websocket-client" ,python-websocket-client))) - (native-inputs - `(("python-coverage" ,python-coverage) - ("python-ipykernel" ,python-ipykernel) - ("python-pytest" ,python-pytest) - ; ("python-pytest-console-scripts" ,python-pytest-console-scripts) - gone missing - ("python-pytest-cov" ,python-pytest-cov) - ("python-pytest-mock" ,python-pytest-mock) - ; ("python-pytest-tornasync" ,python-pytest-tornasync) - gone missing - ("python-requests" ,python-requests))) - (home-page "https://jupyter.org") - (synopsis - "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications.") - (description - "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications.") - (license #f))) - -(define-public python-anyio - (package - (name "python-anyio") - (version "3.1.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "anyio" version)) - (sha256 - (base32 "03mdklsgm4ik7hqr0lnc7k085as4vib27hclsrcdh0yhm48hgqj3")))) - (build-system python-build-system) - (propagated-inputs - `(("python-idna" ,python-idna) - ("python-sniffio" ,python-sniffio))) - (native-inputs - `(("python-coverage" ,python-coverage) - ("python-hypothesis" ,python-hypothesis) - ("python-mock" ,python-mock) - ("python-pytest" ,python-pytest) - ("python-pytest-mock" ,python-pytest-mock) - ("python-trustme" ,python-trustme) - ("python-uvloop" ,python-uvloop))) - (home-page "") - (synopsis - "High level compatibility layer for multiple asynchronous event loop implementations") - (description - "High level compatibility layer for multiple asynchronous event loop implementations") - (license license:expat))) - ;; Waiting for this to be merged upstream then I'll remove it (define-public python-flask-debugtoolbar (package @@ -1944,32 +1622,6 @@ log as you normally would. Enlighten also includes experimental support for Jupyter Notebooks.") (license license:mpl2.0))) -(define-public python-pypubsub - (package - (name "python-pypubsub") - (version "4.0.3") - ;; There is no source tarball on PyPI. - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/schollii/pypubsub") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "02j74w28wzmdvxkk8i561ywjgizjifq3hgcl080yj0rvkd3wivlb")))) - (build-system python-build-system) - (home-page "https://github.com/schollii/pypubsub") - (synopsis "Python publish-subscribe library") - (description "@code{python-pypubsub} provides a pure Python -publish-subscribe API to facilitate event-based or message-based architecture -in a single-process application. It is centered on the notion of a topic; -senders publish messages of a given topic, and listeners subscribe to messages -of a given topic, all inside the same process. The package also supports a -variety of advanced features that facilitate debugging and maintaining topics -and messages in larger desktop or server-based applications.") - (license license:bsd-2))) - (define-public python-prefixed (package (name "python-prefixed") @@ -1988,7 +1640,6 @@ implementation of the built-in float which supports formatted output with SI (decimal) and IEC (binary) prefixes.") (license license:mpl2.0))) - (define-public python-pillow-9 (package (name "python-pillow-9") diff --git a/gn/packages/python24.scm b/gn/packages/python24.scm index 381b1ef..83f6907 100644 --- a/gn/packages/python24.scm +++ b/gn/packages/python24.scm @@ -170,22 +170,6 @@ pre-defined variants." `(("python24-pil" ,python24-pil))))) ;; Apparently this is the library which mimics python-2.6+'s json library -(define-public python24-simplejson - (let ((base (package-with-python24 python-simplejson))) - (package - (inherit base) - (version "2.0.9") ; last version to officially support python2.4 - (source - (origin - (method url-fetch) - (uri (pypi-uri "simplejson" version)) - (sha256 - (base32 - "1vlkxibal9ljabybawnqr3jh6f6g21c5pbrzl65z9vwbfxhg9kdb")))) - (native-inputs - `(("python24-setuptools" ,python24-setuptools) - ,@(package-native-inputs base)))))) - (define-public python24-parallel (package (inherit python-parallel) diff --git a/gn/packages/quality-control.scm b/gn/packages/quality-control.scm index f0a9c2f..692f08b 100644 --- a/gn/packages/quality-control.scm +++ b/gn/packages/quality-control.scm @@ -80,10 +80,6 @@ delimited text files: (define-public cl-qc (sbcl-package->cl-source-package sbcl-qc)) -(define-public ecl-qc - (sbcl-package->ecl-package sbcl-qc)) - - ;; The file ;; #P"/tmp/guix-build-sbcl-qc-uploads-20220301-0.76f870e.drv-0/source/strains.csv" ;; does not exist: diff --git a/gn/packages/r-shiny.scm b/gn/packages/r-shiny.scm index 1ac73b6..8660bd3 100644 --- a/gn/packages/r-shiny.scm +++ b/gn/packages/r-shiny.scm @@ -15,32 +15,6 @@ (define-public r-shiny-gn (deprecated-package "r-shiny-gn" r-shiny)) -(define-public js-strftime-0.9 - (deprecated-package "js-strftime" js-strftime)) - -(define-public js-es5-shim-2 - (deprecated-package "js-es5-shim" js-es5-shim)) - - -(define-public r-runit - (package - (name "r-runit") - (version "0.4.33") - (source - (origin - (method url-fetch) - (uri (cran-uri "RUnit" version)) - (sha256 - (base32 "0pybwvd57vf71vvlxdrynw5n6s5gnbqnwvq0qpd395ggqypwb95j")))) - (properties `((upstream-name . "RUnit"))) - (build-system r-build-system) - (home-page "https://cran.r-project.org/package=RUnit") - (synopsis "R Unit Test Framework") - (description - "R functions implementing a standard Unit Testing framework, with additional code -inspection and report generation tools.") - (license license:gpl2))) - (define-public r-org-rn-eg-db ; used by jumpshiny service (package (name "r-org-rn-eg-db") diff --git a/gn/packages/riscv.scm b/gn/packages/riscv.scm index e87f8a9..61fc882 100644 --- a/gn/packages/riscv.scm +++ b/gn/packages/riscv.scm @@ -20,23 +20,6 @@ #:use-module (guix packages)) ;; Improvements to riscv support have been merged since the last release. -(define-public atomic-queue-git - (let ((commit "7d75e9ed0359650224b29cdf6728c5fe0a19fffb") ; 2022-03-11 - (revision "1")) - (package - (inherit atomic-queue) - (name "atomic-queue") - (version (git-version "1.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/max0x7ba/atomic_queue") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1dh8x0ikfwk0by5avwfv9gvr9ay6jy13yr66rvgw9wwyxmklz848"))))))) - (define-public cva6 (let ((commit "b40bb3264bc0ca0b5b9e9a3eb351cbaaa9b50b62") (revision "1")) diff --git a/gn/packages/ruby.scm b/gn/packages/ruby.scm index 4b5d903..e8f1e59 100644 --- a/gn/packages/ruby.scm +++ b/gn/packages/ruby.scm @@ -48,7 +48,6 @@ #:use-module (gnu packages web) #:use-module (guix build-system ruby)) - (define-public apache-maven (package (name "apache-maven") @@ -69,7 +68,6 @@ and is best suited to building Java projects. Ant uses XML to describe the build process and its dependencies, whereas Make uses Makefile format.") (license license:asl2.0))) - (define-public jruby (package (name "jruby") @@ -303,10 +301,6 @@ a history.") "http://github.com/elasticsearch/elasticsearch-ruby") (license (license:non-copyleft "will fill in later")))) - - - - ;;; (define-public discourse @@ -2273,46 +2267,6 @@ its own standalone repo.") (home-page "https://github.com/discourse/logster") (license license:expat))) -(define-public ruby-sassc-rails - (package - (name "ruby-sassc-rails") - (version "2.1.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "sassc-rails" version)) - (sha256 - (base32 - "1d9djmwn36a5m8a83bpycs48g8kh1n2xkyvghn7dr6zwh4wdyksz")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; cannot find tzinfo-data - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - (substitute* "sassc-rails.gemspec" - (("~> 10.0") ">= 10.0")) - #t))))) - (propagated-inputs - `(("ruby-railties" ,ruby-railties) - ("ruby-sassc" ,ruby-sassc) - ("ruby-sprockets" ,ruby-sprockets) - ("ruby-sprockets-rails" ,ruby-sprockets-rails) - ("ruby-tilt" ,ruby-tilt))) - (native-inputs - `( - ("ruby-mocha" ,ruby-mocha) - ("ruby-pry" ,ruby-pry) - ("ruby-rake" ,ruby-rake) - ("ruby-tzinfo-data" ,ruby-tzinfo-data) - )) - (synopsis "Integrate SassC-Ruby into Rails.") - (description "Integrate SassC-Ruby into Rails.") - (home-page "https://github.com/sass/sassc-rails") - (license license:expat))) - (define-public ruby-rqrcode-core (package (name "ruby-rqrcode-core") @@ -2443,29 +2397,6 @@ and then render them in the way you choose. (home-page "https://github.com/rails-sqlserver/tiny_tds") (license license:expat))) -(define-public ruby-rake-compiler-dock - (package - (name "ruby-rake-compiler-dock") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rake-compiler-dock" version)) - (sha256 - (base32 - "0z70p0jdp4ww0ax783nvfz1ppr8bf31kgy3la8wrcyhz1lvpq799")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load rake_compiler_dock - (synopsis - "Easy to use and reliable cross compiler environment for building Windows and Linux binary gems. -Use rake-compiler-dock to enter an interactive shell session or add a task to your Rakefile to automate your cross build.") - (description - "Easy to use and reliable cross compiler environment for building Windows and Linux binary gems. -Use rake-compiler-dock to enter an interactive shell session or add a task to your Rakefile to automate your cross build.") - (home-page "https://github.com/rake-compiler/rake-compiler-dock") - (license license:expat))) - (define-public ruby-csv (package (name "ruby-csv") @@ -2648,19 +2579,6 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo (license license:expat))) ;; TODO? Replace ruby-kaminari-* inputs with correct version? -(define-public ruby-kaminari-0.16 - (package - (inherit ruby-kaminari) - (name "ruby-kaminari") - (version "0.16.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "kaminari" version)) - (sha256 - (base32 - "14vx3kgssl4lv2kn6grr5v2whsynx5rbl1j9aqiq8nc3d7j74l67")))))) - (define-public ruby-will-paginate (package (name "ruby-will-paginate") @@ -2703,28 +2621,6 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo (license (license:non-copyleft "will fill in later")))) -(define-public ruby-mustermann - (package - (name "ruby-mustermann") - (version "1.1.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mustermann" version)) - (sha256 - (base32 - "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-ruby2-keywords" ,ruby-ruby2-keywords))) - (synopsis - "A library implementing patterns that behave like regular expressions.") - (description - "This package provides a library implementing patterns that behave like regular expressions.") - (home-page - "https://github.com/sinatra/mustermann") - (license license:expat))) - (define-public ruby-mustermann-grape (package (name "ruby-mustermann-grape") @@ -2921,47 +2817,6 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo (home-page "https://github.com/ruby-grape/grape") (license license:expat))) -(define-public ruby-m - (package - (name "ruby-m") - (version "1.5.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "m" version)) - (sha256 - (base32 - "15jnbpl7b08im4g42ambc850w01lmc49k1z4438ipj83xsj5x32w")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; needs pygments - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* "Gemfile.lock" - (("\\(.*\\)") "")) - #t))))) - (propagated-inputs - `(("ruby-method-source" ,ruby-method-source) - ("ruby-rake" ,ruby-rake))) - (native-inputs - `(("ruby-activesupport" ,ruby-activesupport) - ("ruby-allocation-stats" ,ruby-allocation-stats) - ("ruby-appraisal" ,ruby-appraisal) - ("ruby-benchmark-ips" ,ruby-benchmark-ips) - ("ruby-coveralls" ,ruby-coveralls) - ("ruby-rdiscount" ,ruby-rdiscount) - ("ruby-rocco" ,ruby-rocco) - ("ruby-simplecov" ,ruby-simplecov))) - (synopsis - "Run test/unit tests by line number. Metal!") - (description - "Run test/unit tests by line number. Metal!") - (home-page "https://github.com/qrush/m") - (license (license:non-copyleft - "will fill in later")))) - (define-public ruby-allocation-stats (package (name "ruby-allocation-stats") @@ -2992,27 +2847,6 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo (home-page "https://github.com/srawlins/allocation_stats") (license license:asl2.0))) -(define-public ruby-rdiscount - (package - (name "ruby-rdiscount") - (version "2.2.0.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rdiscount" version)) - (sha256 - (base32 - "16srf8cr8ynlafyh6ls654b9a3bqgai8n3y86zzv9mcpvlk6k27g")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; TODO: figure this out later - (synopsis - "Fast Implementation of Gruber's Markdown in C") - (description - "Fast Implementation of Gruber's Markdown in C") - (home-page "http://dafoster.net/projects/rdiscount/") - (license license:bsd-3))) - (define-public ruby-fakeweb (package (name "ruby-fakeweb") @@ -3327,35 +3161,6 @@ similar to Python's Requests.") (home-page "https://github.com/dkubb/yardstick") (license license:expat))) -(define-public ruby-psych - (package - (name "ruby-psych") - (version "3.3.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "psych" version)) - (sha256 - (base32 - "0r8rd9q4g6wda6k2bvsgpwnn9wbaqglb843bm4f1q6xfjkhs5h0l")))) - (build-system ruby-build-system) - (native-inputs - `( - ("ruby-rake-compiler" ,ruby-rake-compiler) - )) - (synopsis - "Psych is a YAML parser and emitter. Psych leverages libyaml[https://pyyaml.org/wiki/LibYAML] -for its YAML parsing and emitting capabilities. In addition to wrapping libyaml, -Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format. -") - (description - "Psych is a YAML parser and emitter. Psych leverages libyaml[https://pyyaml.org/wiki/LibYAML] -for its YAML parsing and emitting capabilities. In addition to wrapping libyaml, -Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format. -") - (home-page "https://github.com/ruby/psych") - (license license:expat))) - (define-public ruby-kwalify (package (name "ruby-kwalify") @@ -3588,25 +3393,6 @@ braces vs do/end, etc are all ignored. Making this totally rad.") (home-page "http://github.com/mbj/anima") (license license:expat))) -(define-public ruby-ice-nine - (package - (name "ruby-ice-nine") - (version "0.11.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ice_nine" version)) - (sha256 - (base32 - "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Break dependency cycle with ruby-devtools. - (synopsis "Deep Freeze Ruby Objects") - (description "Deep Freeze Ruby Objects") - (home-page "https://github.com/dkubb/ice_nine") - (license license:expat))) - (define-public ruby-adamantium (package (name "ruby-adamantium") @@ -3736,84 +3522,6 @@ braces vs do/end, etc are all ignored. Making this totally rad.") (home-page "https://github.com/cchandler/certificate_authority") (license license:expat))) -(define-public ruby-msgpack - (package - (name "ruby-msgpack") - (version "1.4.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "msgpack" version)) - (sha256 - (base32 - "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default" - #:phases - (modify-phases %standard-phases - (add-before 'install 'install-fake-gem - (lambda* (#:key outputs #:allow-other-keys) - (let ((target (string-append (assoc-ref outputs "out") "/lib/ruby/vendor_ruby/cache/./pkg/msgpack-" ,version ".gem"))) - (mkdir-p (dirname target)) - (symlink - (string-append "../../../msgpack-" ,version ".gem") - target - ) - #t))) - ) - )) - (native-inputs - `( - ("ruby-rake" ,ruby-rake) - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - ("ruby-yard" ,ruby-yard) - )) - (synopsis - "MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.") - (description - "MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.") - (home-page "http://msgpack.org/") - (license license:asl2.0))) - -(define-public ruby-bootsnap - (package - (name "ruby-bootsnap") - (version "1.7.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Shopify/bootsnap") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "14l0r074kpy9pwzs6zbgq3zpx32mpk4905k23v0znqgkmrb6s5bm")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; can't find rake-compiler - #:phases - (modify-phases %standard-phases - (replace 'replace-git-ls-files - (lambda _ - (substitute* "bootsnap.gemspec" - (("git ls-files -z ext lib") - "find ext lib -type f -print0 | sort -z")) - #t))))) - (propagated-inputs - `(("ruby-msgpack" ,ruby-msgpack))) - (native-inputs - `(("ruby-minitest" ,ruby-minitest) - ("ruby-mocha" ,ruby-mocha) - ("ruby-rake" ,ruby-rake) - ("ruby-rake-compiler" ,ruby-rake-compiler))) - (synopsis "Boot large ruby/rails apps faster") - (description "Boot large ruby/rails apps faster") - (home-page "https://github.com/Shopify/bootsnap") - (license license:expat))) - (define-public ruby-actionview-precompiler (package (name "ruby-actionview-precompiler") @@ -4197,67 +3905,6 @@ braces vs do/end, etc are all ignored. Making this totally rad.") (home-page "https://github.com/aws/aws-sdk-ruby") (license license:asl2.0))) -(define-public ruby-excon - (package - (name "ruby-excon") - (version "0.79.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/excon/excon") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0cm3rpkzdmq78ni7irw449qrya8wgb6hfzxjwkyq4pkalc21afqb")))) - (build-system ruby-build-system) - (arguments - `( - #:phases - (modify-phases %standard-phases - (replace 'replace-git-ls-files - (lambda _ - (substitute* "excon.gemspec" - (("git ls-files -- data/\\* lib/\\*") - "find data lib -type f")) - #t)) - (add-before 'check 'pre-check - (lambda _ - ;; Don't demand the latest ruby-rack - (substitute* "Gemfile" - (("rack.*") "rack'\n")) - ;; No network connection inside the container. - (delete-file "tests/basic_tests.rb") - #t)) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "HOME" (getcwd)) - (invoke "bundle" "exec" "shindont") - (invoke "bundle" "exec" "rake" "spec[progress]")) - #t)) - ))) - (native-inputs - `( - ("ruby-activesupport" ,ruby-activesupport) - ("ruby-delorean" ,ruby-delorean) - ("ruby-eventmachine" ,ruby-eventmachine) - ("ruby-open4" ,ruby-open4) - ("ruby-puma" ,ruby-puma) - ("ruby-rack" ,ruby-rack) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop) - ("ruby-shindo" ,ruby-shindo) - ("ruby-sinatra" ,ruby-sinatra) - ("ruby-sinatra-contrib" ,ruby-sinatra-contrib) - ("ruby-unicorn" ,ruby-unicorn) - )) - (synopsis "EXtended http(s) CONnections") - (description "EXtended http(s) CONnections") - (home-page "https://github.com/excon/excon") - (license license:expat))) - (define-public ruby-chronic (package (name "ruby-chronic") @@ -4547,32 +4194,6 @@ both the the request and response in between unicorn and slow clients.") (home-page "https://github.com/cedarcode/openssl-signature_algorithm") (license license:asl2.0))) -(define-public ruby-ed25519 - (package - (name "ruby-ed25519") - (version "1.2.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ed25519" version)) - (sha256 - (base32 - "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; cannot load spec_helper - #:test-target "default")) - (native-inputs - `(("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop))) - (synopsis "Ruby binding to the Ed25519 elliptic curve public-key system") - (description - "This package provides a Ruby binding to the Ed25519 elliptic curve -public-key signature system described in RFC 8032.") - (home-page "https://github.com/crypto-rb/ed25519") - (license license:expat))) - (define-public ruby-cose (package (name "ruby-cose") @@ -4703,30 +4324,6 @@ public-key signature system described in RFC 8032.") (home-page "http://fabricationgem.org") (license license:expat))) -(define-public ruby-ruby2-keywords - (package - (name "ruby-ruby2-keywords") - (version "0.0.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ruby/ruby2_keywords") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1fz81nw92cvpi1h99q1pvsnkdkpmp40jvvpkn1jnjbx9by04bw45")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (synopsis - "Shim library for Module#ruby2_keywords") - (description - "Shim library for Module#ruby2_keywords") - (home-page "https://github.com/ruby/ruby2_keywords") - (license (list license:ruby license:bsd-2)))) - (define-public ruby-mock-redis (package (name "ruby-mock-redis") @@ -4939,39 +4536,6 @@ public-key signature system described in RFC 8032.") (license license:expat))) ;; 0.8.0 needs simplecov ~> 0.18 -(define-public ruby-simplecov-lcov - (package - (name "ruby-simplecov-lcov") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "simplecov-lcov" version)) - (sha256 - (base32 - "0r3pmjjdjvprk8bzmcvarhf57sp5xzgj1c6007qaqhs7b4fhvxvb")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; tests want rails' source directory. Also skip ruby-jeweler - ;#:test-target "default" - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - ;(setenv "HOME" (getcwd)) - #t))))) - (native-inputs - `( - ;("ruby-jeweler" ,ruby-jeweler) - ("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov) - )) - (synopsis - "Custom SimpleCov formatter to generate a lcov style coverage.") - (description - "Custom SimpleCov formatter to generate a lcov style coverage.") - (home-page "https://github.com/fortissimo1997/simplecov-lcov") - (license license:expat))) (define-public ruby-semver2 (package @@ -6002,7 +5566,6 @@ Simple gem that adds various color methods to String class, and can be used as f (home-page "https://github.com/doriantaylor/rb-lmdb") (license license:expat))) ;; note that all these license statements need to be checked! - (define-public ruby-unicode-types (package (name "ruby-unicode-types") diff --git a/gn/packages/sambamba.scm b/gn/packages/sambamba.scm index e5623d4..cc15f77 100644 --- a/gn/packages/sambamba.scm +++ b/gn/packages/sambamba.scm @@ -19,158 +19,3 @@ #:use-module (gnu packages tls) #:use-module (gn packages shell) #:use-module (srfi srfi-1)) - - -(define-public htslib - (package - (name "htslib") - (version "1.11-codecs") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/samtools/htslib/releases/download/" - version "/htslib-" version ".tar.bz2")) - (sha256 - (base32 - "1mrq4mihzx37yqhj3sfz6da6mw49niia808bzsw2gkkgmadxvyng")))) - (build-system gnu-build-system) - ;; Let htslib translate "gs://" and "s3://" to regular https links with - ;; "--enable-gcs" and "--enable-s3". For these options to work, we also - ;; need to set "--enable-libcurl". - (arguments - `(#:configure-flags '("--enable-gcs" - "--enable-libcurl" - "--enable-s3" - "--enable-lzma" - "--enable-bz2"))) - (inputs - `(("curl" ,curl) - ("openssl" ,openssl) - ("xz" ,xz) ; for liblzma codec - ("bzip2" ,bzip2))) ; for libz2 codec - ;; This is referred to in the pkg-config file as a required library. - (propagated-inputs - `(("zlib" ,zlib))) - (native-inputs - `(("perl" ,perl))) - (home-page "https://www.htslib.org") - (synopsis "C library for reading/writing high-throughput sequencing data") - (description - "HTSlib is a C library for reading/writing high-throughput sequencing -data. It also provides the @command{bgzip}, @command{htsfile}, and -@command{tabix} utilities.") - ;; Files under cram/ are released under the modified BSD license; - ;; the rest is released under the Expat license - (license (list license:expat license:bsd-3)))) - - -(define-public sambamba - (let ((commit "7cff06533b539a99b4e0db681fb573214d63aae2")) - (package - (name "sambamba") - (version (string-append "0.6.7-pre1-" (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pjotrp/sambamba.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "11k2xqgmbvxwki569439kvzf2b0cqy2x21kbgjijwvpqk9j8czx4")))) - (build-system gnu-build-system) - (outputs '("out" ; disable all checks for speed - "debug")) - (inputs - `(("samtools" ,samtools) ; for pileup - ("bcftools" ,bcftools) ; for pileup - ("lz4" ,lz4) - ("zlib" ,zlib) - )) - (native-inputs - `(("ldc" ,ldc) - ;; ("shunit2-old" ,shunit2-old) disable for a bit - ("coreutils" ,coreutils) ; for env - ("perl" ,perl) ; Needed for building htslib - ("ruby" ,ruby) ; Needed for building htslib - ("python" ,python-2) ; Needed for building htslib and sambamba - ("gcc" ,gcc) - ("which" ,which) - ("htslib-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pjotrp/htslib.git") - (commit "2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5"))) - (file-name (string-append "htslib-src-" (string-take commit 7) "-checkout")) - (sha256 - (base32 "0g38g8s3npr0gjm9fahlbhiskyfws9l5i0x1ml3rakzj7az5l9c9")))) - ("biod-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/biod/BioD.git") - (commit "c778e4f2d8bacea7499283ce39f5577b232732c6"))) - (file-name (string-append "biod-src-" (string-take commit 7) "-checkout")) - (sha256 - (base32 "1z90562hg47i63gx042wb3ak2vqjg5z7hwgn9bp2pdxfg3nxrw37")))) - ("dlang-undeaD-src" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dlang/undeaD.git") - (commit "92803d25c88657e945511f0976a0c79d8da46e89"))) - (file-name (string-append "dlang-undeaD-src-" (string-take commit 7) "-checkout")) - (sha256 - (base32 "0vq6n81vzqvgphjw54lz2isc1j8lcxwjdbrhqz1h5gwrvw9w5138")))))) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'patch-pileup-d - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "sambamba/pileup.d" - (("string samtoolsBin = null;") (string-append "string samtoolsBin = \"" (which "samtools") "\";")) - (("string bcftoolsBin = null;") (string-append "string bcftoolsBin = \"" (which "bcftools") "\";")) - ((" this_app = args[0];") (string-append " this_app = \"" (which "sambamba") "\";"))))) - (add-after 'unpack 'unpack-htslib-sources - (lambda* (#:key inputs #:allow-other-keys) - ;; The current build compiles htslib statically into the - ;; executable. On top of that, we need to patch the latest - ;; version of htslib to have it working with Sambamba. - (and - (copy-recursively (assoc-ref inputs "htslib-src") "htslib") - (copy-recursively (assoc-ref inputs "dlang-undeaD-src") "undeaD") - (copy-recursively (assoc-ref inputs "biod-src") "BioD")))) - (replace - 'build - (lambda* (#:key inputs outputs make-flags #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (debug-out (assoc-ref outputs "debug"))) - (zero? (system* "make" "-f" "Makefile.guix" "guix" "-j" "8" - (string-append "LDC_LIB_PATH=" - (assoc-ref inputs "ldc") - "/lib")))))) - (replace - 'check - (lambda* (#:key inputs outputs make-flags #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (debug-out (assoc-ref outputs "debug"))) - (zero? (system* "make" "-f" "Makefile.guix" "check" - (string-append "LDC_LIB_PATH=" - (assoc-ref inputs "ldc") - "/lib")))))) - (replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "build/sambamba" bin))))))) - (home-page "https://github.com/lomereiter/sambamba") - (synopsis "Fast tool for working with SAM, BAM and CRAM files written in D.") - (description - "Sambamba is a high performance modern robust and fast -tool (and library), written in the D programming language, for working -with SAM, BAM and CRAM files. Current parallelised functionality is -an important subset of samtools functionality, including view, index, -sort, markdup, and depth.") - (license license:gpl2+)))) diff --git a/gn/packages/statistics.scm b/gn/packages/statistics.scm index 8e8483a..97a775c 100644 --- a/gn/packages/statistics.scm +++ b/gn/packages/statistics.scm @@ -27,45 +27,6 @@ #:use-module (gnu packages time); python-rpy2-robjects #:use-module (guix gexp)) -(define-public r-hmisc-3 - (package - (name "r-hmisc") - (version "3.17-2") - (source - (origin - (method url-fetch) - (uri (cran-uri "Hmisc" version)) - (sha256 - (base32 - "110w5hbrl10isslqs0iq6w2ll0dafqyqznb50cdcallnlnvbvxrg")))) - (properties `((upstream-name . "Hmisc"))) - (build-system r-build-system) - (inputs - `(("gfortran" ,gfortran))) - (arguments - `(#:tests? #f)) ; no 'setup.py test' - (propagated-inputs - `(("r-acepack" ,r-acepack) - ("r-cluster" ,r-cluster) - ("r-foreign" ,r-foreign) - ("r-formula" ,r-formula) - ("r-ggplot2" ,r-ggplot2) - ; ("r-grid" ,r-grid) - ("r-gridextra" ,r-gridextra) - ("r-gtable" ,r-gtable) - ("r-lattice" ,r-lattice) - ("r-latticeextra" ,r-latticeextra) - ; ("r-methods" ,r-methods) - ("r-nnet" ,r-nnet) - ("r-rpart" ,r-rpart) - ("r-survival" ,r-survival) - )) - (home-page "http://biostat.mc.vanderbilt.edu/Hmisc") - (synopsis "Harrell Miscellaneous") - (description - "Contains many functions useful for data analysis, high-level graphics, utility operations, functions for computing sample size and power, importing and annotating datasets, imputing missing values, advanced table making, variable clustering, character string manipulation, conversion of R objects to LaTeX code, and recoding variables.") - (license license:gpl2+))) - (define-public r-graphics (package (name "r-graphics") @@ -161,7 +122,6 @@ combined with QTL information to perform de novo reconstruction of interaction networks.") (license license:gpl3))) - (define-public python-rpy2-rinterface (package (name "python-rpy2-rinterface") @@ -194,7 +154,6 @@ interaction networks.") running embedded in a Python process.") (license license:gpl2))) - (define-public python-rpy2-robjects (package (name "python-rpy2-robjects") @@ -225,7 +184,6 @@ interaction networks.") (description "Python interface to the R language (embedded R).") (license #f))) - (define-public python-rpy2-patched ;; TODO: Delete this after python-rpy2 is fixed upstream. (package @@ -258,7 +216,6 @@ interaction networks.") "license = {file = \"LICENSE\"}\n")))) (delete 'check)))))) - (define-public r-thor (package (name "r-thor") diff --git a/gn/packages/twint.scm b/gn/packages/twint.scm index f665003..a9d8476 100644 --- a/gn/packages/twint.scm +++ b/gn/packages/twint.scm @@ -86,92 +86,7 @@ "Up to date simple useragent faker with real world database") (license #f))) -(define-public python-cchardet - (package - (name "python-cchardet") - (version "2.1.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "cchardet" version)) - (sha256 - (base32 - "1cs6y59qhbal8fgbyjk2lpjykh8kfjhq16clfssylsddb4hgnsmp")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) - (home-page "https://github.com/PyYoshi/cChardet") - (synopsis - "cChardet is high speed universal character encoding detector.") - (description - "cChardet is high speed universal character encoding detector.") - (license #f))) - -(define-public python-curio - (package - (name "python-curio") - (version "1.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "curio" version)) - (sha256 - (base32 "0isj3jl5mx6m25nr1f7r91hfaydhkvmks9p85dyvl5h2n9nmhajn")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - #~(list ;; AttributeError: 'NoneType' object has no attribute - ;; 'terminate' - "--deselect=tests/test_workers.py::test_exception" - ;; Tries to open an outgoing connection. - "--deselect=tests/test_network.py::test_ssl_outgoing" - ;; This test fails since Python 3.9.9, see - ;; <https://github.com/dabeaz/curio/issues/347>. - ;; AttributeError: 'NoneType' object has no attribute - ;; 'terminate' - "--deselect=tests/test_workers.py::test_worker_timeout" - ;; AttributeError: 'NoneType' object has no attribute - ;; 'terminate' - "--deselect=tests/test_workers.py::test_bad_cpu" - "--deselect=tests/test_workers.py::test_cpu" - "--deselect=tests/test_workers.py::test_worker_cancel"))) - (native-inputs - (list python-pytest - python-setuptools - python-wheel)) - (home-page "https://github.com/dabeaz/curio") - (synopsis "Coroutine-based library for concurrent Python") - (description - "Curio is a coroutine-based library for concurrent Python systems -programming. It provides standard programming abstractions such as as -tasks, sockets, files, locks, and queues.") - (license license:bsd-3))) - ;; TODO: Upstream -(define-public python-socks - (package - (name "python-socks") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "python-socks" version)) - (sha256 - (base32 - "1w5gdlz6jaflzmzf8d6s81k4qwzb0q8xq2s76bj04sv11nm2lkiv")))) - (build-system python-build-system) - (propagated-inputs - `(("python-async-timeout" ,python-async-timeout) - ("python-trio" ,python-trio) - ("python-curio" ,python-curio))) - (home-page - "https://github.com/romis2012/python-socks") - (synopsis - "Core proxy (SOCKS4, SOCKS5, HTTP tunneling) functionality for Python") - (description - "Core proxy (SOCKS4, SOCKS5, HTTP tunneling) functionality for Python") - (license #f))) (define-public python-twint (package diff --git a/gn/packages/web.scm b/gn/packages/web.scm index 734cbe1..585c56a 100644 --- a/gn/packages/web.scm +++ b/gn/packages/web.scm @@ -126,22 +126,6 @@ extensive prebuilt components, and powerful plugins built on jQuery.") #t)))) (native-inputs `(("source" ,source))))) -(define-public web-bootstrap-3.3 - (package - (inherit web-bootstrap-3) - (name "web-bootstrap") - (version "3.3.7") ; July 25, 2016 - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/twbs/bootstrap.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0li7vdr4avz34b9xvwk7skbvnvzbx002cw5nfm7iwvi1wk8v5bri")))) - (native-inputs `(("source" ,source))))) - (define-public web-bootstrap-native (let ((commit "2e48d7ee29d4063e3bd2024ff83ddc50a550c4dd")) (package diff --git a/gn/packages/yaj.scm b/gn/packages/yaj.scm index aa5a0eb..668b478 100644 --- a/gn/packages/yaj.scm +++ b/gn/packages/yaj.scm @@ -16,35 +16,6 @@ #:use-module (gn packages web) #:use-module (gn packages check)) -(define-public python-elasticsearch - (package - (name "python-elasticsearch") - (version "6.3.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "elasticsearch" version)) - (sha256 - (base32 - "1gpgb2vxl1q7hqrxxdlmfp9dxcl5wg3k78vxk2lka1cjaqd7mzw0")))) - (build-system python-build-system) - (native-inputs - `(("python-mock" ,python-mock) - ("python-nosexcover" ,python-nosexcover) - ("python-pyaml" ,python-pyaml) - ("python-requests" ,python-requests))) - (propagated-inputs - `(("urllib3" ,python-urllib3))) - (arguments - ;; tests require the test_elasticsearch module but it is not distributed. - `(#:tests? #f)) - (home-page "https://github.com/elastic/elasticsearch-py") - (synopsis "Low-level client for Elasticsearch") - (description "Official low-level client for Elasticsearch. Its goal is to -provide common ground for all Elasticsearch-related code in Python; because of -this it tries to be opinion-free and very extendable.") - (license license:expat))) - (define-public yaj (let ((md5 "93e745e9c")) (package |
