summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen J Woodcroft <donttrustben@gmail.com>2016-09-09 09:53:21 +1000
committerBen Woodcroft <donttrustben@gmail.com>2016-09-13 20:27:29 +1000
commit66daf78c0a4b64e0618a9bca8c8e6c0ce28de16d (patch)
tree94ca5c467f0ac7ff549fd5d66a942a42146ce02d
parent6c0cd765c03de72ecd97b9222bff04c525b8bba4 (diff)
downloadguix-66daf78c0a4b64e0618a9bca8c8e6c0ce28de16d.tar.gz
gnu: Add seqtk.
* gnu/packages/bioinformatics.scm (seqtk): New variable.
-rw-r--r--gnu/packages/bioinformatics.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 3922c660bb..39a420ac3b 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4586,6 +4586,49 @@ BioPython in a convenient way.  Instead of having a big mess of scripts, there
 is one that takes arguments.")
     (license license:gpl3)))
 
+(define-public seqtk
+  (package
+    (name "seqtk")
+    (version "1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/lh3/seqtk/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0ywdyzpmfiz2wp6ampbzqg4y8bj450nfgqarpamg045b8mk32lxx"))
+                            (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Remove extraneous header files, as is done in the seqtk
+                  ;; master branch.
+                  (for-each (lambda (file) (delete-file file))
+                            (list "ksort.h" "kstring.h" "kvec.h"))
+                  #t))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'check
+           ;; There are no tests, so we just run a sanity check.
+           (lambda _ (zero? (system* "./seqtk" "seq"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+               (install-file "seqtk" bin)))))))
+    (inputs
+     `(("zlib" ,zlib)))
+    (home-page "https://github.com/lh3/seqtk")
+    (synopsis "Toolkit for processing biological sequences in FASTA/Q format")
+    (description
+     "Seqtk is a fast and lightweight tool for processing sequences in the
+FASTA or FASTQ format.  It parses both FASTA and FASTQ files which can be
+optionally compressed by gzip.")
+      (license license:expat)))
+
 (define-public snap-aligner
   (package
     (name "snap-aligner")