Note that the "extensions" listed on the website are research/non-profit only, and so not fit for inclusion.
>From b966b0c8ab9b194bbb7089cc4b4e3a9727862691 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrust...@gmail.com>
Date: Thu, 23 Jul 2015 22:42:17 +1000
Subject: [PATCH] gnu: Add mafft.

* gnu/packages/bioinformatics.scm (mafft): New variable
---
 gnu/packages/bioinformatics.scm | 57 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 78cd3ce..a09b89e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1394,6 +1394,63 @@ resolution of binding sites through combining the information of both
 sequencing tag position and orientation.")
     (license license:bsd-3)))
 
+(define-public mafft
+  (package
+    (name "mafft")
+    (version "7.221")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://mafft.cbrc.jp/alignment/software/mafft-"; version
+                    "-without-extensions-src.tgz"))
+              (file-name (string-append name "-" version ".tgz"))
+              (sha256
+               (base32
+                "0xi7klbsgi049vsrk6jiwh9wfj3b770gz3c8c7zwij448v0dr73d"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no automated tests, though there are tests in the readme
+       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+                          (string-append "BINDIR=" (string-append
+                                                    (assoc-ref %outputs "out")
+                                                    "/bin")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'enter-dir
+                    (lambda _ (chdir "core") #t))
+         ;; on advice from the MAFFT authors, do not distribute mafft-profile,
+         ;; mafft-distance mafft-homologs.rb
+         (add-after 'enter-dir 'patch-makefile
+                    (lambda _
+                      (substitute* "Makefile"
+                        (("^SCRIPTS = mafft mafft-homologs.rb")
+                         "SCRIPTS = mafft")
+                        (((string-append "^PROGS = dvtditr dndfast7 dndblast"
+                                         " sextet5 mafft-distance"))
+                         "PROGS = dvtditr dndfast7 dndblast sextet5")
+                        (((string-append "splittbfast disttbfast tbfast "
+                                         "mafft-profile f2cl mccaskillwrap"))
+                         "splittbfast disttbfast tbfast f2cl mccaskillwrap")
+                        (("^rm -f mafft-profile mafft-profile.exe") "#")
+                        (("^rm -f mafft-distance mafft-distance.exe") ")#")
+                        ;; do not install MAN pages in libexec folder
+                        (((string-append "^\t\\$\\(INSTALL\\) -m 644 \\$\\("
+                                         "MANPAGES\\) \\$\\(DESTDIR\\)\\$"
+                                         "\\(LIBDIR\\)")) "#"))
+                      #t))
+         (delete 'configure))))
+    (inputs
+     `(("perl" ,perl)))
+    (home-page "http://mafft.cbrc.jp/alignment/software/";)
+    (synopsis
+     "Multiple sequence alignment program for unix-like operating systems")
+    (description
+     "MAFFT offers a range of multiple alignment methods for nucleotide and
+protein sequences.  For instance, it offers L-INS-i (accurate; for alignment
+of <∼200 sequences) and FFT-NS-2 (fast; for alignment of <∼30,000
+sequences).")
+   (license (license:non-copyleft "file://license"
+                                  "See license in the distribution."))))
 
 (define-public metabat
   (package
-- 
2.4.3

Reply via email to