21 #include <Alignment.h>
22 #include <AlignmentData.h>
23 #include <GapFunction.h>
25 #include <ScoringScheme.h>
26 #include <Traceback.h>
38 #define EQUALS(a, b) (fabs(a - b) < EQ_EPS ? true : false)
40 namespace Victor {
namespace Align2{
97 virtual vector<string>
getMatch()
const;
120 virtual void doMatch(ostream &os)
const;
124 string headerTemplate)
const;
152 const vector<unsigned int> &v2,
bool update =
true) = 0;
160 vector< vector<double> >
F;
161 vector< vector<Traceback> >
B;
201 if ((
B.size() > 0) && (tb.
i >= 0) && (tb.
j >= 0) &&
202 (tb.
i < static_cast<int> (
B.size())) &&
203 (tb.
j <
static_cast<int> (
B[tb.
i].size())))
204 return B[tb.
i][tb.
j];
Pairwise sequence and profile alignment.
Definition: Align.h:48
virtual void getMultiMatch()=0
Return two-element array containing an alignment with maximal score.
virtual void recalculateMatrix()
Recalculate the alignment matrix.
Definition: Align.cc:275
Base class for gap functions.
Definition: GapFunction.h:31
virtual vector< string > getMatch() const
Return two-element array containing an alignment with maximal score.
Definition: Align.cc:82
virtual void copy(const Align &orig)
Copy orig object to this object ("deep copy").
Definition: Align.cc:235
AlignmentData * ad
Pointer to AlignmentData.
Definition: Align.h:157
double penaltyMul
Multiplicative penalty for suboptimal alignment.
Definition: Align.h:167
unsigned int m
Length of template sequence.
Definition: Align.h:164
virtual Traceback next(const Traceback &tb) const
Return next Traceback element.
Definition: Align.h:200
virtual double getScore() const
Return alignment score.
Definition: Align.h:209
virtual void outputMultiMatch(ostream &os, unsigned int num=10, bool fasta=false)
Generate and output an ensemble of suboptimal alignments.
Definition: Align.cc:157
virtual Align * newCopy()=0
Construct a new "deep copy" of this object.
Align(AlignmentData *ad, GapFunction *gf, ScoringScheme *ss)
Default constructor.
Definition: Align.cc:31
virtual ~Align()
Destructor.
Definition: Align.cc:52
Traceback B0
Starting point of the traceback.
Definition: Align.h:162
ScoringScheme * getScoringScheme()
Return ScoringScheme pointer.
Definition: Align.h:195
vector< int > res1Pos
Aligned positions for target sequence.
Definition: Align.h:165
virtual void doMatchPlusHeader(ostream &os, string headerTarget, string headerTemplate) const
Output of alignment result (including headers of the two sequences).
Definition: Align.cc:217
virtual vector< Alignment > generateMultiMatch(unsigned int num=1)
Generate and return an ensemble of suboptimal alignments.
Definition: Align.cc:177
double penaltyAdd
Additive penalty for suboptimal alignment.
Definition: Align.h:168
int j
Position (column).
Definition: Traceback.h:90
GapFunction * getGapFunction()
Return GapFunction pointer.
Definition: Align.h:190
vector< vector< double > > F
Score matrix.
Definition: Align.h:160
Base class for printing alignments.
Definition: AlignmentData.h:35
virtual vector< int > shiftMatchSubset(vector< int > inputVector, int newStartPos)
Return vector with positions shifted depending on new position.
Definition: Align.cc:135
virtual vector< vector< int > > getMatchSubset()
Return subset corresponding to match.
Definition: Align.cc:126
vector< vector< Traceback > > B
Traceback matrix.
Definition: Align.h:161
virtual vector< double > generateMultiMatchScore(unsigned int num=10)
Generate and return scores of an ensemble of suboptimal alignments.
Definition: Align.cc:196
int i
Position (row).
Definition: Traceback.h:89
unsigned int n
Length of target sequence.
Definition: Align.h:163
Reconstruct the path in the alignment matrix.
Definition: Traceback.h:30
virtual vector< double > getMultiMatchScore(unsigned int num=10)
Return alignment scores of an ensemble of suboptimal alignments.
Definition: Align.cc:70
virtual void doMatch(ostream &os) const
Output of alignment result.
Definition: Align.cc:208
vector< int > res2Pos
Aligned positions for template sequence.
Definition: Align.h:166
Align & operator=(const Align &orig)
Assignment operator.
Definition: Align.cc:59
static Traceback getInvalidTraceback()
Return invalid position.
Definition: Traceback.h:128
virtual void pCalculateMatrix(bool update=true)=0
Update/create matrix values.
ScoringScheme * ss
Pointer to ScoringScheme.
Definition: Align.h:159
Base class for scoring schemes.
Definition: ScoringScheme.h:34
void pModifyMatrix(int i, int j)
Modify matrix during suboptimal alignment generation.
Definition: Align.h:232
AlignmentData * getAlignmentData()
Return AlignmentData pointer.
Definition: Align.h:185
void setPenalties(double mul, double add)
Set penalties for suboptimal alignments.
Definition: Align.h:222
GapFunction * gf
Pointer to GapFunction.
Definition: Align.h:158