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