From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42425) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gMJKa-0002eB-PO for guix-patches@gnu.org; Mon, 12 Nov 2018 16:01:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gMJKW-0001ow-OQ for guix-patches@gnu.org; Mon, 12 Nov 2018 16:01:12 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:44108) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gMJKQ-0001ma-OQ for guix-patches@gnu.org; Mon, 12 Nov 2018 16:01:06 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gMJKQ-00025d-KO for guix-patches@gnu.org; Mon, 12 Nov 2018 16:01:02 -0500 Subject: [bug#33357] [PATCH] gnu: Add nanopolish. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42294) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gMJK5-0002Zh-No for guix-patches@gnu.org; Mon, 12 Nov 2018 16:00:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gMJJr-0000tG-VY for guix-patches@gnu.org; Mon, 12 Nov 2018 16:00:34 -0500 Received: from sinope02.bbbm.mdc-berlin.de ([141.80.25.24]:59292) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gMJJr-0000o8-Av for guix-patches@gnu.org; Mon, 12 Nov 2018 16:00:27 -0500 Received: from localhost (localhost [127.0.0.1]) by sinope02.bbbm.mdc-berlin.de (Postfix) with ESMTP id CEE5913EFDBE for ; Mon, 12 Nov 2018 22:00:16 +0100 (CET) Received: from sinope02.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope02.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tUrKir3er1mf for ; Mon, 12 Nov 2018 22:00:10 +0100 (CET) Received: from SW-IT-P-CAS1.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by sinope02.bbbm.mdc-berlin.de (Postfix) with ESMTPS for ; Mon, 12 Nov 2018 22:00:10 +0100 (CET) From: pimi Date: Mon, 12 Nov 2018 21:59:49 +0100 Message-ID: <20181112205949.20289-1-madalinionel.patrascu@mdc-berlin.de> MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 33357@debbugs.gnu.org Cc: ricardo.wurmus@mdc-berlin.de, pimi * gnu/packages/bioinformatics.scm (nanopolish): New variable. --- gnu/packages/bioinformatics.scm | 73 +++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index bf49f4e1d..fa1a91a22 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -14282,3 +14282,76 @@ both read length (longer is better) and read identity (higher is better) when choosing which reads pass the filter.") (license (list license:gpl3 ;filtlong license:asl2.0))))) ;histogram.py + +(define-public nanopolish + ;; The recommended way to install is to clone the git repository + ;; https://github.com/jts/nanopolish#installing-a-particular-release + ;; also, the differences between release and current version seems to be significative + (let ((commit "50e8b5cc62f9b46f5445f5c5e8c5ab7263ea6d9d") + (revision "1")) + (package + (name "nanopolish") + (version (git-version "0.10.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jts/nanopolish.git") + (commit commit) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09j5gz57yr9i34a27vbl72i4g8syv2zzgmsfyjq02yshmnrvkjs6")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `("HDF5=noinstall" "EIGEN=noinstall" "HTS=noinstall" "CC=gcc") + #:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-eigen + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "eigen") "/include/eigen3")) + #t)) + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (scripts (string-append out "/share/nanopolish/scripts"))) + + (install-file "nanopolish" bin) + (for-each (lambda (file) (install-file file scripts)) + (find-files "scripts" ".*")) + #t))) + (add-after 'install 'wrap-programs + (lambda* (#:key outputs #:allow-other-keys) + (for-each (lambda (file) + (wrap-program file `("PYTHONPATH" ":" prefix (,path)))) + (find-files "/share/nanopolish/scripts" "\\.py")) + (for-each (lambda (file) + (wrap-program file `("PERL5LIB" ":" prefix (,path)))) + (find-files "/share/nanopolish/scripts" "\\.pl")) + #t))))) + (inputs + `(("eigen" ,eigen) + ("hdf5" ,hdf5) + ("htslib" ,htslib) + ("perl" ,perl) + ("python" ,python) + ("python-biopython" ,python-biopython) + ("python-numpy" ,python-numpy) + ("python-pysam" ,python-pysam) + ("python-scikit-learn" , python-scikit-learn) + ("python-scipy" ,python-scipy) + ("zlib" ,zlib))) + (home-page "https://github.com/jts/nanopolish") + (synopsis "Signal-level analysis of Oxford Nanopore sequencing data") + (description + "This package analyses the Oxford Nanopore sequencing data at signal-level. +Nanopolish can calculate an improved consensus sequence for a draft genome +assembly, detect base modifications, call SNPs (Single nucleotide polymorphisms) +and indels with respect to a reference genome and more.") + ;; for auxiliary scripts is not mentioned any license + (license license:expat)))) -- 2.17.1