debian/0000755000000000000000000000000012151572713007172 5ustar debian/source/0000755000000000000000000000000012133733413010466 5ustar debian/source/format0000644000000000000000000000001412133733413011674 0ustar 3.0 (quilt) debian/get-orig-source0000644000000000000000000000131212133733413012121 0ustar #!/bin/sh # script to download and repack source package of bowtie which comes in zip format PKG=`dpkg-parsechangelog | awk '/^Source/ { print $2 }'` VERSION=`uscan --verbose --force-download | \ grep "Newest version on remote site is .* local version is .*" | \ head -n 1 | \ sed "s/Newest version on remote site is \([-0-9.]\+\),.*/\1/"` mkdir -p ../tarballs cd ../tarballs UPSTREAMDIR=${PKG}-${VERSION} unzip ../"${UPSTREAMDIR}-src.zip" ## remove copy of SeqAn library - unfortunately the package does not compile ## with the Debian packaged version 1.2 #rm -rf "${UPSTREAMDIR}"/SeqAn-1.1 GZIP="--best --no-name" tar -czf "$PKG"_"$VERSION".orig.tar.gz "${UPSTREAMDIR}" rm -rf "${UPSTREAMDIR}" debian/upstream0000644000000000000000000000060012133733413010745 0ustar Reference: author: Ben Langmead and Cole Trapnell and Mihai Pop and Steven L Salzberg title: Ultrafast and memory-efficient alignment of short DNA sequences to the human genome journal: Genome Biology volume: 10 pages: R25 year: 2009 DOI: 10.1186/gb-2009-10-3-r25 URL: http://genomebiology.com/2009/10/3/R25 eprint: http://genomebiology.com/content/pdf/gb-2009-10-3-r25.pdf debian/compat0000644000000000000000000000000212133733413010364 0ustar 9 debian/bowtie-examples.install0000644000000000000000000000011612133733413013661 0ustar genomes usr/share/doc/bowtie/examples indexes usr/share/doc/bowtie/examples debian/bowtie.dirs0000644000000000000000000000002312133733413011335 0ustar usr/share/man/man1 debian/README.source0000644000000000000000000000104112151442334011340 0ustar bowtie for Debian ----------------- The bowtie upstream source includes version 1.1 of SeqAn library and uses it in compilation. This Debian package changes build process and updates bowtie's source so that Debian's seqan package is used. If you believe this leads to problems, please inform Debian maintainer or Debian-Med team. Bowtie build process have ability to select 32 or 64 bit version. This is disabled and it is expected that users will use multiarch abilities of Debian for choosing between running 32-bit or 64-bit version. debian/doc-base0000644000000000000000000000176212133733413010574 0ustar Document: bowtie Title: Manual for bowtie Author: Ben Langmead Abstract: ultrafast memory-efficient short read aligner Bowtie is an ultrafast, memory-efficient short read aligner geared toward quickly aligning large sets of short DNA sequences (reads) to large genomes. It aligns 35-base-pair reads to the human genome at a rate of 25 million reads per hour on a typical workstation. Bowtie indexes the genome with a Burrows-Wheeler index to keep its memory footprint small: for the human genome, the index is typically about 2.2 GB (for unpaired alignment) or 2.9 GB (for paired-end or colorspace alignment). Multiple processors can be used simultaneously to achieve greater alignment speed. Bowtie can also output alignments in the standard SAM format, allowing Bowtie to interoperate with other tools supporting SAM, including the SAMtools consensus, SNP, and indel callers. Section: Science/Biology Format: html Files: /usr/share/doc/bowtie/manual.html Index: /usr/share/doc/bowtie/manual.html debian/changelog0000644000000000000000000000555712151572225011056 0ustar bowtie (1.0.0-5) unstable; urgency=low * Fixed (hopefully) FTBFS by using override_dh_fixperms-indep target instead of override_dh_fixperms in debian/rules. -- Ognyan Kulev Thu, 30 May 2013 09:41:25 +0300 bowtie (1.0.0-4) unstable; urgency=low * Lintian fixes: - Removed DM-Upload-Allowed field. - Standards Version 3.9.4 (no changes needed). - Remove execute bits on some files in bowtie-examples. * Don't compress *.ebwt index files in bowtie-examples package. * Package description now starts with a capital letter. -- Ognyan Kulev Wed, 29 May 2013 22:53:13 +0300 bowtie (1.0.0-3) unstable; urgency=low * New patch no_hash_style_both_for_mips.patch. This fixes build errors on mips and mipsel. -- Ognyan Kulev Wed, 24 Apr 2013 15:15:37 +0300 bowtie (1.0.0-2) unstable; urgency=low * Requires version 1.3 of SeqAn. * Updated README.source about using Debian's SeqAn library. * Removed machine_bits_detection.patch and added disable_bits_flag.patch. -- Ognyan Kulev Wed, 24 Apr 2013 10:49:47 +0300 bowtie (1.0.0-1) unstable; urgency=low * New upstream version. (Closes: #705616) * Refreshed patches: use_debian_seqan.patch, use-dpkg-buildflags.patch. * Removed patch gcc-4.7.patch (fixed upstream). * New patch machine_bits_detection.patch. * Added build dependancy on seqan-dev. * Activated use_debian_seqan.patch and added the following patches: - seqan-fix-setBegin-call.patch - seqan-rename-ChunkPool.patch - seqan-rename-fill-to-resize.patch * Added myself to Uploaders control field. -- Ognyan Kulev Tue, 23 Apr 2013 16:43:49 +0300 bowtie (0.12.7-3) unstable; urgency=low * debian/patches/use-dpkg-buildflags.patch: Regard LDFLAGS/CPPFLAGS hardening flags (thanks for the patch to Simon Ruderich ) Closes: #670230 -- Andreas Tille Tue, 24 Apr 2012 13:21:32 +0200 bowtie (0.12.7-2) unstable; urgency=low * Do not give a pointer to non existing info pages in manpages * debian/control: - fixed Vcs fields - Standards-Version: 3.9.3 (no changes needed) * debian/upstream: Add citation information * debian/rules: calculate pkg name instead of setting it * debian/copyright: DEP5 verified using cme fix dpkg-copyright * debian/patches/gcc-4.7.patch: function "reverseInPlace" is declared after the function is used Thanks to Rodolfo García Peñas and gregor herrmann Closes: #667120 * debhelper 9 (control+compat) Hardening flags were explicitly tested but not enforced in debian/rules -- Andreas Tille Sun, 22 Apr 2012 21:09:05 +0200 bowtie (0.12.7-1) unstable; urgency=low * Initial release (Closes: #604940) -- Andreas Tille Wed, 02 Feb 2011 13:47:12 +0100 debian/control0000644000000000000000000000421412151447144010575 0ustar Source: bowtie Section: science Priority: extra Maintainer: Debian Med Packaging Team Uploaders: Steffen Moeller , Yask Gupta , Andreas Tille , Ognyan Kulev Build-Depends: debhelper (>= 9), help2man, seqan-dev (>= 1.3) Standards-Version: 3.9.4 Homepage: http://bowtie-bio.sourceforge.net/ Vcs-Svn: svn://svn.debian.org/debian-med/trunk/packages/bowtie/trunk Vcs-Browser: http://svn.debian.org/wsvn/debian-med/trunk/packages/bowtie/trunk/ Package: bowtie Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: bowtie-examples Description: Ultrafast memory-efficient short read aligner This package addresses the problem to interpret the results from the latest (2010) DNA sequencing technologies. Those will yield fairly short stretches and those cannot be interpreted directly. It is the challenge for tools like Bowtie to give a chromosomal location to the short stretches of DNA sequenced per run. . Bowtie aligns short DNA sequences (reads) to the human genome at a rate of over 25 million 35-bp reads per hour. Bowtie indexes the genome with a Burrows-Wheeler index to keep its memory footprint small: typically about 2.2 GB for the human genome (2.9 GB for paired-end). Package: bowtie-examples Architecture: all Depends: ${misc:Depends} Recommends: bowtie Enhances: bowtie Description: Examples for bowtie, the ultrafast memory-efficient short read aligner This package addresses the problem to interpret the results from the latest (2010) DNA sequencing technologies. Those will yield fairly short stretches and those cannot be interpreted directly. It is the challenge for tools like Bowtie to give a chromosomal location to the short stretches of DNA sequenced per run. . Bowtie aligns short DNA sequences (reads) to the human genome at a rate of over 25 million 35-bp reads per hour. Bowtie indexes the genome with a Burrows-Wheeler index to keep its memory footprint small: typically about 2.2 GB for the human genome (2.9 GB for paired-end). . This package provides some example data to work with bowtie. debian/patches/0000755000000000000000000000000012151442703010614 5ustar debian/patches/use-dpkg-buildflags.patch0000644000000000000000000000106012133733503015464 0ustar Description: Use build flags from environment (dpkg-buildflags). Necessary for hardening flags. Author: Simon Ruderich Last-Update: 2012-04-24 Bug-Closed: http://bugs.debian.org/670230 --- a/Makefile +++ b/Makefile @@ -173,7 +173,7 @@ $(MM_DEF) \ $(SHMEM_DEF) -ALL_FLAGS = $(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS) +ALL_FLAGS = $(EXTRA_FLAGS) $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(ALL_FLAGS)\"" RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(ALL_FLAGS)\"" debian/patches/disable_bits_flag.patch0000644000000000000000000000107712151442333015256 0ustar Description: Disable architecture bits detection. In Debian, you can use multiarch facilities for choosing which version to run. Author: Ognyan Kulev Forwarded: not-needed Last-Update: 2013-04-24 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- bowtie-1.0.0.orig/Makefile +++ bowtie-1.0.0/Makefile @@ -121,6 +121,9 @@ BITS_FLAG = -m64 endif +# Debian: Disable selection of 32/64-bits. Use multiarch instead. +BITS_FLAG = + DEBUG_FLAGS = -O0 -g3 $(BITS_FLAG) RELEASE_FLAGS = -O3 $(BITS_FLAG) NOASSERT_FLAGS = -DNDEBUG debian/patches/series0000644000000000000000000000031012151442703012023 0ustar use-dpkg-buildflags.patch use_debian_seqan.patch seqan-fix-setBegin-call.patch seqan-rename-ChunkPool.patch seqan-rename-fill-to-resize.patch disable_bits_flag.patch no_hash_style_both_for_mips.patch debian/patches/seqan-rename-fill-to-resize.patch0000644000000000000000000000562212133741324017062 0ustar Description: Renamed seqan::fill function calls to use seqan::resize. SeqAn 1.3 renamed seqan::fill() to seqan::resize(). SeqAn ticket: http://trac.seqan.de/ticket/77 Forwarded: no Author: Ognyan Kulev Last-Update: 2013-04-18 --- a/blockwise_sa.h +++ b/blockwise_sa.h @@ -448,8 +448,8 @@ try { // Allocate and initialize containers for holding bucket // sizes and representatives. - fill(bucketSzs, numBuckets, 0, Exact()); - fill(bucketReps, numBuckets, 0xffffffff, Exact()); + resize(bucketSzs, numBuckets, 0, Exact()); + resize(bucketReps, numBuckets, 0xffffffff, Exact()); } catch(bad_alloc &e) { if(this->_passMemExc) { throw e; // rethrow immediately @@ -806,7 +806,7 @@ // Not the last bucket assert_lt(_cur, length(_sampleSuffs)); hi = _sampleSuffs[_cur]; - fill(zHi, _dcV, 0, Exact()); + resize(zHi, _dcV, 0, Exact()); assert_eq(zHi[0], 0); calcZ(t, hi, zHi, this->verbose(), this->sanityCheck()); } @@ -815,7 +815,7 @@ assert_gt(_cur, 0); assert_leq(_cur, length(_sampleSuffs)); lo = _sampleSuffs[_cur-1]; - fill(zLo, _dcV, 0, Exact()); + resize(zLo, _dcV, 0, Exact()); assert_gt(_dcV, 3); assert_eq(zLo[0], 0); calcZ(t, lo, zLo, this->verbose(), this->sanityCheck()); --- a/diff_sample.h +++ b/diff_sample.h @@ -451,7 +451,7 @@ // Declare anchor-map-related items String amap; size_t amapEnts = 1; - fill(amap, v, 0xffffffff, Exact()); + resize(amap, v, 0xffffffff, Exact()); amap[0] = 0; // Print out difference cover (and optionally calculate // anchor map) @@ -531,7 +531,7 @@ assert_gt(_d, 0); assert_eq(1, popCount(_v)); // must be power of 2 // Build map from d's to idx's - fill(_dInv, _v, 0xffffffff, Exact()); + resize(_dInv, _v, 0xffffffff, Exact()); for(size_t i = 0; i < length(_ds); i++) _dInv[_ds[i]] = i; } @@ -652,7 +652,7 @@ VMSG_NL(" Doing sanity check"); uint32_t added = 0; String sorted; - fill(sorted, length(_isaPrime), 0xffffffff, Exact()); + resize(sorted, length(_isaPrime), 0xffffffff, Exact()); for(size_t di = 0; di < this->d(); di++) { uint32_t d = _ds[di]; size_t i = 0; @@ -713,7 +713,7 @@ assert_eq(length(_doffs), d+1); // Size sPrime appropriately reserve(sPrime, sPrimeSz+1, Exact()); // reserve extra slot for LS - fill(sPrime, sPrimeSz, 0xffffffff, Exact()); + resize(sPrime, sPrimeSz, 0xffffffff, Exact()); // Slot suffixes from text into sPrime according to the mu // mapping; where the mapping would leave a blank, insert a 0 uint32_t added = 0; @@ -818,7 +818,7 @@ // arrays back into sPrime. VMSG_NL(" Allocating rank array"); reserve(_isaPrime, length(sPrime)+1, Exact()); - fill(_isaPrime, length(sPrime), 0xffffffff, Exact()); + resize(_isaPrime, length(sPrime), 0xffffffff, Exact()); assert_gt(length(_isaPrime), 0); { Timer timer(cout, " Ranking v-sort output time: ", this->verbose()); debian/patches/seqan-fix-setBegin-call.patch0000644000000000000000000000234412133740657016213 0ustar Description: Proper type-casting in using seqan::_setBegin(). Required by newer versions of GCC. Forwarded: no Author: Ognyan Kulev Last-Update: 2013-04-18 --- a/pat.h +++ b/pat.h @@ -82,20 +82,20 @@ ~ReadBuf() { clearAll(); reset(); // Prevent seqan from trying to free buffers - _setBegin(patFw, NULL); - _setBegin(patRc, NULL); - _setBegin(qual, NULL); - _setBegin(patFwRev, NULL); - _setBegin(patRcRev, NULL); - _setBegin(qualRev, NULL); - _setBegin(name, NULL); + _setBegin(patFw, (Dna5*)NULL); + _setBegin(patRc, (Dna5*)NULL); + _setBegin(qual, (char*)NULL); + _setBegin(patFwRev, (Dna5*)NULL); + _setBegin(patRcRev, (Dna5*)NULL); + _setBegin(qualRev, (char*)NULL); + _setBegin(name, (char*)NULL); for(int j = 0; j < 3; j++) { - _setBegin(altPatFw[j], NULL); - _setBegin(altPatFwRev[j], NULL); - _setBegin(altPatRc[j], NULL); - _setBegin(altPatRcRev[j], NULL); - _setBegin(altQual[j], NULL); - _setBegin(altQualRev[j], NULL); + _setBegin(altPatFw[j], (Dna5*)NULL); + _setBegin(altPatFwRev[j], (Dna5*)NULL); + _setBegin(altPatRc[j], (Dna5*)NULL); + _setBegin(altPatRcRev[j], (Dna5*)NULL); + _setBegin(altQual[j], (char*)NULL); + _setBegin(altQualRev[j], (char*)NULL); } } debian/patches/no_hash_style_both_for_mips.patch0000644000000000000000000000113212151442333017402 0ustar Description: Disable -Wl,--hash-style=both on mips machines. It's not supported on mips and mipsel ports and leads to build errors. Author: Ognyan Kulev Forwarded: not-needed Last-Update: 2013-04-24 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- bowtie-1.0.0.orig/Makefile +++ bowtie-1.0.0/Makefile @@ -45,7 +45,9 @@ LINUX = 0 ifneq (,$(findstring Linux,$(shell uname))) LINUX = 1 - EXTRA_FLAGS += -Wl,--hash-style=both + ifeq (,$(findstring mips,$(shell uname -m))) + EXTRA_FLAGS += -Wl,--hash-style=both + endif endif MM_DEF = debian/patches/seqan-rename-ChunkPool.patch0000644000000000000000000002552212133741127016121 0ustar Description: Renamed ChunkPool class to bowtieChunkPool. SeqAn has a class with the same name and fatal name collision happens. Forwarded: no Author: Ognyan Kulev Last-Update: 2013-04-18 --- a/aligner.h +++ b/aligner.h @@ -337,7 +337,7 @@ bool verbose, bool quiet, int maxBts, - ChunkPool *pool, + bowtieChunkPool *pool, int *btCnt = NULL, AlignerMetrics *metrics = NULL) : Aligner(true, rangeMode), @@ -544,7 +544,7 @@ bool quiet_; // don't print informational/warning info const int maxBts_; - ChunkPool *pool_; + bowtieChunkPool *pool_; int *btCnt_; AlignerMetrics *metrics_; }; @@ -585,7 +585,7 @@ bool verbose, bool quiet, int maxBts, - ChunkPool *pool, + bowtieChunkPool *pool, int *btCnt) : Aligner(true, rangeMode), refs_(refs), @@ -1358,7 +1358,7 @@ bool quiet_; int maxBts_; - ChunkPool *pool_; + bowtieChunkPool *pool_; int *btCnt_; // Range-finding state for first mate @@ -1482,7 +1482,7 @@ bool verbose, bool quiet, int maxBts, - ChunkPool *pool, + bowtieChunkPool *pool, int *btCnt) : Aligner(true, rangeMode), refs_(refs), @@ -2035,7 +2035,7 @@ TDriver* driver_; // Pool for distributing chunks of best-first path descriptor memory - ChunkPool *pool_; + bowtieChunkPool *pool_; bool verbose_; bool quiet_; --- a/aligner_0mm.h +++ b/aligner_0mm.h @@ -32,7 +32,7 @@ RangeCache* cacheFw, RangeCache* cacheBw, uint32_t cacheLimit, - ChunkPool *pool, + bowtieChunkPool *pool, BitPairReference* refs, vector >& os, bool maqPenalty, @@ -124,7 +124,7 @@ RangeCache *cacheFw_; RangeCache *cacheBw_; const uint32_t cacheLimit_; - ChunkPool *pool_; + bowtieChunkPool *pool_; BitPairReference* refs_; vector >& os_; bool maqPenalty_; @@ -164,7 +164,7 @@ RangeCache* cacheFw, RangeCache* cacheBw, uint32_t cacheLimit, - ChunkPool *pool, + bowtieChunkPool *pool, BitPairReference* refs, vector >& os, bool reportSe, @@ -366,7 +366,7 @@ RangeCache *cacheFw_; RangeCache *cacheBw_; const uint32_t cacheLimit_; - ChunkPool *pool_; + bowtieChunkPool *pool_; BitPairReference* refs_; vector >& os_; const bool reportSe_; --- a/aligner_1mm.h +++ b/aligner_1mm.h @@ -32,7 +32,7 @@ RangeCache *cacheFw, RangeCache *cacheBw, uint32_t cacheLimit, - ChunkPool *pool, + bowtieChunkPool *pool, BitPairReference* refs, vector >& os, bool maqPenalty, @@ -161,7 +161,7 @@ RangeCache *cacheFw_; RangeCache *cacheBw_; const uint32_t cacheLimit_; - ChunkPool *pool_; + bowtieChunkPool *pool_; BitPairReference* refs_; vector >& os_; const bool maqPenalty_; @@ -201,7 +201,7 @@ RangeCache *cacheFw, RangeCache *cacheBw, uint32_t cacheLimit, - ChunkPool *pool, + bowtieChunkPool *pool, BitPairReference* refs, vector >& os, bool reportSe, @@ -478,7 +478,7 @@ RangeCache *cacheFw_; RangeCache *cacheBw_; const uint32_t cacheLimit_; - ChunkPool *pool_; + bowtieChunkPool *pool_; BitPairReference* refs_; vector >& os_; const bool reportSe_; --- a/aligner_23mm.h +++ b/aligner_23mm.h @@ -33,7 +33,7 @@ RangeCache *cacheFw, RangeCache *cacheBw, uint32_t cacheLimit, - ChunkPool *pool, + bowtieChunkPool *pool, BitPairReference* refs, vector >& os, bool maqPenalty, @@ -231,7 +231,7 @@ RangeCache *cacheFw_; RangeCache *cacheBw_; const uint32_t cacheLimit_; - ChunkPool *pool_; + bowtieChunkPool *pool_; BitPairReference* refs_; vector >& os_; const bool maqPenalty_; @@ -273,7 +273,7 @@ RangeCache *cacheFw, RangeCache *cacheBw, uint32_t cacheLimit, - ChunkPool *pool, + bowtieChunkPool *pool, BitPairReference* refs, vector >& os, bool reportSe, @@ -675,7 +675,7 @@ RangeCache *cacheFw_; RangeCache *cacheBw_; const uint32_t cacheLimit_; - ChunkPool *pool_; + bowtieChunkPool *pool_; BitPairReference* refs_; vector >& os_; const bool reportSe_; --- a/aligner_seed_mm.h +++ b/aligner_seed_mm.h @@ -37,7 +37,7 @@ RangeCache* cacheFw, RangeCache* cacheBw, uint32_t cacheLimit, - ChunkPool *pool, + bowtieChunkPool *pool, BitPairReference* refs, vector >& os, bool maqPenalty, @@ -554,7 +554,7 @@ RangeCache *cacheFw_; RangeCache *cacheBw_; const uint32_t cacheLimit_; - ChunkPool *pool_; + bowtieChunkPool *pool_; BitPairReference* refs_; vector >& os_; bool strandFix_; @@ -598,7 +598,7 @@ RangeCache* cacheFw, RangeCache* cacheBw, uint32_t cacheLimit, - ChunkPool *pool, + bowtieChunkPool *pool, BitPairReference* refs, vector >& os, bool reportSe, @@ -1375,7 +1375,7 @@ RangeCache *cacheFw_; RangeCache *cacheBw_; const uint32_t cacheLimit_; - ChunkPool *pool_; + bowtieChunkPool *pool_; BitPairReference* refs_; vector >& os_; const bool reportSe_; --- a/ebwt_search.cpp +++ b/ebwt_search.cpp @@ -110,7 +110,7 @@ static bool randomizeQuals; // randomize quality values static bool stats; // print performance stats static int chunkPoolMegabytes; // max MB to dedicate to best-first search frames per thread -static int chunkSz; // size of single chunk disbursed by ChunkPool +static int chunkSz; // size of single chunk disbursed by bowtieChunkPool static bool chunkVerbose; // have chunk allocator output status messages? static bool recal; static int recalMaxCycle; @@ -221,7 +221,7 @@ randomizeQuals = false; // randomize quality values stats = false; // print performance stats chunkPoolMegabytes = 64; // max MB to dedicate to best-first search frames per thread - chunkSz = 256; // size of single chunk disbursed by ChunkPool (in KB) + chunkSz = 256; // size of single chunk disbursed by bowtieChunkPool (in KB) chunkVerbose = false; // have chunk allocator output status messages? recal = false; recalMaxCycle = 64; @@ -1202,7 +1202,7 @@ PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid); HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink); - ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose); + bowtieChunkPool *pool = new bowtieChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose); UnpairedExactAlignerV1Factory alSEfact( ebwt, NULL, @@ -1371,7 +1371,7 @@ // Global initialization PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid); HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink); - ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose); + bowtieChunkPool *pool = new bowtieChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose); Unpaired1mmAlignerV1Factory alSEfact( ebwtFw, @@ -1668,7 +1668,7 @@ PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid); HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink); - ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose); + bowtieChunkPool *pool = new bowtieChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose); Unpaired23mmAlignerV1Factory alSEfact( ebwtFw, &ebwtBw, @@ -2101,7 +2101,7 @@ // Global initialization PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid); HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink); - ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose); + bowtieChunkPool *pool = new bowtieChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose); AlignerMetrics *metrics = NULL; if(stats) { --- a/ebwt_search_backtrack.h +++ b/ebwt_search_backtrack.h @@ -2724,7 +2724,7 @@ bool verbose, bool quiet, bool mate1, - ChunkPool* pool, + bowtieChunkPool* pool, int *btCnt) : SingleRangeSourceDriver( params, rs, fw, sink, sinkPt, os, verbose, @@ -2927,7 +2927,7 @@ bool verbose, bool quiet, bool mate1, - ChunkPool* pool, + bowtieChunkPool* pool, int *btCnt = NULL) : params_(params), rs_(rs), @@ -2986,7 +2986,7 @@ bool verbose_; bool quiet_; bool mate1_; - ChunkPool* pool_; + bowtieChunkPool* pool_; int *btCnt_; }; --- a/pool.h +++ b/pool.h @@ -19,13 +19,13 @@ * is set at construction time. Heap memory is only allocated at * construction and deallocated at destruction. */ -class ChunkPool { +class bowtieChunkPool { public: /** * Initialize a new pool with an initial size of about 'bytes' * bytes. Exit with an error message if we can't allocate it. */ - ChunkPool(uint32_t chunkSz, uint32_t totSz, bool verbose_) : + bowtieChunkPool(uint32_t chunkSz, uint32_t totSz, bool verbose_) : verbose(verbose_), patid(0), pool_(NULL), cur_(0), chunkSz_(chunkSz), totSz_(totSz), lim_(totSz/chunkSz), bits_(lim_), exhaustCrash_(false), @@ -38,7 +38,7 @@ } } catch(std::bad_alloc& e) { ThreadSafe _ts(&gLock); - std::cerr << "Error: Could not allocate ChunkPool of " + std::cerr << "Error: Could not allocate bowtieChunkPool of " << totSz << " bytes" << std::endl; exhausted(); throw 1; // Exit if we haven't already @@ -48,7 +48,7 @@ /** * Delete all the pools. */ - ~ChunkPool() { + ~bowtieChunkPool() { if(pool_ != NULL) delete[] pool_; } @@ -189,7 +189,7 @@ * Initialize a new pool with an initial size of about 'bytes' * bytes. Exit with an error message if we can't allocate it. */ - AllocOnlyPool(ChunkPool* pool, const char *name) : + AllocOnlyPool(bowtieChunkPool* pool, const char *name) : pool_(pool), name_(name), curPool_(0), cur_(0) { assert(pool != NULL); @@ -388,7 +388,7 @@ lastCurInPool_.pop_back(); } - ChunkPool* pool_; + bowtieChunkPool* pool_; const char *name_; std::vector pools_; /// the memory pools uint32_t curPool_; /// pool we're current allocating from --- a/range_source.h +++ b/range_source.h @@ -1388,7 +1388,7 @@ public: - PathManager(ChunkPool* cpool_, int *btCnt, bool verbose, bool quiet) : + PathManager(bowtieChunkPool* cpool_, int *btCnt, bool verbose, bool quiet) : branchQ_(verbose, quiet), cpool(cpool_), bpool(cpool, "branch"), @@ -1637,7 +1637,7 @@ public: - ChunkPool *cpool; // pool for generic chunks of memory + bowtieChunkPool *cpool; // pool for generic chunks of memory AllocOnlyPool bpool; // pool for allocating Branches AllocOnlyPool rpool; // pool for allocating RangeStates AllocOnlyPool epool; // pool for allocating Edits @@ -1811,7 +1811,7 @@ bool quiet, bool mate1, uint32_t minCostAdjustment, - ChunkPool* pool, + bowtieChunkPool* pool, int *btCnt) : RangeSourceDriver(true, minCostAdjustment), len_(0), mate1_(mate1), debian/patches/use_debian_seqan.patch0000644000000000000000000000132212133740424015121 0ustar Description: Use Debian packaged SeqAn library instead of copy in upstream source Author: Andreas Tille Date: 2011-01-30 Last-Update: 2013-04-18 Reviewed-by: Ognyan Kulev --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # Makefile for bowtie, bowtie-build, bowtie-inspect # -SEQAN_DIR = SeqAn-1.1 +SEQAN_DIR = /usr/include/seqan SEQAN_INC = -I $(SEQAN_DIR) INC = $(SEQAN_INC) CPP = g++ @@ -133,7 +133,6 @@ $(wildcard genomes/NC_008253.fna) \ $(wildcard reads/e_coli_1000.*) \ $(wildcard reads/e_coli_1000_*) \ - SeqAn-1.1 \ doc/manual.html \ doc/README \ doc/style.css \ debian/rules0000755000000000000000000000245112151571115010247 0ustar #!/usr/bin/make -f # debian/rules for bowtie # Andreas Tille # GPL # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # export DEB_BUILD_MAINT_OPTIONS = hardening=+all pkg := $(shell dpkg-parsechangelog | sed -n 's/^Source: //p') %: dh $@ override_dh_auto_build: $(MAKE) allall override_dh_auto_install: help2man --name="ultrafast memory-efficient short read aligner" --no-info \ $(CURDIR)/bowtie > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/bowtie.1 help2man --name="building a colorspace index for bowtie" --no-info \ $(CURDIR)/bowtie-build > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/bowtie-build.1 help2man --name="extracts information from a bowtie index" --no-info \ $(CURDIR)/bowtie-inspect > $(CURDIR)/debian/$(pkg)/usr/share/man/man1/bowtie-inspect.1 override_dh_compress: dh_compress -X.ebwt # Fix bowtie-examples access mode for files in examples/ override_dh_fixperms-indep: dh_fixperms chmod 644 debian/bowtie-examples/usr/share/doc/bowtie/examples/indexes/* # Following line is not needed because gzipped genome/ (by dh_compress) is always 644. # chmod 644 debian/bowtie-examples/usr/share/doc/bowtie/examples/genomes/* override_dh_auto_clean: rm -f .bowtie* dh_auto_clean get-orig-source: . debian/get-orig-source debian/watch0000644000000000000000000000007512133733413010221 0ustar version=3 http://sf.net/bowtie-bio/bowtie-([\d\.]+)-src\.zip debian/bowtie.docs0000644000000000000000000000006312133733413011330 0ustar NEWS MANUAL TUTORIAL doc/manual.html doc/style.css debian/copyright0000644000000000000000000000475712133733413011136 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Bowtie Upstream-Contact: Ben Langmead Source: http://sourceforge.net/projects/bowtie-bio/files/bowtie/ Files: * Copyright: © 2009-2010 Ben Langmead, C. Trapnell, M. Pop, Steven L. Salzberg License: Artistic Files: SeqAn-1.1 Copyright: 2007-2009 Andreas Döring , David Weese , Tobias Rausch , Stephan Aiche , Anne-Katrin Emde , Carsten Kemena , Konrad Ludwig Moritz Rudolph , Marcel H. Schulz. License: LGPL-3+ Files: debian/* Copyright: © 2011 Steffen Moeller , Yask Gupta © 2011 Andreas Tille License: LGPL-3+ Files: SeqAn-1.1/seqan/index/index_sa_lss.h Copyright: 1999 N. Jesper Larsson 2007 David Weese. License: other This software may be used freely for any purpose. However, when distributed, the original source must be clearly stated, and, when the source code is distributed, the copyright notice must be retained and any alterations in the code must be clearly marked. No warranty is given regarding the quality of this software. License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the "Artistic License" which comes with Debian. . THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. . On Debian systems, the complete text of the Artistic License can be found in "/usr/share/common-licenses/Artistic". License: LGPL-3+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . On Debian systems, you can find the LGPL license in: /usr/share/common-licenses/LGPL debian/bowtie.links0000644000000000000000000000036512133733413011525 0ustar usr/share/man/man1/bowtie.1.gz usr/share/man/man1/bowtie-debug.1.gz usr/share/man/man1/bowtie-build.1.gz usr/share/man/man1/bowtie-build-debug.1.gz usr/share/man/man1/bowtie-inspect.1.gz usr/share/man/man1/bowtie-inspect-debug.1.gz debian/bowtie.install0000644000000000000000000000012512133733413012045 0ustar bowtie usr/bin bowtie-build usr/bin bowtie-inspect usr/bin bowtie*-debug usr/bin