libStatGen Software 1
SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType > Class Template Reference
Collaboration diagram for SmithWaterman< maxReadLengthH, maxReferenceLengthH, HCellType, Atype, Btype, QualityType, readIndexType, referenceIndexType >:

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.

205 {
206 clear();
207 clearH();
208 }

◆ 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.

220 :
221 A(A),
222 qualities(qualities),
223 B(B),
224 m(m),
225 n(n),
226 allowedInsertDelete(allowedInsertDelete),
227 direction(direction),
228 MOffset(MOffset),
229 NOffset(NOffset),
230 maxCostValue((HCellType) 0)
231 {
232 }

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.

186 {
187 maxCostPosition.first = 0;
188 maxCostPosition.second = 0;
189 A = NULL;
190 B = NULL;
191 qualities = NULL;
192 m = 0;
193 n = 0;
194 MOffset = 0;
195 NOffset = 0;
196 allowedInsertDelete = 0;
197 direction = 0;
198 gapOpenCount = 0;
199 gapCloseCount = 0;
200 gapExtendCount = 0;
201 }

◆ 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.

171 {
172 alignment.clear();
173 }

◆ 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.

296 {
297 memset(H, 0, sizeof(H));
298 }

◆ 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.

370 {
371 if (doPrintH) printH();
372 cout << "maxCostPosition = " << maxCostPosition << std::endl;
373 if (alignment.empty()) cout << "alignment vector is empty.\n";
374 else
375 {
376 cout << "alignment vector:\n";
377 for (vector<pair<int,int> >::iterator i=alignment.begin(); i < alignment.end(); i++)
378 {
379 cout << (i - alignment.begin()) << ": " << *i << "\n";
380 }
381 }
382 cout << std::endl;
383 }

◆ 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.

681 {
682 if (direction>0)
683 {
684 // invariant: assert(maxCostPosition == alignment.front());
685 return m - maxCostPosition.first;
686 }
687 else
688 {
689// return alignment.back().first; // nope, this always returns 0
690 // XXX BE CAREFUL... not sure this is right, either.
691// return n - maxCostPosition.second;
692 return m - maxCostPosition.first;
693 }
694 }

◆ 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.

449 {
450 if (direction>0) return getSumQForward();
451 else return getSumQBackward();
452 }

◆ 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.

498 {
499 int sumQ = 0;
500 vector<pair<int,int> >::iterator i;
501
502 for (i=alignment.begin(); i < alignment.end() - 1; i++)
503 {
504#if defined(DEBUG_GETSUMQ)
505 cout << *i << ": ";
506#endif
507 if ((*(i+1)).first == ((*i).first-1) && (*(i+1)).second == ((*i).second - 1))
508 {
509 // match/mismatch
510#if defined(DEBUG_GETSUMQ)
511 cout << "Match/Mismatch";
512#endif
513 if ((*A)[MOffset + m - (*i).first] != (*B)[NOffset + n - (*i).second])
514 sumQ += (*qualities)[MOffset + m - (*i).first] - '!';
515 }
516 else if ((*(i+1)).first == ((*i).first-1) && (*(i+1)).second == ((*i).second))
517 {
518 // insert?
519#if defined(DEBUG_GETSUMQ)
520 cout << "Insert?";
521#endif
522 sumQ += 50;
523 }
524 else if ((*(i+1)).first == ((*i).first) && (*(i+1)).second == ((*i).second - 1))
525 {
526 // delete?
527#if defined(DEBUG_GETSUMQ)
528 cout << "Delete?";
529#endif
530 sumQ += 50;
531 }
532 }
533#if defined(DEBUG_GETSUMQ)
534 cout << endl;
535#endif
536 return sumQ;
537 }

◆ 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.

455 {
456 int sumQ = 0;
457 vector<pair<int,int> >::reverse_iterator i;
458
459 for (i=alignment.rbegin(); i < alignment.rend() - 1; i++)
460 {
461// #define DEBUG_GETSUMQ
462#if defined(DEBUG_GETSUMQ)
463 cout << *i << ": ";
464#endif
465 if ((*(i+1)).first == ((*i).first+1) && (*(i+1)).second == ((*i).second + 1))
466 {
467 // match/mismatch
468#if defined(DEBUG_GETSUMQ)
469 cout << "Match/Mismatch";
470#endif
471 if ((*A)[MOffset + (*i).first] != (*B)[NOffset + (*i).second])
472 sumQ += (*qualities)[MOffset + (*i).first] - '!';
473 }
474 else if ((*(i+1)).first == ((*i).first+1) && (*(i+1)).second == ((*i).second))
475 {
476 // insert?
477#if defined(DEBUG_GETSUMQ)
478 cout << "Insert";
479#endif
480 sumQ += 50;
481 }
482 else if ((*(i+1)).first == ((*i).first) && (*(i+1)).second == ((*i).second + 1))
483 {
484 // delete?
485#if defined(DEBUG_GETSUMQ)
486 cout << "Delete";
487#endif
488 sumQ += 50;
489 }
490 }
491#if defined(DEBUG_GETSUMQ)
492 cout << endl;
493#endif
494 return sumQ;
495 }

◆ 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.

726 {
727
728 clear();
729
730 cigarRoller.clear();
731
732 setDirection(+1);
733 setAllowedInsertDelete(bandSize);
734
735 setRead(&read);
736 setReadOffset(0);
737 setReadLength(readLength);
738
739 setReadQuality(&quality);
740
741 setReference(&reference);
742 setReferenceOffset(referenceOffset);
743 setReferenceLength(referenceLength);
744
745 populateH();
746
747 softClipCount = getSoftClipCount();
748
749 populateAlignment();
750
751 rollCigar(cigarRoller);
752
753 sumQ = getSumQ();
754
755 return false;
756
757 };
void clear()
Clear this object so that it has no Cigar Operations.

◆ 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.

390 {
391 alignment.clear();
392 int i = m, j = n;
393
394 i = maxCostPosition.first;
395 j = maxCostPosition.second;
396
397 //
398 // Stop when we either reach zero cost cell or
399 // when we reach the upper left corner of H.
400 // A zero cost cell to the lower right means we
401 // are soft clipping that end.
402 //
403 while (H[i][j] > 0 || (i>0 && j>0))
404 {
405// #define DEBUG_ALIGNMENT_VECTOR
406#if defined(DEBUG_ALIGNMENT_VECTOR)
407 cout << "alignment.push_back(" << i << ", " << j << ")" << endl;
408#endif
409 alignment.push_back(pair<int,int>(i,j));
410 if (H[i-1][j-1]>=H[i-1][j] && H[i-1][j-1]>=H[i][j-1])
411 {
412 // diagonal upper left cell is biggest
413 i--;
414 j--;
415 }
416 else if (H[i-1][j] < H[i][j-1])
417 {
418 // upper cell is biggest
419 j--;
420 }
421 else
422 {
423 // left cell is biggest
424 i--;
425 }
426 }
427 alignment.push_back(pair<int,int>(i,j));
428#if defined(DEBUG_ALIGNMENT_VECTOR)
429 cout << "alignment.push_back(" << i << ", " << j << ")" << endl;
430 cout << "alignment.size(): " << alignment.size() << endl;
431#endif
432 }

◆ 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.

301 {
302
303 maxCostValue = 0;
304
305 for (int i=1; i<=m ; i++)
306 {
307
308 // implement a banded Smith-Waterman approach:
309 int low = MAX(1, i - allowedInsertDelete);
310 int high = MIN(n, i + allowedInsertDelete);
311
312 for (int j=low; j<=high ; j++)
313 {
314 HCellType c;
315 c = 0;
316 if (direction>0) c = MAX(c, H[i-1][j-1] + (((*A)[MOffset + i-1]==(*B)[NOffset + j-1]) ? w.match : w.misMatch));
317 else c = MAX(c, H[i-1][j-1] + (((*A)[MOffset + m-i+0]==(*B)[NOffset + n-j+0]) ? w.match : w.misMatch));
318 c = MAX(c, H[i-1][j] + w.del);
319 c = MAX(c, H[i][j-1] + w.insert);
320 H[i][j] = c;
321 if (c>maxCostValue)
322 {
323 maxCostValue = c;
324 maxCostPosition.first = i;
325 maxCostPosition.second = j;
326 }
327 }
328 }
329 }

◆ 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.

335 {
336 // print the scoring matrix:
337 for (int i=-1; i<=m ; i++)
338 {
339 for (int j=-1; j<=n ; j++)
340 {
341 if (prettyPrint) cout << setw(3);
342 if (i==-1 && j==-1)
343 {
344 if (prettyPrint) cout << " ";
345 else cout << "\t";
346 }
347 else if (j==-1)
348 {
349 if (!prettyPrint) cout << "\t";
350 if (i==0) cout << "-";
351 else cout << (*A)[MOffset + direction>0 ? i-1 : m - i];
352 }
353 else if (i==-1)
354 {
355 if (!prettyPrint) cout << "\t";
356 if (j==0) cout << "-";
357 else cout << (*B)[NOffset + direction>0 ? j-1 : n - j];
358 }
359 else
360 {
361 if (!prettyPrint) cout << "\t";
362 cout << H[i][j];
363 }
364 }
365 cout << endl;
366 }
367 }

◆ 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.

697 {
698 if (direction>0) rollCigarForward(cigar);
699 else rollCigarBackward(cigar);
700 }

◆ 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.

626 {
627 vector<pair<int,int> >::iterator i;
628
629 // if there is soft clipping, allow for it (::Add will
630 // ignore if the count is 0):
631 cigar.Add(CigarRoller::softClip, getSoftClipCount());
632
633 i = alignment.begin();
634
635 for (i=alignment.begin();
636 i < alignment.end() - 1;
637 i++)
638 {
639#if defined(DEBUG_CIGAR)
640 cout << *i << ": ";
641#endif
642 if ((*(i+1)).first == ((*i).first-1) && (*(i+1)).second == ((*i).second - 1))
643 {
644 // match/mismatch
645#if defined(DEBUG_CIGAR)
646 cout << "Match/Mismatch";
647#endif
648 cigar.Add(CigarRoller::match, 1);
649 }
650 else if ((*(i+1)).first == ((*i).first-1) && (*(i+1)).second == ((*i).second))
651 {
652 // insert?
653#if defined(DEBUG_CIGAR)
654 cout << "Insert?";
655#endif
656 cigar.Add(CigarRoller::insert, 1);
657 }
658 else if ((*(i+1)).first == ((*i).first) && (*(i+1)).second == ((*i).second - 1))
659 {
660 // delete?
661#if defined(DEBUG_CIGAR)
662 cout << "Delete?";
663#endif
664 cigar.Add(CigarRoller::del, 1);
665 }
666 }
667#if defined(DEBUG_CIGAR)
668 cout << endl;
669#endif
670 }
void Add(Operation operation, int count)
Append the specified operation with the specified count to this object.
Definition: CigarRoller.cpp:77
@ del
deletion from the reference (the reference contains bases that have no corresponding base in the quer...
Definition: Cigar.h:92
@ match
match/mismatch operation. Associated with CIGAR Operation "M"
Definition: Cigar.h:89
@ insert
insertion to the reference (the query sequence contains bases that have no corresponding base in the ...
Definition: Cigar.h:91
@ 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.

575 {
576 vector<pair<int,int> >::reverse_iterator i;
577
578 for (i=alignment.rbegin(); i < alignment.rend() - 1; i++)
579 {
580// #define DEBUG_CIGAR
581#if defined(DEBUG_CIGAR)
582 cout << *i << ": ";
583#endif
584 if ((*(i+1)).first == ((*i).first+1) && (*(i+1)).second == ((*i).second + 1))
585 {
586 // match/mismatch
587#if defined(DEBUG_CIGAR)
588 cout << "Match/Mismatch";
589#endif
590 cigar.Add(CigarRoller::match, 1);
591 }
592 else if ((*(i+1)).first == ((*i).first+1) && (*(i+1)).second == ((*i).second))
593 {
594 // insert?
595#if defined(DEBUG_CIGAR)
596 cout << "Insert";
597#endif
598 cigar.Add(CigarRoller::insert, 1);
599 }
600 else if ((*(i+1)).first == ((*i).first) && (*(i+1)).second == ((*i).second + 1))
601 {
602 // delete?
603#if defined(DEBUG_CIGAR)
604 cout << "Delete";
605#endif
606 cigar.Add(CigarRoller::del, 1);
607 }
608 }
609 // if there is soft clipping, allow for it (::Add will
610 // ignore if the count is 0):
611 cigar.Add(CigarRoller::softClip, getSoftClipCount());
612#if defined(DEBUG_CIGAR)
613 cout << endl;
614#endif
615 }

◆ 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.

282 {
283 this->allowedInsertDelete = allowedInsertDelete;
284 }

◆ 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.

291 {
292 this->direction = direction;
293 }

◆ 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.

235 {
236 this->A = A;
237 }

◆ 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.

251 {
252 this->m = m;
253 }

◆ 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.

255 {
256 this->MOffset = MOffset;
257 }

◆ 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.

239 {
240 this->qualities = qualities;
241 }

◆ 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.

243 {
244 this->B = B;
245 }

◆ 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.

264 {
265 this->n = n;
266 }

◆ 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.

268 {
269 this->NOffset = NOffset;
270 }

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: