;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Todor Kondić ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages mass-spectrometry) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system r) #:use-module (gnu packages chemistry) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages statistics) #:use-module (gnu packages cran) #:use-module (gnu packages web) #:use-module (gnu packages image) #:use-module (gnu packages cran) #:use-module (gnu packages) #:use-module (srfi srfi-1)) (define-public r-fingerprint (package (name "r-fingerprint") (version "3.5.7") (source (origin (method url-fetch) (uri (cran-uri "fingerprint" version)) (sha256 (base32 "04jcwkydjrs31pia6kq8z2n9s54im950q08hs2ay15xjxxkmb8ic")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/fingerprint") (synopsis "Functions to Operate on Binary Fingerprint Data") (description "Functions to manipulate binary fingerprints of arbitrary length. A fingerprint is represented by an object of S4 class 'fingerprint' which is internally represented a vector of integers, such that each element represents the position in the fingerprint that is set to 1. The bitwise logical functions in R are overridden so that they can be used directly with 'fingerprint' objects. A number of distance metrics are also available (many contributed by Michael Fadock). Fingerprints can be converted to Euclidean vectors (i.e., points on the unit hypersphere) and can also be folded using OR. Arbitrary fingerprint formats can be handled via line handlers. Currently handlers are provided for CDK, MOE and BCI fingerprint data.") (license (list license:gpl2+ license:gpl3+)))) (define-public r-cdklibs (package (name "r-cdklibs") (version "2.0") (source (origin (method url-fetch) (uri (cran-uri "rcdklibs" version)) (sha256 (base32 "05g0y00bw1bqykfbwn4q42krwcfl50jcavaw7yyw9a5m34hvw0l8")))) (build-system r-build-system) (propagated-inputs `(("r-rjava" ,r-rjava))) (home-page "https://cran.r-project.org/web/packages/rcdklibs") (synopsis "The CDK Libraries Packaged for R") (description "An R interface to the Chemistry Development Kit, a Java library for chemoinformatics. Given the size of the library itself, this package is not expected to change very frequently. To make use of the CDK within R, it is suggested that you use the 'rcdk' package. Note that it is possible to directly interact with the CDK using 'rJava'. However 'rcdk' exposes functionality in a more idiomatic way. The CDK library itself is released as LGPL and the sources can be obtained from .") (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3)))) (define-public r-cdk (package (name "r-cdk") (version "3.4.7.1") (source (origin (method url-fetch) (uri (cran-uri "rcdk" version)) (sha256 (base32 "1d08ajji631792b7fyfwzvcaswh8jlanfsxrj6c1wx7xh3qqpigg")))) (build-system r-build-system) (propagated-inputs `(("r-fingerprint" ,r-fingerprint) ("r-iterators" ,r-iterators) ("r-itertools" ,r-itertools) ("r-png" ,r-png) ("r-cdklibs" ,r-cdklibs) ("r-rjava" ,r-rjava) ("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/rcdk") (synopsis "Interface to the 'CDK' Libraries") (description "Allows the user to access functionality in the 'CDK', a Java framework for chemoinformatics. This allows the user to load molecules, evaluate fingerprints, calculate molecular descriptors and so on. In addition, the 'CDK' API allows the user to view structures in 2D.") (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3)))) (define-public r-massbank (package (name "r-massbank") (version "2.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "RMassBank" version)) (sha256 (base32 "1xdxrbkcggrlqx3h11w10vk18bjmdfs85j6rvy7yvqj7limsjp2j")))) (properties `((upstream-name . "RMassBank"))) (build-system r-build-system) (inputs `(("openbabel" ,openbabel))) (propagated-inputs `(("r-biobase" ,r-biobase) ("r-digest" ,r-digest) ("r-httr" ,r-httr) ("r-msnbase" ,r-msnbase) ("r-mzr" ,r-mzr) ("r-cdk" ,r-cdk) ("r-rcpp" ,r-rcpp) ("r-rcurl" ,r-rcurl) ("r-rjson" ,r-rjson) ("r-s4vectors" ,r-s4vectors) ("r-xml" ,r-xml) ("r-markdown" ,r-markdown) ("r-knitr" ,r-knitr) ("r-yaml" ,r-yaml))) (home-page "https://bioconductor.org/packages/release/bioc/html/RMassBank.html") (synopsis "Workflow to process tandem MS files and build MassBank records") (description "Workflow to process tandem MS files and build MassBank records. Functions include automated extraction of tandem MS spectra, formula assignment to tandem MS fragments, recalibration of tandem MS spectra with assigned fragments, spectrum cleanup, automated retrieval of compound information from Internet databases, and export to MassBank records.") (license license:artistic2.0)))