Permalink
Browse files

For review; Passing first tier of tests.

  • Loading branch information...
1 parent 4562bdb commit e35c87fc7ebfccdd79223c49b1316986fe0e9f3e @val-antonescu val-antonescu committed Jul 16, 2014
Showing with 162 additions and 161 deletions.
  1. +6 −6 aligner_0mm.h
  2. +12 −12 aligner_1mm.h
  3. +24 −24 aligner_23mm.h
  4. +1 −1 annot.cpp
  5. +5 −4 annot.h
  6. +1 −1 blockwise_sa.h
  7. +2 −0 btypes.h
  8. +23 −23 ebwt.h
  9. +7 −7 ebwt_search_backtrack.h
  10. +1 −1 filebuf.h
  11. +74 −76 range_cache.h
  12. +1 −1 range_chaser.h
  13. +1 −1 range_source.h
  14. +2 −2 refmap.cpp
  15. +2 −2 row_chaser.h
View
@@ -76,9 +76,9 @@ class UnpairedExactAlignerV1Factory : public AlignerFactory {
const bool seeded = false;
EbwtRangeSource *rFw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rRc = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSourceDriver * driverFw = new EbwtRangeSourceDriver(
*params, rFw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
@@ -255,7 +255,7 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
TRangeSrcDr * driver2Rc = NULL;
if(do1Fw) {
r1Fw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
driver1Fw = new EbwtRangeSourceDriver(
*params, r1Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
0, // seedLen
@@ -268,7 +268,7 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
}
if(do2Fw) {
r2Fw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
driver2Fw = new EbwtRangeSourceDriver(
*params, r2Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
0, // seedLen
@@ -281,7 +281,7 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
}
if(do1Rc) {
r1Rc = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
driver1Rc = new EbwtRangeSourceDriver(
*params, r1Rc, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
0, // seedLen
@@ -294,7 +294,7 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
}
if(do2Rc) {
r2Rc = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
driver2Rc = new EbwtRangeSourceDriver(
*params, r2Rc, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
0, // seedLen
View
@@ -80,9 +80,9 @@ class Unpaired1mmAlignerV1Factory : public AlignerFactory {
const bool seeded = false;
EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rFw_Fw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSourceDriver * drFw_Bw = new EbwtRangeSourceDriver(
*params, rFw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
@@ -110,9 +110,9 @@ class Unpaired1mmAlignerV1Factory : public AlignerFactory {
}
EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rRc_Bw = new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSourceDriver * drRc_Fw = new EbwtRangeSourceDriver(
*params, rRc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
@@ -289,9 +289,9 @@ class Paired1mmAlignerV1Factory : public AlignerFactory {
dr1FwVec = new TRangeSrcDrPtrVec();
if(do1Fw) {
EbwtRangeSource *r1Fw_Bw = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r1Fw_Fw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSourceDriver * dr1Fw_Bw = new EbwtRangeSourceDriver(
*params, r1Fw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
@@ -324,9 +324,9 @@ class Paired1mmAlignerV1Factory : public AlignerFactory {
}
if(do1Rc) {
EbwtRangeSource *r1Rc_Fw = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r1Rc_Bw = new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSourceDriver * dr1Rc_Fw = new EbwtRangeSourceDriver(
*params, r1Rc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
@@ -358,9 +358,9 @@ class Paired1mmAlignerV1Factory : public AlignerFactory {
}
if(do2Fw) {
EbwtRangeSource *r2Fw_Bw = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r2Fw_Fw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSourceDriver * dr2Fw_Bw = new EbwtRangeSourceDriver(
*params, r2Fw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
@@ -392,9 +392,9 @@ class Paired1mmAlignerV1Factory : public AlignerFactory {
}
if(do2Rc) {
EbwtRangeSource *r2Rc_Fw = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r2Rc_Bw = new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
EbwtRangeSourceDriver * dr2Rc_Fw = new EbwtRangeSourceDriver(
*params, r2Rc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
View
@@ -80,15 +80,15 @@ class Unpaired23mmAlignerV1Factory : public AlignerFactory {
const bool seeded = false;
EbwtRangeSource *rFw_Bw = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rFw_Fw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rFw_BwHalf = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rFw_FwHalf = NULL;
if(!two_) {
rFw_FwHalf = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
}
// Driver wrapper for rFw_Bw
@@ -146,15 +146,15 @@ class Unpaired23mmAlignerV1Factory : public AlignerFactory {
}
EbwtRangeSource *rRc_Fw = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rRc_Bw = new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rRc_FwHalf = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *rRc_BwHalf = NULL;
if(!two_) {
rRc_BwHalf = new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
}
// Driver wrapper for rRc_Fw
@@ -361,13 +361,13 @@ class Paired23mmAlignerV1Factory : public AlignerFactory {
if(do1Fw) {
EbwtRangeSource *r1Fw_Bw = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r1Fw_Fw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r1Fw_BwHalf = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r1Fw_FwHalf = two_ ? NULL : new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
// Driver wrapper for rFw_Bw
EbwtRangeSourceDriver * dr1Fw_Bw = new EbwtRangeSourceDriver(
@@ -426,13 +426,13 @@ class Paired23mmAlignerV1Factory : public AlignerFactory {
if(do1Rc) {
EbwtRangeSource *r1Rc_Fw = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r1Rc_Bw = new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r1Rc_FwHalf = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r1Rc_BwHalf = two_ ? NULL : new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
// Driver wrapper for rRc_Fw
EbwtRangeSourceDriver * dr1Rc_Fw = new EbwtRangeSourceDriver(
@@ -491,13 +491,13 @@ class Paired23mmAlignerV1Factory : public AlignerFactory {
if(do2Fw) {
EbwtRangeSource *r2Fw_Bw = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r2Fw_Fw = new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r2Fw_BwHalf = new EbwtRangeSource(
- ebwtBw_, true, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, true, OFF_MASK, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r2Fw_FwHalf = two_ ? NULL : new EbwtRangeSource(
- &ebwtFw_, true, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
// Driver wrapper for rFw_Bw
EbwtRangeSourceDriver * dr2Fw_Bw = new EbwtRangeSourceDriver(
@@ -555,13 +555,13 @@ class Paired23mmAlignerV1Factory : public AlignerFactory {
if(do2Rc) {
EbwtRangeSource *r2Rc_Fw = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, true, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r2Rc_Bw = new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, 0, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r2Rc_FwHalf = new EbwtRangeSource(
- &ebwtFw_, false, 0xffffffff, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
+ &ebwtFw_, false, OFF_MASK, false, verbose_, quiet_, 2, seeded, maqPenalty_, qualOrder_);
EbwtRangeSource *r2Rc_BwHalf = two_ ? NULL : new EbwtRangeSource(
- ebwtBw_, false, 0xffffffff, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
+ ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, 3, seeded, maqPenalty_, qualOrder_);
// Driver wrapper for rRc_Fw
EbwtRangeSourceDriver * dr2Rc_Fw = new EbwtRangeSourceDriver(
View
@@ -20,7 +20,7 @@ void AnnotationMap::parse() {
throw 1;
}
while(in.peek() != EOF) {
- U32Pair pos;
+ UPair pos;
CharPair an;
in >> pos.first >> pos.second >> an.first >> an.second;
map_[pos] = an;
View
@@ -12,17 +12,18 @@
#include <map>
#include <iostream>
#include <fstream>
+#include "btypes.h"
/**
* Encapsulates a sorted list of reference positions that are annotated
* somehow (e.g. as a SNP).
*/
class AnnotationMap {
public:
- typedef std::pair<uint32_t, uint32_t> U32Pair;
+ typedef std::pair<TIndexOffU, TIndexOffU> UPair;
typedef std::pair<char, char> CharPair;
- typedef std::map<U32Pair, CharPair> AnnotMap;
- typedef std::map<U32Pair, CharPair>::const_iterator Iter;
+ typedef std::map<UPair, CharPair> AnnotMap;
+ typedef std::map<UPair, CharPair>::const_iterator Iter;
AnnotationMap(const char *fname) {
fname_ = fname;
@@ -34,7 +35,7 @@ class AnnotationMap {
* new reference coordinate via the reference map supplied by the
* user.
*/
- Iter lower_bound(const U32Pair& h) const {
+ Iter lower_bound(const UPair& h) const {
return map_.lower_bound(h);
}
View
@@ -508,7 +508,7 @@ void KarkkainenBlockwiseSA<TStr>::buildSamples() {
VMSG_NL("Splitting and merging");
for(TIndexOffU i = 0; i < numBuckets; i++) {
TIndexOffU mergedSz = bsz + 1;
- assert(bucketSzs[i] == 0 || bucketReps[i] != 0xffffffff);
+ assert(bucketSzs[i] == 0 || bucketReps[i] != OFF_MASK);
if(i < (TIndexOffU)numBuckets-1) {
mergedSz = bucketSzs[(size_t)i] + bucketSzs[(size_t)i+1] + 1;
}
View
@@ -8,6 +8,7 @@
#define OFF_LEN_MASK 0xc000000000000000
#define LS_SIZE 0x100000000000000
#define OFF_SIZE 8
+#define CACHE_WRAPER_BIT 0x8000000000000000
typedef uint64_t TIndexOffU;
typedef int64_t TIndexOff;
@@ -17,6 +18,7 @@ typedef int64_t TIndexOff;
#define OFF_LEN_MASK 0xc0000000
#define LS_SIZE 0x10000000
#define OFF_SIZE 4
+#define CACHE_WRAPER_BIT 0x80000000
typedef uint32_t TIndexOffU;
typedef int TIndexOff;
Oops, something went wrong.

0 comments on commit e35c87f

Please sign in to comment.