From patchwork Tue Apr 21 10:57:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 21380 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 11F5627BBE4; Tue, 21 Apr 2020 11:59:13 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 478A527BBE1 for ; Tue, 21 Apr 2020 11:59:12 +0100 (BST) Received: from localhost ([::1]:55690 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQqcQ-0005qf-M4 for patchwork@mira.cbaines.net; Tue, 21 Apr 2020 06:59:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49290) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQqcL-0005qT-Am for guix-patches@gnu.org; Tue, 21 Apr 2020 06:59:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQqcI-0007DK-If for guix-patches@gnu.org; Tue, 21 Apr 2020 06:59:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37538) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQqcI-0007Cm-7G for guix-patches@gnu.org; Tue, 21 Apr 2020 06:59:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jQqcI-0002Of-4s for guix-patches@gnu.org; Tue, 21 Apr 2020 06:59:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#40743] [PATCH] gnu: Add grocsvs. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 21 Apr 2020 10:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 40743 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 40743@debbugs.gnu.org Cc: Efraim Flashner X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15874667309187 (code B ref -1); Tue, 21 Apr 2020 10:59:01 +0000 Received: (at submit) by debbugs.gnu.org; 21 Apr 2020 10:58:50 +0000 Received: from localhost ([127.0.0.1]:49084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jQqc3-0002O3-3C for submit@debbugs.gnu.org; Tue, 21 Apr 2020 06:58:50 -0400 Received: from lists.gnu.org ([209.51.188.17]:57890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jQqc0-0002Nv-Gb for submit@debbugs.gnu.org; Tue, 21 Apr 2020 06:58:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49238) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQqbz-0005kI-N5 for guix-patches@gnu.org; Tue, 21 Apr 2020 06:58:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQqbu-0006cm-Jk for guix-patches@gnu.org; Tue, 21 Apr 2020 06:58:43 -0400 Received: from flashner.co.il ([178.62.234.194]:51102) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQqbt-00060s-Of for guix-patches@gnu.org; Tue, 21 Apr 2020 06:58:38 -0400 Received: from localhost (unknown [147.161.9.58]) by flashner.co.il (Postfix) with ESMTPSA id 823EB40367; Tue, 21 Apr 2020 10:58:04 +0000 (UTC) From: Efraim Flashner Date: Tue, 21 Apr 2020 13:57:17 +0300 Message-Id: <20200421105717.28383-1-efraim@flashner.co.il> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Received-SPF: pass client-ip=178.62.234.194; envelope-from=efraim@flashner.co.il; helo=flashner.co.il X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/21 06:58:05 X-ACL-Warn: Detected OS = ??? X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * 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)