[PATCH] gnu: Add grocsvs.

  • Done
  • quality assurance status badge
Details
One participant
  • Efraim Flashner
Owner
unassigned
Submitted by
Efraim Flashner
Severity
normal
E
E
Efraim Flashner wrote on 21 Apr 2020 12:57
(address . guix-patches@gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
20200421105717.28383-1-efraim@flashner.co.il
* gnu/packages/bioinformatics.scm (grocsvs): New variable.
* gnu/packages/patches/grocsvs-dont-use-admiral.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
gnu/local.mk | 1 +
gnu/packages/bioinformatics.scm | 42 +++++++++++
.../patches/grocsvs-dont-use-admiral.patch | 69 +++++++++++++++++++
3 files changed, 112 insertions(+)
create mode 100644 gnu/packages/patches/grocsvs-dont-use-admiral.patch

Toggle diff (146 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index ca863a8b9b..c24ff3c85d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -996,6 +996,7 @@ dist_patch_DATA = \
%D%/packages/patches/gpsbabel-qstring.patch \
%D%/packages/patches/grantlee-merge-theme-dirs.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
+ %D%/packages/patches/grocsvs-dont-use-admiral.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
%D%/packages/patches/gsl-test-i686.patch \
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b9be0c1918..dae42df0dc 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -79,6 +79,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages glib)
#:use-module (gnu packages graph)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
@@ -15710,3 +15711,44 @@ biological processes. SBML is useful for models of metabolism, cell
signaling, and more. It continues to be evolved and expanded by an
international community.")
(license license:lgpl2.1+)))
+
+(define-public grocsvs
+ ;; The last release is out of date and new features have been added.
+ (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"))
+ (patches (search-patches "grocsvs-dont-use-admiral.patch"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite.
+ #:python ,python-2)) ; Only python-2 supported.
+ (inputs
+ `(("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/gnu/packages/patches/grocsvs-dont-use-admiral.patch b/gnu/packages/patches/grocsvs-dont-use-admiral.patch
new file mode 100644
index 0000000000..cb976e19b0
--- /dev/null
+++ b/gnu/packages/patches/grocsvs-dont-use-admiral.patch
@@ -0,0 +1,69 @@
+python-admiral doesn't have a license
+https://github.com/nspies/admiral/issues/3
+
+diff --git a/setup.py b/setup.py
+index 692b6a0..568f381 100755
+--- a/setup.py
++++ b/setup.py
+@@ -20,7 +20,7 @@ setup(
+ 'console_scripts' : ["grocsvs = grocsvs.main:main"]
+ },
+
+- install_requires = ["admiral", "h5py", "networkx>=2.0", "pandas", "pybedtools",
++ install_requires = ["h5py", "networkx>=2.0", "pandas", "pybedtools",
+ "pyfaidx", "pysam>=0.10.0", "scipy", "ipython-cluster-helper",
+ "pygraphviz", "psutil"],
+
+diff --git a/src/grocsvs/jobmanagers.py b/src/grocsvs/jobmanagers.py
+index 6da0b58..112d7ff 100755
+--- a/src/grocsvs/jobmanagers.py
++++ b/src/grocsvs/jobmanagers.py
+@@ -41,34 +41,3 @@ class MultiprocessingCluster(Cluster):
+ pool = multiprocessing.Pool(processes=self.processes)
+ return pool.map_async(fn, args).get(999999)
+
+-
+-class AdmiralCluster(Cluster):
+- def map(self, fn, args):
+- from admiral import jobmanagers, remote
+-
+- cluster_options = self.cluster_settings.cluster_options.copy()
+-
+- scheduler = cluster_options.pop("scheduler")
+-
+- jobmanager_class = jobmanagers.get_jobmanager(scheduler)
+- jobmanager = jobmanager_class(
+- batch_dir=self.batch_dir, log_dir=self.batch_dir)
+-
+-
+- if not "mem" in cluster_options:
+- cluster_options["mem"] = "16g"
+- if not "time" in cluster_options:
+- cluster_options["time"] = "12h"
+-
+- jobs = []
+- #for i, arg in enumerate(args):
+-
+- job_name = args[0].__class__.__name__
+- args = [[arg] for arg in args]
+- job = remote.run_remote(fn, jobmanager, job_name, args=args,
+- array=True, overwrite=True, **cluster_options)
+-
+- result = jobmanagers.wait_for_jobs([job], wait=5, progress=True)
+-
+- if not result:
+- raise Exception("Some chunks failed to complete")
+diff --git a/src/grocsvs/pipeline.py b/src/grocsvs/pipeline.py
+index ab1bb2d..350976f 100755
+--- a/src/grocsvs/pipeline.py
++++ b/src/grocsvs/pipeline.py
+@@ -8,8 +8,7 @@ from grocsvs import utilities
+ def make_jobmanager(jobmanager_settings, processes, batch_dir):
+ jobmanager_classes = {"IPCluster":jobmanagers.IPCluster,
+ "local": jobmanagers.LocalCluster,
+- "multiprocessing": jobmanagers.MultiprocessingCluster,
+- "admiral": jobmanagers.AdmiralCluster}
++ "multiprocessing": jobmanagers.MultiprocessingCluster}
+
+ cls = jobmanager_classes[jobmanager_settings.cluster_type]
+ return cls(processes, jobmanager_settings, batch_dir)
--
2.26.2
E
E
Efraim Flashner wrote on 5 May 2020 09:35
Re: bug#40743: Acknowledgement ([PATCH] gnu: Add grocsvs.)
(address . 40743-done@debbugs.gnu.org)
20200505073516.GJ1920@E5400
Patch pushed


--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl6xFzEACgkQQarn3Mo9
g1EoIhAAo1y1FQZa1NYGhNfiwtr35fYnVWbjee82HOYfSswynEGX/7/T1jaqIVBO
FdVV8qfIoE7qxQNyQ8Dc3NbWYhT8GxoE/AyKqN/U57D69vLsmSi3o2hGMxIEDpdn
DsUwVfXIb5UhP4HxvwYxjlAU/NEBq6UbAeafJfG8lC+NxOb9wI3owumf78qhmA2p
E+FY5BgW9UMpkZvCbM6xsoW3kK6ltaAjo2FsHOKbesSLVRFTyWnxKHc5ysDUdupv
AU9NAi+accNFwPH1ZMN9jLeEmCe5ih8lmEYewWzE7xv6N1m6vAkLGusJ1Ww686Sh
pePQrEq+sa86pR2hmMh63EjgIzdqKuWOXg8r0E7/pSMw5z5AAEt0Tu1qMXEfnJHf
q3TNivDls6cGxuBGAOnVm6uzXkT/PlnFVlR1cw6LRIePpbZhD0hKCgSuXTKcamyq
IM8+Nxgy1COLBf2JpCG/zAKSZiHUUP90RAk4iPsmVgFkCk+EJxveuI4TIxvTeY7/
Q80N/D1km78Y0imLWsU0Ni1kyFvcNE/Dd7TfdWVxlop/MbJBMbTCJCKopiRFNIB7
PV/xVbCK3Y3g+KZd55YNrOwPreMD267Zpo0zvI8EQ+LiBVzCqoun+F6sA8MOXv3Q
5CNrzCdF/fMkYU8FPwOhRcHp1U3Hiw4zWnqaP1CEBmJCbXfahF4=
=9x5r
-----END PGP SIGNATURE-----


Closed
?