code: private int getSubstitutionScore(float[] qv, float[] tv) {
  		float score = 0.0f;
  		for (int q = 0; q < qv.length; q++) {
  			if (qv[q] > 0.0f) {
  				for (int t = 0; t < tv.length; t++) {
  					if (tv[t] > 0.0f) {
  						score += qv[q]*tv[t]*getSubstitutionMatrix().getValue(cslist.get(q), cslist.get(t));
  					}
  				}
  			}
  		}
  		return Math.round(score);
  	}
docs: helper method that scores alignment of two column vectors