gnu: Add rsem.

* gnu/packages/bioinformatics.scm (rsem): New variable.
* gnu/packages/patches/rsem-makefile.patch: New file.
master
Ricardo Wurmus 2015-05-21 15:43:25 +02:00
parent 21461f27e7
commit 66e3eff1e3
2 changed files with 760 additions and 0 deletions

View File

@ -1013,6 +1013,84 @@ files and writing bioinformatics applications.")
generated using the PacBio Iso-Seq protocol.")
(license license:bsd-3))))
(define-public rsem
(package
(name "rsem")
(version "1.2.20")
(source
(origin
(method url-fetch)
(uri
(string-append "http://deweylab.biostat.wisc.edu/rsem/src/rsem-"
version ".tar.gz"))
(sha256
(base32 "0nzdc0j0hjllhsd5f2xli95dafm3nawskigs140xzvjk67xh0r9q"))
(patches (list (search-patch "rsem-makefile.patch")))
(modules '((guix build utils)))
(snippet
'(begin
;; remove bundled copy of boost
(delete-file-recursively "boost")
#t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
;; No "configure" script.
;; Do not build bundled samtools library.
(replace 'configure
(lambda _
(substitute* "Makefile"
(("^all : sam/libbam.a") "all : "))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (string-append (assoc-ref outputs "out")))
(bin (string-append out "/bin/"))
(perl (string-append out "/lib/perl5/site_perl")))
(mkdir-p bin)
(mkdir-p perl)
(for-each (lambda (file)
(copy-file file
(string-append bin (basename file))))
(find-files "." "rsem-.*"))
(copy-file "rsem_perl_utils.pm"
(string-append perl "/rsem_perl_utils.pm")))
#t))
(add-after
'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (prog)
(wrap-program (string-append out "/bin/" prog)
`("PERL5LIB" ":" prefix
(,(string-append out "/lib/perl5/site_perl")))))
'("rsem-plot-transcript-wiggles"
"rsem-calculate-expression"
"rsem-generate-ngvector"
"rsem-run-ebseq"
"rsem-prepare-reference")))
#t)))))
(inputs
`(("boost" ,boost)
("ncurses" ,ncurses)
("r" ,r)
("perl" ,perl)
("samtools" ,samtools-0.1)
("zlib" ,zlib)))
(home-page "http://deweylab.biostat.wisc.edu/rsem/")
(synopsis "Estimate gene expression levels from RNA-Seq data")
(description
"RSEM is a software package for estimating gene and isoform expression
levels from RNA-Seq data. The RSEM package provides a user-friendly
interface, supports threads for parallel computation of the EM algorithm,
single-end and paired-end read data, quality scores, variable-length reads and
RSPD estimation. In addition, it provides posterior mean and 95% credibility
interval estimates for expression levels. For visualization, it can generate
BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
(license license:gpl3+)))
(define-public rseqc
(package
(name "rseqc")

View File

@ -0,0 +1,682 @@
This patch simplifies the Makefile, making it much easier to build rsem
without the bundled version of samtools. It has already been submitted
upstream: https://github.com/bli25wisc/RSEM/pull/11
From 161894e91a16c7e15af57e4fcfe8cb613711c7fa Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Wed, 22 Apr 2015 14:51:07 +0200
Subject: [PATCH 1/7] remove all headers from Makefile
---
Makefile | 95 +++++++++++-----------------------------------------------------
1 file changed, 16 insertions(+), 79 deletions(-)
diff --git a/Makefile b/Makefile
index 54e2603..3a55ed8 100644
--- a/Makefile
+++ b/Makefile
@@ -10,133 +10,70 @@ all : $(PROGRAMS)
sam/libbam.a :
cd sam ; ${MAKE} all
-Transcript.h : utils.h
-
-Transcripts.h : utils.h my_assert.h Transcript.h
-
-rsem-extract-reference-transcripts : utils.h my_assert.h GTFItem.h Transcript.h Transcripts.h extractRef.cpp
+rsem-extract-reference-transcripts : extractRef.cpp
$(CC) -Wall -O3 extractRef.cpp -o rsem-extract-reference-transcripts
-rsem-synthesis-reference-transcripts : utils.h my_assert.h Transcript.h Transcripts.h synthesisRef.cpp
+rsem-synthesis-reference-transcripts : synthesisRef.cpp
$(CC) -Wall -O3 synthesisRef.cpp -o rsem-synthesis-reference-transcripts
-BowtieRefSeqPolicy.h : RefSeqPolicy.h
-
-RefSeq.h : utils.h
-
-Refs.h : utils.h RefSeq.h RefSeqPolicy.h PolyARules.h
-
-
rsem-preref : preRef.o
$(CC) preRef.o -o rsem-preref
-preRef.o : utils.h RefSeq.h Refs.h PolyARules.h RefSeqPolicy.h AlignerRefSeqPolicy.h preRef.cpp
+preRef.o : preRef.cpp
$(CC) $(COFLAGS) preRef.cpp
-
-SingleRead.h : Read.h
-
-SingleReadQ.h : Read.h
-
-PairedEndRead.h : Read.h SingleRead.h
-
-PairedEndReadQ.h : Read.h SingleReadQ.h
-
-
-PairedEndHit.h : SingleHit.h
-
-HitContainer.h : GroupInfo.h
-
-
-SamParser.h : sam/sam.h sam/bam.h utils.h my_assert.h SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h SingleHit.h PairedEndHit.h Transcripts.h
-
-
rsem-parse-alignments : parseIt.o sam/libbam.a
$(CC) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread
-parseIt.o : utils.h GroupInfo.h Read.h SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h SingleHit.h PairedEndHit.h HitContainer.h SamParser.h Transcripts.h sam/sam.h sam/bam.h parseIt.cpp
+parseIt.o : parseIt.cpp
$(CC) -Wall -O2 -c -I. parseIt.cpp
-
-rsem-build-read-index : utils.h buildReadIndex.cpp
+rsem-build-read-index : buildReadIndex.cpp
$(CC) -O3 buildReadIndex.cpp -o rsem-build-read-index
-
-simul.h : boost/random.hpp
-
-ReadReader.h : SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h ReadIndex.h
-
-SingleModel.h : utils.h my_assert.h Orientation.h LenDist.h RSPD.h Profile.h NoiseProfile.h ModelParams.h RefSeq.h Refs.h SingleRead.h SingleHit.h ReadReader.h simul.h
-
-SingleQModel.h : utils.h my_assert.h Orientation.h LenDist.h RSPD.h QualDist.h QProfile.h NoiseQProfile.h ModelParams.h RefSeq.h Refs.h SingleReadQ.h SingleHit.h ReadReader.h simul.h
-
-PairedEndModel.h : utils.h my_assert.h Orientation.h LenDist.h RSPD.h Profile.h NoiseProfile.h ModelParams.h RefSeq.h Refs.h SingleRead.h PairedEndRead.h PairedEndHit.h ReadReader.h simul.h
-
-PairedEndQModel.h : utils.h my_assert.h Orientation.h LenDist.h RSPD.h QualDist.h QProfile.h NoiseQProfile.h ModelParams.h RefSeq.h Refs.h SingleReadQ.h PairedEndReadQ.h PairedEndHit.h ReadReader.h simul.h
-
-HitWrapper.h : HitContainer.h
-
-sam_rsem_aux.h : sam/bam.h
-
-sam_rsem_cvt.h : sam/bam.h Transcript.h Transcripts.h
-
-BamWriter.h : sam/sam.h sam/bam.h sam_rsem_aux.h sam_rsem_cvt.h SingleHit.h PairedEndHit.h HitWrapper.h Transcript.h Transcripts.h
-
-sampling.h : boost/random.hpp
-
-WriteResults.h : utils.h my_assert.h GroupInfo.h Transcript.h Transcripts.h RefSeq.h Refs.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h
-
rsem-run-em : EM.o sam/libbam.a
$(CC) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
-EM.o : utils.h my_assert.h Read.h SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h SingleHit.h PairedEndHit.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h Refs.h GroupInfo.h HitContainer.h ReadIndex.h ReadReader.h Orientation.h LenDist.h RSPD.h QualDist.h QProfile.h NoiseQProfile.h ModelParams.h RefSeq.h RefSeqPolicy.h PolyARules.h Profile.h NoiseProfile.h Transcript.h Transcripts.h HitWrapper.h BamWriter.h sam/bam.h sam/sam.h simul.h sam_rsem_aux.h sampling.h boost/random.hpp WriteResults.h EM.cpp
+EM.o : EM.cpp
$(CC) $(COFLAGS) EM.cpp
-bc_aux.h : sam/bam.h
-
-BamConverter.h : utils.h my_assert.h sam/sam.h sam/bam.h sam_rsem_aux.h sam_rsem_cvt.h bc_aux.h Transcript.h Transcripts.h
-
-rsem-tbam2gbam : utils.h Transcripts.h Transcript.h bc_aux.h BamConverter.h sam/sam.h sam/bam.h sam/libbam.a sam_rsem_aux.h sam_rsem_cvt.h tbam2gbam.cpp sam/libbam.a
+rsem-tbam2gbam : tbam2gbam.cpp sam/libbam.a
$(CC) -O3 -Wall tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
-rsem-bam2wig : utils.h my_assert.h wiggle.h wiggle.o sam/libbam.a bam2wig.cpp
+rsem-bam2wig : wiggle.o sam/libbam.a bam2wig.cpp
$(CC) -O3 -Wall bam2wig.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
-rsem-bam2readdepth : utils.h my_assert.h wiggle.h wiggle.o sam/libbam.a bam2readdepth.cpp
+rsem-bam2readdepth : wiggle.o sam/libbam.a bam2readdepth.cpp
$(CC) -O3 -Wall bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
-wiggle.o: sam/bam.h sam/sam.h wiggle.cpp wiggle.h
+wiggle.o: wiggle.cpp
$(CC) $(COFLAGS) wiggle.cpp
rsem-simulate-reads : simulation.o
$(CC) -o rsem-simulate-reads simulation.o
-simulation.o : utils.h Read.h SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h Refs.h RefSeq.h GroupInfo.h Transcript.h Transcripts.h Orientation.h LenDist.h RSPD.h QualDist.h QProfile.h NoiseQProfile.h Profile.h NoiseProfile.h simul.h boost/random.hpp WriteResults.h simulation.cpp
+simulation.o : simulation.cpp
$(CC) $(COFLAGS) simulation.cpp
rsem-run-gibbs : Gibbs.o
$(CC) -o rsem-run-gibbs Gibbs.o -lpthread
-#some header files are omitted
-Gibbs.o : utils.h my_assert.h boost/random.hpp sampling.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h RefSeq.h RefSeqPolicy.h PolyARules.h Refs.h GroupInfo.h WriteResults.h Gibbs.cpp
+Gibbs.o : Gibbs.cpp
$(CC) $(COFLAGS) Gibbs.cpp
-Buffer.h : my_assert.h
-
rsem-calculate-credibility-intervals : calcCI.o
$(CC) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
-#some header files are omitted
-calcCI.o : utils.h my_assert.h boost/random.hpp sampling.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h RefSeq.h RefSeqPolicy.h PolyARules.h Refs.h GroupInfo.h WriteResults.h Buffer.h calcCI.cpp
+calcCI.o : calcCI.cpp
$(CC) $(COFLAGS) calcCI.cpp
-rsem-get-unique : sam/bam.h sam/sam.h getUnique.cpp sam/libbam.a
+rsem-get-unique : getUnique.cpp sam/libbam.a
$(CC) -O3 -Wall getUnique.cpp sam/libbam.a -lz -lpthread -o $@
-rsem-sam-validator : sam/bam.h sam/sam.h my_assert.h samValidator.cpp sam/libbam.a
+rsem-sam-validator : samValidator.cpp sam/libbam.a
$(CC) -O3 -Wall samValidator.cpp sam/libbam.a -lz -lpthread -o $@
-rsem-scan-for-paired-end-reads : sam/bam.h sam/sam.h my_assert.h scanForPairedEndReads.cpp sam/libbam.a
+rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp sam/libbam.a
$(CC) -O3 -Wall scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
ebseq :
From ec136638a727632e20abfaeb65c22c46d15ca8c4 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Wed, 22 Apr 2015 15:06:41 +0200
Subject: [PATCH 2/7] include current dir, ./sam and ./boost by default
---
Makefile | 48 ++++++++++++++++++++++++------------------------
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/Makefile b/Makefile
index 3a55ed8..1dd97ca 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
CC = g++
-CFLAGS = -Wall -c -I.
-COFLAGS = -Wall -O3 -ffast-math -c -I.
+CFLAGS = -Wall -I. -I./sam -I./boost
+COFLAGS = -O3 -ffast-math -c
PROGRAMS = rsem-extract-reference-transcripts rsem-synthesis-reference-transcripts rsem-preref rsem-parse-alignments rsem-build-read-index rsem-run-em rsem-tbam2gbam rsem-run-gibbs rsem-calculate-credibility-intervals rsem-simulate-reads rsem-bam2wig rsem-get-unique rsem-bam2readdepth rsem-sam-validator rsem-scan-for-paired-end-reads
.PHONY : all ebseq clean
@@ -11,70 +11,70 @@ sam/libbam.a :
cd sam ; ${MAKE} all
rsem-extract-reference-transcripts : extractRef.cpp
- $(CC) -Wall -O3 extractRef.cpp -o rsem-extract-reference-transcripts
+ $(CC) $(CFLAGS) -O3 extractRef.cpp -o rsem-extract-reference-transcripts
rsem-synthesis-reference-transcripts : synthesisRef.cpp
- $(CC) -Wall -O3 synthesisRef.cpp -o rsem-synthesis-reference-transcripts
+ $(CC) $(CFLAGS) -O3 synthesisRef.cpp -o rsem-synthesis-reference-transcripts
rsem-preref : preRef.o
- $(CC) preRef.o -o rsem-preref
+ $(CC) $(CFLAGS) preRef.o -o rsem-preref
preRef.o : preRef.cpp
- $(CC) $(COFLAGS) preRef.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) preRef.cpp
rsem-parse-alignments : parseIt.o sam/libbam.a
- $(CC) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread
+ $(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread
parseIt.o : parseIt.cpp
- $(CC) -Wall -O2 -c -I. parseIt.cpp
+ $(CC) $(CFLAGS) -O2 -c parseIt.cpp
rsem-build-read-index : buildReadIndex.cpp
- $(CC) -O3 buildReadIndex.cpp -o rsem-build-read-index
+ $(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o rsem-build-read-index
rsem-run-em : EM.o sam/libbam.a
- $(CC) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
+ $(CC) $(CFLAGS) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
EM.o : EM.cpp
- $(CC) $(COFLAGS) EM.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) EM.cpp
rsem-tbam2gbam : tbam2gbam.cpp sam/libbam.a
- $(CC) -O3 -Wall tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
rsem-bam2wig : wiggle.o sam/libbam.a bam2wig.cpp
- $(CC) -O3 -Wall bam2wig.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 bam2wig.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
rsem-bam2readdepth : wiggle.o sam/libbam.a bam2readdepth.cpp
- $(CC) -O3 -Wall bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
wiggle.o: wiggle.cpp
- $(CC) $(COFLAGS) wiggle.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) wiggle.cpp
rsem-simulate-reads : simulation.o
- $(CC) -o rsem-simulate-reads simulation.o
+ $(CC) $(CFLAGS) -o rsem-simulate-reads simulation.o
simulation.o : simulation.cpp
- $(CC) $(COFLAGS) simulation.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) simulation.cpp
rsem-run-gibbs : Gibbs.o
- $(CC) -o rsem-run-gibbs Gibbs.o -lpthread
+ $(CC) $(CFLAGS) -o rsem-run-gibbs Gibbs.o -lpthread
Gibbs.o : Gibbs.cpp
- $(CC) $(COFLAGS) Gibbs.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) Gibbs.cpp
rsem-calculate-credibility-intervals : calcCI.o
- $(CC) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
+ $(CC) $(CFLAGS) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
calcCI.o : calcCI.cpp
- $(CC) $(COFLAGS) calcCI.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) calcCI.cpp
rsem-get-unique : getUnique.cpp sam/libbam.a
- $(CC) -O3 -Wall getUnique.cpp sam/libbam.a -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 getUnique.cpp sam/libbam.a -lz -lpthread -o $@
rsem-sam-validator : samValidator.cpp sam/libbam.a
- $(CC) -O3 -Wall samValidator.cpp sam/libbam.a -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 samValidator.cpp sam/libbam.a -lz -lpthread -o $@
rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp sam/libbam.a
- $(CC) -O3 -Wall scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
ebseq :
cd EBSeq ; ${MAKE} all
From d366614ea50f79fdd93e3c76383ccb6fcdeaa8e0 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Wed, 22 Apr 2015 15:10:49 +0200
Subject: [PATCH 3/7] separate object rules from rules for executables
---
Makefile | 50 ++++++++++++++++++++++++++------------------------
1 file changed, 26 insertions(+), 24 deletions(-)
diff --git a/Makefile b/Makefile
index 1dd97ca..ae4de3b 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,32 @@ all : $(PROGRAMS)
sam/libbam.a :
cd sam ; ${MAKE} all
+ebseq :
+ cd EBSeq ; ${MAKE} all
+
+
+calcCI.o : calcCI.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) calcCI.cpp
+
+EM.o : EM.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) EM.cpp
+
+Gibbs.o : Gibbs.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) Gibbs.cpp
+
+preRef.o : preRef.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) preRef.cpp
+
+parseIt.o : parseIt.cpp
+ $(CC) $(CFLAGS) -O2 -c parseIt.cpp
+
+simulation.o : simulation.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) simulation.cpp
+
+wiggle.o: wiggle.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) wiggle.cpp
+
+
rsem-extract-reference-transcripts : extractRef.cpp
$(CC) $(CFLAGS) -O3 extractRef.cpp -o rsem-extract-reference-transcripts
@@ -19,24 +45,15 @@ rsem-synthesis-reference-transcripts : synthesisRef.cpp
rsem-preref : preRef.o
$(CC) $(CFLAGS) preRef.o -o rsem-preref
-preRef.o : preRef.cpp
- $(CC) $(CFLAGS) $(COFLAGS) preRef.cpp
-
rsem-parse-alignments : parseIt.o sam/libbam.a
$(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread
-parseIt.o : parseIt.cpp
- $(CC) $(CFLAGS) -O2 -c parseIt.cpp
-
rsem-build-read-index : buildReadIndex.cpp
$(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o rsem-build-read-index
rsem-run-em : EM.o sam/libbam.a
$(CC) $(CFLAGS) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
-EM.o : EM.cpp
- $(CC) $(CFLAGS) $(COFLAGS) EM.cpp
-
rsem-tbam2gbam : tbam2gbam.cpp sam/libbam.a
$(CC) $(CFLAGS) -O3 tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
@@ -46,27 +63,15 @@ rsem-bam2wig : wiggle.o sam/libbam.a bam2wig.cpp
rsem-bam2readdepth : wiggle.o sam/libbam.a bam2readdepth.cpp
$(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
-wiggle.o: wiggle.cpp
- $(CC) $(CFLAGS) $(COFLAGS) wiggle.cpp
-
rsem-simulate-reads : simulation.o
$(CC) $(CFLAGS) -o rsem-simulate-reads simulation.o
-simulation.o : simulation.cpp
- $(CC) $(CFLAGS) $(COFLAGS) simulation.cpp
-
rsem-run-gibbs : Gibbs.o
$(CC) $(CFLAGS) -o rsem-run-gibbs Gibbs.o -lpthread
-Gibbs.o : Gibbs.cpp
- $(CC) $(CFLAGS) $(COFLAGS) Gibbs.cpp
-
rsem-calculate-credibility-intervals : calcCI.o
$(CC) $(CFLAGS) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
-calcCI.o : calcCI.cpp
- $(CC) $(CFLAGS) $(COFLAGS) calcCI.cpp
-
rsem-get-unique : getUnique.cpp sam/libbam.a
$(CC) $(CFLAGS) -O3 getUnique.cpp sam/libbam.a -lz -lpthread -o $@
@@ -76,9 +81,6 @@ rsem-sam-validator : samValidator.cpp sam/libbam.a
rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp sam/libbam.a
$(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
-ebseq :
- cd EBSeq ; ${MAKE} all
-
clean :
rm -f *.o *~ $(PROGRAMS)
cd sam ; ${MAKE} clean
From 6ba1c33cccdf7c8e7df7a3189e7db204be3b1e8d Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Wed, 22 Apr 2015 15:28:30 +0200
Subject: [PATCH 4/7] add ./sam to library directories, link with -lbam
---
Makefile | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/Makefile b/Makefile
index ae4de3b..a87cc4d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,11 @@
CC = g++
-CFLAGS = -Wall -I. -I./sam -I./boost
+CFLAGS = -Wall -I. -I./sam -I./boost -L./sam
COFLAGS = -O3 -ffast-math -c
PROGRAMS = rsem-extract-reference-transcripts rsem-synthesis-reference-transcripts rsem-preref rsem-parse-alignments rsem-build-read-index rsem-run-em rsem-tbam2gbam rsem-run-gibbs rsem-calculate-credibility-intervals rsem-simulate-reads rsem-bam2wig rsem-get-unique rsem-bam2readdepth rsem-sam-validator rsem-scan-for-paired-end-reads
.PHONY : all ebseq clean
-all : $(PROGRAMS)
+all : sam/libbam.a $(PROGRAMS)
sam/libbam.a :
cd sam ; ${MAKE} all
@@ -45,23 +45,23 @@ rsem-synthesis-reference-transcripts : synthesisRef.cpp
rsem-preref : preRef.o
$(CC) $(CFLAGS) preRef.o -o rsem-preref
-rsem-parse-alignments : parseIt.o sam/libbam.a
- $(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread
+rsem-parse-alignments : parseIt.o
+ $(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o -lbam -lz -lpthread
rsem-build-read-index : buildReadIndex.cpp
$(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o rsem-build-read-index
-rsem-run-em : EM.o sam/libbam.a
- $(CC) $(CFLAGS) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
+rsem-run-em : EM.o
+ $(CC) $(CFLAGS) -o rsem-run-em EM.o -lbam -lz -lpthread
-rsem-tbam2gbam : tbam2gbam.cpp sam/libbam.a
- $(CC) $(CFLAGS) -O3 tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
+rsem-tbam2gbam : tbam2gbam.cpp
+ $(CC) $(CFLAGS) -O3 tbam2gbam.cpp -lbam -lz -lpthread -o $@
-rsem-bam2wig : wiggle.o sam/libbam.a bam2wig.cpp
- $(CC) $(CFLAGS) -O3 bam2wig.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+rsem-bam2wig : wiggle.o bam2wig.cpp
+ $(CC) $(CFLAGS) -O3 bam2wig.cpp wiggle.o -lbam -lz -lpthread -o $@
-rsem-bam2readdepth : wiggle.o sam/libbam.a bam2readdepth.cpp
- $(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+rsem-bam2readdepth : wiggle.o bam2readdepth.cpp
+ $(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o -lbam -lz -lpthread -o $@
rsem-simulate-reads : simulation.o
$(CC) $(CFLAGS) -o rsem-simulate-reads simulation.o
@@ -72,14 +72,14 @@ rsem-run-gibbs : Gibbs.o
rsem-calculate-credibility-intervals : calcCI.o
$(CC) $(CFLAGS) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
-rsem-get-unique : getUnique.cpp sam/libbam.a
- $(CC) $(CFLAGS) -O3 getUnique.cpp sam/libbam.a -lz -lpthread -o $@
+rsem-get-unique : getUnique.cpp
+ $(CC) $(CFLAGS) -O3 getUnique.cpp -lbam -lz -lpthread -o $@
-rsem-sam-validator : samValidator.cpp sam/libbam.a
- $(CC) $(CFLAGS) -O3 samValidator.cpp sam/libbam.a -lz -lpthread -o $@
+rsem-sam-validator : samValidator.cpp
+ $(CC) $(CFLAGS) -O3 samValidator.cpp -lbam -lz -lpthread -o $@
-rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp sam/libbam.a
- $(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
+rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp
+ $(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp -lbam -lz -lpthread -o $@
clean :
rm -f *.o *~ $(PROGRAMS)
From 5402b88c269df79ee245c1c59e15f3c8282a0220 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Wed, 22 Apr 2015 15:33:02 +0200
Subject: [PATCH 5/7] do not repeat target name, use $@ instead
---
Makefile | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/Makefile b/Makefile
index a87cc4d..7ec90a3 100644
--- a/Makefile
+++ b/Makefile
@@ -37,22 +37,22 @@ wiggle.o: wiggle.cpp
rsem-extract-reference-transcripts : extractRef.cpp
- $(CC) $(CFLAGS) -O3 extractRef.cpp -o rsem-extract-reference-transcripts
+ $(CC) $(CFLAGS) -O3 extractRef.cpp -o $@
rsem-synthesis-reference-transcripts : synthesisRef.cpp
- $(CC) $(CFLAGS) -O3 synthesisRef.cpp -o rsem-synthesis-reference-transcripts
+ $(CC) $(CFLAGS) -O3 synthesisRef.cpp -o $@
rsem-preref : preRef.o
- $(CC) $(CFLAGS) preRef.o -o rsem-preref
+ $(CC) $(CFLAGS) preRef.o -o $@
rsem-parse-alignments : parseIt.o
- $(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o -lbam -lz -lpthread
+ $(CC) $(CFLAGS) -o $@ parseIt.o -lbam -lz -lpthread
rsem-build-read-index : buildReadIndex.cpp
- $(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o rsem-build-read-index
+ $(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o $@
rsem-run-em : EM.o
- $(CC) $(CFLAGS) -o rsem-run-em EM.o -lbam -lz -lpthread
+ $(CC) $(CFLAGS) -o $@ EM.o -lbam -lz -lpthread
rsem-tbam2gbam : tbam2gbam.cpp
$(CC) $(CFLAGS) -O3 tbam2gbam.cpp -lbam -lz -lpthread -o $@
@@ -64,13 +64,13 @@ rsem-bam2readdepth : wiggle.o bam2readdepth.cpp
$(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o -lbam -lz -lpthread -o $@
rsem-simulate-reads : simulation.o
- $(CC) $(CFLAGS) -o rsem-simulate-reads simulation.o
+ $(CC) $(CFLAGS) -o $@ simulation.o
rsem-run-gibbs : Gibbs.o
- $(CC) $(CFLAGS) -o rsem-run-gibbs Gibbs.o -lpthread
+ $(CC) $(CFLAGS) -o $@ Gibbs.o -lpthread
rsem-calculate-credibility-intervals : calcCI.o
- $(CC) $(CFLAGS) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
+ $(CC) $(CFLAGS) -o $@ calcCI.o -lpthread
rsem-get-unique : getUnique.cpp
$(CC) $(CFLAGS) -O3 getUnique.cpp -lbam -lz -lpthread -o $@
From f60784bc7aa303cc825bd87dd3f5d7d26c51bded Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Wed, 22 Apr 2015 15:44:53 +0200
Subject: [PATCH 6/7] use automatic variables to refer to prerequisites
---
Makefile | 44 ++++++++++++++++++++++----------------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/Makefile b/Makefile
index 7ec90a3..6540d81 100644
--- a/Makefile
+++ b/Makefile
@@ -15,71 +15,71 @@ ebseq :
calcCI.o : calcCI.cpp
- $(CC) $(CFLAGS) $(COFLAGS) calcCI.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) $<
EM.o : EM.cpp
- $(CC) $(CFLAGS) $(COFLAGS) EM.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) $<
Gibbs.o : Gibbs.cpp
- $(CC) $(CFLAGS) $(COFLAGS) Gibbs.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) $<
preRef.o : preRef.cpp
- $(CC) $(CFLAGS) $(COFLAGS) preRef.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) $<
parseIt.o : parseIt.cpp
- $(CC) $(CFLAGS) -O2 -c parseIt.cpp
+ $(CC) $(CFLAGS) -O2 -c $<
simulation.o : simulation.cpp
- $(CC) $(CFLAGS) $(COFLAGS) simulation.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) $<
wiggle.o: wiggle.cpp
- $(CC) $(CFLAGS) $(COFLAGS) wiggle.cpp
+ $(CC) $(CFLAGS) $(COFLAGS) $<
rsem-extract-reference-transcripts : extractRef.cpp
- $(CC) $(CFLAGS) -O3 extractRef.cpp -o $@
+ $(CC) $(CFLAGS) -O3 $< -o $@
rsem-synthesis-reference-transcripts : synthesisRef.cpp
- $(CC) $(CFLAGS) -O3 synthesisRef.cpp -o $@
+ $(CC) $(CFLAGS) -O3 $< -o $@
rsem-preref : preRef.o
- $(CC) $(CFLAGS) preRef.o -o $@
+ $(CC) $(CFLAGS) $< -o $@
rsem-parse-alignments : parseIt.o
- $(CC) $(CFLAGS) -o $@ parseIt.o -lbam -lz -lpthread
+ $(CC) $(CFLAGS) -o $@ $< -lbam -lz -lpthread
rsem-build-read-index : buildReadIndex.cpp
- $(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o $@
+ $(CC) $(CFLAGS) -O3 $< -o $@
rsem-run-em : EM.o
- $(CC) $(CFLAGS) -o $@ EM.o -lbam -lz -lpthread
+ $(CC) $(CFLAGS) -o $@ $< -lbam -lz -lpthread
rsem-tbam2gbam : tbam2gbam.cpp
- $(CC) $(CFLAGS) -O3 tbam2gbam.cpp -lbam -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 $< -lbam -lz -lpthread -o $@
rsem-bam2wig : wiggle.o bam2wig.cpp
- $(CC) $(CFLAGS) -O3 bam2wig.cpp wiggle.o -lbam -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 $^ -lbam -lz -lpthread -o $@
rsem-bam2readdepth : wiggle.o bam2readdepth.cpp
- $(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o -lbam -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 $^ -lbam -lz -lpthread -o $@
rsem-simulate-reads : simulation.o
- $(CC) $(CFLAGS) -o $@ simulation.o
+ $(CC) $(CFLAGS) -o $@ $<
rsem-run-gibbs : Gibbs.o
- $(CC) $(CFLAGS) -o $@ Gibbs.o -lpthread
+ $(CC) $(CFLAGS) -o $@ $< -lpthread
rsem-calculate-credibility-intervals : calcCI.o
- $(CC) $(CFLAGS) -o $@ calcCI.o -lpthread
+ $(CC) $(CFLAGS) -o $@ $< -lpthread
rsem-get-unique : getUnique.cpp
- $(CC) $(CFLAGS) -O3 getUnique.cpp -lbam -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 $< -lbam -lz -lpthread -o $@
rsem-sam-validator : samValidator.cpp
- $(CC) $(CFLAGS) -O3 samValidator.cpp -lbam -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 $< -lbam -lz -lpthread -o $@
rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp
- $(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp -lbam -lz -lpthread -o $@
+ $(CC) $(CFLAGS) -O3 $< -lbam -lz -lpthread -o $@
clean :
rm -f *.o *~ $(PROGRAMS)
From 0cf9721077f67fb4ca15fdc59cbfbf24a944debd Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Wed, 22 Apr 2015 15:49:19 +0200
Subject: [PATCH 7/7] split long line
---
Makefile | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 6540d81..0ab04a5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,22 @@
CC = g++
CFLAGS = -Wall -I. -I./sam -I./boost -L./sam
COFLAGS = -O3 -ffast-math -c
-PROGRAMS = rsem-extract-reference-transcripts rsem-synthesis-reference-transcripts rsem-preref rsem-parse-alignments rsem-build-read-index rsem-run-em rsem-tbam2gbam rsem-run-gibbs rsem-calculate-credibility-intervals rsem-simulate-reads rsem-bam2wig rsem-get-unique rsem-bam2readdepth rsem-sam-validator rsem-scan-for-paired-end-reads
+PROGRAMS = \
+ rsem-extract-reference-transcripts \
+ rsem-synthesis-reference-transcripts \
+ rsem-preref \
+ rsem-parse-alignments \
+ rsem-build-read-index \
+ rsem-run-em \
+ rsem-tbam2gbam \
+ rsem-run-gibbs \
+ rsem-calculate-credibility-intervals \
+ rsem-simulate-reads \
+ rsem-bam2wig \
+ rsem-get-unique \
+ rsem-bam2readdepth \
+ rsem-sam-validator \
+ rsem-scan-for-paired-end-reads
.PHONY : all ebseq clean