- E[i][j] = max(score[i][j - 1] - gapOpen, E[i][j - 1] - gapExtend);
- F[i][j] = max(score[i - 1][j] - gapOpen, F[i - 1][j] - gapExtend);
-
- score[i][j] = max(score[i - 1][j - 1]
- + (lookup[seq1[i]][seq2[j]] * 10), E[i][j], F[i][j]);
+ E[i][j] = max(score[i][j - 1] - GAP_OPEN_COST,
+ E[i][j - 1] - GAP_EXTEND_COST);
+ F[i][j] = max(score[i - 1][j] - GAP_OPEN_COST,
+ F[i - 1][j] - GAP_EXTEND_COST);
+
+ float pairwiseScore = scoreMatrix.getPairwiseScore(s1str.charAt(i),
+ s2str.charAt(j));
+ score[i][j] = max(score[i - 1][j - 1] + (pairwiseScore * 10),
+ E[i][j], F[i][j]);