On 07/09/15 18:55, Andreas Enge wrote:
On Tue, Aug 25, 2015 at 10:58:42PM +0200, Ludovic Courtès wrote:
It seems this message was left unanswered.  Andreas?
I had a cursory look at the patch, here are some comments:

[..]
+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
Is this an artefact of the mailer?

I did not check whether the package passes "guix lint".

Could you send an updated patch?
Attached - I was only able to remove some of the long string-append lines. Apologies for that second "patch" - not intentional. Thanks for the review. I've changed the character to a different "~" so hopefully more standard now. Guix lint doesn't complain.

ben
>From 0796e8be05977e6d30eab787a1550bd8d1f12b2d Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <[email protected]>
Date: Sat, 12 Sep 2015 22:10:20 +1000
Subject: [PATCH] gnu: Add mafft.

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

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 03eb2df..e0b7e40 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1543,6 +1543,66 @@ 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 read me
+       #:make-flags (let ((out (assoc-ref %outputs "out")))
+                      (list (string-append "PREFIX=" out)
+                            (string-append "BINDIR="
+                                           (string-append out "/bin"))))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'enter-dir
+            (lambda _ (chdir "core") #t))
+         (add-after 'enter-dir 'patch-makefile
+            (lambda _
+              ;; on advice from the MAFFT authors, there is no need to
+              ;; distribute mafft-profile, mafft-distance, or
+              ;; mafft-homologs.rb as they are too "specialised".
+              (substitute* "Makefile"
+                ;; remove mafft-homologs.rb from SCRIPTS
+                (("^SCRIPTS = mafft mafft-homologs.rb")
+                  "SCRIPTS = mafft")
+                ;; remove mafft-distance from PROGS
+                (("^PROGS = dvtditr dndfast7 dndblast sextet5 mafft-distance")
+                  "PROGS = dvtditr dndfast7 dndblast sextet5")
+                ;; remove mafft-profile from PROGS
+                (((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")
+    (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