From 99cbd15b00a71787257baaed86c1a3a0e23df137 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Mar 2020 02:24:05 -0500 Subject: gn: Add grocsvs and dependencies --- gn/packages/bioinformatics.scm | 40 ++++++++++++ gn/packages/python.scm | 135 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 175 insertions(+) diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 7e7f94d..177308b 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -14,6 +14,7 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system waf) #:use-module (gnu packages) + #:use-module (gn packages python) #:use-module (gnu packages bioconductor) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages boost) @@ -1224,3 +1225,42 @@ here}.") (synopsis "Efficient sequence alignment of full genomes") (description "MUMmer is a versatil alignment tool for DNA and protein sequences.") (license license:artistic2.0))) + +(define-public grocsvs + (let ((commit "ecd956a65093a0b2c41849050e4512d46fecea5d") + (revision "1")) + (package + (name "grocsvs") + (version (git-version "0.2.6.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/grocsvs/grocsvs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14505725gr7qxc17cxxf0k6lzcwmgi64pija4mwf29aw70qn35cc")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) ; Only python-2 supported. + (inputs + `(("python2-admiral" ,python2-admiral) + ("python2-h5py" ,python2-h5py) + ("python2-ipython-cluster-helper" ,python2-ipython-cluster-helper) + ("python2-networkx" ,python2-networkx) + ("python2-psutil" ,python2-psutil) + ("python2-pandas" ,python2-pandas) + ("python2-pybedtools" ,python2-pybedtools) + ("python2-pyfaidx" ,python2-pyfaidx) + ("python2-pygraphviz" ,python2-pygraphviz) + ("python2-pysam" ,python2-pysam) + ("python2-scipy" ,python2-scipy))) + (home-page "https://github.com/grocsvs/grocsvs") + (synopsis "Genome-wide reconstruction of complex structural variants") + (description + "@dfn{Genome-wide Reconstruction of Complex Structural Variants} +(GROC-SVs), is a software pipeline for identifying large-scale structural +variants, performing sequence assembly at the breakpoints, and reconstructing +the complex structural variants using the long-fragment information from the +10x Genomics platform.") + (license license:expat)))) diff --git a/gn/packages/python.scm b/gn/packages/python.scm index 60558a2..8493698 100644 --- a/gn/packages/python.scm +++ b/gn/packages/python.scm @@ -3,6 +3,7 @@ #:use-module (gnu packages) #:use-module (gnu packages attr) #:use-module (gnu packages base) + #:use-module (gnu packages bioinformatics) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages databases) @@ -1094,3 +1095,137 @@ spreadsheets without the need for COM objects.") (synopsis "") (description "") (license license:bsd-4))) + +(define-public python-ipython-cluster-helper + (package + (name "python-ipython-cluster-helper") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ipython-cluster-helper" version)) + (sha256 + (base32 + "1l6mlwxlkxpbvawfwk6qffich7ahg9hq2bxfissgz6144p3k4arj")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "requirements.txt" + (("ipython.*") "ipython\n")) + #t)))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Test suite can't find IPython. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (if tests? + (begin + (setenv "HOME" (getcwd)) + (add-installed-pythonpath inputs outputs) + (invoke "python" "example/example.py" "--local")) + #t)))))) + (propagated-inputs + `(("python-ipyparallel" ,python-ipyparallel) + ("python-ipython" ,python-ipython) + ("python-netifaces" ,python-netifaces) + ("python-pyzmq" ,python-pyzmq) + ("python-setuptools" ,python-setuptools) + ("python-six" ,python-six))) + (home-page "https://github.com/roryk/ipython-cluster-helper") + (synopsis + "Simplify IPython cluster start up and use for multiple schedulers") + (description + "@code{ipython-cluster-helper} creates a throwaway parallel IPython +profile, launches a cluster and returns a view. On program exit it shuts the +cluster down and deletes the throwaway profile.") + (license license:expat))) + +(define-public python2-ipython-cluster-helper + (package-with-python2 python-ipython-cluster-helper)) + +(define-public python-ipyparallel + (package + (name "python-ipyparallel") + (version "6.2.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ipyparallel" version)) + (sha256 + (base32 + "0rf0dbpxf5z82bw8lsjj45r3wdd4wc74anz4wiiaf2rbjqlb1ivn")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; RuntimeError: IO Loop failed to start + #:phases + (modify-phases %standard-phases + (add-before 'check 'prepare-for-tests + (lambda _ + (setenv "HOME" (getcwd)) + #t))))) + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-decorator" ,python-decorator) + ("python-ipykernel" ,python-ipykernel) + ("python-ipython" ,python-ipython) + ("python-ipython-genutils" ,python-ipython-genutils) + ("python-jupyter-client" ,python-jupyter-client) + ("python-pyzmq" ,python-pyzmq) + ("python-tornado" ,python-tornado) + ("python-traitlets" ,python-traitlets))) + (native-inputs + `(("python-ipython" ,python-ipython) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-testpath" ,python-testpath))) + (home-page "https://ipython.org/") + (synopsis "Interactive Parallel Computing with IPython") + (description + "@code{ipyparallel} is a Python package and collection of CLI scripts for +controlling clusters for Jupyter. @code{ipyparallel} contains the following +CLI scripts: +@enumerate +@item ipcluster - start/stop a cluster +@item ipcontroller - start a scheduler +@item ipengine - start an engine +@end enumerate") + (license license:bsd-3))) + +(define-public python2-ipyparallel + (let ((ipyparallel (package-with-python2 python-ipyparallel))) + (package + (inherit ipyparallel) + (propagated-inputs + `(("python2-futures" ,python2-futures) + ,@(package-propagated-inputs ipyparallel)))))) + +(define-public python2-pyfaidx + (package-with-python2 python-pyfaidx)) + +(define-public python-admiral + (package + (name "python-admiral") + (version "0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "admiral" version)) + (sha256 + (base32 + "1b2zjgyz94ld5wr7s4cm4x5sxijx3w0dmd7r2cq1s8iqjzz6rd1x")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ; No tests + (propagated-inputs + `(("python-humanfriendly" ,python-humanfriendly))) + (home-page "https://github.com/nspies/admiral") + (synopsis + "Simple python high-performance computing cluster batch submission") + (description + "Simple python high-performance computing cluster batch submission.") + (license #f))) ; No license in repository. + +(define-public python2-admiral + (package-with-python2 python-admiral)) -- cgit v1.2.3