PairwiseScoreModelI
{
/*
+ * an arbitrary score to assign for identity of an unknown symbol
+ * (this is the value on the diagonal in the * column of the NCBI matrix)
+ * (though a case could be made for using the minimum diagonal value)
+ */
+ private static final int UNKNOWN_IDENTITY_SCORE = 1;
+
+ /*
* this fields records which gap character (if any) is used in the alphabet;
* space, dash or dot are recognised as gap symbols
*/
}
/**
- * Returns the pairwise score for substituting c with d, or zero if c or d is
- * an unscored or unexpected character
+ * Returns the pairwise score for substituting c with d. If either c or d is
+ * an unexpected character, returns 1 for identity (c == d), else the minimum
+ * score value in the matrix.
*/
@Override
public float getPairwiseScore(char c, char d)
/*
* one or both symbols not found in the matrix
- * note: a possible strategy here would be to return the minimum
- * matrix value if c != d
+ * currently scoring as 1 (for identity) or the minimum
+ * matrix score value (otherwise)
+ * (a case could be made for using minimum row/column value instead)
*/
- return 0;
+ return c == d ? UNKNOWN_IDENTITY_SCORE : getMinimumScore();
}
/**