From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Woodcroft Subject: Re: [PATCH] Add FastTree Date: Sun, 21 Jun 2015 16:52:27 +1000 Message-ID: <55865F2B.7010007@uq.edu.au> References: <5583C3A2.1080906@uq.edu.au> <87oakcqa4r.fsf@gmail.com> <55849800.30201@uq.edu.au> <5584FAF9.8090902@uq.edu.au> <87zj3u9u4r.fsf@netris.org> <5585F347.5060004@uq.edu.au> <878ubdad2b.fsf@netris.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080007080004050808060809" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43845) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6Z7R-0002jK-V0 for guix-devel@gnu.org; Sun, 21 Jun 2015 02:52:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z6Z7O-0003XE-Oy for guix-devel@gnu.org; Sun, 21 Jun 2015 02:52:41 -0400 Received: from mailhub1.soe.uq.edu.au ([130.102.132.208]:33065 helo=newmailhub.uq.edu.au) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6Z7O-0003Wu-5y for guix-devel@gnu.org; Sun, 21 Jun 2015 02:52:38 -0400 In-Reply-To: <878ubdad2b.fsf@netris.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Mark H Weaver Cc: guix-devel@gnu.org, Alex Kost This is a multi-part message in MIME format. --------------080007080004050808060809 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit 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 --------------080007080004050808060809 Content-Type: text/x-patch; name="0001-gnu-Add-fasttree.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-gnu-Add-fasttree.patch" >From 1b7afa92668a2b4e7f759ab752868aa9b782713d Mon Sep 17 00:00:00 2001 From: Ben Woodcroft 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 --------------080007080004050808060809--