summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-06-03 17:44:20 +0200
committerRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-08-26 17:54:52 +0200
commitf7283db37d58f1a7dede5f410c6c0a75aa82b12e (patch)
tree2435d0b04411a6acb97cc4769f7ac510952746d7
parent14e2e44d44e0be0b010ca4f71a999ed631808da4 (diff)
gnu: Add BioPerl.
* gnu/packages/bioinformatics.scm (bioperl-minimal): New variable.
-rw-r--r--gnu/packages/bioinformatics.scm64
1 files changed, 63 insertions, 1 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 7a50a85f2d..d7e4da6fe8 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -51,7 +51,8 @@
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
- #:use-module (gnu packages zip))
+ #:use-module (gnu packages zip)
+ #:use-module (srfi srfi-1))
(define-public aragorn
(package
@@ -276,6 +277,67 @@ pybedtools extends BEDTools by offering feature-level manipulations from with
Python.")
(license license:gpl2+)))
+(define-public bioperl-minimal
+ (let* ((inputs `(("perl-module-build" ,perl-module-build)
+ ("perl-data-stag" ,perl-data-stag)
+ ("perl-libwww" ,perl-libwww)
+ ("perl-uri" ,perl-uri)))
+ (transitive-inputs
+ (map (compose package-name cadr)
+ (delete-duplicates
+ (concatenate
+ (map (compose package-transitive-target-inputs cadr) inputs))))))
+ (package
+ (name "bioperl-minimal")
+ (version "1.6.924")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1l3npcvvvwjlhkna9dndpfv1hklhrgva013kw96m0n1wpd37ask1"))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'install 'wrap-programs
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make sure all executables in "bin" find the required Perl
+ ;; modules at runtime. As the PERL5LIB variable contains also
+ ;; the paths of native inputs, we pick the transitive target
+ ;; inputs from %build-inputs.
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (path (string-join
+ (cons (string-append out "/lib/perl5/site_perl")
+ (map (lambda (name)
+ (assoc-ref %build-inputs name))
+ ',transitive-inputs))
+ ":")))
+ (for-each (lambda (file)
+ (wrap-program file
+ `("PERL5LIB" ":" prefix (,path))))
+ (find-files bin "\\.pl$"))
+ #t))))))
+ (inputs inputs)
+ (native-inputs
+ `(("perl-test-most" ,perl-test-most)))
+ (home-page "http://search.cpan.org/dist/BioPerl")
+ (synopsis "Bioinformatics toolkit")
+ (description
+ "BioPerl is the product of a community effort to produce Perl code which
+is useful in biology. Examples include Sequence objects, Alignment objects
+and database searching objects. These objects not only do what they are
+advertised to do in the documentation, but they also interact - Alignment
+objects are made from the Sequence objects, Sequence objects have access to
+Annotation and SeqFeature objects and databases, Blast objects can be
+converted to Alignment objects, and so on. This means that the objects
+provide a coordinated and extensible framework to do computational biology.")
+ (license (package-license perl)))))
+
(define-public python-biopython
(package
(name "python-biopython")