mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
gnu: Add TopHat.
* gnu/packages/bioinformatics.scm (tophat): New variable. * gnu/packages/patches/tophat-build-with-later-seqan.patch: New file. * gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
parent
3062d750b4
commit
94ce537eac
3 changed files with 92 additions and 0 deletions
|
@ -681,6 +681,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/tidy-CVE-2015-5522+5523.patch \
|
||||
gnu/packages/patches/tinyxml-use-stl.patch \
|
||||
gnu/packages/patches/tk-find-library.patch \
|
||||
gnu/packages/patches/tophat-build-with-later-seqan.patch \
|
||||
gnu/packages/patches/torsocks-dns-test.patch \
|
||||
gnu/packages/patches/tvtime-gcc41.patch \
|
||||
gnu/packages/patches/tvtime-pngoutput.patch \
|
||||
|
|
|
@ -654,6 +654,73 @@ (define-public bowtie
|
|||
(supported-systems '("x86_64-linux"))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public tophat
|
||||
(package
|
||||
(name "tophat")
|
||||
(version "2.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://ccb.jhu.edu/software/tophat/downloads/tophat-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"168zlzykq622zbgkh90a90f1bdgsxkscq2zxzbj8brq80hbjpyp7"))
|
||||
(patches (list (search-patch "tophat-build-with-later-seqan.patch")))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove bundled SeqAn and samtools
|
||||
(delete-file-recursively "src/SeqAn-1.3")
|
||||
(delete-file-recursively "src/samtools-0.1.18")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:parallel-build? #f ; not supported
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-system-samtools
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/Makefile.in"
|
||||
(("(noinst_LIBRARIES = )\\$\\(SAMLIB\\)" _ prefix) prefix)
|
||||
(("\\$\\(SAMPROG\\): \\$\\(SAMLIB\\)") "")
|
||||
(("SAMPROG = samtools_0\\.1\\.18") "")
|
||||
(("\\$\\(samtools_0_1_18_SOURCES\\)") "")
|
||||
(("am__EXEEXT_1 = samtools_0\\.1\\.18\\$\\(EXEEXT\\)") ""))
|
||||
(substitute* '("src/common.cpp"
|
||||
"src/tophat.py")
|
||||
(("samtools_0.1.18") (which "samtools")))
|
||||
(substitute* '("src/common.h"
|
||||
"src/bam2fastx.cpp")
|
||||
(("#include \"bam.h\"") "#include <samtools/bam.h>")
|
||||
(("#include \"sam.h\"") "#include <samtools/sam.h>"))
|
||||
(substitute* '("src/bwt_map.h"
|
||||
"src/map2gtf.h"
|
||||
"src/align_status.h")
|
||||
(("#include <bam.h>") "#include <samtools/bam.h>")
|
||||
(("#include <sam.h>") "#include <samtools/sam.h>"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("bowtie" ,bowtie)
|
||||
("samtools" ,samtools-0.1)
|
||||
("ncurses" ,ncurses)
|
||||
("python" ,python-2)
|
||||
("perl" ,perl)
|
||||
("zlib" ,zlib)
|
||||
("seqan" ,seqan)))
|
||||
(home-page "http://ccb.jhu.edu/software/tophat/index.shtml")
|
||||
(synopsis "Spliced read mapper for RNA-Seq data")
|
||||
(description
|
||||
"TopHat is a fast splice junction mapper for nucleotide sequence
|
||||
reads produced by the RNA-Seq method. It aligns RNA-Seq reads to
|
||||
mammalian-sized genomes using the ultra high-throughput short read
|
||||
aligner Bowtie, and then analyzes the mapping results to identify
|
||||
splice junctions between exons.")
|
||||
;; TopHat is released under the Boost Software License, Version 1.0
|
||||
;; See https://github.com/infphilo/tophat/issues/11#issuecomment-121589893
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public bwa
|
||||
(package
|
||||
(name "bwa")
|
||||
|
|
24
gnu/packages/patches/tophat-build-with-later-seqan.patch
Normal file
24
gnu/packages/patches/tophat-build-with-later-seqan.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
This patch resolves a build failure when building TopHat 2.1.0 with SeqAn 1.4.
|
||||
This is the relevant part of a patch originally posted here:
|
||||
https://lists.fu-berlin.de/pipermail/seqan-dev/2014-July/msg00001.html
|
||||
|
||||
--- a/src/segment_juncs.cpp
|
||||
+++ b/src/segment_juncs.cpp
|
||||
@@ -2050,10 +2050,13 @@ void juncs_from_ref_segs(RefSequenceTabl
|
||||
typedef map<uint32_t, IntronMotifs> MotifMap;
|
||||
|
||||
MotifMap ims;
|
||||
-
|
||||
- seqan::DnaStringReverseComplement rev_donor_dinuc(donor_dinuc);
|
||||
- seqan::DnaStringReverseComplement rev_acceptor_dinuc(acceptor_dinuc);
|
||||
-
|
||||
+
|
||||
+ typedef seqan::ModifiedString<
|
||||
+ seqan::ModifiedString<seqan::DnaString const, seqan::ModView<seqan::FunctorComplement<seqan::Dna> > >,
|
||||
+ seqan::ModReverse> ConstDnaStringReverseComplement;
|
||||
+ ConstDnaStringReverseComplement rev_donor_dinuc(donor_dinuc);
|
||||
+ ConstDnaStringReverseComplement rev_acceptor_dinuc(acceptor_dinuc);
|
||||
+
|
||||
if (talkative)
|
||||
fprintf(stderr, "Collecting potential splice sites in islands\n");
|
||||
|
Loading…
Reference in a new issue