Loading...
Searching...
No Matches
SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType > Class Template Reference
Collaboration diagram for SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >:
[legend]

## Classes

struct | weight

## Public Member Functions

void | clearAlignment ()
void | clear ()
| SmithWaterman (Atype *A, QualityType *qualities, Btype *B, int m, int n, int allowedInsertDelete=INT_MAX, int direction=1, readIndexType MOffset=0, referenceIndexType NOffset=0)
void | setRead (Atype *A)
void | setReadQuality (QualityType *qualities)
void | setReference (Btype *B)
void | setReadLength (int m)
void | setReadOffset (readIndexType MOffset)
void | setReferenceLength (int n)
void | setReferenceOffset (referenceIndexType NOffset)
void | setAllowedInsertDelete (int allowedInsertDelete=INT_MAX)
void | setDirection (int direction)
void | clearH ()
void | populateH ()
void | printH (bool prettyPrint=true)
void | debugPrint (bool doPrintH=true)
void | populateAlignment ()
int | getSumQ ()
int | getSumQForward ()
int | getSumQBackward ()
void | rollCigarForward (CigarRoller &cigar)
void | rollCigarBackward (CigarRoller &cigar)
int | getSoftClipCount ()
void | rollCigar (CigarRoller &cigar)
bool | localAlignment (uint32_t bandSize, Atype &read, readIndexType readLength, QualityType &quality, Btype &reference, referenceIndexType referenceLength, referenceIndexType referenceOffset, CigarRoller &cigarRoller, uint32_t &softClipCount, referenceIndexType &cigarStartingPoint, int &sumQ)

## Public Attributes

HCellType | H [maxReadLengthH][maxReferenceLengthH]
Atype * | A
Btype * | B
QualityType * | qualities
int | m
int | n
readIndexType | MOffset
referenceIndexType | NOffset
weight | w
int | allowedInsertDelete
int | direction
int | gapOpenCount
int | gapCloseCount
int | gapExtendCount
vector< pair< int, int > > | alignment
HCellType | maxCostValue
pair< int, int > | maxCostPosition

## Detailed Description

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType, typename Atype, typename Btype, typename QualityType, typename readIndexType, typename referenceIndexType>
class SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >

Definition at line 127 of file SmithWaterman.h.

## Constructor & Destructor Documentation

## SmithWaterman() [1/2]

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::SmithWaterman | ( |  | ) |

inline

Definition at line 204 of file SmithWaterman.h.

{
clear();
clearH();
}

## SmithWaterman() [2/2]

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::SmithWaterman | ( | Atype * | A,
|  | QualityType * | qualities,
|  | Btype * | B,
|  | int | m,
|  | int | n,
|  | int | allowedInsertDelete = `INT_MAX`,
|  | int | direction = `1`,
|  | readIndexType | MOffset = `0`,
|  | referenceIndexType | NOffset = `0`
| ) |  |

inline

Definition at line 211 of file SmithWaterman.h.

:
A(A),
qualities(qualities),
B(B),
m(m),
n(n),
allowedInsertDelete(allowedInsertDelete),
direction(direction),
MOffset(MOffset),
NOffset(NOffset),
maxCostValue((HCellType) 0)
{
}

## Member Function Documentation

## clear()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::clear | ( |  | ) |

inline

Definition at line 185 of file SmithWaterman.h.

{
maxCostPosition.first = 0;
maxCostPosition.second = 0;
A = NULL;
B = NULL;
qualities = NULL;
m = 0;
n = 0;
MOffset = 0;
NOffset = 0;
allowedInsertDelete = 0;
direction = 0;
gapOpenCount = 0;
gapCloseCount = 0;
gapExtendCount = 0;
}

## clearAlignment()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::clearAlignment | ( |  | ) |

inline

Definition at line 170 of file SmithWaterman.h.

{
alignment.clear();
}

## clearH()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::clearH | ( |  | ) |

inline

Definition at line 295 of file SmithWaterman.h.

{
memset(H, 0, sizeof(H));
}

## debugPrint()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::debugPrint | ( | bool | doPrintH = `true` | ) |

inline

Definition at line 369 of file SmithWaterman.h.

{
if (doPrintH) printH();
cout << "maxCostPosition = " << maxCostPosition << std::endl;
if (alignment.empty()) cout << "alignment vector is empty.\n";
else
{
cout << "alignment vector:\n";
for (vector<pair<int,int> >::iterator i=alignment.begin(); i < alignment.end(); i++)
{
cout << (i - alignment.begin()) << ": " << *i << "\n";
}
}
cout << std::endl;
}

## getSoftClipCount()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::getSoftClipCount | ( |  | ) |

inline

Definition at line 680 of file SmithWaterman.h.

{
if (direction>0)
{
// invariant: assert(maxCostPosition == alignment.front());
return m - maxCostPosition.first;
}
else
{
// return alignment.back().first; // nope, this always returns 0
// XXX BE CAREFUL... not sure this is right, either.
// return n - maxCostPosition.second;
return m - maxCostPosition.first;
}
}

## getSumQ()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::getSumQ | ( |  | ) |

inline

Definition at line 448 of file SmithWaterman.h.

{
if (direction>0) return getSumQForward();
else return getSumQBackward();
}

## getSumQBackward()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::getSumQBackward | ( |  | ) |

inline

Definition at line 497 of file SmithWaterman.h.

{
int sumQ = 0;
vector<pair<int,int> >::iterator i;
for (i=alignment.begin(); i < alignment.end() - 1; i++)
{
#if defined(DEBUG_GETSUMQ)
cout << *i << ": ";
#endif
if ((*(i+1)).first == ((*i).first-1) && (*(i+1)).second == ((*i).second - 1))
{
// match/mismatch
#if defined(DEBUG_GETSUMQ)
cout << "Match/Mismatch";
#endif
if ((*A)[MOffset + m - (*i).first] != (*B)[NOffset + n - (*i).second])
sumQ += (*qualities)[MOffset + m - (*i).first] - '!';
}
else if ((*(i+1)).first == ((*i).first-1) && (*(i+1)).second == ((*i).second))
{
// insert?
#if defined(DEBUG_GETSUMQ)
cout << "Insert?";
#endif
sumQ += 50;
}
else if ((*(i+1)).first == ((*i).first) && (*(i+1)).second == ((*i).second - 1))
{
// delete?
#if defined(DEBUG_GETSUMQ)
cout << "Delete?";
#endif
sumQ += 50;
}
}
#if defined(DEBUG_GETSUMQ)
cout << endl;
#endif
return sumQ;
}

## getSumQForward()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::getSumQForward | ( |  | ) |

inline

Definition at line 454 of file SmithWaterman.h.

{
int sumQ = 0;
vector<pair<int,int> >::reverse_iterator i;
for (i=alignment.rbegin(); i < alignment.rend() - 1; i++)
{
// #define DEBUG_GETSUMQ
#if defined(DEBUG_GETSUMQ)
cout << *i << ": ";
#endif
if ((*(i+1)).first == ((*i).first+1) && (*(i+1)).second == ((*i).second + 1))
{
// match/mismatch
#if defined(DEBUG_GETSUMQ)
cout << "Match/Mismatch";
#endif
if ((*A)[MOffset + (*i).first] != (*B)[NOffset + (*i).second])
sumQ += (*qualities)[MOffset + (*i).first] - '!';
}
else if ((*(i+1)).first == ((*i).first+1) && (*(i+1)).second == ((*i).second))
{
// insert?
#if defined(DEBUG_GETSUMQ)
cout << "Insert";
#endif
sumQ += 50;
}
else if ((*(i+1)).first == ((*i).first) && (*(i+1)).second == ((*i).second + 1))
{
// delete?
#if defined(DEBUG_GETSUMQ)
cout << "Delete";
#endif
sumQ += 50;
}
}
#if defined(DEBUG_GETSUMQ)
cout << endl;
#endif
return sumQ;
}

## localAlignment()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

bool SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::localAlignment | ( | uint32_t | bandSize,
|  | Atype & | read,
|  | readIndexType | readLength,
|  | QualityType & | quality,
|  | Btype & | reference,
|  | referenceIndexType | referenceLength,
|  | referenceIndexType | referenceOffset,
|  | CigarRoller & | cigarRoller,
|  | uint32_t & | softClipCount,
|  | referenceIndexType & | cigarStartingPoint,
|  | int & | sumQ
| ) |  |

inline

Definition at line 713 of file SmithWaterman.h.

{
clear();
cigarRoller.clear();
setDirection(+1);
setAllowedInsertDelete(bandSize);
setRead(&read);
setReadOffset(0);
setReadLength(readLength);
setReadQuality(&quality);
setReference(&reference);
setReferenceOffset(referenceOffset);
setReferenceLength(referenceLength);
populateH();
softClipCount = getSoftClipCount();
populateAlignment();
rollCigar(cigarRoller);
sumQ = getSumQ();
return false;
};
CigarRoller::clear
void clear()
Clear this object so that it has no Cigar Operations.
Definition CigarRoller.cpp:325

## populateAlignment()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::populateAlignment | ( |  | ) |

inline

Definition at line 389 of file SmithWaterman.h.

{
alignment.clear();
int i = m, j = n;
i = maxCostPosition.first;
j = maxCostPosition.second;
//
// Stop when we either reach zero cost cell or
// when we reach the upper left corner of H.
// A zero cost cell to the lower right means we
// are soft clipping that end.
//
while (H[i][j] > 0 || (i>0 && j>0))
{
// #define DEBUG_ALIGNMENT_VECTOR
#if defined(DEBUG_ALIGNMENT_VECTOR)
cout << "alignment.push_back(" << i << ", " << j << ")" << endl;
#endif
alignment.push_back(pair<int,int>(i,j));
if (H[i-1][j-1]>=H[i-1][j] && H[i-1][j-1]>=H[i][j-1])
{
// diagonal upper left cell is biggest
i--;
j--;
}
else if (H[i-1][j] < H[i][j-1])
{
// upper cell is biggest
j--;
}
else
{
// left cell is biggest
i--;
}
}
alignment.push_back(pair<int,int>(i,j));
#if defined(DEBUG_ALIGNMENT_VECTOR)
cout << "alignment.push_back(" << i << ", " << j << ")" << endl;
cout << "alignment.size(): " << alignment.size() << endl;
#endif
}

## populateH()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::populateH | ( |  | ) |

inline

Definition at line 300 of file SmithWaterman.h.

{
maxCostValue = 0;
for (int i=1; i<=m ; i++)
{
// implement a banded Smith-Waterman approach:
int low = MAX(1, i - allowedInsertDelete);
int high = MIN(n, i + allowedInsertDelete);
for (int j=low; j<=high ; j++)
{
HCellType c;
c = 0;
if (direction>0) c = MAX(c, H[i-1][j-1] + (((*A)[MOffset + i-1]==(*B)[NOffset + j-1]) ? w.match : w.misMatch));
else c = MAX(c, H[i-1][j-1] + (((*A)[MOffset + m-i+0]==(*B)[NOffset + n-j+0]) ? w.match : w.misMatch));
c = MAX(c, H[i-1][j] + w.del);
c = MAX(c, H[i][j-1] + w.insert);
H[i][j] = c;
if (c>maxCostValue)
{
maxCostValue = c;
maxCostPosition.first = i;
maxCostPosition.second = j;
}
}
}
}

## printH()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::printH | ( | bool | prettyPrint = `true` | ) |

inline

Definition at line 334 of file SmithWaterman.h.

{
// print the scoring matrix:
for (int i=-1; i<=m ; i++)
{
for (int j=-1; j<=n ; j++)
{
if (prettyPrint) cout << setw(3);
if (i==-1 && j==-1)
{
if (prettyPrint) cout << " ";
else cout << "\t";
}
else if (j==-1)
{
if (!prettyPrint) cout << "\t";
if (i==0) cout << "-";
else cout << (*A)[MOffset + direction>0 ? i-1 : m - i];
}
else if (i==-1)
{
if (!prettyPrint) cout << "\t";
if (j==0) cout << "-";
else cout << (*B)[NOffset + direction>0 ? j-1 : n - j];
}
else
{
if (!prettyPrint) cout << "\t";
cout << H[i][j];
}
}
cout << endl;
}
}

## rollCigar()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::rollCigar | ( | CigarRoller & | cigar | ) |

inline

Definition at line 696 of file SmithWaterman.h.

{
if (direction>0) rollCigarForward(cigar);
else rollCigarBackward(cigar);
}

## rollCigarBackward()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::rollCigarBackward | ( | CigarRoller & | cigar | ) |

inline

Definition at line 625 of file SmithWaterman.h.

{
vector<pair<int,int> >::iterator i;
// if there is soft clipping, allow for it (::Add will
// ignore if the count is 0):
cigar.Add(CigarRoller::softClip, getSoftClipCount());
i = alignment.begin();
for (i=alignment.begin();
i < alignment.end() - 1;
i++)
{
#if defined(DEBUG_CIGAR)
cout << *i << ": ";
#endif
if ((*(i+1)).first == ((*i).first-1) && (*(i+1)).second == ((*i).second - 1))
{
// match/mismatch
#if defined(DEBUG_CIGAR)
cout << "Match/Mismatch";
#endif
cigar.Add(CigarRoller::match, 1);
}
else if ((*(i+1)).first == ((*i).first-1) && (*(i+1)).second == ((*i).second))
{
// insert?
#if defined(DEBUG_CIGAR)
cout << "Insert?";
#endif
cigar.Add(CigarRoller::insert, 1);
}
else if ((*(i+1)).first == ((*i).first) && (*(i+1)).second == ((*i).second - 1))
{
// delete?
#if defined(DEBUG_CIGAR)
cout << "Delete?";
#endif
cigar.Add(CigarRoller::del, 1);
}
}
#if defined(DEBUG_CIGAR)
cout << endl;
#endif
}
CigarRoller::Add
void Add(Operation operation, int count)
Append the specified operation with the specified count to this object.
Definition CigarRoller.cpp:77
Cigar::del
@ del
deletion from the reference (the reference contains bases that have no corresponding base in the quer...
Definition Cigar.h:92
Cigar::match
@ match
match/mismatch operation. Associated with CIGAR Operation "M"
Definition Cigar.h:89
Cigar::insert
@ insert
insertion to the reference (the query sequence contains bases that have no corresponding base in the ...
Definition Cigar.h:91
Cigar::softClip
@ softClip
Soft clip on the read (clipped sequence present in the query sequence, but not in reference)....
Definition Cigar.h:94

## rollCigarForward()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::rollCigarForward | ( | CigarRoller & | cigar | ) |

inline

Definition at line 574 of file SmithWaterman.h.

{
vector<pair<int,int> >::reverse_iterator i;
for (i=alignment.rbegin(); i < alignment.rend() - 1; i++)
{
// #define DEBUG_CIGAR
#if defined(DEBUG_CIGAR)
cout << *i << ": ";
#endif
if ((*(i+1)).first == ((*i).first+1) && (*(i+1)).second == ((*i).second + 1))
{
// match/mismatch
#if defined(DEBUG_CIGAR)
cout << "Match/Mismatch";
#endif
cigar.Add(CigarRoller::match, 1);
}
else if ((*(i+1)).first == ((*i).first+1) && (*(i+1)).second == ((*i).second))
{
// insert?
#if defined(DEBUG_CIGAR)
cout << "Insert";
#endif
cigar.Add(CigarRoller::insert, 1);
}
else if ((*(i+1)).first == ((*i).first) && (*(i+1)).second == ((*i).second + 1))
{
// delete?
#if defined(DEBUG_CIGAR)
cout << "Delete";
#endif
cigar.Add(CigarRoller::del, 1);
}
}
// if there is soft clipping, allow for it (::Add will
// ignore if the count is 0):
cigar.Add(CigarRoller::softClip, getSoftClipCount());
#if defined(DEBUG_CIGAR)
cout << endl;
#endif
}

## setAllowedInsertDelete()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setAllowedInsertDelete | ( | int | allowedInsertDelete = `INT_MAX` | ) |

inline

Definition at line 281 of file SmithWaterman.h.

{
this->allowedInsertDelete = allowedInsertDelete;
}

## setDirection()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setDirection | ( | int | direction | ) |

inline

Definition at line 290 of file SmithWaterman.h.

{
this->direction = direction;
}

## setRead()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setRead | ( | Atype * | A | ) |

inline

Definition at line 234 of file SmithWaterman.h.

{
this->A = A;
}

## setReadLength()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setReadLength | ( | int | m | ) |

inline

Definition at line 250 of file SmithWaterman.h.

{
this->m = m;
}

## setReadOffset()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setReadOffset | ( | readIndexType | MOffset | ) |

inline

Definition at line 254 of file SmithWaterman.h.

{
this->MOffset = MOffset;
}

## setReadQuality()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setReadQuality | ( | QualityType * | qualities | ) |

inline

Definition at line 238 of file SmithWaterman.h.

{
this->qualities = qualities;
}

## setReference()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setReference | ( | Btype * | B | ) |

inline

Definition at line 242 of file SmithWaterman.h.

{
this->B = B;
}

## setReferenceLength()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setReferenceLength | ( | int | n | ) |

inline

Definition at line 263 of file SmithWaterman.h.

{
this->n = n;
}

## setReferenceOffset()

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

void SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::setReferenceOffset | ( | referenceIndexType | NOffset | ) |

inline

Definition at line 267 of file SmithWaterman.h.

{
this->NOffset = NOffset;
}

## Member Data Documentation

## A

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

Atype* SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::A

Definition at line 156 of file SmithWaterman.h.

## alignment

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

vector<pair<int,int> > SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::alignment

Definition at line 169 of file SmithWaterman.h.

## allowedInsertDelete

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::allowedInsertDelete

Definition at line 164 of file SmithWaterman.h.

## B

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

Btype* SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::B

Definition at line 157 of file SmithWaterman.h.

## direction

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::direction

Definition at line 165 of file SmithWaterman.h.

## gapCloseCount

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::gapCloseCount

Definition at line 167 of file SmithWaterman.h.

## gapExtendCount

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::gapExtendCount

Definition at line 168 of file SmithWaterman.h.

## gapOpenCount

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::gapOpenCount

Definition at line 166 of file SmithWaterman.h.

## H

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

HCellType SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::H[maxReadLengthH][maxReferenceLengthH]

Definition at line 155 of file SmithWaterman.h.

## m

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::m

Definition at line 160 of file SmithWaterman.h.

## maxCostPosition

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

pair<int,int> SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::maxCostPosition

Definition at line 176 of file SmithWaterman.h.

## maxCostValue

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

HCellType SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::maxCostValue

Definition at line 175 of file SmithWaterman.h.

## MOffset

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

readIndexType SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::MOffset

Definition at line 161 of file SmithWaterman.h.

## n

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

int SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::n

Definition at line 160 of file SmithWaterman.h.

## NOffset

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

referenceIndexType SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::NOffset

Definition at line 162 of file SmithWaterman.h.

## qualities

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

QualityType* SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::qualities

Definition at line 158 of file SmithWaterman.h.

## w

template<int maxReadLengthH, int maxReferenceLengthH, typename HCellType , typename Atype , typename Btype , typename QualityType , typename readIndexType , typename referenceIndexType >

weight SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >::w

Definition at line 163 of file SmithWaterman.h.

The documentation for this class was generated from the following file:

- general/SmithWaterman.h