Reconstruction functions header. More...
Go to the source code of this file.
Functions | |
void | nwReconstruct (char **path, int *pathLen, int *outScore, Chain *query, int queryFrontGap, int queryBackGap, Chain *target, int targetFrontGap, int targetBackGap, Scorer *scorer, int score, int *cards, int cardsLen, Thread *thread) |
Needleman-Wunsch reconstruction implementation. More... | |
Reconstruction functions header.
void nwReconstruct | ( | char ** | path, |
int * | pathLen, | ||
int * | outScore, | ||
Chain * | query, | ||
int | queryFrontGap, | ||
int | queryBackGap, | ||
Chain * | target, | ||
int | targetFrontGap, | ||
int | targetBackGap, | ||
Scorer * | scorer, | ||
int | score, | ||
int * | cards, | ||
int | cardsLen, | ||
Thread * | thread | ||
) |
Needleman-Wunsch reconstruction implementation.
If the score is provided function uses Ukkonen's banded optimization. Function also utilizes Hirschberg's algorithm and therefore is linear in memory. QueryFrontGap and targetFrontGap arguments can't both be not equal to 0. QueryBackGap and targetBackGap arguments can't both be not equal to 0. For path format see Alignment. If needed function utilzes provided CUDA cards.
path | output path |
pathLen | output path length |
outScore | output score |
query | query chain |
queryFrontGap | if not equal to 0, force that path starts in MOVE_UP |
queryBackGap | if not equal to 0, force that path ends in MOVE_UP |
target | target chain |
targetFrontGap | if not equal to 0, force that path starts in MOVE_LEFT |
targetBackGap | if not equal to 0, force that path ends in MOVE_LEFT |
scorer | scorer object used for alignment |
score | input alignment score if known, otherwise NO_SCORE |
cards | cuda cards index array |
cardsLen | cuda cards index array length |
thread | thread on which the function will be executed, if NULL function is executed on the current thread |