From e024f97ea8886191fa49d56782dc42954bdc9880 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 16 Mar 2016 13:49:52 +0100 Subject: Add delly. --- delly-use-system-libraries.patch | 65 ++++++++++++++++++++++++++++++++++++++++ gn/packages/bioinformatics.scm | 56 ++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 delly-use-system-libraries.patch diff --git a/delly-use-system-libraries.patch b/delly-use-system-libraries.patch new file mode 100644 index 0000000..3ce817f --- /dev/null +++ b/delly-use-system-libraries.patch @@ -0,0 +1,65 @@ +This patch let's Delly use the system versions of htslib and boost. + +Patch by Roel Janssen +--- a/Makefile 2016-03-16 13:08:49.936706607 +0100 ++++ b/Makefile 2016-03-16 13:09:12.351706212 +0100 +@@ -9,8 +9,8 @@ + + # Flags + CXX=g++ +-CXXFLAGS += -isystem ${SEQTK_ROOT} -isystem ${BOOST_ROOT} -pedantic -W -Wall -Wno-unknown-pragmas +-LDFLAGS += -L${SEQTK_ROOT} -L${BOOST_ROOT}/stage/lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time ++CXXFLAGS += -pedantic -W -Wall -Wno-unknown-pragmas ++LDFLAGS += -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time + + # Additional flags for release/debug + ifeq (${PARALLEL}, 1) +@@ -23,7 +23,7 @@ + ifeq (${STATIC}, 1) + LDFLAGS += -static -static-libgcc -pthread -lhts -lz + else +- LDFLAGS += -lhts -lz -Wl,-rpath,${SEQTK_ROOT},-rpath,${BOOST_ROOT}/stage/lib ++ LDFLAGS += -lhts -lz + endif + ifeq (${DEBUG}, 1) + CXXFLAGS += -g -O0 -fno-inline -DDEBUG +@@ -41,32 +41,24 @@ + DELLYSOURCES = $(wildcard src/*.h) $(wildcard src/*.cpp) + + # Targets +-TARGETS = .htslib .boost src/delly src/extract src/cov src/iover src/stats ++TARGETS = src/delly src/extract src/cov src/iover src/stats + + all: $(TARGETS) + +-.htslib: $(HTSLIBSOURCES) +- cd src/htslib && make && make lib-static && cd ../../ && touch .htslib +- +-.boost: $(BOOSTSOURCES) +- cd src/modular-boost && ./bootstrap.sh --prefix=${PWD}/src/modular-boost --without-icu --with-libraries=iostreams,filesystem,system,program_options,date_time && ./b2 && ./b2 headers && cd ../../ && touch .boost +- +-src/delly: .htslib .boost $(DELLYSOURCES) ++src/delly: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +-src/extract: .htslib .boost $(DELLYSOURCES) ++src/extract: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +-src/cov: .htslib .boost $(DELLYSOURCES) ++src/cov: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +-src/iover: .htslib .boost $(DELLYSOURCES) ++src/iover: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +-src/stats: .htslib .boost $(DELLYSOURCES) ++src/stats: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + + clean: +- cd src/htslib && make clean +- cd src/modular-boost && ./b2 --clean-all +- rm -f $(TARGETS) $(TARGETS:=.o) .htslib .boost ++ rm -f $(TARGETS) $(TARGETS:=.o) diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index a0a375b..a4d14b0 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -113,6 +113,62 @@ standard alignment formats (BAM/SAM) and outputs in variant call format package.") (license license:gpl3+))) +(define boost-delly + (package (inherit boost) + (name "boost-delly") + (version "1.57.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/boost/boost_" + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version) + ".tar.bz2")) + (sha256 + (base32 + "0rs94vdmg34bwwj23fllva6mhrml2i7mvmlb11zyrk1k5818q34i")))))) + +(define-public delly + (package + (name "delly") + (version "0.7.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/tobiasrausch/delly/archive/v" + version ".tar.gz")) + (sha256 + (base32 "173mmg43dbxqkyq0kiffz63xbmggr2kzd55mwxci9yfh5md1zprn")) + (patches (list (search-patch "delly-use-system-libraries.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("python" ,python-2))) + (inputs + `(("boost" ,boost-delly) ; Use version 1.57.0 instead. + ("htslib" ,htslib) + ("zlib" ,zlib) + ("bzip2" ,bzip2))) + (arguments + `(#:tests? #f ; There are no tests to run. + #:phases + (modify-phases %standard-phases + (delete 'configure) ; There is no configure phase. + (replace 'install + (lambda _ + (let ((bin (string-append (assoc-ref %outputs "out") "/bin"))) + (install-file "src/cov" bin) + (install-file "src/delly" bin) + (install-file "src/extract" bin) + (install-file "src/iover" bin) + (install-file "src/stats" bin))))))) + (home-page "https://github.com/tobiasrausch/delly") + (synopsis "Integrated structural variant prediction method") + (description "Delly is an integrated structural variant prediction method +that can discover and genotype deletions, tandem duplications, inversions and +translocations at single-nucleotide resolution in short-read massively parallel +sequencing data. It uses paired-ends and split-reads to sensitively and +accurately delineate genomic rearrangements throughout the genome. Structural +variants can be visualized using Delly-maze and Delly-suave.") + (license license:gpl3))) + (define-public freec (package (name "control-freec") -- cgit v1.2.3