JAL-1807 includes ?j2sdebug flag and DebugJS._(msg)
[jalviewjs.git] / bin / jalview / analysis / scoremodels / PairwiseSeqScoreModel.js
1 Clazz.declarePackage ("jalview.analysis.scoremodels");
2 Clazz.load (["jalview.api.analysis.ScoreModelI"], "jalview.analysis.scoremodels.PairwiseSeqScoreModel", ["jalview.util.Comparison"], function () {
3 c$ = Clazz.declareType (jalview.analysis.scoremodels, "PairwiseSeqScoreModel", null, jalview.api.analysis.ScoreModelI);
4 Clazz.overrideMethod (c$, "findDistances", 
5 function (seqData) {
6 var sequenceString = seqData.getSequenceStrings (jalview.util.Comparison.GapChars.charAt (0));
7 var noseqs = sequenceString.length;
8 var distance =  Clazz.newFloatArray (noseqs, noseqs, 0);
9 var maxscore = 0;
10 var end = sequenceString[0].length;
11 for (var i = 0; i < (noseqs - 1); i++) {
12 for (var j = i; j < noseqs; j++) {
13 var score = 0;
14 for (var k = 0; k < end; k++) {
15 try {
16 score += this.getPairwiseScore (sequenceString[i].charAt (k), sequenceString[j].charAt (k));
17 } catch (ex) {
18 if (Clazz.exceptionOf (ex, Exception)) {
19 System.err.println ("err creating " + this.getName () + " tree");
20 ex.printStackTrace ();
21 } else {
22 throw ex;
23 }
24 }
25 }
26 distance[i][j] = score;
27 if (score > maxscore) {
28 maxscore = score;
29 }}
30 }
31 for (var i = 0; i < (noseqs - 1); i++) {
32 for (var j = i; j < noseqs; j++) {
33 distance[i][j] = maxscore - distance[i][j];
34 distance[j][i] = distance[i][j];
35 }
36 }
37 return distance;
38 }, "jalview.datamodel.AlignmentView");
39 });