Ben Woodcroft <b.woodcr...@uq.edu.au> writes: > From d49710b5a87bfdbe3c12222fd7f42f4fc67875e5 Mon Sep 17 00:00:00 2001 > From: Ben Woodcroft <donttrust...@gmail.com> > Date: Sun, 21 Jun 2015 20:15:31 +1000 > Subject: [PATCH] gnu: Add hmmer. > > * gnu/packages/bioinformatics.scm (hmmer): New variable. > --- > gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm > index 8dfaff3..bb5f942 100644 > --- a/gnu/packages/bioinformatics.scm > +++ b/gnu/packages/bioinformatics.scm > @@ -1032,6 +1032,30 @@ several alignment strategies enable effective > alignment of RNA-seq reads, in > particular, reads spanning multiple exons.") > (license license:gpl3+))) > > +(define-public hmmer > + (package > + (name "hmmer") > + (version "3.1b2") > + (source (origin > + (method url-fetch) > + (uri (string-append > + "http://selab.janelia.org/software/hmmer" > + (version-prefix version 1) "/" > + version "/hmmer-" version ".tar.gz")) > + (sha256 > + (base32 > + "0djmgc0pfli0jilfx8hql1axhwhqxqb8rxg2r5rg07aw73sfs5nx")))) > + (build-system gnu-build-system) > + (native-inputs `(("perl", perl))) > + (home-page "http://hmmer.janelia.org") > + (synopsis "Biosequence analysis using profile hidden Markov models") > + (description > + "HMMER is used for searching sequence databases for homologs of protein > +sequences, and for making protein sequence alignments. It implements methods > +using probabilistic models called profile hidden Markov models (profile > +HMMs).") > + (license license:gpl3+)))
The code in the 'easel' subdirectory is under a different license, "The Janelia Farm Software License". So you should do something like this: --8<---------------cut here---------------start------------->8--- (license (list license:gpl3+ ;; The bundled library 'easel' is distributed ;; under The Janelia Farm Software License. (non-copyleft "file://easel/LICENSE" "See easel/LICENSE in the distribution."))))) --8<---------------cut here---------------end--------------->8--- It's not good that hmmer bundles its own copy of easel. If we ever need easel for another package, we should find a way to build hmmer against the external easel library. Having multiple copies of the same library on the system potentially means multiple copies in RAM, and more importantly: multiple copies that need to be patched for fixes, especially security fixes. However, we can cross that bridge when we come to it. From a brief glance, it seems that separating the two will not be trivial :-/ Mark