aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorBen Woodcroft <donttrustben@gmail.com>2016-01-07 07:44:58 +1000
committerBen Woodcroft <donttrustben@gmail.com>2016-01-12 07:49:19 +1000
commit81f3e0c1f3c8b0a591daf82c86d2a41063ae3c68 (patch)
tree633748c353ba6a23ca6bd28777b361064d1dceb3 /gnu
parentec70fec559659163528a59690c48f704d9682517 (diff)
downloadguix-81f3e0c1f3c8b0a591daf82c86d2a41063ae3c68.tar.gz
guix-81f3e0c1f3c8b0a591daf82c86d2a41063ae3c68.zip
gnu: Add fxtract.
* gnu/packages/bioinformatics.scm (fxtract): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/bioinformatics.scm66
1 files changed, 66 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 55b7cb1c86..82506c1c3a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -48,6 +48,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
@@ -1425,6 +1426,71 @@ genes in incomplete assemblies or complete genomes.")
;; GPL3+ according to private correspondense with the authors.
(license license:gpl3+)))
+(define-public fxtract
+ (let ((util-commit "776ca85a18a47492af3794745efcb4a905113115"))
+ (package
+ (name "fxtract")
+ (version "2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/ctSkennerton/fxtract/archive/"
+ version ".tar.gz"))
+ (file-name (string-append "ctstennerton-util-"
+ (string-take util-commit 7)
+ "-checkout"))
+ (sha256
+ (base32
+ "0275cfdhis8517hm01is62062swmi06fxzifq7mr3knbbxjlaiwj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "CC=gcc")
+ #:test-target "fxtract_test"
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'copy-util
+ (lambda* (#:key inputs #:allow-other-keys)
+ (rmdir "util")
+ (copy-recursively (assoc-ref inputs "ctskennerton-util") "util")
+ #t))
+ ;; Do not use make install as this requires additional dependencies.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out"/bin")))
+ (install-file "fxtract" bin)
+ #t))))))
+ (inputs
+ `(("pcre" ,pcre)
+ ("zlib" ,zlib)))
+ (native-inputs
+ ;; ctskennerton-util is licensed under GPL2.
+ `(("ctskennerton-util"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ctSkennerton/util.git")
+ (commit util-commit)))
+ (file-name (string-append
+ "ctstennerton-util-" util-commit "-checkout"))
+ (sha256
+ (base32
+ "0cls1hd4vgj3f36fpzzg4xc77d6f3hpc60cbpfmn2gdr7ykzzad7"))))))
+ (home-page "https://github.com/ctSkennerton/fxtract")
+ (synopsis "Extract sequences from FASTA and FASTQ files")
+ (description
+ "Fxtract extracts sequences from a protein or nucleotide fastx (FASTA
+or FASTQ) file given a subsequence. It uses a simple substring search for
+basic tasks but can change to using POSIX regular expressions, PCRE, hash
+lookups or multi-pattern searching as required. By default fxtract looks in
+the sequence of each record but can also be told to look in the header,
+comment or quality sections.")
+ (license license:expat))))
+
(define-public grit
(package
(name "grit")