#include <MatchAligner.h>
Collaboration diagram for TraceBackerBasic:

Public Member Functions | |
| TraceBackerBasic (AlignBreakType p1Gap, AlignBreakType p2Gap, Alignment &alignment) | |
| bool | operator() (PathMatrix< PathType >::CellIterator ¤t) |
Private Attributes | |
| AlignBreakType | p1Gap_ |
| AlignBreakType | p2Gap_ |
| Alignment & | alignment_ |
Definition at line 669 of file MatchAligner.h.
| TraceBackerBasic::TraceBackerBasic | ( | AlignBreakType | p1Gap, | |
| AlignBreakType | p2Gap, | |||
| Alignment & | alignment | |||
| ) | [inline] |
Definition at line 672 of file MatchAligner.h.
00673 : 00674 p1Gap_(p1Gap), p2Gap_(p2Gap), 00675 alignment_(alignment) {}
| bool TraceBackerBasic::operator() | ( | PathMatrix< PathType >::CellIterator & | current | ) |
Definition at line 1139 of file MatchAligner.cpp.
References alignBreakNull, fromFinished, fromN, fromSW, and fromW.
01140 { 01141 // cout << (int)(current.second-current.first->begin()); 01142 01143 alignment_.push_front( AlignInfo() ); 01144 alignment_.front().breakType=alignBreakNull; 01145 01146 if (*current.second&fromFinished) 01147 { 01148 // cout << "finished traceback" << endl; 01149 return false; 01150 } // ~if 01151 else if (*current.second&fromW) 01152 { 01153 // cout << "going W" << endl; 01154 current.second 01155 = (current.first-1)->begin() 01156 + (current.second-current.first->begin()); 01157 --current.first; 01158 alignment_.front().numMatches++; // doesn't check for mismatch 01159 } // ~else if 01160 else if (*current.second&fromN) 01161 { 01162 // cout << "going N" << endl; 01163 assert(current.second!=current.first->begin()); 01164 --current.second; 01165 alignment_.push_front( AlignInfo() ); 01166 alignment_.front().breakType=p1Gap_; 01167 } // ~else if 01168 else if (*current.second&fromSW) 01169 { 01170 // cout << "going SW" << endl; 01171 current.second 01172 = (current.first-1)->begin() 01173 + (current.second-current.first->begin()); 01174 ++current.second; 01175 --current.first; 01176 alignment_.push_front( AlignInfo() ); 01177 alignment_.front().breakType=p2Gap_; 01178 } // ~else if 01179 else assert (1==0); 01180 01181 return true; 01182 } // ~bool TraceBackerBasic::operator()
AlignBreakType TraceBackerBasic::p1Gap_ [private] |
Definition at line 679 of file MatchAligner.h.
AlignBreakType TraceBackerBasic::p2Gap_ [private] |
Definition at line 680 of file MatchAligner.h.
Alignment& TraceBackerBasic::alignment_ [private] |
Definition at line 681 of file MatchAligner.h.
1.5.2