diff options
-rw-r--r-- | gn/packages/bioinformatics.scm | 197 | ||||
-rw-r--r-- | gn/packages/genenetwork.scm | 35 | ||||
-rw-r--r-- | gn/packages/python.scm | 99 | ||||
-rw-r--r-- | gn/packages/ruby.scm | 2 | ||||
-rw-r--r-- | gn/packages/statistics.scm | 222 | ||||
-rw-r--r-- | htslib-add-cram_to_bam.patch | 27 |
6 files changed, 450 insertions, 132 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 3363ea2..b503e22 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -48,43 +48,79 @@ #:use-module (gn packages statistics) #:use-module (srfi srfi-1)) + +(define-public r-biocpreprocesscore + (package + (name "r-biocpreprocesscore") + (version "1.32.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "preprocessCore" version)) + (sha256 + (base32 + "07isghjkqm91rg37l1fzpjrbq36b7w4pbsi95wwh6a8qq7r69z1n")))) + (properties + `((upstream-name . "BiocpreprocessCore") + (r-repository . bioconductor))) + (build-system r-build-system) + (home-page "http://bioconductor.org/packages/preprocessCore") + (synopsis "Preprocess functions for Bioconductor") + (description + "A library of core preprocessing routines.") + (license license:lgpl2.0+))) + + (define-public r-wgcna + (let ((commit "425bc170cc0873ddbd414675ac40f6d4d724c7cb")) (package (name "r-wgcna") - (version "1.48") - (source - (origin - (method url-fetch) - (uri (cran-uri "WGCNA" version)) - (sha256 - (base32 - "18yl2v3s279saq318vd5hlwnqfm89rxmjjji778d2d26vviaf6bn")))) + (version (string-append "1.49-" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + ;; (url "https://github.com/genenetwork/WGCNA.git") + (url "https://github.com/pjotrp/WGCNA.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "1zqnsb8s3065rq1y2y3l79zi8wmdwjkcjls96ypycrb7pmdil58j")))) (properties `((upstream-name . "WGCNA"))) (build-system r-build-system) - ;; (propagated-inputs - ;; `( ;; ("r-annotationdbi" ,r-annotationdbi) - ;; ("r-doparallel" ,r-doparallel) - ;; ("r-dynamictreecut" ,r-dynamictreecut) - ;; ("r-fastcluster" ,r-fastcluster) - ;; ("r-foreach" ,r-foreach) - ;; ("r-go.db" ,r-go.db) - ;; ("r-grdevices" ,r-grdevices) - ;; ("r-hmisc" ,r-hmisc) - ;; ("r-impute" ,r-impute) - ;; ("r-matrixstats" ,r-matrixstats) - ;; ("r-parallel" ,r-parallel) - ;; ("r-preprocesscore" ,r-preprocesscore) - ;; ("r-splines" ,r-splines) - ;; ("r-stats" ,r-stats) - ;; ("r-survival" ,r-survival) - ;; ("r-utils" ,r-utils))) + (propagated-inputs + `( ;; ("r-annotationdbi" ,r-annotationdbi) + ; ("r-biocparallel" ,r-biocparallel) + ("r-dynamictreecut" ,r-dynamictreecut) + ("r-doparallel" ,r-doparallel) + ("r-fastcluster" ,r-fastcluster) + ("r-foreach" ,r-foreach) + ("r-go-db" ,r-go-db) + ; ("r-grdevices" ,r-grdevices) + ("r-hmisc" ,r-hmisc) + ("r-impute" ,r-impute) + ("r-matrixstats" ,r-matrixstats) + ; ("r-parallel" ,r-parallel) + ("r-biocpreprocesscore" ,r-biocpreprocesscore) + ; ("r-splines" ,r-splines) + ; ("r-stats" ,r-stats) + ; ("r-survival" ,r-survival) + ; ("r-utils" ,r-utils) + )) + (arguments + `( + #:tests? #f)) ; no 'setup.py test' (home-page "http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/") (synopsis - "Weighted Correlation Network Analysis") + "Weighted gene correlation network analysis (wgcna)") (description - "Functions necessary to perform Weighted Correlation Network Analysis on high-dimensional data. Includes functions for rudimentary data cleaning, construction of correlation networks, module identification, summarization, and relating of variables and modules to sample traits. Also includes a number of utility functions for data manipulation and visualization.") - (license license:gpl2+))) + "Functions necessary to perform Weighted Correlation Network +Analysis on high-dimensional data. Includes functions for rudimentary +data cleaning, construction of correlation networks, module +identification, summarization, and relating of variables and modules +to sample traits. Also includes a number of utility functions for +data manipulation and visualization.") + (license license:gpl2+)))) (define-public qtlreaper (package @@ -119,7 +155,7 @@ test. For the permutation test, it performs only as many permutations as are necessary to define the empirical P-value to a reasonable precision. It also performs bootstrap resampling to estimate the confidence region for the location of a putative QTL.") - (license license:gpl2))) + (license license:gpl2+))) (define-public plink2 (package @@ -268,48 +304,6 @@ mixed model and some of its close relatives for genome-wide association studies (GWAS).") (license license:gpl3)))) -(define-public rdmd - (let ((commit "4dba6877c")) - (package - (name "rdmd") - (version "20160217") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/D-Programming-Language/tools.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "1pcx5lyqzrip86f4vv60x292rpvnwsq2hvl1znm9x9rn68f34m45")))) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check) ; There is no Makefile, so there's no 'make check'. - (replace - 'build - (lambda _ - (zero? (system* "ldc2" "rdmd.d")))) - (replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (mkdir-p bin) - (copy-file "rdmd" (string-append bin "/rdmd")))))))) - (native-inputs - `(("ldc" ,ldc))) - (home-page "https://github.com/D-Programming-Language/tools/") - (synopsis "Tool for the D language which is used for compiling") - (description - "rdmd is a companion to the dmd compiler that simplifies the typical -edit-compile-link-run or edit-make-run cycle to a rapid edit-run cycle. Like -make and other tools, rdmd uses the relative dates of the files involved to -minimize the amount of work necessary. Unlike make, rdmd tracks dependencies -and freshness without requiring additional information from the user.") - (license license:boost1.0)))) - (define-public sambamba (let ((commit "2ca5a2dbac5ab90c3b4c588519edc3edcb71df84")) (package @@ -325,39 +319,23 @@ and freshness without requiring additional information from the user.") (base32 "1f14wn9aaxwjkmla6pzq3s28741carbr2v0fd2v2mm1dcpwnrqz5")))) (build-system gnu-build-system) - ;; (inputs - ;; `(("ldc" ,ldc) - ;; ;; These are currently included in "ldc". - ;; ;;("druntime-ldc" ,druntime-ldc) - ;; ;;("phobos2-ldc" ,phobos2-ldc) - ;; ("lz4" ,lz4))) (native-inputs `(("ldc" ,ldc) - ;;("druntime-ldc" ,druntime-ldc) - ;;("phobos2-ldc" ,phobos2-ldc) ("lz4" ,lz4) ("rdmd" ,rdmd) ("zlib" ,zlib) - ("perl" ,perl) ; Needed for htslib - ("ruby" ,ruby) ; Needed for htslib - ("python" ,python) ; Needed for htslib + ("perl" ,perl) ; Needed for htslib tests? + ("ruby" ,ruby) ; Needed for htslib tests? + ("python" ,python) ; Needed for htslib tests? ("gcc" ,gcc) - ("lz4-src" - ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/Cyan4973/lz4/archive/r131.tar.gz")) - (file-name "lz4-r131.tar.gz") - (sha256 - (base32 "1vfg305zvj50hwscad24wan9jar6nqj14gdk2hqyr7bb9mhh0kcx")))) ("htslib-src" ,(origin (method url-fetch) - (uri (string-append - "https://github.com/lomereiter/htslib/archive/0.2.0-rc10.tar.gz")) - (file-name "htslib-0.2.0-rc10.tar.gz") + (uri "https://github.com/samtools/htslib/archive/1.3.tar.gz") + (file-name "htslib-1.3.tar.gz") (sha256 - (base32 "1k6dlf6m8yayhcp7b4yisgw1xqdy1xg2xyrllss6ld0wg00hfcbs")))) + (base32 "1bqkif7yrqmiqak5yb74kgpb2lsdlg7y344qa1xkdg7k1l4m86i9")) + (patches (list (search-patch "htslib-add-cram_to_bam.patch"))))) ("biod-src" ,(origin (method git-fetch) @@ -369,33 +347,34 @@ and freshness without requiring additional information from the user.") (base32 "09icc2bjsg9y4hxjim4ql275izadf0kh1nnmapg8manyz6bc8svf")))))) (arguments `(#:tests? #f - ;;#:make-flags + #:make-flags (list "-f" "Makefile.guix") #:phases (modify-phases %standard-phases (delete 'configure) (delete 'check) (add-after 'unpack 'unpack-htslib-sources (lambda* (#:key inputs #:allow-other-keys) - ;; Unfortunately, the current build compiles htslib statically - ;; into the executable. Instead of patching the build files - ;; for Guix, this should be resolved on Sambamba upstream. For - ;; now, just extract the source code to the desired directory. + ;; The current build compiles htslib statically into the + ;; executable. On top of that, we need to patch the latest + ;; version of htslib to have it working with Sambamba. (and (with-directory-excursion "htslib" (zero? (system* "tar" "xvf" (assoc-ref inputs "htslib-src") "--strip-components=1"))) - (with-directory-excursion "lz4" - (zero? (system* "tar" "xvf" (assoc-ref inputs "lz4-src") - "--strip-components=1"))) - (and (zero? (system* "rm" "-r" "BioD")) - (zero? (system* "ln" "--symbolic" "--no-target-directory" - (assoc-ref inputs "biod-src") "BioD")))))) - ;; Building a production-quality executable is done with a - ;; non-default make target. Adding it with #:make-flags breaks - ;; building tests. Therefore, the default make got replaced by this. + (zero? (system* "rm" "-r" "BioD")) + (zero? (system* "ln" "--symbolic" "--no-target-directory" + (assoc-ref inputs "biod-src") "BioD"))))) (replace 'build (lambda* (#:key inputs make-flags #:allow-other-keys) - (zero? (system* "make" "-f" "Makefile.guix" "CC=gcc" "D_COMPILER=ldc2"))))))) + (zero? (system* "make" "-f" "Makefile.guix" + (string-append "LDC_LIB_PATH=" + (assoc-ref inputs "ldc") + "/lib"))))) + (replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "build/sambamba" bin))))))) (home-page "https://github.com/lomereiter/sambamba") (synopsis "A tool for working with SAM and BAM files written in D.") (description diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index 2f755a6..033bf94 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -158,6 +158,7 @@ (propagated-inputs `( ;; propagated for development purposes ("python" ,python-2) ;; probably superfluous ("r" ,r) + ("r-wgcna" ,r-wgcna) ("redis" ,redis) ("mysql" ,mysql) ("gemma" ,gemma-git) @@ -178,7 +179,7 @@ ("python2-pandas" ,python2-pandas) ("python2-parallel" ,python2-parallel) ("python2-passlib" ,python2-passlib) - ("python2-piddle" ,python2-piddle) + ("python2-piddle-gn" ,python2-piddle-gn) ("python2-redis" ,python2-redis) ("python2-requests" ,python2-requests) ("python2-rpy2" ,python2-rpy2) @@ -202,3 +203,35 @@ ;; ./pre-inst-env guix download http://files.genenetwork.org/raw_database/db_webqtl_s.zip ;; 0sscjh0wml2lx0mb43vf4chg9gpbfi7abpjxb34n3kyny9ll557x + +(define-public genenetwork2-database-small + (let ((md5 "93e745e9c")) + (package + (name "genenetwork2-database-small") + (version "1.0") + (source + (origin + (method url-fetch) + (uri "http://files.genenetwork.org/raw_database/db_webqtl_s.zip") + (file-name (string-append name "-" md5)) + (sha256 + (base32 "0sscjh0wml2lx0mb43vf4chg9gpbfi7abpjxb34n3kyny9ll557x")))) + (build-system trivial-build-system) + (native-inputs `(("unzip" ,unzip) + ("source" ,source))) + + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source")) + (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip")) + ) + (and (mkdir "db") + (zero? (system* unzip source "-d" "db")) + (chdir "db")))))) + (home-page "http://genenetwork.org/") + (synopsis "Small database to run on genenetwork") + (description "Genenetwork installation + database.") + (license license:agpl3+)))) + diff --git a/gn/packages/python.scm b/gn/packages/python.scm index 8f2bc80..7781521 100644 --- a/gn/packages/python.scm +++ b/gn/packages/python.scm @@ -357,32 +357,89 @@ project)") (description #f) (license #f))) -(define-public python2-piddle +(define-public python2-pil-1.1.6 (package - (name "python2-piddle") - (version "1.0.15") + (name "python2-pil") + (version "1.1.6") (source - (origin - (method url-fetch) - (uri (string-append - ;; http://sourceforge.net/projects/numpy/files/Old%20Numarray/1.5.2/numarray-1.5.2.tar.gz/download - "mirror://sourceforge/piddle/piddle-" version ".zip" - )) - ;; (file-name (string-append name "-" version ".zip")) - (sha256 - (base32 - "0jaxfsrcgqb5cf2wznxnpdws5khlrdixmg85lrhq2zl9cy6dfdya")))) - (native-inputs - `(("unzip" ,unzip))) - + (origin + (method url-fetch) + (uri (string-append + "http://effbot.org/downloads/Imaging-" + version ".tar.gz")) + (sha256 + (base32 + "141zidl3s9v4vfi3nsbg42iq1lc2a932gprqr1kij5hrnn53bmvx")) + (modules '((guix build utils))) + (snippet + ;; Adapt to newer freetype. As the package is unmaintained upstream, + ;; there is no use in creating a patch and reporting it. + '(substitute* "_imagingft.c" + (("freetype/") + "freetype2/"))))) (build-system python-build-system) - ;; (native-inputs - ;; `(("python-setuptools" ,python-setuptools))) + (inputs + `(("freetype" ,freetype) + ("libjpeg" ,libjpeg) + ("libtiff" ,libtiff) + ("python-setuptools" ,python-setuptools) + ("zlib" ,zlib))) (arguments + ;; Only the fork python-pillow works with Python 3. `(#:python ,python-2 - #:tests? #f - )) ; no 'setup.py test' really! - (home-page "http://www.numpy.org/") + #:tests? #f ; no check target + #:phases + (alist-cons-before + 'build 'configure + ;; According to README and setup.py, manual configuration is + ;; the preferred way of "searching" for inputs. + ;; lcms is not found, TCL_ROOT refers to the unavailable tkinter. + (lambda* (#:key inputs #:allow-other-keys) + (let ((jpeg (assoc-ref inputs "libjpeg")) + (zlib (assoc-ref inputs "zlib")) + (tiff (assoc-ref inputs "libtiff")) + (freetype (assoc-ref inputs "freetype"))) + (substitute* "setup.py" + (("JPEG_ROOT = None") + (string-append "JPEG_ROOT = libinclude(\"" jpeg "\")")) + (("ZLIB_ROOT = None") + (string-append "ZLIB_ROOT = libinclude(\"" zlib "\")")) + (("TIFF_ROOT = None") + (string-append "TIFF_ROOT = libinclude(\"" tiff "\")")) + (("FREETYPE_ROOT = None") + (string-append "FREETYPE_ROOT = libinclude(\"" + freetype "\")"))))) + %standard-phases))) + (home-page "http://www.pythonware.com/products/pil/") + (synopsis "Python Imaging Library") + (description "The Python Imaging Library (PIL) adds image processing +capabilities to the Python interpreter.") + (license (license:x11-style + "file://README" + "See 'README' in the distribution.")))) + +(define-public python2-piddle-gn + (package + (name "python2-piddle") + (version "1.0.15-gn") + (source (origin + (method url-fetch) + (uri (string-append + "http://files.genenetwork.org/software/contrib/piddle-" +version ".tgz")) + (sha256 + (base32 + "05gjnn31v7p0kh58qixrpcizcxqf3b7zv4a5kk8nsmqwgxh0c6gq")))) + + (build-system python-build-system) + (native-inputs + `(("python2-setuptools" ,python2-setuptools))) + (arguments + `( + #:python ,python-2 + #:tests? #f ; no 'setup.py test' really! + )) + (home-page #f) (synopsis "Canvas drawing library for python2 (old!)") (description #f) (license #f))) diff --git a/gn/packages/ruby.scm b/gn/packages/ruby.scm index 0e1fa88..bebc678 100644 --- a/gn/packages/ruby.scm +++ b/gn/packages/ruby.scm @@ -16,7 +16,7 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. -(define-module (gnu packages ruby) +(define-module (gn packages ruby) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages compression) diff --git a/gn/packages/statistics.scm b/gn/packages/statistics.scm index 2d83816..2c9ebda 100644 --- a/gn/packages/statistics.scm +++ b/gn/packages/statistics.scm @@ -18,6 +18,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages cpio) #:use-module (gnu packages file) + #:use-module (gnu packages gcc) #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages machine-learning) @@ -39,6 +40,227 @@ #:use-module (gnu packages bootstrap) #:use-module (srfi srfi-1)) +(define-public r-acepack +(package + (name "r-acepack") + (version "1.3-3.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "acepack" version)) + (sha256 + (base32 + "13ry3vyys12iplb14jfhmkrl9g5fxg3iijiggq4s4zb5m5436b1y")))) + (build-system r-build-system) + (inputs + `(("gfortran" ,gfortran))) + (home-page + "http://cran.r-project.org/web/packages/acepack") + (synopsis + "ace() and avas() for selecting regression transformations") + (description + "ACE and AVAS methods for choosing regression transformations.") + (license license:x11))) + +(define-public r-latticeextra +(package + (name "r-latticeextra") + (version "0.6-28") + (source + (origin + (method url-fetch) + (uri (cran-uri "latticeExtra" version)) + (sha256 + (base32 + "1hkyqsa7klk5glj9y1hg3rxr5qilqw8h0017zc4c3nps7lr9a1kq")))) + (properties `((upstream-name . "latticeExtra"))) + (build-system r-build-system) + (propagated-inputs + `( ;;("r-grdevices" ,r-grdevices) + ("r-gridbase" ,r-gridbase) + ("r-lattice" ,r-lattice) + ("r-rcolorbrewer" ,r-rcolorbrewer) + )) + (home-page + "http://latticeextra.r-forge.r-project.org/") + (synopsis + "Extra Graphical Utilities Based on Lattice") + (description + "Building on the infrastructure provided by the lattice package, this package provides several new high-level functions and methods, as well as additional utilities such as panel and axis annotation functions.") + (license license:gpl2+))) + +(define-public r-formula + (package + (name "r-formula") + (version "1.2-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "Formula" version)) + (sha256 + (base32 + "02in5325zzrqbhlygx6s0dinj6ymw845q70y56frqacv25ayzcax")))) + (properties `((upstream-name . "Formula"))) + (build-system r-build-system) + (home-page + "http://cran.r-project.org/web/packages/Formula") + (synopsis "Extended Model Formulas") + (description + "Infrastructure for extended formulas with multiple parts on the right-hand side and/or multiple responses on the left-hand side.") + (license #f)) +) + +(define-public r-hmisc +(package + (name "r-hmisc") + (version "3.17-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "Hmisc" version)) + (sha256 + (base32 + "110w5hbrl10isslqs0iq6w2ll0dafqyqznb50cdcallnlnvbvxrg")))) + (properties `((upstream-name . "Hmisc"))) + (build-system r-build-system) + (inputs + `(("gfortran" ,gfortran))) + (arguments + `(#:tests? #f)) ; no 'setup.py test' + (propagated-inputs + `(("r-acepack" ,r-acepack) + ; ("r-cluster" ,r-cluster) + ; ("r-foreign" ,r-foreign) + ("r-formula" ,r-formula) + ("r-ggplot2" ,r-ggplot2) + ; ("r-grid" ,r-grid) + ("r-gridextra" ,r-gridextra) + ("r-gtable" ,r-gtable) + ("r-lattice" ,r-lattice) + ("r-latticeextra" ,r-latticeextra) + ; ("r-methods" ,r-methods) + ; ("r-nnet" ,r-nnet) + ; ("r-rpart" ,r-rpart) + ; ("r-survival" ,r-survival))) + )) + (home-page + "http://biostat.mc.vanderbilt.edu/Hmisc") + (synopsis "Harrell Miscellaneous") + (description + "Contains many functions useful for data analysis, high-level graphics, utility operations, functions for computing sample size and power, importing and annotating datasets, imputing missing values, advanced table making, variable clustering, character string manipulation, conversion of R objects to LaTeX code, and recoding variables.") + (license license:gpl2+))) + +(define-public r-doparallel +(package + (name "r-doparallel") + (version "1.0.10") + (source + (origin + (method url-fetch) + (uri (cran-uri "doParallel" version)) + (sha256 + (base32 + "1mddx25l25pw9d0csnx2q203dbg5hbrhkr1f08kw0p02a1lln0kh")))) + (properties `((upstream-name . "doParallel"))) + (build-system r-build-system) + (propagated-inputs + `(("r-foreach" ,r-foreach) + ("r-iterators" ,r-iterators) + ;; ("r-parallel" ,r-parallel) + )) + (home-page + "http://cran.r-project.org/web/packages/doParallel") + (synopsis + "Foreach Parallel Adaptor for the 'parallel' Package") + (description + "Provides a parallel backend for the %dopar% function using the parallel package.") + (license license:gpl2+))) + +(define-public r-iterators +(package + (name "r-iterators") + (version "1.0.8") + (source + (origin + (method url-fetch) + (uri (cran-uri "iterators" version)) + (sha256 + (base32 + "1f057pabs7ss9h1n244can26qsi5n2k3salrdk0b0vkphlrs4kmf")))) + (build-system r-build-system) + ;; (propagated-inputs `(("r-utils" ,r-utils))) + (home-page + "http://cran.r-project.org/web/packages/iterators") + (synopsis "Provides Iterator Construct for R") + (description + "Support for iterators, which allow a programmer to traverse through all the elements of a vector, list, or other collection of data.") + (license #f))) + +(define-public r-foreach +(package + (name "r-foreach") + (version "1.4.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "foreach" version)) + (sha256 + (base32 + "10aqsd3rxz03s1qdb6gsb1cj89mj4vmh491zfpin4skj1xvkzw0y")))) + (build-system r-build-system) + (propagated-inputs `(("r-iterators" ,r-iterators))) + (home-page + "http://cran.r-project.org/web/packages/foreach") + (synopsis + "Provides Foreach Looping Construct for R") + (description + "Support for the foreach looping construct. Foreach is an idiom that allows for iterating over elements in a collection, without the use of an explicit loop counter. This package in particular is intended to be used for its return value, rather than for its side effects. In that sense, it is similar to the standard lapply function, but doesn't require the evaluation of a function. Using foreach without side effects also facilitates executing the loop in parallel.") + (license #f)) +) + +(define-public r-fastcluster +(package + (name "r-fastcluster") + (version "1.1.16") + (source + (origin + (method url-fetch) + (uri (cran-uri "fastcluster" version)) + (sha256 + (base32 + "0x2prrsnqi5iqx23ki6y2agndjq8058ph6s703i4avrqi1q1w1q8")))) + (build-system r-build-system) + (home-page + "http://danifold.net/fastcluster.html") + (synopsis + "Fast Hierarchical Clustering Routines for R and Python") + (description + "This is a two-in-one package which provides interfaces to both R and Python. It implements fast hierarchical, agglomerative clustering routines. Part of the functionality is designed as drop-in replacement for existing routines: \"linkage\" in the SciPy package \"scipy.cluster.hierarchy\", \"hclust\" in R's \"stats\" package, and the \"flashClust\" package. It provides the same functionality with the benefit of a much faster implementation. Moreover, there are memory-saving routines for clustering of vector data, which go beyond what the existing packages provide. For information on how to install the Python files, see the file INSTALL in the source distribution.") + (license #f))) + +(define-public r-dynamictreecut +(package + (name "r-dynamictreecut") + (version "1.62") + (source + (origin + (method url-fetch) + (uri (cran-uri "dynamicTreeCut" version)) + (sha256 + (base32 + "1y11gg6k32wpsyb10kdv176ivczx2jlizs1xsrjrs6iwbncwzrkp")))) + (properties + `((upstream-name . "dynamicTreeCut"))) + (build-system r-build-system) + ; (propagated-inputs `(("r-stats" ,r-stats))) + (home-page + "http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/BranchCutting/") + (synopsis + "Methods for detection of clusters in hierarchical clustering dendrograms.") + (description + "Contains methods for detection of clusters in hierarchical clustering dendrograms.") + (license license:gpl2+))) + (define-public r-rcppeigen (package (name "r-rcppeigen") diff --git a/htslib-add-cram_to_bam.patch b/htslib-add-cram_to_bam.patch new file mode 100644 index 0000000..c90f7aa --- /dev/null +++ b/htslib-add-cram_to_bam.patch @@ -0,0 +1,27 @@ +This patch adds the cram_to_bam function to the public interface of htslib, +because it is used by code in Sambamba. + +by Roel Janssen <roel@gnu.org> +--- a/cram/cram_decode.c 2015-12-15 17:34:33.000000000 +0100 ++++ b/cram/cram_decode.c 2016-02-24 11:16:10.491808702 +0100 +@@ -2730,7 +2730,7 @@ + * Returns the used size of the bam record on success + * -1 on failure. + */ +-static int cram_to_bam(SAM_hdr *bfd, cram_fd *fd, cram_slice *s, ++int cram_to_bam(SAM_hdr *bfd, cram_fd *fd, cram_slice *s, + cram_record *cr, int rec, bam_seq_t **bam) { + int bam_idx, rg_len; + char name_a[1024], *name; +diff -Naur htslib-1.3/cram/cram_decode.h htslib-1.3-patched/cram/cram_decode.h +--- a/cram/cram_decode.h 2015-12-15 17:34:33.000000000 +0100 ++++ b/cram/cram_decode.h 2016-02-24 11:15:04.556809864 +0100 +@@ -104,6 +104,8 @@ + int cram_decode_slice(cram_fd *fd, cram_container *c, cram_slice *s, + SAM_hdr *hdr); + ++int cram_to_bam(SAM_hdr *bfd, cram_fd *fd, cram_slice *s, ++ cram_record *cr, int rec, bam_seq_t **bam); + + #ifdef __cplusplus + } |