summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-06-22 08:40:56 +0200
committerRicardo Wurmus <rekado@elephly.net>2021-06-22 08:40:56 +0200
commit44bccf414b6ba285035fa3e22512b4b99b853776 (patch)
tree6e474cd82d2557e1fae11afdd48fa93fd68601de
parent14f72bd48dcba8b626091d4afe8e7106eca6d7d0 (diff)
downloadguix-patches-44bccf414b6ba285035fa3e22512b4b99b853776.tar
guix-patches-44bccf414b6ba285035fa3e22512b4b99b853776.tar.gz
gnu: Add perl-cworld-dekker.
* gnu/packages/bioinformatics.scm (perl-cworld-dekker): New variable.
-rw-r--r--gnu/packages/bioinformatics.scm94
1 files changed, 94 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 85d4e5a185..13c97af8c5 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -14260,6 +14260,100 @@ researchers to design and build computational workflows for the analysis of
large-scale data-analysis.")
(license license:expat)))
+(define-public perl-cworld-dekker
+ (package
+ (name "perl-cworld-dekker")
+ (version "1.01")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dekkerlab/cworld-dekker.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dvh23fx52m59y6304xi2j2pl2hiqadlqg8jyv2pm14j1hy71ych"))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:modules ((guix build perl-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'hardcode-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((bedtools (assoc-ref inputs "bedtools"))
+ (r (assoc-ref inputs "r-minimal")))
+ (substitute* '("scripts/python/getEigenVectors.py"
+ "scripts/python/matrix2EigenVectors.py")
+ (("bedtools intersect")
+ (string-append bedtools "/bin/bedtools intersect")))
+ (substitute* "lib/cworld/dekker.pm"
+ (("bedtools --version")
+ (string-append bedtools "/bin/bedtools --version")))
+ (substitute* '("scripts/perl/correlateMatrices.pl"
+ "scripts/perl/matrix2scaling.pl"
+ "scripts/perl/matrix2distance.pl"
+ "scripts/perl/coverageCorrect.pl"
+ "scripts/perl/matrix2anchorPlot.pl"
+ "scripts/python/matrix2EigenVectors.py"
+ "scripts/python/matrix2insulation-lite.py"
+ "scripts/perl/matrix2compartment.pl"
+ "scripts/perl/anchorPurge.pl"
+ "scripts/perl/applyCorrection.pl"
+ "scripts/perl/compareInsulation.pl"
+ "scripts/perl/fillMissingData.pl"
+ "scripts/perl/matrix2loess.pl"
+ "scripts/python/getEigenVectors.py"
+ "scripts/perl/aggregateBED.pl"
+ "scripts/perl/collapseMatrix.pl"
+ "scripts/perl/matrix2direction.pl"
+ "scripts/perl/singletonRemoval.pl"
+ "lib/cworld/dekker.pm"
+ "scripts/perl/matrix2insulation.pl")
+ (("(`|\")Rscript" _ pre)
+ (string-append pre r "/bin/Rscript"))))))
+ (add-after 'install 'install-scripts
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share/cworld-dekker")))
+ (mkdir-p share)
+ (copy-recursively "scripts" share)
+
+ ;; Make all scripts executable and wrap them.
+ (let ((r (find-files share "\\.R$"))
+ (py (find-files share "\\.py$"))
+ (pl (find-files share "\\.pl$"))
+ (wrap (lambda* (script var #:optional (extra ""))
+ (let ((path (string-append (getenv var)
+ extra)))
+ (wrap-program script
+ `(,var ":" prefix (,path)))))))
+ (for-each (cut chmod <> #o555) (append r py pl))
+ (for-each (cut wrap <> "PERL5LIB"
+ (string-append ":" out
+ "/lib/perl5/site_perl"))
+ pl)
+ (for-each (cut wrap <> "PYTHONPATH") py))))))))
+ (inputs
+ `(("libgd" ,gd)
+ ("perl-gd" ,perl-gd)
+ ("bedtools" ,bedtools)
+ ("python" ,python-wrapper)
+ ("python-scipy" ,python-scipy)
+ ("python-numpy" ,python-numpy)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-h5py" ,python-h5py)
+ ("python-scikit-learn" ,python-scikit-learn)
+ ("r-minimal" ,r-minimal)))
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+ (home-page "https://github.com/dekkerlab/cworld-dekker")
+ (synopsis "Utility and analysis scripts for 3C, 4C, 5C, and Hi-C data")
+ (description "This package is a collection of Perl, Python, and R
+scripts for manipulating 3C/4C/5C/Hi-C data.")
+ (license license:asl2.0)))
+
(define-public ensembl-vep
(let* ((api-version "103")
(api-module