summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD51
-rw-r--r--quake-0.3.1-getopt.patch33
-rw-r--r--quake-0.3.1-makefile.patch83
-rw-r--r--quake-0.3.1-nameclash.patch109
5 files changed, 300 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..c5df5377757e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,24 @@
+pkgbase = quake-bio
+ pkgdesc = A package to correct Illumina DNA sequencing reads
+ pkgver = 0.3.1
+ pkgrel = 2
+ url = http://www.cbcb.umd.edu/software/quake
+ arch = i686
+ arch = x86_64
+ license = Artistic2.0
+ makedepends = boost
+ depends = jellyfish
+ depends = boost-libs
+ depends = r
+ depends = python2
+ source = http://www.cbcb.umd.edu/software/quake/downloads/quake-0.3.1.tar.gz
+ source = quake-0.3.1-getopt.patch
+ source = quake-0.3.1-makefile.patch
+ source = quake-0.3.1-nameclash.patch
+ md5sums = 3f72ea0dedc8bc4c0bd0bd5c76235a93
+ md5sums = ae1d6f62706b041902ec63320a40f90b
+ md5sums = aa6fe2f977c9d9dd613890663c39cb2a
+ md5sums = c4acdbddf1d4e01c813ced61aec9d135
+
+pkgname = quake-bio
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..7d1a1acce9f5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Eric Biggers <ebiggers3 at gmail dot com>
+
+pkgname=quake-bio # Not to be confused with Quake the game...
+pkgver=0.3.1
+pkgrel=2
+pkgdesc="A package to correct Illumina DNA sequencing reads"
+arch=("i686" "x86_64")
+url="http://www.cbcb.umd.edu/software/quake"
+license=("Artistic2.0")
+depends=("jellyfish" "boost-libs" "r" "python2")
+makedepends=("boost")
+source=("http://www.cbcb.umd.edu/software/quake/downloads/quake-0.3.1.tar.gz"
+ "quake-${pkgver}-getopt.patch"
+ "quake-${pkgver}-makefile.patch"
+ "quake-${pkgver}-nameclash.patch"
+ )
+
+build() {
+ cd Quake
+ patch -p1 < ${srcdir}/quake-${pkgver}-getopt.patch
+ patch -p1 < ${srcdir}/quake-${pkgver}-makefile.patch
+
+ # count-qmers and count-kmers conflict with AMOS. Just prefix all the
+ # binaries with `quake'.
+ patch -p1 < ${srcdir}/quake-${pkgver}-nameclash.patch
+ sed -i -e 's@jellyfish_dir\s\+=\s\+quake_dir@jellyfish_dir = "/usr/bin"@' \
+ bin/quake.py
+ sed -i -e '1s@#!/usr/bin/env python@&2@' bin/*.py
+ cd src
+ make
+}
+
+package() {
+ cd Quake
+ install -Dm644 README ${pkgdir}/usr/share/doc/quake/README
+ mkdir -p ${pkgdir}/usr/bin
+ cp bin/*.{py,r} src/quake-* ${pkgdir}/usr/bin
+}
+
+md5sums=('3f72ea0dedc8bc4c0bd0bd5c76235a93'
+ 'ae1d6f62706b041902ec63320a40f90b'
+ 'aa6fe2f977c9d9dd613890663c39cb2a'
+ 'fa6529f2c0a0eb7a7f165a44691df5b2')
+md5sums=('3f72ea0dedc8bc4c0bd0bd5c76235a93'
+ 'ae1d6f62706b041902ec63320a40f90b'
+ 'aa6fe2f977c9d9dd613890663c39cb2a'
+ '57b3720c486ba71bd9dcd8e730134cfd')
+md5sums=('3f72ea0dedc8bc4c0bd0bd5c76235a93'
+ 'ae1d6f62706b041902ec63320a40f90b'
+ 'aa6fe2f977c9d9dd613890663c39cb2a'
+ 'c4acdbddf1d4e01c813ced61aec9d135')
diff --git a/quake-0.3.1-getopt.patch b/quake-0.3.1-getopt.patch
new file mode 100644
index 000000000000..387995172467
--- /dev/null
+++ b/quake-0.3.1-getopt.patch
@@ -0,0 +1,33 @@
+diff -rup old/src/count_qmers.cpp new/src/count_qmers.cpp
+--- old/src/count_qmers.cpp 2012-04-03 12:12:24.000000000 -0400
++++ new/src/count_qmers.cpp 2012-06-14 23:41:10.410659104 -0400
+@@ -4,6 +4,7 @@
+ #include <iostream>
+ #include <fstream>
+ #include <math.h>
++#include <unistd.h>
+ #include "count.h"
+ #include "qmer_hash.h"
+
+diff -rup old/src/count-qmers.cpp new/src/count-qmers.cpp
+--- old/src/count-qmers.cpp 2012-04-03 12:12:24.000000000 -0400
++++ new/src/count-qmers.cpp 2012-06-14 23:41:13.487325583 -0400
+@@ -4,6 +4,7 @@
+ #include <iostream>
+ #include <fstream>
+ #include <math.h>
++#include <unistd.h>
+ #include "count.h"
+
+ using namespace std;
+diff -rup old/src/stats.cpp new/src/stats.cpp
+--- old/src/stats.cpp 2012-04-03 12:12:24.000000000 -0400
++++ new/src/stats.cpp 2012-06-14 23:41:16.890658706 -0400
+@@ -3,6 +3,7 @@
+ #include <vector>
+ #include <map>
+ #include <cstring>
++#include <unistd.h>
+
+ #include <ext/hash_map>
+ namespace Sgi = ::__gnu_cxx; // GCC 4.0 and later
diff --git a/quake-0.3.1-makefile.patch b/quake-0.3.1-makefile.patch
new file mode 100644
index 000000000000..80878cb0fd2d
--- /dev/null
+++ b/quake-0.3.1-makefile.patch
@@ -0,0 +1,83 @@
+diff -rup old/src/Makefile new/src/Makefile
+--- old/src/Makefile 2012-04-03 12:12:24.000000000 -0400
++++ new/src/Makefile 2012-06-14 23:46:18.330640119 -0400
+@@ -1,8 +1,10 @@
+-CC=g++
+-CFLAGS=-O3 -fopenmp -I/opt/local/var/macports/software/boost/1.46.1_0/opt/local/include -I.
+-LDFLAGS=-L. -lgzstream -lz
++CXX := g++
++CXXFLAGS := $(CXXFLAGS) -fopenmp -I.
++LDFLAGS := -L. -lgzstream -lz
+ #INCLUDEDIR=
+-EXE_FILES = correct count-kmers count-qmers count_qmers reduce-kmers reduce-qmers trim build_bithash correct_stats
++EXE_FILES := correct count-kmers count-qmers \
++ count_qmers reduce-kmers reduce-qmers \
++ trim build_bithash correct_stats
+ .PHONY: all clean
+
+ all: $(EXE_FILES)
+@@ -11,49 +13,49 @@ clean:
+ -rm $(EXE_FILES) *.o
+
+ correct: correct.cpp Read.o bithash.o edit.o libgzstream.a
+- $(CC) $(CFLAGS) correct.cpp Read.o bithash.o edit.o -o correct $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) correct.cpp Read.o bithash.o edit.o -o correct $(LDFLAGS)
+
+ count-kmers: count-kmers.cpp count.o
+- $(CC) $(CFLAGS) count-kmers.cpp count.o -o count-kmers
++ $(CXX) $(CXXFLAGS) count-kmers.cpp count.o -o count-kmers
+
+ count-qmers: count-qmers.cpp count.o
+- $(CC) $(CFLAGS) count-qmers.cpp count.o -o count-qmers
++ $(CXX) $(CXXFLAGS) count-qmers.cpp count.o -o count-qmers
+
+ count_qmers: count_qmers.cpp count.o qmer_hash.o
+- $(CC) $(CFLAGS) -o count_qmers count_qmers.cpp count.o qmer_hash.o
++ $(CXX) $(CXXFLAGS) -o count_qmers count_qmers.cpp count.o qmer_hash.o
+
+ qmer_hash.o: qmer_hash.cpp qmer_hash.h
+- $(CC) $(CFLAGS) -c qmer_hash.cpp
++ $(CXX) $(CXXFLAGS) -c qmer_hash.cpp
+
+ reduce-kmers: reduce-kmers.cpp
+- $(CC) $(CFLAGS) reduce-kmers.cpp -o reduce-kmers
++ $(CXX) $(CXXFLAGS) reduce-kmers.cpp -o reduce-kmers
+
+ reduce-qmers: reduce-qmers.cpp
+- $(CC) $(CFLAGS) reduce-qmers.cpp -o reduce-qmers
++ $(CXX) $(CXXFLAGS) reduce-qmers.cpp -o reduce-qmers
+
+ trim: trim.cpp Read.o bithash.o edit.o libgzstream.a
+- $(CC) $(CFLAGS) trim.cpp Read.o bithash.o edit.o -o trim $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) trim.cpp Read.o bithash.o edit.o -o trim $(LDFLAGS)
+
+ build_bithash: build_bithash.cpp bithash.o
+- $(CC) $(CFLAGS) build_bithash.cpp bithash.o -o build_bithash
++ $(CXX) $(CXXFLAGS) build_bithash.cpp bithash.o -o build_bithash
+
+ correct_stats: stats.cpp
+- $(CC) $(CFLAGS) stats.cpp -o correct_stats
++ $(CXX) $(CXXFLAGS) stats.cpp -o correct_stats
+
+ Read.o: Read.cpp Read.h bithash.o
+- $(CC) $(CFLAGS) -c Read.cpp
++ $(CXX) $(CXXFLAGS) -c Read.cpp
+
+ edit.o: edit.cpp edit.h
+- $(CC) $(CFLAGS) -c edit.cpp
++ $(CXX) $(CXXFLAGS) -c edit.cpp
+
+ bithash.o: bithash.cpp bithash.h
+- $(CC) $(CFLAGS) -c bithash.cpp
++ $(CXX) $(CXXFLAGS) -c bithash.cpp
+
+ count.o: count.cpp
+- $(CC) $(CFLAGS) -c count.cpp
++ $(CXX) $(CXXFLAGS) -c count.cpp
+
+ gzstream.o: gzstream.C gzstream.h
+- $(CC) $(CFLAGS) -c -o gzstream.o gzstream.C
++ $(CXX) $(CXXFLAGS) -c -o gzstream.o gzstream.C
+
+ libgzstream.a: gzstream.o
+ ar cr libgzstream.a gzstream.o
diff --git a/quake-0.3.1-nameclash.patch b/quake-0.3.1-nameclash.patch
new file mode 100644
index 000000000000..9234a58475c6
--- /dev/null
+++ b/quake-0.3.1-nameclash.patch
@@ -0,0 +1,109 @@
+Only in old/bin: build_bithash
+Only in old/bin: correct
+Only in old/bin: count-kmers
+Only in old/bin: count-qmers
+diff -rup old/bin/quake.py new/bin/quake.py
+--- old/bin/quake.py 2012-06-22 22:58:49.675854704 -0400
++++ new/bin/quake.py 2012-06-22 22:58:34.139187280 -0400
+@@ -117,14 +117,14 @@ def main():
+ correct_options = make_cor_opts(options)
+ if options.model_gc:
+ # run correct C++ code
+- p = subprocess.Popen('%s/correct %s %s -m %s -a cutoffs.gc.txt -q %d' % (quake_dir, correct_options, reads_str, ctsf, quality_scale), shell=True)
++ p = subprocess.Popen('%s/quake-correct %s %s -m %s -a cutoffs.gc.txt -q %d' % (quake_dir, correct_options, reads_str, ctsf, quality_scale), shell=True)
+ os.waitpid(p.pid, 0)
+
+ else:
+ cutoff = get_cutoff()
+
+ # run correct C++ code
+- p = subprocess.Popen('%s/correct %s %s -m %s -c %s -q %d' % (quake_dir, correct_options, reads_str, ctsf, cutoff, quality_scale), shell=True)
++ p = subprocess.Popen('%s/quake-correct %s %s -m %s -c %s -q %d' % (quake_dir, correct_options, reads_str, ctsf, cutoff, quality_scale), shell=True)
+ os.waitpid(p.pid, 0)
+
+
+@@ -146,9 +146,9 @@ def count_kmers(readsf, reads_listf, k,
+
+ # count
+ if ctsf[-4:] == 'qcts':
+- p = subprocess.Popen('cat %s | %s/count-qmers -k %d -q %d > %s' % (' '.join(fq_files), quake_dir, k, quality_scale, ctsf), shell=True)
++ p = subprocess.Popen('cat %s | %s/quake-count-qmers -k %d -q %d > %s' % (' '.join(fq_files), quake_dir, k, quality_scale, ctsf), shell=True)
+ else:
+- p = subprocess.Popen('cat %s | %s/count-kmers -k %d > %s' % (' '.join(fq_files), quake_dir, k, ctsf), shell=True)
++ p = subprocess.Popen('cat %s | %s/quake-count-kmers -k %d > %s' % (' '.join(fq_files), quake_dir, k, ctsf), shell=True)
+ os.waitpid(p.pid, 0)
+
+
+diff -rup old/src/Makefile new/src/Makefile
+--- old/src/Makefile 2012-06-22 22:58:58.809188485 -0400
++++ new/src/Makefile 2012-06-22 23:06:00.979209086 -0400
+@@ -2,9 +2,9 @@ CXX := g++
+ CXXFLAGS := $(CXXFLAGS) -fopenmp -I.
+ LDFLAGS := -L. -lgzstream -lz
+ #INCLUDEDIR=
+-EXE_FILES := correct count-kmers count-qmers \
+- count_qmers reduce-kmers reduce-qmers \
+- trim build_bithash correct_stats
++EXE_FILES := quake-correct quake-count-kmers quake-count-qmers \
++ quake-count-qmers2 quake-reduce-kmers quake-reduce-qmers \
++ quake-trim quake-build-bithash quake-correct-stats
+ .PHONY: all clean
+
+ all: $(EXE_FILES)
+@@ -12,35 +12,36 @@ all: $(EXE_FILES)
+ clean:
+ -rm $(EXE_FILES) *.o
+
+-correct: correct.cpp Read.o bithash.o edit.o libgzstream.a
+- $(CXX) $(CXXFLAGS) correct.cpp Read.o bithash.o edit.o -o correct $(LDFLAGS)
++quake-correct: correct.cpp Read.o bithash.o edit.o libgzstream.a
++ $(CXX) $(CXXFLAGS) correct.cpp Read.o bithash.o edit.o -o $@ $(LDFLAGS)
+
+-count-kmers: count-kmers.cpp count.o
+- $(CXX) $(CXXFLAGS) count-kmers.cpp count.o -o count-kmers
++quake-count-kmers: count-kmers.cpp count.o
++ $(CXX) $(CXXFLAGS) count-kmers.cpp count.o -o $@
+
+-count-qmers: count-qmers.cpp count.o
+- $(CXX) $(CXXFLAGS) count-qmers.cpp count.o -o count-qmers
++quake-count-qmers: count-qmers.cpp count.o
++ $(CXX) $(CXXFLAGS) count-qmers.cpp count.o -o $@
+
+-count_qmers: count_qmers.cpp count.o qmer_hash.o
+- $(CXX) $(CXXFLAGS) -o count_qmers count_qmers.cpp count.o qmer_hash.o
++quake-count-qmers2: count_qmers.cpp count.o qmer_hash.o
++ $(CXX) $(CXXFLAGS) -o $@ count_qmers.cpp count.o qmer_hash.o
+
+-qmer_hash.o: qmer_hash.cpp qmer_hash.h
+- $(CXX) $(CXXFLAGS) -c qmer_hash.cpp
+
+-reduce-kmers: reduce-kmers.cpp
+- $(CXX) $(CXXFLAGS) reduce-kmers.cpp -o reduce-kmers
++quake-reduce-kmers: reduce-kmers.cpp
++ $(CXX) $(CXXFLAGS) reduce-kmers.cpp -o $@
++
++quake-reduce-qmers: reduce-qmers.cpp
++ $(CXX) $(CXXFLAGS) reduce-qmers.cpp -o $@
+
+-reduce-qmers: reduce-qmers.cpp
+- $(CXX) $(CXXFLAGS) reduce-qmers.cpp -o reduce-qmers
++quake-trim: trim.cpp Read.o bithash.o edit.o libgzstream.a
++ $(CXX) $(CXXFLAGS) trim.cpp Read.o bithash.o edit.o -o $@ $(LDFLAGS)
+
+-trim: trim.cpp Read.o bithash.o edit.o libgzstream.a
+- $(CXX) $(CXXFLAGS) trim.cpp Read.o bithash.o edit.o -o trim $(LDFLAGS)
++quake-build-bithash: build_bithash.cpp bithash.o
++ $(CXX) $(CXXFLAGS) build_bithash.cpp bithash.o -o $@
+
+-build_bithash: build_bithash.cpp bithash.o
+- $(CXX) $(CXXFLAGS) build_bithash.cpp bithash.o -o build_bithash
++quake-correct-stats: stats.cpp
++ $(CXX) $(CXXFLAGS) stats.cpp -o $@
+
+-correct_stats: stats.cpp
+- $(CXX) $(CXXFLAGS) stats.cpp -o correct_stats
++qmer_hash.o: qmer_hash.cpp qmer_hash.h
++ $(CXX) $(CXXFLAGS) -c qmer_hash.cpp
+
+ Read.o: Read.cpp Read.h bithash.o
+ $(CXX) $(CXXFLAGS) -c Read.cpp