diff options
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | PKGBUILD | 51 | ||||
-rw-r--r-- | quake-0.3.1-getopt.patch | 33 | ||||
-rw-r--r-- | quake-0.3.1-makefile.patch | 83 | ||||
-rw-r--r-- | quake-0.3.1-nameclash.patch | 109 |
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 |