Permalink
Browse files

*** empty log message ***

  • Loading branch information...
1 parent 775a497 commit 24ea21536eb4a8f43783b9d7a21726b38ddc1acf langmead committed Nov 24, 2009
Showing with 2,306 additions and 1,662 deletions.
  1. +2 −1 Makefile
  2. +1 −1 VERSION
  3. +42 −4 aligner.h
  4. +24 −11 aligner_0mm.h
  5. +24 −11 aligner_1mm.h
  6. +24 −12 aligner_23mm.h
  7. +27 −13 aligner_seed_mm.h
  8. +165 −0 alphabet.c
  9. +64 −43 alphabet.h
  10. +4 −3 bowtie_inspect.cpp
  11. +114 −0 color.cpp
  12. +27 −0 color.h
  13. +351 −0 color_dec.cpp
  14. +31 −0 color_dec.h
  15. +309 −183 ebwt.h
  16. +56 −18 ebwt_build.cpp
  17. +204 −151 ebwt_search.cpp
  18. +46 −366 ebwt_search_backtrack.h
  19. +8 −219 ebwt_search_util.cpp
  20. +0 −22 ebwt_search_util.h
  21. +38 −0 filebuf.h
  22. +236 −280 hit.h
  23. +1 −1 hit_set.cpp
  24. +2 −2 map_tool.cpp
  25. +2 −1 pat.cpp
  26. +141 −127 pat.h
  27. +88 −33 range_source.h
  28. +30 −20 ref_aligner.h
  29. +98 −55 ref_read.cpp
  30. +79 −70 ref_read.h
  31. +26 −2 reference.h
  32. +39 −12 sam.cpp
  33. +3 −1 sam.h
View
@@ -69,7 +69,8 @@ BUILD_LIBS =
OTHER_CPPS = ccnt_lut.cpp hit.cpp ref_read.cpp alphabet.c shmem.cpp \
edit.cpp ebwt.cpp
SEARCH_CPPS = qual.cpp pat.cpp ebwt_search_util.cpp ref_aligner.cpp \
- log.cpp hit_set.cpp refmap.cpp annot.cpp sam.cpp
+ log.cpp hit_set.cpp refmap.cpp annot.cpp sam.cpp \
+ color.cpp color_dec.cpp
SEARCH_CPPS_MAIN = $(SEARCH_CPPS) bowtie_main.cpp
BUILD_CPPS =
View
@@ -1 +1 @@
-0.11.3
+0.12.0
View
@@ -331,6 +331,8 @@ class UnpairedAlignerV2 : public Aligner {
const HitSinkPerThreadFactory& sinkPtFactory,
HitSinkPerThread* sinkPt,
vector<String<Dna5> >& os,
+ const BitPairReference* refs,
+ int snpPhred,
bool rangeMode,
bool verbose,
bool quiet,
@@ -339,6 +341,8 @@ class UnpairedAlignerV2 : public Aligner {
int *btCnt = NULL,
AlignerMetrics *metrics = NULL) :
Aligner(true, rangeMode),
+ refs_(refs),
+ snpPhred_(snpPhred),
doneFirst_(true),
firstIsFw_(true),
chase_(false),
@@ -412,11 +416,14 @@ class UnpairedAlignerV2 : public Aligner {
bool ebwtFw = ra.ebwt->fw();
params_->setFw(ra.fw);
return params_->reportHit(
- ra.fw ? (ebwtFw? bufa_->patFw : bufa_->patFwRev) :
- (ebwtFw? bufa_->patRc : bufa_->patRcRev),
+ ra.fw ? (ebwtFw? bufa_->patFw : bufa_->patFwRev) :
+ (ebwtFw? bufa_->patRc : bufa_->patRcRev),
ra.fw ? (ebwtFw? &bufa_->qual : &bufa_->qualRev) :
(ebwtFw? &bufa_->qualRev : &bufa_->qual),
&bufa_->name,
+ bufa_->color,
+ snpPhred_,
+ refs_,
ra.ebwt->rmap(),
ebwtFw,
ra.mms, // mismatch positions
@@ -507,6 +514,12 @@ class UnpairedAlignerV2 : public Aligner {
}
protected:
+
+ // Reference sequences (needed for colorspace decoding)
+ const BitPairReference* refs_;
+
+ int snpPhred_;
+
// Progress state
bool doneFirst_;
bool firstIsFw_;
@@ -566,14 +579,16 @@ class PairedBWAlignerV1 : public Aligner {
uint32_t mixedThresh,
uint32_t mixedAttemptLim,
const BitPairReference* refs,
+ int snpPhred,
bool rangeMode,
bool verbose,
bool quiet,
int maxBts,
ChunkPool *pool,
int *btCnt) :
Aligner(true, rangeMode),
- refs_(refs), patsrc_(NULL), qlen1_(0), qlen2_(0), doneFw_(true),
+ refs_(refs), snpPhred_(snpPhred),
+ patsrc_(NULL), qlen1_(0), qlen2_(0), doneFw_(true),
doneFwFirst_(true),
chase1Fw_(false), chase1Rc_(false),
chase2Fw_(false), chase2Rc_(false),
@@ -819,6 +834,9 @@ class PairedBWAlignerV1 : public Aligner {
rL.fw ? (ebwtFwL? &bufL->qual : &bufL->qualRev) :
(ebwtFwL? &bufL->qualRev : &bufL->qual),
&bufL->name,
+ bufL->color,
+ snpPhred_,
+ refs_,
rmap,
ebwtFwL,
rL.mms, // mismatch positions
@@ -846,6 +864,9 @@ class PairedBWAlignerV1 : public Aligner {
rR.fw ? (ebwtFwR? &bufR->qual : &bufR->qualRev) :
(ebwtFwR? &bufR->qualRev : &bufR->qual),
&bufR->name,
+ bufR->color,
+ snpPhred_,
+ refs_,
rmap,
ebwtFwR,
rR.mms, // mismatch positions
@@ -1228,6 +1249,8 @@ class PairedBWAlignerV1 : public Aligner {
const BitPairReference* refs_;
+ int snpPhred_;
+
PatternSourcePerThread *patsrc_;
uint32_t qlen1_;
uint32_t qlen2_;
@@ -1408,14 +1431,17 @@ class PairedBWAlignerV2 : public Aligner {
uint32_t maxInsert,
uint32_t mixedAttemptLim,
const BitPairReference* refs,
+ int snpPhred,
bool rangeMode,
bool verbose,
bool quiet,
int maxBts,
ChunkPool *pool,
int *btCnt) :
Aligner(true, rangeMode),
- refs_(refs), patsrc_(NULL),
+ refs_(refs),
+ snpPhred_(snpPhred),
+ patsrc_(NULL),
qlen1_(0), qlen2_(0),
chase_(false),
donePe_(false),
@@ -1643,6 +1669,9 @@ class PairedBWAlignerV2 : public Aligner {
rL.fw ? (ebwtFwL? &bufL->qual : &bufL->qualRev) :
(ebwtFwL? &bufL->qualRev : &bufL->qual),
&bufL->name,
+ bufL->color,
+ snpPhred_,
+ refs_,
rmap,
ebwtFwL,
rL.mms, // mismatch positions
@@ -1670,6 +1699,9 @@ class PairedBWAlignerV2 : public Aligner {
rR.fw ? (ebwtFwR? &bufR->qual : &bufR->qualRev) :
(ebwtFwR? &bufR->qualRev : &bufR->qual),
&bufR->name,
+ bufR->color,
+ snpPhred_,
+ refs_,
rmap,
ebwtFwR,
rR.mms, // mismatch positions
@@ -1709,6 +1741,9 @@ class PairedBWAlignerV2 : public Aligner {
r.fw ? (ebwtFw? &buf->qual : &buf->qualRev) :
(ebwtFw? &buf->qualRev : &buf->qual),
&buf->name,
+ buf->color,
+ snpPhred_,
+ refs_,
r.ebwt->rmap(),
ebwtFw,
r.mms, // mismatch positions
@@ -1871,6 +1906,9 @@ class PairedBWAlignerV2 : public Aligner {
}
const BitPairReference* refs_;
+
+ int snpPhred_;
+
PatternSourcePerThread *patsrc_;
uint32_t qlen1_, qlen2_;
bool chase_;
View
@@ -25,6 +25,7 @@ class UnpairedExactAlignerV1Factory : public AlignerFactory {
UnpairedExactAlignerV1Factory(
Ebwt<String<Dna> >& ebwtFw,
Ebwt<String<Dna> >* ebwtBw,
+ int snpPhred,
bool doFw,
bool doRc,
HitSink& sink,
@@ -33,6 +34,7 @@ class UnpairedExactAlignerV1Factory : public AlignerFactory {
RangeCache* cacheBw,
uint32_t cacheLimit,
ChunkPool *pool,
+ BitPairReference* refs,
vector<String<Dna5> >& os,
bool maqPenalty,
bool qualOrder,
@@ -43,13 +45,15 @@ class UnpairedExactAlignerV1Factory : public AlignerFactory {
uint32_t seed) :
ebwtFw_(ebwtFw),
ebwtBw_(ebwtBw),
+ snpPhred_(snpPhred),
doFw_(doFw), doRc_(doRc),
sink_(sink),
sinkPtFactory_(sinkPtFactory),
cacheFw_(cacheFw),
cacheBw_(cacheBw),
cacheLimit_(cacheLimit),
pool_(pool),
+ refs_(refs),
os_(os),
maqPenalty_(maqPenalty),
qualOrder_(qualOrder),
@@ -68,7 +72,7 @@ class UnpairedExactAlignerV1Factory : public AlignerFactory {
virtual Aligner* create() const {
HitSinkPerThread* sinkPt = sinkPtFactory_.create();
EbwtSearchParams<String<Dna> >* params =
- new EbwtSearchParams<String<Dna> >(*sinkPt, os_, true, true, true, rangeMode_);
+ new EbwtSearchParams<String<Dna> >(*sinkPt, os_, true, true);
const int halfAndHalf = 0;
const bool seeded = false;
@@ -108,13 +112,14 @@ class UnpairedExactAlignerV1Factory : public AlignerFactory {
return new UnpairedAlignerV2<EbwtRangeSource>(
params, dr, rchase,
- sink_, sinkPtFactory_, sinkPt, os_, rangeMode_, verbose_, quiet_,
- INT_MAX, pool_, NULL, NULL);
+ sink_, sinkPtFactory_, sinkPt, os_, refs_, snpPhred_,
+ rangeMode_, verbose_, quiet_, INT_MAX, pool_, NULL, NULL);
}
private:
Ebwt<String<Dna> >& ebwtFw_;
Ebwt<String<Dna> >* ebwtBw_;
+ int snpPhred_;
bool doFw_;
bool doRc_;
HitSink& sink_;
@@ -123,6 +128,7 @@ class UnpairedExactAlignerV1Factory : public AlignerFactory {
RangeCache *cacheBw_;
const uint32_t cacheLimit_;
ChunkPool *pool_;
+ BitPairReference* refs_;
vector<String<Dna5> >& os_;
bool maqPenalty_;
bool qualOrder_;
@@ -144,6 +150,8 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
PairedExactAlignerV1Factory(
Ebwt<String<Dna> >& ebwtFw,
Ebwt<String<Dna> >* ebwtBw,
+ bool color,
+ int snpPhred,
bool doFw,
bool doRc,
bool v1,
@@ -172,6 +180,8 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
bool quiet,
uint32_t seed) :
ebwtFw_(ebwtFw),
+ color_(color),
+ snpPhred_(snpPhred),
doFw_(doFw),
doRc_(doRc),
v1_(v1),
@@ -209,15 +219,15 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
HitSinkPerThread* sinkPt = sinkPtFactory_.createMult(2);
HitSinkPerThread* sinkPtSe1 = NULL, * sinkPtSe2 = NULL;
EbwtSearchParams<String<Dna> >* params =
- new EbwtSearchParams<String<Dna> >(*sinkPt, os_, true, true, true, rangeMode_);
+ new EbwtSearchParams<String<Dna> >(*sinkPt, os_, true, true);
EbwtSearchParams<String<Dna> >* paramsSe1 = NULL, * paramsSe2 = NULL;
if(reportSe_) {
sinkPtSe1 = sinkPtFactory_.create();
sinkPtSe2 = sinkPtFactory_.create();
paramsSe1 =
- new EbwtSearchParams<String<Dna> >(*sinkPtSe1, os_, true, true, true, rangeMode_);
+ new EbwtSearchParams<String<Dna> >(*sinkPtSe1, os_, true, true);
paramsSe2 =
- new EbwtSearchParams<String<Dna> >(*sinkPtSe2, os_, true, true, true, rangeMode_);
+ new EbwtSearchParams<String<Dna> >(*sinkPtSe2, os_, true, true);
}
const int halfAndHalf = 0;
@@ -301,7 +311,8 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
os_, verbose_, quiet_, false, pool_, NULL);
}
- RefAligner<String<Dna5> >* refAligner = new ExactRefAligner<String<Dna5> >(verbose_, quiet_);
+ RefAligner<String<Dna5> >* refAligner
+ = new ExactRefAligner<String<Dna5> >(color_, verbose_, quiet_);
// Set up a RangeChaser
RangeChaser<String<Dna> > *rchase =
@@ -317,8 +328,8 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
refAligner,
rchase, sink_, sinkPtFactory_, sinkPt, mate1fw_, mate2fw_,
peInner_, peOuter_, dontReconcile_, symCeil_, mixedThresh_,
- mixedAttemptLim_, refs_, rangeMode_, verbose_, quiet_,
- INT_MAX, pool_, NULL);
+ mixedAttemptLim_, refs_, snpPhred_, rangeMode_, verbose_,
+ quiet_, INT_MAX, pool_, NULL);
return al;
} else {
TRangeSrcDrPtrVec *drVec = new TRangeSrcDrPtrVec();
@@ -333,8 +344,8 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
rchase, sink_, sinkPtFactory_, sinkPt,
sinkPtSe1, sinkPtSe2, mate1fw_, mate2fw_,
peInner_, peOuter_,
- mixedAttemptLim_, refs_, rangeMode_, verbose_, quiet_,
- INT_MAX, pool_, NULL);
+ mixedAttemptLim_, refs_, snpPhred_, rangeMode_,
+ verbose_, quiet_, INT_MAX, pool_, NULL);
delete drVec;
return al;
}
@@ -343,6 +354,8 @@ class PairedExactAlignerV1Factory : public AlignerFactory {
private:
Ebwt<String<Dna> >& ebwtFw_;
Ebwt<String<Dna> >* ebwtBw_;
+ bool color_;
+ int snpPhred_;
bool doFw_;
bool doRc_;
bool v1_;
Oops, something went wrong.

0 comments on commit 24ea215

Please sign in to comment.