|
MASA-Core
|
Definition at line 41 of file AlignerManager.hpp.
#include <AlignerManager.hpp>
Public Member Functions | |
| AlignerManager (IAligner *aligner) | |
| virtual | ~AlignerManager () |
| void | alignPartition (Partition partition, int startType) |
| void | setSequences (Sequence *seq0, Sequence *seq1, int i0, int j0, int i1, int j1, FILE *stats=NULL) |
| Defines the partition that must be processed. | |
| void | unsetSequences () |
| Clear all sequence strucutures. | |
| void | setRecurrenceType (int recurrenceType) |
| Defines that the first column must be initialized with a pre-defined column. | |
| void | setBlockPruning (bool blockPruning) |
| Defines if the aligner may do the block pruning optimization. | |
| void | setSpecialRowsPartition (SpecialRowsPartition *specialRowsPartition) |
| Defines the grid dimension of the grid, if capabilities_t::dispatch_block_scores is SUPPORTED. | |
| void | setBestScoreList (BestScoreList *bestScoreList, const int bestScoreLocation=AT_NOWHERE) |
| Defines the list to store the best scores. | |
| void | setGoalScore (int goalScore, const int goalScoreLocation=AT_NOWHERE) |
| Whenever the aligner finds the goal score, the processing must stop. | |
| void | setLastColumnReader (SeekableCellsReader *lastColumnReader) |
| Defines the previous special rows partition containing the rows to be matched against the last column/rows. | |
| void | setLastRowReader (SeekableCellsReader *lastRowReader) |
| Defines the previous special rows partition containing the rows to be matched against the last column/rows. | |
| void | unsetGoalScore () |
| Do not find best score. | |
| void | setBlocksFile (BlocksFile *blocksFile) |
| Defines the file to store the best score of each block. | |
| void | setSpecialRowInterval (const int specialRowInterval) |
| Defines the minimum distance (in rows) between two special rows. | |
| void | setPenalties (const int match, const int mismatch, const int gapOpen, const int gapExtension) |
| Defines the variable penalty functions to be aligned. | |
| void | setSuperPartition (Partition superPartition) |
| Sets the super-partition being aligned to be returned by the IManager::getSuperPartition() method. | |
| void | unsetSuperPartition () |
| Resets the super-partition. | |
| const crosspoint_t | getNextCrosspoint () const |
| Defines the callback function that will be called whenever the dispatchRow method is called for the last row. | |
| bool | isFoundCrosspoint () const |
| Return true if the next crosspoint was found. | |
| int | getRecurrenceType () const |
| int | getSpecialRowInterval () const |
| int | getSpecialColumnInterval () const |
| int | getFirstColumnInitType () |
| Returns the initialization type of the first column. | |
| int | getFirstRowInitType () |
| Returns the initialization type of the first row. | |
| Partition | getSuperPartition () |
| Returns the super partition that includes all sub partitions being aligned. | |
| void | receiveFirstRow (cell_t *buffer, int len) |
| Receives the first row of the partition. | |
| void | receiveFirstColumn (cell_t *buffer, int len) |
| Receives the first column of the partition. | |
| void | dispatchColumn (int j, const cell_t *buffer, int len) |
| Notifies to the MASA framework that some cells of a column has been processed. | |
| void | dispatchRow (int i, const cell_t *buffer, int len) |
| Notifies to the MASA framework that some cells of a row has been processed. | |
| void | dispatchScore (score_t score, int bx=-1, int by=-1) |
| Notifies to the MASA framework that a new score has been computed. | |
| bool | mustContinue () |
| bool | mustDispatchLastCell () |
| bool | mustDispatchLastRow () |
| bool | mustDispatchLastColumn () |
| bool | mustDispatchSpecialRows () |
| bool | mustDispatchSpecialColumns () |
| bool | mustDispatchScores () |
| bool | mustPruneBlocks () |
| score_t | getBestScoreLastColumn () const |
| score_t | getBestScoreLastRow () const |
Private Member Functions | |
| void | stopAligner () |
| Stops the execution of the aligner. | |
| int | findBestCell (const cell_t *buffer, int len) |
| match_result_t | findGoalCell (const cell_t *buffer, cell_t *base, int len, CellsReader *cellsReader) |
| match_result_t | findFullGap (int len, bool openGap, SeekableCellsReader *cellsReader) |
| void | setFirstColumnSource (SeekableCellsReader *firstColumnReader) |
| Defines that the first column must be initialized with a customized column. | |
| void | setFirstRowSource (SeekableCellsReader *firstColumnReader) |
| Defines that the first row must be initialized with a pre-defined row. | |
| void | setLastColumnDestination (CellsWriter *lastColumnWriter) |
| Defines the destination of the last column. | |
| void | setLastRowDestination (CellsWriter *lastRowWriter) |
Private Attributes | |
| bool | active |
| IAligner * | aligner |
| The aligner object that executes the SW computation. | |
| Partition | partition |
| The partition that is being aligned. | |
| SeekableCellsReader * | lastColumnReader |
| The reader that provides the last column saved in memory/disk. | |
| SeekableCellsReader * | lastRowReader |
| The reader that provides the last rows saved in memory/disk. | |
| cell_t * | baseColumn |
| Vector that store the temporary cells for the matching procedures. | |
| cell_t * | baseRow |
| Vector that store the temporary cells for the matching procedures. | |
| const score_params_t * | score_params |
| Math/mismatch/gaps parameters. | |
| int | startType |
| The start type of the partition. | |
| int | match |
| Match Score. | |
| int | mismatch |
| Mismatch Score. | |
| int | gapOpen |
| Gap opening penalty. | |
| int | gapExtension |
| Gap extension penalty. | |
| SeekableCellsReader * | firstColumnReader |
| First column blocking buffer. | |
| SeekableCellsReader * | firstRowReader |
| First row blocking buffer. | |
| CellsWriter * | lastColumnWriter |
| Last column blocking buffer. | |
| CellsWriter * | lastRowWriter |
| Last row blocking buffer. | |
| SpecialRowsPartition * | specialRowsPartition |
| Partition where the Special Rows are stored. | |
| BestScoreList * | bestScoreList |
| List with the best scores. | |
| int | goalScore |
| The aligner must stop whenever it finds the goal score. | |
| int | goalScoreLocation |
| Where to check the goal score. | |
| bool | foundCrosspoint |
| Indicates if the next crosspoint has already been found. | |
| crosspoint_t | nextCrosspoint |
| The crosspoint found by the matching procedure or the goal score. | |
| BlocksFile * | blocksFile |
| int | bestScoreLocation |
| Where to check best score. | |
| int | lastColumnPos |
| Column tracking position for the dispatching procedure. | |
| int | lastRowPos |
| Row tracking position for the dispatching procedure. | |
| int | blockPruning |
| Callback for the last rows. | |
| int | recurrenceType |
| required recurrence type (SMITH_WATERMAN or NEEDLEMAN_WUNSCH) | |
| int | specialRowInterval |
| minimum distance between two special rows | |
| FILE * | firstRowFile |
| File where the first row is stored. | |
| int | firstColumnInitType |
| First row tracking position for the receive procedure. | |
| int | firstRowInitType |
| true if first row is gapped | |
| score_t | bestScoreLastColumn |
| true if first columns is gapped | |
| score_t | bestScoreLastRow |
| int | seq0_offset |
| defines how many nucleotides were trimmed from the sequence 0 | |
| int | seq1_offset |
| defines how many nucleotides were trimmed from the sequence 1 | |
| Partition | superPartition |
| Partition that holds all sub-partitions. | |
| AlignerManager::AlignerManager | ( | IAligner * | aligner | ) |
Definition at line 31 of file AlignerManager.cpp.
| AlignerManager::~AlignerManager | ( | ) | [virtual] |
Definition at line 74 of file AlignerManager.cpp.
| void AlignerManager::alignPartition | ( | Partition | partition, |
| int | startType | ||
| ) |
Definition at line 91 of file AlignerManager.cpp.
| void AlignerManager::dispatchColumn | ( | int | j, |
| const cell_t * | buffer, | ||
| int | len | ||
| ) | [virtual] |
Notifies to the MASA framework that some cells of a column has been processed.
This function must be called serially for each column. For example, the invocation of dispatchColumn(50000, vector, 100) will dispatch the first 100 cells of the column 50000 to MASA, and the cells are read from the vector[0..99] elements. After this, a call to dispatchColumn(50000, vector, 50) will dispatch the next 50 cells of the same column 5000, and the cells are read from the vector[0..49] elements.
| j | the column to be dispatched. |
| buffer | the vector containing the data (starting from cell 0). |
| len | the number of cells that will be read from the vector. |
Implements IManager.
Definition at line 334 of file AlignerManager.cpp.
| void AlignerManager::dispatchRow | ( | int | i, |
| const cell_t * | buffer, | ||
| int | len | ||
| ) | [virtual] |
Notifies to the MASA framework that some cells of a row has been processed.
This function must be called serially for each row, analogous to the AbstractAligner::dispatchLastColumn method.
| i | the row to be dispatched. |
| buffer | the vector containing the data (starting from cell 0). |
| len | the number of cells that will be read from the vector. |
Implements IManager.
Definition at line 374 of file AlignerManager.cpp.
| void AlignerManager::dispatchScore | ( | score_t | score, |
| int | bx = -1, |
||
| int | by = -1 |
||
| ) | [virtual] |
Notifies to the MASA framework that a new score has been computed.
This method may be called as many times it is necessary, and the best score will be calculated among all calls of this method.
If the Aligner supports the aligner_capabilities_t::dispatch_block_scores capability, them it must dispatch the score with the bx, by parameters set to the block indices and this method must be called only once for each block.
| score | the score to be dispatched |
| bx | the block position in the horizontal direction, starting from 0 up to AbstractAligner::getGridWidth() minus 1. |
| by | the block position in the vertical direction, starting from 0 up to AbstractAligner::getGridHeight() minus 1. |
Implements IManager.
Definition at line 411 of file AlignerManager.cpp.
| int AlignerManager::findBestCell | ( | const cell_t * | buffer, |
| int | len | ||
| ) | [private] |
Definition at line 611 of file AlignerManager.cpp.
| match_result_t AlignerManager::findFullGap | ( | int | len, |
| bool | openGap, | ||
| SeekableCellsReader * | cellsReader | ||
| ) | [private] |
Definition at line 658 of file AlignerManager.cpp.
| match_result_t AlignerManager::findGoalCell | ( | const cell_t * | buffer, |
| cell_t * | base, | ||
| int | len, | ||
| CellsReader * | cellsReader | ||
| ) | [private] |
Definition at line 625 of file AlignerManager.cpp.
Definition at line 720 of file AlignerManager.cpp.
| score_t AlignerManager::getBestScoreLastRow | ( | ) | const |
Definition at line 724 of file AlignerManager.cpp.
| int AlignerManager::getFirstColumnInitType | ( | ) | [virtual] |
Returns the initialization type of the first column.
Possible values are
INIT_WITH_CUSTOM_DATA: the first column must be initialized with custom data that can only be obtained by the AbstractAligner::receiveFirstColumn method.
INIT_WITH_GAPS: the first column must be initialized considering gaps. The initialization equation is:
INIT_WITH_GAPS_OPENED: the first column must be initialized considering gaps, but without gap opening penalty. The initialization equation is:
INIT_WITH_ZEROES: the first column must be initialized considering zero values. The initialization equation is:
The initialization data of all types may be obtained by the AbstractAligner::receiveFirstColumn method, but the subclass of AbstractAligner may implement the initialization functions using some architectural dependent code (for example, using vectorial hardware instructions).
Implements IManager.
Definition at line 542 of file AlignerManager.cpp.
| int AlignerManager::getFirstRowInitType | ( | ) | [virtual] |
Returns the initialization type of the first row.
Possible values are
INIT_WITH_CUSTOM_DATA: the first row must be initialized with custom data that can only be obtained by the AbstractAligner::receiveFirstRow method.
INIT_WITH_GAPS: the first column must be initialized considering gaps. The initialization equation is:
INIT_WITH_GAPS_OPENED: the first column must be initialized considering gaps, but without gap opening penalty. The initialization equation is:
INIT_WITH_ZEROES: the first row must be initialized considering zero values. The initialization equation is:
The initialization data of all types may be obtained by the AbstractAligner::receiveFirstRow method, but the subclass of AbstractAligner may implement the initialization functions using some architectural dependent code (for example, using vectorial hardware instructions).
Implements IManager.
Definition at line 561 of file AlignerManager.cpp.
| const crosspoint_t AlignerManager::getNextCrosspoint | ( | ) | const |
Defines the callback function that will be called whenever the dispatchRow method is called for the last row.
| processLastRowFunction | the callback function. Defines the callback function that will be called whenever the dispatchColumn method is called for the last column. |
| processLastColumnFunction | the callback function. Defines the callback function that will be called whenever the dispatchScore method is called. |
| processBlockFunction | the callback function. Defines the callback function that will be called whenever the dispatchScore method is called for the last cell (right-bottom most cell). |
| processLastCellFunction | the callback function. Return the next crosspoint found by the matching procedure or by the goal score. If it was not found, the returned crosspoint score is -INF. |
Definition at line 593 of file AlignerManager.cpp.
| int AlignerManager::getRecurrenceType | ( | ) | const [virtual] |
Implements IManager.
Definition at line 508 of file AlignerManager.cpp.
| int AlignerManager::getSpecialColumnInterval | ( | ) | const [virtual] |
Implements IManager.
Definition at line 519 of file AlignerManager.cpp.
| int AlignerManager::getSpecialRowInterval | ( | ) | const [virtual] |
Implements IManager.
Definition at line 515 of file AlignerManager.cpp.
| Partition AlignerManager::getSuperPartition | ( | ) | [virtual] |
Returns the super partition that includes all sub partitions being aligned.
This method must be used only by block pruning algorithms in order to obtain the corner coordinates of the matrix.
A super partition is a set of many smaller partitions and this occurs in two situations. The first is when we are running stage1 in a multiprocess environment, where we have one sub partition for each process. The second situation happens when the aligner cannot handle the full size of the matrix, so the partition is split in parts smaller than the max sequence size capability of the aligner.
Implements IManager.
Definition at line 268 of file AlignerManager.cpp.
| bool AlignerManager::isFoundCrosspoint | ( | ) | const |
Return true if the next crosspoint was found.
Definition at line 607 of file AlignerManager.cpp.
| bool AlignerManager::mustContinue | ( | ) | [virtual] |
Implements IManager.
Definition at line 527 of file AlignerManager.cpp.
| bool AlignerManager::mustDispatchLastCell | ( | ) | [virtual] |
Implements IManager.
Definition at line 455 of file AlignerManager.cpp.
| bool AlignerManager::mustDispatchLastColumn | ( | ) | [virtual] |
Implements IManager.
Definition at line 475 of file AlignerManager.cpp.
| bool AlignerManager::mustDispatchLastRow | ( | ) | [virtual] |
Implements IManager.
Definition at line 463 of file AlignerManager.cpp.
| bool AlignerManager::mustDispatchScores | ( | ) | [virtual] |
Implements IManager.
Definition at line 501 of file AlignerManager.cpp.
| bool AlignerManager::mustDispatchSpecialColumns | ( | ) | [virtual] |
Implements IManager.
Definition at line 494 of file AlignerManager.cpp.
| bool AlignerManager::mustDispatchSpecialRows | ( | ) | [virtual] |
Implements IManager.
Definition at line 487 of file AlignerManager.cpp.
| bool AlignerManager::mustPruneBlocks | ( | ) | [virtual] |
Implements IManager.
Definition at line 535 of file AlignerManager.cpp.
| void AlignerManager::receiveFirstColumn | ( | cell_t * | buffer, |
| int | len | ||
| ) | [virtual] |
Receives the first column of the partition.
This function may block until all the requested data is ready. So prefer to read data in chunks instead of reading the full first row. The data will be stored from 0 to len-1 positions of the vector passed in the parameters.
| buffer | the vector where the first column data will be stored. |
| len | the number of cells that will be read. |
Implements IManager.
Definition at line 318 of file AlignerManager.cpp.
| void AlignerManager::receiveFirstRow | ( | cell_t * | buffer, |
| int | len | ||
| ) | [virtual] |
Receives the first row of the partition.
This function may block until all the requested data is ready. So prefer to read data in chunks instead of reading the full first row. The data will be stored from 0 to len-1 positions of the vector passed in the parameters.
| buffer | the vector where the first row data will be stored. |
| len | the number of cells that will be read. |
Implements IManager.
Definition at line 326 of file AlignerManager.cpp.
| void AlignerManager::setBestScoreList | ( | BestScoreList * | bestScoreList, |
| const int | bestScoreLocation = AT_NOWHERE |
||
| ) |
Defines the list to store the best scores.
| bestScoreList | the list to store the best scores. |
| bestScoreLocation | where to check for best score. |
Definition at line 565 of file AlignerManager.cpp.
| void AlignerManager::setBlockPruning | ( | bool | blockPruning | ) |
Defines if the aligner may do the block pruning optimization.
Since there are situations that the block pruning is not permitted, so the aligner must respect when blockPruning is false.
| blockPruning | true if the aligner may prune blocks. |
Definition at line 195 of file AlignerManager.cpp.
| void AlignerManager::setBlocksFile | ( | BlocksFile * | blocksFile | ) |
Defines the file to store the best score of each block.
| blocksFile | the file to store the scores. |
Definition at line 575 of file AlignerManager.cpp.
| void AlignerManager::setFirstColumnSource | ( | SeekableCellsReader * | firstColumnReader | ) | [private] |
Defines that the first column must be initialized with a customized column.
The column is loaded from a Blocking Buffer, so consider that the buffer will block the process if the requested data is not fully ready. So, the buffer must be read in chunks, in order to not block the entire execution.
| firstColumnBuffer | the blocking buffer that will contain the first column data. |
Definition at line 216 of file AlignerManager.cpp.
| void AlignerManager::setFirstRowSource | ( | SeekableCellsReader * | firstColumnReader | ) | [private] |
Defines that the first row must be initialized with a pre-defined row.
| firstRowGapped | If true, than the cells must be initialized considering gaps, otherwise the cells must be initialized with zeros. See AbstractAligner::getFirstRowInitType for the initialization functions. Defines that the first row must be initialized with a customized row. The column is loaded from a FILE. |
| firstRow | the file that contains the first column data. |
Definition at line 247 of file AlignerManager.cpp.
| void AlignerManager::setGoalScore | ( | int | goalScore, |
| const int | goalScoreLocation = AT_NOWHERE |
||
| ) |
Whenever the aligner finds the goal score, the processing must stop.
Definition at line 579 of file AlignerManager.cpp.
| void AlignerManager::setLastColumnDestination | ( | CellsWriter * | lastColumnWriter | ) | [private] |
Defines the destination of the last column.
The column is stored in a Blocking Buffer, so consider that the buffer will block the process if the buffer is full.
| lastColumnBuffer | the buffer that will receive the data of the last column. |
Definition at line 263 of file AlignerManager.cpp.
| void AlignerManager::setLastColumnReader | ( | SeekableCellsReader * | lastColumnReader | ) |
Defines the previous special rows partition containing the rows to be matched against the last column/rows.
Definition at line 288 of file AlignerManager.cpp.
| void AlignerManager::setLastRowDestination | ( | CellsWriter * | lastRowWriter | ) | [private] |
Definition at line 284 of file AlignerManager.cpp.
| void AlignerManager::setLastRowReader | ( | SeekableCellsReader * | lastRowReader | ) |
Defines the previous special rows partition containing the rows to be matched against the last column/rows.
Definition at line 292 of file AlignerManager.cpp.
| void AlignerManager::setPenalties | ( | const int | match, |
| const int | mismatch, | ||
| const int | gapOpen, | ||
| const int | gapExtension | ||
| ) |
Defines the variable penalty functions to be aligned.
| match | Match score |
| mismatch | Mismatch score |
| gapOpen | Gap opening penalty |
| gapExtension | Gap extension penalty |
Definition at line 549 of file AlignerManager.cpp.
| void AlignerManager::setRecurrenceType | ( | int | recurrenceType | ) |
Defines that the first column must be initialized with a pre-defined column.
| firstColumnGapped | If true, than the cells must be initialized considering gaps, otherwise the cells must be initialized with zeros. See AbstractAligner::getFirstColumnInitType for the initialization functions. Defines the recurrence type of the execution. |
| recurrenceType | can be SMITH_WATERMAN or NEEDLEMAN_WUNSCH. |
Definition at line 299 of file AlignerManager.cpp.
| void AlignerManager::setSequences | ( | Sequence * | seq0, |
| Sequence * | seq1, | ||
| int | i0, | ||
| int | j0, | ||
| int | i1, | ||
| int | j1, | ||
| FILE * | stats = NULL |
||
| ) |
Defines the partition that must be processed.
| i0 | start row |
| j0 | start column |
| i1 | end row (exclusive) |
| j1 | end column (exclusive) |
| start_type | The start type of the partition. See AbstractAligner::startType. Defines the sequences and the range of the sequences that will be aligned. This method also defines the range of the sequences that will be used in the alignPartitions. Note that the [i0,i1) and [j0,j1) are not the partition itself, but all the aligned partitions will reside inside this range. If the parameters $i0$ and $j0$ are positive, then the sequence data passed to the aligner is shifted, starting in positions $i0$ and $j0$. This allows the reduction of memory consumption, trimming the prefix of the sequences that would never be used (i.e. the memory may be allocated solely for the given sequence ranges.). |
| seq0 | vertical sequence object. |
| seq1 | horizontal sequence object. |
| i0 | lowest position in seq0 that may be aligned. |
| j0 | lowest position in seq1 that may be aligned. |
| i1 | highest position in seq0 that may be aligned. |
| j1 | highest position in seq1 that may be aligned. |
| stats | the statistics log file |
Definition at line 173 of file AlignerManager.cpp.
| void AlignerManager::setSpecialRowInterval | ( | const int | specialRowInterval | ) |
Defines the minimum distance (in rows) between two special rows.
| specialRowInterval | the minimum interval between special rows. |
Definition at line 313 of file AlignerManager.cpp.
| void AlignerManager::setSpecialRowsPartition | ( | SpecialRowsPartition * | specialRowsPartition | ) |
Defines the grid dimension of the grid, if capabilities_t::dispatch_block_scores is SUPPORTED.
| width | the width of the grid. |
| height | the height of the grid. Defines the partition where the special rows will be stored. |
| specialRowsPartition | the special row partition. |
Definition at line 306 of file AlignerManager.cpp.
| void AlignerManager::setSuperPartition | ( | Partition | superPartition | ) |
Sets the super-partition being aligned to be returned by the IManager::getSuperPartition() method.
| superPartition | the super partition to be set. |
Definition at line 276 of file AlignerManager.cpp.
| void AlignerManager::stopAligner | ( | ) | [private] |
Stops the execution of the aligner.
This makes the mustContinue() method to return false.
Definition at line 523 of file AlignerManager.cpp.
| void AlignerManager::unsetGoalScore | ( | ) |
Do not find best score.
Definition at line 588 of file AlignerManager.cpp.
| void AlignerManager::unsetSequences | ( | ) |
Clear all sequence strucutures.
Definition at line 186 of file AlignerManager.cpp.
| void AlignerManager::unsetSuperPartition | ( | ) |
Resets the super-partition.
A reseted super-partition means that it will always be equal to the current aligned partition.
Definition at line 280 of file AlignerManager.cpp.
bool AlignerManager::active [private] |
Definition at line 272 of file AlignerManager.hpp.
IAligner* AlignerManager::aligner [private] |
The aligner object that executes the SW computation.
Definition at line 275 of file AlignerManager.hpp.
cell_t* AlignerManager::baseColumn [private] |
Vector that store the temporary cells for the matching procedures.
Definition at line 293 of file AlignerManager.hpp.
cell_t* AlignerManager::baseRow [private] |
Vector that store the temporary cells for the matching procedures.
Definition at line 298 of file AlignerManager.hpp.
score_t AlignerManager::bestScoreLastColumn [private] |
true if first columns is gapped
Definition at line 405 of file AlignerManager.hpp.
score_t AlignerManager::bestScoreLastRow [private] |
Definition at line 406 of file AlignerManager.hpp.
BestScoreList* AlignerManager::bestScoreList [private] |
List with the best scores.
Definition at line 339 of file AlignerManager.hpp.
int AlignerManager::bestScoreLocation [private] |
Where to check best score.
Definition at line 357 of file AlignerManager.hpp.
int AlignerManager::blockPruning [private] |
Callback for the last rows.
Callback for the last cells Callback for the scores Callback for the last score true if block must be pruned
Definition at line 378 of file AlignerManager.hpp.
BlocksFile* AlignerManager::blocksFile [private] |
Definition at line 354 of file AlignerManager.hpp.
int AlignerManager::firstColumnInitType [private] |
First row tracking position for the receive procedure.
First column tracking position for the receive procedure
Definition at line 395 of file AlignerManager.hpp.
First column blocking buffer.
Definition at line 324 of file AlignerManager.hpp.
FILE* AlignerManager::firstRowFile [private] |
File where the first row is stored.
Definition at line 387 of file AlignerManager.hpp.
int AlignerManager::firstRowInitType [private] |
true if first row is gapped
Definition at line 400 of file AlignerManager.hpp.
First row blocking buffer.
Definition at line 327 of file AlignerManager.hpp.
bool AlignerManager::foundCrosspoint [private] |
Indicates if the next crosspoint has already been found.
Definition at line 348 of file AlignerManager.hpp.
int AlignerManager::gapExtension [private] |
Gap extension penalty.
Definition at line 321 of file AlignerManager.hpp.
int AlignerManager::gapOpen [private] |
Gap opening penalty.
Definition at line 318 of file AlignerManager.hpp.
int AlignerManager::goalScore [private] |
The aligner must stop whenever it finds the goal score.
Definition at line 342 of file AlignerManager.hpp.
int AlignerManager::goalScoreLocation [private] |
Where to check the goal score.
Definition at line 345 of file AlignerManager.hpp.
int AlignerManager::lastColumnPos [private] |
Column tracking position for the dispatching procedure.
Definition at line 360 of file AlignerManager.hpp.
The reader that provides the last column saved in memory/disk.
Definition at line 283 of file AlignerManager.hpp.
CellsWriter* AlignerManager::lastColumnWriter [private] |
Last column blocking buffer.
Definition at line 330 of file AlignerManager.hpp.
int AlignerManager::lastRowPos [private] |
Row tracking position for the dispatching procedure.
Definition at line 363 of file AlignerManager.hpp.
SeekableCellsReader* AlignerManager::lastRowReader [private] |
The reader that provides the last rows saved in memory/disk.
Definition at line 288 of file AlignerManager.hpp.
CellsWriter* AlignerManager::lastRowWriter [private] |
Last row blocking buffer.
Definition at line 333 of file AlignerManager.hpp.
int AlignerManager::match [private] |
Match Score.
Definition at line 312 of file AlignerManager.hpp.
int AlignerManager::mismatch [private] |
Mismatch Score.
Definition at line 315 of file AlignerManager.hpp.
crosspoint_t AlignerManager::nextCrosspoint [private] |
The crosspoint found by the matching procedure or the goal score.
Definition at line 351 of file AlignerManager.hpp.
Partition AlignerManager::partition [private] |
The partition that is being aligned.
Definition at line 278 of file AlignerManager.hpp.
int AlignerManager::recurrenceType [private] |
required recurrence type (SMITH_WATERMAN or NEEDLEMAN_WUNSCH)
Definition at line 381 of file AlignerManager.hpp.
const score_params_t* AlignerManager::score_params [private] |
Math/mismatch/gaps parameters.
Definition at line 301 of file AlignerManager.hpp.
int AlignerManager::seq0_offset [private] |
defines how many nucleotides were trimmed from the sequence 0
Definition at line 417 of file AlignerManager.hpp.
int AlignerManager::seq1_offset [private] |
defines how many nucleotides were trimmed from the sequence 1
Definition at line 419 of file AlignerManager.hpp.
int AlignerManager::specialRowInterval [private] |
minimum distance between two special rows
Definition at line 384 of file AlignerManager.hpp.
Partition where the Special Rows are stored.
Definition at line 336 of file AlignerManager.hpp.
int AlignerManager::startType [private] |
The start type of the partition.
Possible values are: TYPE_MATCH, TYPE_GAP_1 or TYPE_GAP_2. When set to the TYPE_GAP_1 or TYPE_GAP_2, the initialization of the first row/column must be done without the gap opening penalty.
Definition at line 309 of file AlignerManager.hpp.
Partition AlignerManager::superPartition [private] |
Partition that holds all sub-partitions.
If there are no sub-partition, this is the single partition being aligned.
Definition at line 425 of file AlignerManager.hpp.
1.7.6.1