public class StrictKPathAlgorithm extends AbstractGapAlignmentAlgorithm<StrictAllOptimalAlgorithm.FullMatrixEntry,PathMap>
Modifier and Type | Class and Description |
---|---|
static class |
StrictKPathAlgorithm.IndexedStochasticPriorityQueue<K extends Comparable<K>,V>
This is a helper class, which actually extends the TreeMap to implement a
PriorityQueue that is able to poll the minimum as well as the maximum in
constanst time.
|
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULTPATHLIMIT |
Constructor and Description |
---|
StrictKPathAlgorithm(AlignmentSpecification alignmentSpecification)
This sets up an AlignmentAlgorithm instance according to the given
specification.
|
Modifier and Type | Method and Description |
---|---|
StrictAllOptimalAlgorithm.FullMatrixEntry |
createDelInitial(StrictAllOptimalAlgorithm.FullMatrixEntry delOld,
int i,
double delLocal)
This method should not be called from outside!
The subclass specifies the entry (i+1,0) of the alignment matrix with
this method given the entry (i,0).
|
StrictAllOptimalAlgorithm.FullMatrixEntry |
createInitial()
This method should not be called from outside!
The subclass specifies the entry (0,0) of the alignment matrix with this
method.
|
StrictAllOptimalAlgorithm.FullMatrixEntry |
createInsInitial(StrictAllOptimalAlgorithm.FullMatrixEntry insOld,
int j,
double insLocal)
This method should not be called from outside!
The subclass specifies the entry (0,j+1) of the alignment matrix with
this method given the entry (0,j).
|
StrictAllOptimalAlgorithm.FullMatrixEntry |
createNewEntry(StrictAllOptimalAlgorithm.FullMatrixEntry delOld,
StrictAllOptimalAlgorithm.FullMatrixEntry insOld,
StrictAllOptimalAlgorithm.FullMatrixEntry repOld,
int i,
int j,
double delLocal,
double insLocal,
double repLocal)
This method should not be called from outside!
The subclass specifies the entry (i+1,j+1) of the alignment matrix with
this method given the entries (i,j+1) (deletion), (i+1,j) (insertion) and
(i,j) (replacement).
|
int |
getPathLimit()
Please refer to the corresponding setter method for more calculation.
|
void |
setPathLimit(int pathLimit)
This sets the k that gives the StrictKPathAlgorithm its name: The number
of returned AlignmentPaths is limited to the k best alignments.
|
PathMap |
transformToResult(StrictAllOptimalAlgorithm.FullMatrixEntry[][] alignmentMatrix,
Sequence a,
Sequence b)
This method should not be called from outside!
The subclass uses this method to transform the alignment matrix and the
input sequences to the actual alignment result.
|
calculateAlignment, createGenericArray, createGenericMatrix, getEntryClass, getLastAlignmentMatrix, getResultClass, getSpecification, getWeightThreshold, setWeightThreshold
public static final int DEFAULTPATHLIMIT
public StrictKPathAlgorithm(AlignmentSpecification alignmentSpecification)
alignmentSpecification
- an AlignmentSpecification.public int getPathLimit()
public void setPathLimit(int pathLimit)
pathLimit
- a maximum number of paths that shall be calculated.public StrictAllOptimalAlgorithm.FullMatrixEntry createInitial()
createInitial
in class AbstractGapAlignmentAlgorithm<StrictAllOptimalAlgorithm.FullMatrixEntry,PathMap>
public StrictAllOptimalAlgorithm.FullMatrixEntry createDelInitial(StrictAllOptimalAlgorithm.FullMatrixEntry delOld, int i, double delLocal)
createDelInitial
in class AbstractGapAlignmentAlgorithm<StrictAllOptimalAlgorithm.FullMatrixEntry,PathMap>
delOld
- the matrix entry (i,0)i
- i+1delLocal
- the local deletion cost, defined as the weighted sum over
all comparator deletion costs.public StrictAllOptimalAlgorithm.FullMatrixEntry createInsInitial(StrictAllOptimalAlgorithm.FullMatrixEntry insOld, int j, double insLocal)
createInsInitial
in class AbstractGapAlignmentAlgorithm<StrictAllOptimalAlgorithm.FullMatrixEntry,PathMap>
insOld
- the matrix entry (0,j+1)j
- j+1insLocal
- the local insertion cost, defined as the weighted sum
over all comparator insertion costs.public StrictAllOptimalAlgorithm.FullMatrixEntry createNewEntry(StrictAllOptimalAlgorithm.FullMatrixEntry delOld, StrictAllOptimalAlgorithm.FullMatrixEntry insOld, StrictAllOptimalAlgorithm.FullMatrixEntry repOld, int i, int j, double delLocal, double insLocal, double repLocal)
createNewEntry
in class AbstractGapAlignmentAlgorithm<StrictAllOptimalAlgorithm.FullMatrixEntry,PathMap>
delOld
- the matrix entry (i,j+1)insOld
- the matrix entry (i+1,j)repOld
- the matrix entry (i,j)i
- i+1j
- j+1delLocal
- the local deletion cost, defined as the weighted sum over
all comparator deletion costs.insLocal
- the local insertion cost, defined as the weighted sum
over all comparator insertion costs.repLocal
- the local replacement cost, defined as the weighted sum
over all comparator replacement costs.public PathMap transformToResult(StrictAllOptimalAlgorithm.FullMatrixEntry[][] alignmentMatrix, Sequence a, Sequence b)
transformToResult
in class AbstractGapAlignmentAlgorithm<StrictAllOptimalAlgorithm.FullMatrixEntry,PathMap>
alignmentMatrix
- the alignment matrix.a
- the first sequence.b
- th second sequence.Copyright (C) 2013-2015 Benjamin Paaßen, Georg Zentgraf, AG Theoretical Computer Science, Centre of Excellence Cognitive Interaction Technology (CITEC), University of Bielefeld, licensed under the AGPL v. 3: http://openresearch.cit-ec.de/projects/tcs