Another patch attached, with the only difference being the brackets not
on a new line.
On 21/06/15 14:41, Mark H Weaver wrote:
Is there any reason to build the single-threaded version? Maybe it
would be better to omit it, and call the multi-threaded version
FastTree. What do you think?
I considered this. I have only ever used the multithreaded version, but
the one advantage of the single-threaded mode is that it is
deterministic as I understand, where the multi-threaded version is not.
From the webpage:
> FastTreeMP will not give exactly the same results as FastTree because
the top-hits heuristics become non-deterministic
Ubuntu has separate fasttree and fasttreeMP for reference.
Thanks for the comments and encouragement.
ben
>From 1b7afa92668a2b4e7f759ab752868aa9b782713d Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrust...@gmail.com>
Date: Sun, 21 Jun 2015 16:31:27 +1000
Subject: [PATCH] gnu: Add fasttree.
* gnu/packages/bioinformatics.scm (fasttree): New variable.
---
gnu/packages/bioinformatics.scm | 59 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 12c9175..8dfaff3 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -780,6 +780,65 @@ analysis (from RNA-Seq), transcription factor binding quantification in
ChIP-Seq, and analysis of metagenomic data.")
(license license:artistic2.0)))
+(define-public fasttree
+ (package
+ (name "fasttree")
+ (version "2.1.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.microbesonline.org/fasttree/FastTree-"
+ version ".c"))
+ (sha256
+ (base32
+ "0dzqc9vr9iiiw21y159xfjl2z90vw0y7r4x6456pcaxiy5hd2wmi"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'unpack)
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key source #:allow-other-keys)
+ (and (zero? (system* "gcc"
+ "-O3"
+ "-finline-functions"
+ "-funroll-loops"
+ "-Wall"
+ "-o"
+ "FastTree"
+ source
+ "-lm"))
+ (zero? (system* "gcc"
+ "-DOPENMP"
+ "-fopenmp"
+ "-O3"
+ "-finline-functions"
+ "-funroll-loops"
+ "-Wall"
+ "-o"
+ "FastTreeMP"
+ source
+ "-lm")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out")
+ "/bin")))
+ (mkdir-p bin)
+ (copy-file "FastTree"
+ (string-append bin "/FastTree"))
+ (copy-file "FastTreeMP"
+ (string-append bin "/FastTreeMP"))
+ #t))))))
+ (home-page "http://www.microbesonline.org/fasttree")
+ (synopsis "Infers approximately-maximum-likelihood phylogenetic trees")
+ (description
+ "FastTree can handle alignments with up to a million of sequences in a
+reasonable amount of time and memory. For large alignments, FastTree is
+100-1,000 times faster than PhyML 3.0 or RAxML 7.")
+ (license license:gpl2+)))
+
(define-public fastx-toolkit
(package
(name "fastx-toolkit")
--
2.1.4