From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Woodcroft Subject: Re: [PATCHES] Add vsearch. Date: Wed, 30 Sep 2015 18:37:09 +1000 Message-ID: <560B9F35.7090405@uq.edu.au> References: <560A82F5.4090200@uq.edu.au> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------020006050907050405000709" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49591) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhCt5-00068a-Jr for guix-devel@gnu.org; Wed, 30 Sep 2015 04:37:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZhCt2-0001if-RL for guix-devel@gnu.org; Wed, 30 Sep 2015 04:37:19 -0400 Received: from mailhub2.soe.uq.edu.au ([130.102.132.209]:38100 helo=newmailhub.uq.edu.au) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhCt2-0001hu-7a for guix-devel@gnu.org; Wed, 30 Sep 2015 04:37:16 -0400 Received: from smtp1.soe.uq.edu.au (smtp1.soe.uq.edu.au [10.138.113.40]) by newmailhub.uq.edu.au (8.14.5/8.14.5) with ESMTP id t8U8bBJT002121 for ; Wed, 30 Sep 2015 18:37:12 +1000 Received: from [192.168.1.101] ([103.25.181.216]) (authenticated bits=0) by smtp1.soe.uq.edu.au (8.14.5/8.14.5) with ESMTP id t8U8bApp029984 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Wed, 30 Sep 2015 18:37:11 +1000 In-Reply-To: <560A82F5.4090200@uq.edu.au> 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: "guix-devel@gnu.org" This is a multi-part message in MIME format. --------------020006050907050405000709 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Updated patchset for vsearch 1.4.1 released today. ben On 29/09/15 22:24, Ben Woodcroft wrote: > Excellent to see an open source competitor to usearch. > > Thanks in advance for review as usual. I'm not especially adept at > using gcc's flags so perhaps some attention is warranted in the second > patch's snippet. --------------020006050907050405000709 Content-Type: text/x-patch; name="0001-gnu-Add-cityhash.patch" Content-Disposition: attachment; filename="0001-gnu-Add-cityhash.patch" Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by newmailhub.uq.edu.au id t8U8bBJT002121 >From e1789cbcfcf7dc6f1657f53bad04fca7180400cc Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Sep 2015 22:10:33 +1000 Subject: [PATCH 1/2] gnu: Add cityhash. * gnu/packages/textutils.scm (cityhash): New variable. --- gnu/packages/textutils.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 95a8ad1..5204297 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2015 Taylan Ulrich Bay=C4=B1rl=C4=B1/Kammer ;;; Copyright =C2=A9 2015 Ricardo Wurmus +;;; Copyright =C2=A9 2015 Ben Woodcroft ;;; ;;; This file is part of GNU Guix. ;;; @@ -153,3 +154,26 @@ encoding, supporting Unicode version 7.0.") "libgtextutils is a text utilities library used by the fastx toolki= t from the Hannon Lab.") (license license:agpl3+))) + +(define-public cityhash + (let ((commit "8af9b8c") + (revision "1")) + (package + (name "cityhash") + (version (string-append "1.1." revision "." commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/cityhash.git") + (commit commit))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n6skf5dv8yfl1ckax8dqhvsbslkwc9158zf2ims0xqdvzsahbi6"= )))) + (build-system gnu-build-system) + (home-page "https://github.com/google/cityhash") + (synopsis "A family of functions for strings") + (description + "CityHash provides hash functions for strings. The functions mix t= he +input bits thoroughly but are not suitable for cryptography.") + (license license:expat)))) --=20 2.4.3 --------------020006050907050405000709 Content-Type: text/x-patch; name="0002-gnu-Add-vsearch.patch" Content-Disposition: attachment; filename="0002-gnu-Add-vsearch.patch" Content-Transfer-Encoding: 7bit >From 5a403f43bafe129d8a22b1d0ea169c2e97d2fb5b Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 30 Sep 2015 18:35:32 +1000 Subject: [PATCH 2/2] gnu: Add vsearch. * gnu/packages/bioinformatics.scm (vsearch): 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 8fc6142..25f65ae 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -33,6 +33,7 @@ #:use-module (guix build-system ruby) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages boost) @@ -53,6 +54,7 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages tbb) #:use-module (gnu packages textutils) + #:use-module (gnu packages tls) #:use-module (gnu packages vim) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -2709,6 +2711,63 @@ data in the form of VCF files.") ;; at http://vcftools.sourceforge.net/license.html (license license:lgpl3))) +(define-public vsearch + (package + (name "vsearch") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/torognes/vsearch/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b1359wbzgb2cm04h7dq05v80vik88hnsv298xxd1q1f2q4ydni7")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled cityhash + (substitute* "src/Makefile.am" + (((string-append "^AM_CXXFLAGS=-I\\$\\{srcdir\\}/cityhash" + " -O3 -mtune=native -Wall -Wsign-compare")) + (string-append "AM_CXXFLAGS=-lcityhash" + " -O3 -mtune=native -Wall -Wsign-compare")) + (("^__top_builddir__bin_vsearch_SOURCES = cityhash/city.h \\\\") + "__top_builddir__bin_vsearch_SOURCES = \\") + (("^cityhash/config.h \\\\") "\\") + (("^cityhash/city.cc \\\\") "\\")) + (substitute* "src/vsearch.h" + (("^\\#include \"cityhash/city.h\"") + "#include ")) + (delete-file-recursively "src/cityhash") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'autogen + (lambda _ (zero? (system* "autoreconf" "-vif"))))))) + (inputs + `(("zlib" ,zlib) + ("bzip2" ,bzip2) + ("cityhash" ,cityhash))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (synopsis "Sequence search tools for metagenomics") + (description + "VSEARCH supports DNA sequence searching, clustering, chimera detection, +dereplication, pairwise alignment, shuffling, subsampling, sorting and +masking. The tool takes advantage of parallelism in the form of SIMD +vectorization as well as multiple threads to perform accurate alignments at +high speed. VSEARCH uses an optimal global aligner (full dynamic programming +Needleman-Wunsch).") + (home-page "https://github.com/torognes/vsearch") + ;; dual licensed, plus some public domain source + (license (list license:gpl3 license:bsd-2 license:public-domain)))) + (define-public bio-locus (package (name "bio-locus") -- 2.4.3 --------------020006050907050405000709--