unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#40743] [PATCH] gnu: Add grocsvs.
@ 2020-04-21 10:57 Efraim Flashner
       [not found] ` <handler.40743.B.15874667309187.ack@debbugs.gnu.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Efraim Flashner @ 2020-04-21 10:57 UTC (permalink / raw)
  To: 40743; +Cc: Efraim Flashner

* 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

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

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* bug#40743: Acknowledgement ([PATCH] gnu: Add grocsvs.)
       [not found] ` <handler.40743.B.15874667309187.ack@debbugs.gnu.org>
@ 2020-05-05  7:35   ` Efraim Flashner
  0 siblings, 0 replies; 2+ messages in thread
From: Efraim Flashner @ 2020-05-05  7:35 UTC (permalink / raw)
  To: 40743-done

[-- Attachment #1: Type: text/plain, Size: 229 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-05-05  7:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-21 10:57 [bug#40743] [PATCH] gnu: Add grocsvs Efraim Flashner
     [not found] ` <handler.40743.B.15874667309187.ack@debbugs.gnu.org>
2020-05-05  7:35   ` bug#40743: Acknowledgement ([PATCH] gnu: Add grocsvs.) Efraim Flashner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).