@datagrok/bio 2.4.31 → 2.4.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +6 -8
- package/README.md +22 -7
- package/css/msa.css +3 -0
- package/detectors.js +21 -12
- package/dist/1.js +2 -0
- package/dist/1.js.map +1 -0
- package/dist/18.js +2 -0
- package/dist/18.js.map +1 -0
- package/dist/190.js +2 -0
- package/dist/190.js.map +1 -0
- package/dist/452.js +2 -0
- package/dist/452.js.map +1 -0
- package/dist/729.js +2 -0
- package/dist/729.js.map +1 -0
- package/dist/package-test.js +1 -1
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/files/libraries/broken-lib.sdf +136 -0
- package/files/libraries/group1/mock-lib-3.json +74 -0
- package/files/libraries/mock-lib-2.json +48 -0
- package/files/tests/100_3_clustests.csv +100 -0
- package/files/tests/100_3_clustests_empty_vals.csv +100 -0
- package/files/tests/peptides_motif-with-random_10000.csv +9998 -0
- package/package.json +4 -4
- package/scripts/sequence_generator.py +164 -48
- package/src/analysis/sequence-activity-cliffs.ts +7 -9
- package/src/analysis/sequence-diversity-viewer.ts +8 -3
- package/src/analysis/sequence-search-base-viewer.ts +4 -3
- package/src/analysis/sequence-similarity-viewer.ts +13 -7
- package/src/analysis/sequence-space.ts +15 -12
- package/src/analysis/workers/mm-distance-array-service.ts +48 -0
- package/src/analysis/workers/mm-distance-array-worker.ts +29 -0
- package/src/analysis/workers/mm-distance-worker-creator.ts +6 -9
- package/src/apps/web-logo-app.ts +34 -0
- package/src/calculations/monomerLevelMols.ts +10 -12
- package/src/demo/bio01-similarity-diversity.ts +4 -5
- package/src/demo/bio01a-hierarchical-clustering-and-sequence-space.ts +6 -7
- package/src/demo/bio01b-hierarchical-clustering-and-activity-cliffs.ts +7 -8
- package/src/demo/bio03-atomic-level.ts +1 -4
- package/src/demo/bio05-helm-msa-sequence-space.ts +6 -4
- package/src/demo/utils.ts +3 -4
- package/src/package-test.ts +1 -2
- package/src/package.ts +135 -82
- package/src/seq_align.ts +482 -483
- package/src/substructure-search/substructure-search.ts +3 -3
- package/src/tests/Palettes-test.ts +1 -1
- package/src/tests/WebLogo-positions-test.ts +12 -35
- package/src/tests/_first-tests.ts +1 -1
- package/src/tests/activity-cliffs-tests.ts +10 -7
- package/src/tests/activity-cliffs-utils.ts +6 -5
- package/src/tests/bio-tests.ts +20 -25
- package/src/tests/checkInputColumn-tests.ts +5 -11
- package/src/tests/converters-test.ts +19 -37
- package/src/tests/detectors-benchmark-tests.ts +35 -37
- package/src/tests/detectors-tests.ts +29 -34
- package/src/tests/detectors-weak-and-likely-tests.ts +11 -21
- package/src/tests/fasta-export-tests.ts +3 -3
- package/src/tests/fasta-handler-test.ts +2 -3
- package/src/tests/lib-tests.ts +2 -4
- package/src/tests/mm-distance-tests.ts +25 -17
- package/src/tests/monomer-libraries-tests.ts +1 -1
- package/src/tests/msa-tests.ts +12 -9
- package/src/tests/pepsea-tests.ts +6 -3
- package/src/tests/renderers-test.ts +13 -11
- package/src/tests/sequence-space-test.ts +10 -8
- package/src/tests/sequence-space-utils.ts +6 -4
- package/src/tests/similarity-diversity-tests.ts +47 -61
- package/src/tests/splitters-test.ts +14 -20
- package/src/tests/to-atomic-level-tests.ts +9 -17
- package/src/tests/units-handler-splitted-tests.ts +106 -0
- package/src/tests/units-handler-tests.ts +22 -26
- package/src/tests/utils/sequences-generators.ts +6 -2
- package/src/tests/utils.ts +10 -4
- package/src/tests/viewers.ts +1 -1
- package/src/utils/atomic-works.ts +49 -57
- package/src/utils/cell-renderer.ts +25 -8
- package/src/utils/check-input-column.ts +19 -4
- package/src/utils/constants.ts +3 -3
- package/src/utils/convert.ts +56 -23
- package/src/utils/monomer-lib.ts +83 -64
- package/src/utils/multiple-sequence-alignment-ui.ts +35 -21
- package/src/utils/multiple-sequence-alignment.ts +2 -2
- package/src/utils/pepsea.ts +17 -7
- package/src/utils/save-as-fasta.ts +11 -4
- package/src/utils/ui-utils.ts +1 -1
- package/src/viewers/vd-regions-viewer.ts +21 -22
- package/src/viewers/web-logo-viewer.ts +189 -154
- package/src/widgets/bio-substructure-filter.ts +9 -6
- package/src/widgets/representations.ts +11 -12
- package/tsconfig.json +1 -1
- package/dist/258.js +0 -2
- package/dist/258.js.map +0 -1
- package/dist/457.js +0 -2
- package/dist/457.js.map +0 -1
- package/dist/562.js +0 -2
- package/dist/562.js.map +0 -1
- package/dist/925.js +0 -2
- package/dist/925.js.map +0 -1
- package/src/analysis/workers/mm-distance-worker.ts +0 -16
package/src/seq_align.ts
CHANGED
|
@@ -1,524 +1,523 @@
|
|
|
1
|
+
/* eslint-disable max-len */
|
|
1
2
|
|
|
2
|
-
class Cell{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class Cell {
|
|
4
|
+
public value: number;
|
|
5
|
+
public parentI: number;
|
|
6
|
+
public parentJ: number;
|
|
7
|
+
public constructor() {
|
|
8
|
+
this.value = 0;
|
|
9
|
+
this.parentI = 0;
|
|
10
|
+
this.parentJ = 0;
|
|
11
|
+
}
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
export class Aligned{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
export class Aligned {
|
|
16
|
+
public seq1: string;
|
|
17
|
+
public seq2: string;
|
|
18
|
+
public score: number;
|
|
19
|
+
public constructor(seq1_:string, seq2_:string, score_: number) {
|
|
20
|
+
this.seq1 = seq1_;
|
|
21
|
+
this.seq2 = seq2_;
|
|
22
|
+
this.score = score_;
|
|
23
|
+
}
|
|
23
24
|
};
|
|
24
25
|
|
|
25
|
-
export class SequenceAlignment{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
private BLOSUM45:Array<Array<number>> = [[5,-2,-1,-2,-1,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-2,-2,0,-1,-1,0,-5],
|
|
37
|
-
[-2,7,0,-1,-3,1,0,-2,0,-3,-2,3,-1,-2,-2,-1,-1,-2,-1,-2,-1,0,-1,-5],
|
|
38
|
-
[-1,0,6,2,-2,0,0,0,1,-2,-3,0,-2,-2,-2,1,0,-4,-2,-3,4,0,-1,-5],
|
|
39
|
-
[-2,-1,2,7,-3,0,2,-1,0,-4,-3,0,-3,-4,-1,0,-1,-4,-2,-3,5,1,-1,-5],
|
|
40
|
-
[-1,-3,-2,-3,12,-3,-3,-3,-3,-3,-2,-3,-2,-2,-4,-1,-1,-5,-3,-1,-2,-3,-2,-5],
|
|
41
|
-
[-1,1,0,0,-3,6,2,-2,1,-2,-2,1,0,-4,-1,0,-1,-2,-1,-3,0,4,-1,-5],
|
|
42
|
-
[-1,0,0,2,-3,2,6,-2,0,-3,-2,1,-2,-3,0,0,-1,-3,-2,-3,1,4,-1,-5],
|
|
43
|
-
[0,-2,0,-1,-3,-2,-2,7,-2,-4,-3,-2,-2,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-5],
|
|
44
|
-
[-2,0,1,0,-3,1,0,-2,10,-3,-2,-1,0,-2,-2,-1,-2,-3,2,-3,0,0,-1,-5],
|
|
45
|
-
[-1,-3,-2,-4,-3,-2,-3,-4,-3,5,2,-3,2,0,-2,-2,-1,-2,0,3,-3,-3,-1,-5],
|
|
46
|
-
[-1,-2,-3,-3,-2,-2,-2,-3,-2,2,5,-3,2,1,-3,-3,-1,-2,0,1,-3,-2,-1,-5],
|
|
47
|
-
[-1,3,0,0,-3,1,1,-2,-1,-3,-3,5,-1,-3,-1,-1,-1,-2,-1,-2,0,1,-1,-5],
|
|
48
|
-
[-1,-1,-2,-3,-2,0,-2,-2,0,2,2,-1,6,0,-2,-2,-1,-2,0,1,-2,-1,-1,-5],
|
|
49
|
-
[-2,-2,-2,-4,-2,-4,-3,-3,-2,0,1,-3,0,8,-3,-2,-1,1,3,0,-3,-3,-1,-5],
|
|
50
|
-
[-1,-2,-2,-1,-4,-1,0,-2,-2,-2,-3,-1,-2,-3,9,-1,-1,-3,-3,-3,-2,-1,-1,-5],
|
|
51
|
-
[1,-1,1,0,-1,0,0,0,-1,-2,-3,-1,-2,-2,-1,4,2,-4,-2,-1,0,0,0,-5],
|
|
52
|
-
[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-1,-1,2,5,-3,-1,0,0,-1,0,-5],
|
|
53
|
-
[-2,-2,-4,-4,-5,-2,-3,-2,-3,-2,-2,-2,-2,1,-3,-4,-3,15,3,-3,-4,-2,-2,-5],
|
|
54
|
-
[-2,-1,-2,-2,-3,-1,-2,-3,2,0,0,-1,0,3,-3,-2,-1,3,8,-1,-2,-2,-1,-5],
|
|
55
|
-
[0,-2,-3,-3,-1,-3,-3,-3,-3,3,1,-2,1,0,-3,-1,0,-3,-1,5,-3,-3,-1,-5],
|
|
56
|
-
[-1,-1,4,5,-2,0,1,-1,0,-3,-3,0,-2,-3,-2,0,0,-4,-2,-3,4,2,-1,-5],
|
|
57
|
-
[-1,0,0,1,-3,4,4,-2,0,-3,-2,1,-1,-3,-1,0,-1,-2,-2,-3,2,4,-1,-5],
|
|
58
|
-
[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-2,-1,-1,-1,-1,-1,-5],
|
|
59
|
-
[-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,1]];
|
|
26
|
+
export class SequenceAlignment {
|
|
27
|
+
private seq1:string ='';
|
|
28
|
+
private seq2:string ='';
|
|
29
|
+
private gap:number =1;
|
|
30
|
+
private len1:number =0;
|
|
31
|
+
private len2:number =0;
|
|
32
|
+
private step:number= 1;
|
|
33
|
+
private alignGrid:Array<Array<number>>=[];
|
|
34
|
+
private scores:Array<Array<number>>=[];
|
|
35
|
+
private dpGrid:Array<Array<Cell>>=[];
|
|
36
|
+
private connections: {[id:string]:number} = {};
|
|
60
37
|
|
|
61
|
-
|
|
62
|
-
[-2,7
|
|
63
|
-
[-1
|
|
64
|
-
[-2
|
|
65
|
-
[-1
|
|
66
|
-
[-1,1,0,0
|
|
67
|
-
[-1,0,0,2
|
|
68
|
-
[0
|
|
69
|
-
[-2,0,1
|
|
70
|
-
[-1
|
|
71
|
-
[-2
|
|
72
|
-
[-1,3,0
|
|
73
|
-
[-1
|
|
74
|
-
[-
|
|
75
|
-
[-1
|
|
76
|
-
[1
|
|
77
|
-
[0
|
|
78
|
-
[-
|
|
79
|
-
[-2
|
|
80
|
-
[0
|
|
81
|
-
[-
|
|
82
|
-
[-1,0,0,1
|
|
83
|
-
[-1
|
|
84
|
-
[-5
|
|
38
|
+
private BLOSUM45:Array<Array<number>> = [[5, -2, -1, -2, -1, -1, -1, 0, -2, -1, -1, -1, -1, -2, -1, 1, 0, -2, -2, 0, -1, -1, 0, -5],
|
|
39
|
+
[-2, 7, 0, -1, -3, 1, 0, -2, 0, -3, -2, 3, -1, -2, -2, -1, -1, -2, -1, -2, -1, 0, -1, -5],
|
|
40
|
+
[-1, 0, 6, 2, -2, 0, 0, 0, 1, -2, -3, 0, -2, -2, -2, 1, 0, -4, -2, -3, 4, 0, -1, -5],
|
|
41
|
+
[-2, -1, 2, 7, -3, 0, 2, -1, 0, -4, -3, 0, -3, -4, -1, 0, -1, -4, -2, -3, 5, 1, -1, -5],
|
|
42
|
+
[-1, -3, -2, -3, 12, -3, -3, -3, -3, -3, -2, -3, -2, -2, -4, -1, -1, -5, -3, -1, -2, -3, -2, -5],
|
|
43
|
+
[-1, 1, 0, 0, -3, 6, 2, -2, 1, -2, -2, 1, 0, -4, -1, 0, -1, -2, -1, -3, 0, 4, -1, -5],
|
|
44
|
+
[-1, 0, 0, 2, -3, 2, 6, -2, 0, -3, -2, 1, -2, -3, 0, 0, -1, -3, -2, -3, 1, 4, -1, -5],
|
|
45
|
+
[0, -2, 0, -1, -3, -2, -2, 7, -2, -4, -3, -2, -2, -3, -2, 0, -2, -2, -3, -3, -1, -2, -1, -5],
|
|
46
|
+
[-2, 0, 1, 0, -3, 1, 0, -2, 10, -3, -2, -1, 0, -2, -2, -1, -2, -3, 2, -3, 0, 0, -1, -5],
|
|
47
|
+
[-1, -3, -2, -4, -3, -2, -3, -4, -3, 5, 2, -3, 2, 0, -2, -2, -1, -2, 0, 3, -3, -3, -1, -5],
|
|
48
|
+
[-1, -2, -3, -3, -2, -2, -2, -3, -2, 2, 5, -3, 2, 1, -3, -3, -1, -2, 0, 1, -3, -2, -1, -5],
|
|
49
|
+
[-1, 3, 0, 0, -3, 1, 1, -2, -1, -3, -3, 5, -1, -3, -1, -1, -1, -2, -1, -2, 0, 1, -1, -5],
|
|
50
|
+
[-1, -1, -2, -3, -2, 0, -2, -2, 0, 2, 2, -1, 6, 0, -2, -2, -1, -2, 0, 1, -2, -1, -1, -5],
|
|
51
|
+
[-2, -2, -2, -4, -2, -4, -3, -3, -2, 0, 1, -3, 0, 8, -3, -2, -1, 1, 3, 0, -3, -3, -1, -5],
|
|
52
|
+
[-1, -2, -2, -1, -4, -1, 0, -2, -2, -2, -3, -1, -2, -3, 9, -1, -1, -3, -3, -3, -2, -1, -1, -5],
|
|
53
|
+
[1, -1, 1, 0, -1, 0, 0, 0, -1, -2, -3, -1, -2, -2, -1, 4, 2, -4, -2, -1, 0, 0, 0, -5],
|
|
54
|
+
[0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -1, -1, 2, 5, -3, -1, 0, 0, -1, 0, -5],
|
|
55
|
+
[-2, -2, -4, -4, -5, -2, -3, -2, -3, -2, -2, -2, -2, 1, -3, -4, -3, 15, 3, -3, -4, -2, -2, -5],
|
|
56
|
+
[-2, -1, -2, -2, -3, -1, -2, -3, 2, 0, 0, -1, 0, 3, -3, -2, -1, 3, 8, -1, -2, -2, -1, -5],
|
|
57
|
+
[0, -2, -3, -3, -1, -3, -3, -3, -3, 3, 1, -2, 1, 0, -3, -1, 0, -3, -1, 5, -3, -3, -1, -5],
|
|
58
|
+
[-1, -1, 4, 5, -2, 0, 1, -1, 0, -3, -3, 0, -2, -3, -2, 0, 0, -4, -2, -3, 4, 2, -1, -5],
|
|
59
|
+
[-1, 0, 0, 1, -3, 4, 4, -2, 0, -3, -2, 1, -1, -3, -1, 0, -1, -2, -2, -3, 2, 4, -1, -5],
|
|
60
|
+
[0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -2, -1, -1, -1, -1, -1, -5],
|
|
61
|
+
[-5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 1]];
|
|
85
62
|
|
|
86
|
-
|
|
87
|
-
[-1,
|
|
88
|
-
[-
|
|
89
|
-
[-2
|
|
90
|
-
[
|
|
91
|
-
[-1,1,0,0
|
|
92
|
-
[-1,0,0,2
|
|
93
|
-
[0
|
|
94
|
-
[-2,0,1
|
|
95
|
-
[-1
|
|
96
|
-
[-
|
|
97
|
-
[-1,
|
|
98
|
-
[-1
|
|
99
|
-
[-
|
|
100
|
-
[-1
|
|
101
|
-
[1
|
|
102
|
-
[0
|
|
103
|
-
[-3
|
|
104
|
-
[-2
|
|
105
|
-
[0
|
|
106
|
-
[-2
|
|
107
|
-
[-1,0,0,1
|
|
108
|
-
[
|
|
109
|
-
[-
|
|
63
|
+
private BLOSUM50:Array<Array<number>> = [[5, -2, -1, -2, -1, -1, -1, 0, -2, -1, -2, -1, -1, -3, -1, 1, 0, -3, -2, 0, -2, -1, -1, -5],
|
|
64
|
+
[-2, 7, -1, -2, -4, 1, 0, -3, 0, -4, -3, 3, -2, -3, -3, -1, -1, -3, -1, -3, -1, 0, -1, -5],
|
|
65
|
+
[-1, -1, 7, 2, -2, 0, 0, 0, 1, -3, -4, 0, -2, -4, -2, 1, 0, -4, -2, -3, 4, 0, -1, -5],
|
|
66
|
+
[-2, -2, 2, 8, -4, 0, 2, -1, -1, -4, -4, -1, -4, -5, -1, 0, -1, -5, -3, -4, 5, 1, -1, -5],
|
|
67
|
+
[-1, -4, -2, -4, 13, -3, -3, -3, -3, -2, -2, -3, -2, -2, -4, -1, -1, -5, -3, -1, -3, -3, -2, -5],
|
|
68
|
+
[-1, 1, 0, 0, -3, 7, 2, -2, 1, -3, -2, 2, 0, -4, -1, 0, -1, -1, -1, -3, 0, 4, -1, -5],
|
|
69
|
+
[-1, 0, 0, 2, -3, 2, 6, -3, 0, -4, -3, 1, -2, -3, -1, -1, -1, -3, -2, -3, 1, 5, -1, -5],
|
|
70
|
+
[0, -3, 0, -1, -3, -2, -3, 8, -2, -4, -4, -2, -3, -4, -2, 0, -2, -3, -3, -4, -1, -2, -2, -5],
|
|
71
|
+
[-2, 0, 1, -1, -3, 1, 0, -2, 10, -4, -3, 0, -1, -1, -2, -1, -2, -3, 2, -4, 0, 0, -1, -5],
|
|
72
|
+
[-1, -4, -3, -4, -2, -3, -4, -4, -4, 5, 2, -3, 2, 0, -3, -3, -1, -3, -1, 4, -4, -3, -1, -5],
|
|
73
|
+
[-2, -3, -4, -4, -2, -2, -3, -4, -3, 2, 5, -3, 3, 1, -4, -3, -1, -2, -1, 1, -4, -3, -1, -5],
|
|
74
|
+
[-1, 3, 0, -1, -3, 2, 1, -2, 0, -3, -3, 6, -2, -4, -1, 0, -1, -3, -2, -3, 0, 1, -1, -5],
|
|
75
|
+
[-1, -2, -2, -4, -2, 0, -2, -3, -1, 2, 3, -2, 7, 0, -3, -2, -1, -1, 0, 1, -3, -1, -1, -5],
|
|
76
|
+
[-3, -3, -4, -5, -2, -4, -3, -4, -1, 0, 1, -4, 0, 8, -4, -3, -2, 1, 4, -1, -4, -4, -2, -5],
|
|
77
|
+
[-1, -3, -2, -1, -4, -1, -1, -2, -2, -3, -4, -1, -3, -4, 10, -1, -1, -4, -3, -3, -2, -1, -2, -5],
|
|
78
|
+
[1, -1, 1, 0, -1, 0, -1, 0, -1, -3, -3, 0, -2, -3, -1, 5, 2, -4, -2, -2, 0, 0, -1, -5],
|
|
79
|
+
[0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -2, -1, 2, 5, -3, -2, 0, 0, -1, 0, -5],
|
|
80
|
+
[-3, -3, -4, -5, -5, -1, -3, -3, -3, -3, -2, -3, -1, 1, -4, -4, -3, 15, 2, -3, -5, -2, -3, -5],
|
|
81
|
+
[-2, -1, -2, -3, -3, -1, -2, -3, 2, -1, -1, -2, 0, 4, -3, -2, -2, 2, 8, -1, -3, -2, -1, -5],
|
|
82
|
+
[0, -3, -3, -4, -1, -3, -3, -4, -4, 4, 1, -3, 1, -1, -3, -2, 0, -3, -1, 5, -4, -3, -1, -5],
|
|
83
|
+
[-2, -1, 4, 5, -3, 0, 1, -1, 0, -4, -4, 0, -3, -4, -2, 0, 0, -5, -3, -4, 5, 2, -1, -5],
|
|
84
|
+
[-1, 0, 0, 1, -3, 4, 5, -2, 0, -3, -3, 1, -1, -4, -1, 0, -1, -2, -2, -3, 2, 5, -1, -5],
|
|
85
|
+
[-1, -1, -1, -1, -2, -1, -1, -2, -1, -1, -1, -1, -1, -2, -2, -1, 0, -3, -1, -1, -1, -1, -1, -5],
|
|
86
|
+
[-5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 1]];
|
|
110
87
|
|
|
111
|
-
|
|
112
|
-
[-
|
|
113
|
-
[-
|
|
114
|
-
[-
|
|
115
|
-
[-
|
|
116
|
-
[-
|
|
117
|
-
[-2
|
|
118
|
-
[0
|
|
119
|
-
[-3,0,1
|
|
120
|
-
[-3
|
|
121
|
-
[-3
|
|
122
|
-
[-1,3,
|
|
123
|
-
[-2
|
|
124
|
-
[-
|
|
125
|
-
[-1
|
|
126
|
-
[
|
|
127
|
-
[0
|
|
128
|
-
[-
|
|
129
|
-
[-
|
|
130
|
-
[-1
|
|
131
|
-
[-
|
|
132
|
-
[-2,0
|
|
133
|
-
[-1
|
|
134
|
-
[-
|
|
88
|
+
private BLOSUM62:Array<Array<number>> = [[4, -1, -2, -2, 0, -1, -1, 0, -2, -1, -1, -1, -1, -2, -1, 1, 0, -3, -2, 0, -2, -1, 0, -4],
|
|
89
|
+
[-1, 5, 0, -2, -3, 1, 0, -2, 0, -3, -2, 2, -1, -3, -2, -1, -1, -3, -2, -3, -1, 0, -1, -4],
|
|
90
|
+
[-2, 0, 6, 1, -3, 0, 0, 0, 1, -3, -3, 0, -2, -3, -2, 1, 0, -4, -2, -3, 3, 0, -1, -4],
|
|
91
|
+
[-2, -2, 1, 6, -3, 0, 2, -1, -1, -3, -4, -1, -3, -3, -1, 0, -1, -4, -3, -3, 4, 1, -1, -4],
|
|
92
|
+
[0, -3, -3, -3, 9, -3, -4, -3, -3, -1, -1, -3, -1, -2, -3, -1, -1, -2, -2, -1, -3, -3, -2, -4],
|
|
93
|
+
[-1, 1, 0, 0, -3, 5, 2, -2, 0, -3, -2, 1, 0, -3, -1, 0, -1, -2, -1, -2, 0, 3, -1, -4],
|
|
94
|
+
[-1, 0, 0, 2, -4, 2, 5, -2, 0, -3, -3, 1, -2, -3, -1, 0, -1, -3, -2, -2, 1, 4, -1, -4],
|
|
95
|
+
[0, -2, 0, -1, -3, -2, -2, 6, -2, -4, -4, -2, -3, -3, -2, 0, -2, -2, -3, -3, -1, -2, -1, -4],
|
|
96
|
+
[-2, 0, 1, -1, -3, 0, 0, -2, 8, -3, -3, -1, -2, -1, -2, -1, -2, -2, 2, -3, 0, 0, -1, -4],
|
|
97
|
+
[-1, -3, -3, -3, -1, -3, -3, -4, -3, 4, 2, -3, 1, 0, -3, -2, -1, -3, -1, 3, -3, -3, -1, -4],
|
|
98
|
+
[-1, -2, -3, -4, -1, -2, -3, -4, -3, 2, 4, -2, 2, 0, -3, -2, -1, -2, -1, 1, -4, -3, -1, -4],
|
|
99
|
+
[-1, 2, 0, -1, -3, 1, 1, -2, -1, -3, -2, 5, -1, -3, -1, 0, -1, -3, -2, -2, 0, 1, -1, -4],
|
|
100
|
+
[-1, -1, -2, -3, -1, 0, -2, -3, -2, 1, 2, -1, 5, 0, -2, -1, -1, -1, -1, 1, -3, -1, -1, -4],
|
|
101
|
+
[-2, -3, -3, -3, -2, -3, -3, -3, -1, 0, 0, -3, 0, 6, -4, -2, -2, 1, 3, -1, -3, -3, -1, -4],
|
|
102
|
+
[-1, -2, -2, -1, -3, -1, -1, -2, -2, -3, -3, -1, -2, -4, 7, -1, -1, -4, -3, -2, -2, -1, -2, -4],
|
|
103
|
+
[1, -1, 1, 0, -1, 0, 0, 0, -1, -2, -2, 0, -1, -2, -1, 4, 1, -3, -2, -2, 0, 0, 0, -4],
|
|
104
|
+
[0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -2, -1, 1, 5, -2, -2, 0, -1, -1, 0, -4],
|
|
105
|
+
[-3, -3, -4, -4, -2, -2, -3, -2, -2, -3, -2, -3, -1, 1, -4, -3, -2, 11, 2, -3, -4, -3, -2, -4],
|
|
106
|
+
[-2, -2, -2, -3, -2, -1, -2, -3, 2, -1, -1, -2, -1, 3, -3, -2, -2, 2, 7, -1, -3, -2, -1, -4],
|
|
107
|
+
[0, -3, -3, -3, -1, -2, -2, -3, -3, 3, 1, -2, 1, -1, -2, -2, 0, -3, -1, 4, -3, -2, -1, -4],
|
|
108
|
+
[-2, -1, 3, 4, -3, 0, 1, -1, 0, -3, -4, 0, -3, -3, -2, 0, -1, -4, -3, -3, 4, 1, -1, -4],
|
|
109
|
+
[-1, 0, 0, 1, -3, 3, 4, -2, 0, -3, -3, 1, -1, -3, -1, 0, -1, -3, -2, -2, 1, 4, -1, -4],
|
|
110
|
+
[0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, 0, 0, -2, -1, -1, -1, -1, -1, -4],
|
|
111
|
+
[-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, 1]];
|
|
135
112
|
|
|
136
|
-
|
|
137
|
-
[-
|
|
138
|
-
[-
|
|
139
|
-
[-3
|
|
140
|
-
[-1
|
|
141
|
-
[-
|
|
142
|
-
[-1
|
|
143
|
-
[0
|
|
144
|
-
[-2,0,
|
|
145
|
-
[-2
|
|
146
|
-
[-
|
|
147
|
-
[-1,2,
|
|
148
|
-
[-2
|
|
149
|
-
[-
|
|
150
|
-
[-1
|
|
151
|
-
[1
|
|
152
|
-
[0
|
|
153
|
-
[-4
|
|
154
|
-
[-
|
|
155
|
-
[-1
|
|
156
|
-
[-2
|
|
157
|
-
[-
|
|
158
|
-
[-1
|
|
159
|
-
[-
|
|
113
|
+
private BLOSUM80:Array<Array<number>> = [[7, -3, -3, -3, -1, -2, -2, 0, -3, -3, -3, -1, -2, -4, -1, 2, 0, -5, -4, -1, -3, -2, -1, -8],
|
|
114
|
+
[-3, 9, -1, -3, -6, 1, -1, -4, 0, -5, -4, 3, -3, -5, -3, -2, -2, -5, -4, -4, -2, 0, -2, -8],
|
|
115
|
+
[-3, -1, 9, 2, -5, 0, -1, -1, 1, -6, -6, 0, -4, -6, -4, 1, 0, -7, -4, -5, 5, -1, -2, -8],
|
|
116
|
+
[-3, -3, 2, 10, -7, -1, 2, -3, -2, -7, -7, -2, -6, -6, -3, -1, -2, -8, -6, -6, 6, 1, -3, -8],
|
|
117
|
+
[-1, -6, -5, -7, 13, -5, -7, -6, -7, -2, -3, -6, -3, -4, -6, -2, -2, -5, -5, -2, -6, -7, -4, -8],
|
|
118
|
+
[-2, 1, 0, -1, -5, 9, 3, -4, 1, -5, -4, 2, -1, -5, -3, -1, -1, -4, -3, -4, -1, 5, -2, -8],
|
|
119
|
+
[-2, -1, -1, 2, -7, 3, 8, -4, 0, -6, -6, 1, -4, -6, -2, -1, -2, -6, -5, -4, 1, 6, -2, -8],
|
|
120
|
+
[0, -4, -1, -3, -6, -4, -4, 9, -4, -7, -7, -3, -5, -6, -5, -1, -3, -6, -6, -6, -2, -4, -3, -8],
|
|
121
|
+
[-3, 0, 1, -2, -7, 1, 0, -4, 12, -6, -5, -1, -4, -2, -4, -2, -3, -4, 3, -5, -1, 0, -2, -8],
|
|
122
|
+
[-3, -5, -6, -7, -2, -5, -6, -7, -6, 7, 2, -5, 2, -1, -5, -4, -2, -5, -3, 4, -6, -6, -2, -8],
|
|
123
|
+
[-3, -4, -6, -7, -3, -4, -6, -7, -5, 2, 6, -4, 3, 0, -5, -4, -3, -4, -2, 1, -7, -5, -2, -8],
|
|
124
|
+
[-1, 3, 0, -2, -6, 2, 1, -3, -1, -5, -4, 8, -3, -5, -2, -1, -1, -6, -4, -4, -1, 1, -2, -8],
|
|
125
|
+
[-2, -3, -4, -6, -3, -1, -4, -5, -4, 2, 3, -3, 9, 0, -4, -3, -1, -3, -3, 1, -5, -3, -2, -8],
|
|
126
|
+
[-4, -5, -6, -6, -4, -5, -6, -6, -2, -1, 0, -5, 0, 10, -6, -4, -4, 0, 4, -2, -6, -6, -3, -8],
|
|
127
|
+
[-1, -3, -4, -3, -6, -3, -2, -5, -4, -5, -5, -2, -4, -6, 12, -2, -3, -7, -6, -4, -4, -2, -3, -8],
|
|
128
|
+
[2, -2, 1, -1, -2, -1, -1, -1, -2, -4, -4, -1, -3, -4, -2, 7, 2, -6, -3, -3, 0, -1, -1, -8],
|
|
129
|
+
[0, -2, 0, -2, -2, -1, -2, -3, -3, -2, -3, -1, -1, -4, -3, 2, 8, -5, -3, 0, -1, -2, -1, -8],
|
|
130
|
+
[-5, -5, -7, -8, -5, -4, -6, -6, -4, -5, -4, -6, -3, 0, -7, -6, -5, 16, 3, -5, -8, -5, -5, -8],
|
|
131
|
+
[-4, -4, -4, -6, -5, -3, -5, -6, 3, -3, -2, -4, -3, 4, -6, -3, -3, 3, 11, -3, -5, -4, -3, -8],
|
|
132
|
+
[-1, -4, -5, -6, -2, -4, -4, -6, -5, 4, 1, -4, 1, -2, -4, -3, 0, -5, -3, 7, -6, -4, -2, -8],
|
|
133
|
+
[-3, -2, 5, 6, -6, -1, 1, -2, -1, -6, -7, -1, -5, -6, -4, 0, -1, -8, -5, -6, 6, 0, -3, -8],
|
|
134
|
+
[-2, 0, -1, 1, -7, 5, 6, -4, 0, -6, -5, 1, -3, -6, -2, -1, -2, -5, -4, -4, 0, 6, -1, -8],
|
|
135
|
+
[-1, -2, -2, -3, -4, -2, -2, -3, -2, -2, -2, -2, -2, -3, -3, -1, -1, -5, -3, -2, -3, -1, -2, -8],
|
|
136
|
+
[-8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, 1]];
|
|
160
137
|
|
|
161
|
-
|
|
162
|
-
[-1,1
|
|
163
|
-
[-1
|
|
164
|
-
[-1
|
|
138
|
+
private BLOSUM90:Array<Array<number>> = [[5, -2, -2, -3, -1, -1, -1, 0, -2, -2, -2, -1, -2, -3, -1, 1, 0, -4, -3, -1, -2, -1, -1, -6],
|
|
139
|
+
[-2, 6, -1, -3, -5, 1, -1, -3, 0, -4, -3, 2, -2, -4, -3, -1, -2, -4, -3, -3, -2, 0, -2, -6],
|
|
140
|
+
[-2, -1, 7, 1, -4, 0, -1, -1, 0, -4, -4, 0, -3, -4, -3, 0, 0, -5, -3, -4, 4, -1, -2, -6],
|
|
141
|
+
[-3, -3, 1, 7, -5, -1, 1, -2, -2, -5, -5, -1, -4, -5, -3, -1, -2, -6, -4, -5, 4, 0, -2, -6],
|
|
142
|
+
[-1, -5, -4, -5, 9, -4, -6, -4, -5, -2, -2, -4, -2, -3, -4, -2, -2, -4, -4, -2, -4, -5, -3, -6],
|
|
143
|
+
[-1, 1, 0, -1, -4, 7, 2, -3, 1, -4, -3, 1, 0, -4, -2, -1, -1, -3, -3, -3, -1, 4, -1, -6],
|
|
144
|
+
[-1, -1, -1, 1, -6, 2, 6, -3, -1, -4, -4, 0, -3, -5, -2, -1, -1, -5, -4, -3, 0, 4, -2, -6],
|
|
145
|
+
[0, -3, -1, -2, -4, -3, -3, 6, -3, -5, -5, -2, -4, -5, -3, -1, -3, -4, -5, -5, -2, -3, -2, -6],
|
|
146
|
+
[-2, 0, 0, -2, -5, 1, -1, -3, 8, -4, -4, -1, -3, -2, -3, -2, -2, -3, 1, -4, -1, 0, -2, -6],
|
|
147
|
+
[-2, -4, -4, -5, -2, -4, -4, -5, -4, 5, 1, -4, 1, -1, -4, -3, -1, -4, -2, 3, -5, -4, -2, -6],
|
|
148
|
+
[-2, -3, -4, -5, -2, -3, -4, -5, -4, 1, 5, -3, 2, 0, -4, -3, -2, -3, -2, 0, -5, -4, -2, -6],
|
|
149
|
+
[-1, 2, 0, -1, -4, 1, 0, -2, -1, -4, -3, 6, -2, -4, -2, -1, -1, -5, -3, -3, -1, 1, -1, -6],
|
|
150
|
+
[-2, -2, -3, -4, -2, 0, -3, -4, -3, 1, 2, -2, 7, -1, -3, -2, -1, -2, -2, 0, -4, -2, -1, -6],
|
|
151
|
+
[-3, -4, -4, -5, -3, -4, -5, -5, -2, -1, 0, -4, -1, 7, -4, -3, -3, 0, 3, -2, -4, -4, -2, -6],
|
|
152
|
+
[-1, -3, -3, -3, -4, -2, -2, -3, -3, -4, -4, -2, -3, -4, 8, -2, -2, -5, -4, -3, -3, -2, -2, -6],
|
|
153
|
+
[1, -1, 0, -1, -2, -1, -1, -1, -2, -3, -3, -1, -2, -3, -2, 5, 1, -4, -3, -2, 0, -1, -1, -6],
|
|
154
|
+
[0, -2, 0, -2, -2, -1, -1, -3, -2, -1, -2, -1, -1, -3, -2, 1, 6, -4, -2, -1, -1, -1, -1, -6],
|
|
155
|
+
[-4, -4, -5, -6, -4, -3, -5, -4, -3, -4, -3, -5, -2, 0, -5, -4, -4, 11, 2, -3, -6, -4, -3, -6],
|
|
156
|
+
[-3, -3, -3, -4, -4, -3, -4, -5, 1, -2, -2, -3, -2, 3, -4, -3, -2, 2, 8, -3, -4, -3, -2, -6],
|
|
157
|
+
[-1, -3, -4, -5, -2, -3, -3, -5, -4, 3, 0, -3, 0, -2, -3, -2, -1, -3, -3, 5, -4, -3, -2, -6],
|
|
158
|
+
[-2, -2, 4, 4, -4, -1, 0, -2, -1, -5, -5, -1, -4, -4, -3, 0, -1, -6, -4, -4, 4, 0, -2, -6],
|
|
159
|
+
[-1, 0, -1, 0, -5, 4, 4, -3, 0, -4, -4, 1, -2, -4, -2, -1, -1, -4, -3, -3, 0, 4, -1, -6],
|
|
160
|
+
[-1, -2, -2, -2, -3, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -1, -3, -2, -2, -2, -1, -2, -6],
|
|
161
|
+
[-6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, 1]];
|
|
165
162
|
|
|
166
|
-
|
|
167
|
-
[-
|
|
168
|
-
[-
|
|
169
|
-
[-
|
|
170
|
-
[-6,-8,-11,-14,10,-14,-14,-9,-7,-6,-15,-14,-13,-13,-8,-3,-8,-15,-4,-6,-12,-14,-9,-17],
|
|
171
|
-
[-4,-2,-3,-2,-14,8,1,-7,1,-8,-5,-3,-4,-13,-3,-5,-5,-13,-12,-7,-3,6,-5,-17],
|
|
172
|
-
[-2,-9,-2,2,-14,1,8,-4,-5,-5,-9,-4,-7,-14,-5,-4,-6,-17,-8,-6,1,6,-5,-17],
|
|
173
|
-
[-2,-9,-3,-3,-9,-7,-4,6,-9,-11,-10,-7,-8,-9,-6,-2,-6,-15,-14,-5,-3,-5,-5,-17],
|
|
174
|
-
[-7,-2,0,-4,-7,1,-5,-9,9,-9,-6,-6,-10,-6,-4,-6,-7,-7,-3,-6,-1,-1,-5,-17],
|
|
175
|
-
[-5,-5,-5,-7,-6,-8,-5,-11,-9,8,-1,-6,-1,-2,-8,-7,-2,-14,-6,2,-6,-6,-5,-17],
|
|
176
|
-
[-6,-8,-7,-12,-15,-5,-9,-10,-6,-1,7,-8,1,-3,-7,-8,-7,-6,-7,-2,-9,-7,-6,-17],
|
|
177
|
-
[-7,0,-1,-4,-14,-3,-4,-7,-6,-6,-8,7,-2,-14,-6,-4,-3,-12,-9,-9,-2,-4,-5,-17],
|
|
178
|
-
[-5,-4,-9,-11,-13,-4,-7,-8,-10,-1,1,-2,11,-4,-8,-5,-4,-13,-11,-1,-10,-5,-5,-17],
|
|
179
|
-
[-8,-9,-9,-15,-13,-13,-14,-9,-6,-2,-3,-14,-4,9,-10,-6,-9,-4,2,-8,-10,-13,-8,-17],
|
|
180
|
-
[-2,-4,-6,-8,-8,-3,-5,-6,-4,-8,-7,-6,-8,-10,8,-2,-4,-14,-13,-6,-7,-4,-5,-17],
|
|
181
|
-
[0,-3,0,-4,-3,-5,-4,-2,-6,-7,-8,-4,-5,-6,-2,6,0,-5,-7,-6,-1,-5,-3,-17],
|
|
182
|
-
[-1,-6,-2,-5,-8,-5,-6,-6,-7,-2,-7,-3,-4,-9,-4,0,7,-13,-6,-3,-3,-6,-4,-17],
|
|
183
|
-
[-13,-2,-8,-15,-15,-13,-17,-15,-7,-14,-6,-12,-13,-4,-14,-5,-13,13,-5,-15,-10,-14,-11,-17],
|
|
184
|
-
[-8,-10,-4,-11,-4,-12,-8,-14,-3,-6,-7,-9,-11,2,-13,-7,-6,-5,10,-7,-6,-9,-7,-17],
|
|
185
|
-
[-2,-8,-8,-8,-6,-7,-6,-5,-6,2,-2,-9,-1,-8,-6,-6,-3,-15,-7,7,-8,-6,-5,-17],
|
|
186
|
-
[-3,-7,6,6,-12,-3,1,-3,-1,-6,-9,-2,-10,-10,-7,-1,-3,-10,-6,-8,6,0,-5,-17],
|
|
187
|
-
[-3,-4,-3,1,-14,6,6,-5,-1,-6,-7,-4,-5,-13,-4,-5,-6,-14,-9,-6,0,6,-5,-17],
|
|
188
|
-
[-3,-6,-3,-5,-9,-5,-5,-5,-5,-5,-6,-5,-5,-8,-5,-3,-4,-11,-7,-5,-5,-5,-5,-17],
|
|
189
|
-
[-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,1]];
|
|
163
|
+
private NUCLEOTIDES: Array<Array<number>> = [[1, -1, -1, -1],
|
|
164
|
+
[-1, 1, -1, -1],
|
|
165
|
+
[-1, -1, 1, -1],
|
|
166
|
+
[-1, -1, -1, 1]];
|
|
190
167
|
|
|
191
|
-
|
|
192
|
-
[-
|
|
193
|
-
[-
|
|
194
|
-
[-
|
|
195
|
-
[-
|
|
196
|
-
[-2,
|
|
197
|
-
[-1
|
|
198
|
-
[
|
|
199
|
-
[-
|
|
200
|
-
[-
|
|
201
|
-
[-
|
|
202
|
-
[-4,
|
|
203
|
-
[-
|
|
204
|
-
[-
|
|
205
|
-
[
|
|
206
|
-
[
|
|
207
|
-
[1
|
|
208
|
-
[-
|
|
209
|
-
[-
|
|
210
|
-
[-
|
|
211
|
-
[-1
|
|
212
|
-
[-1
|
|
213
|
-
[-
|
|
214
|
-
[-
|
|
168
|
+
private PAM30: Array<Array<number>> = [[6, -7, -4, -3, -6, -4, -2, -2, -7, -5, -6, -7, -5, -8, -2, 0, -1, -13, -8, -2, -3, -3, -3, -17],
|
|
169
|
+
[-7, 8, -6, -10, -8, -2, -9, -9, -2, -5, -8, 0, -4, -9, -4, -3, -6, -2, -10, -8, -7, -4, -6, -17],
|
|
170
|
+
[-4, -6, 8, 2, -11, -3, -2, -3, 0, -5, -7, -1, -9, -9, -6, 0, -2, -8, -4, -8, 6, -3, -3, -17],
|
|
171
|
+
[-3, -10, 2, 8, -14, -2, 2, -3, -4, -7, -12, -4, -11, -15, -8, -4, -5, -15, -11, -8, 6, 1, -5, -17],
|
|
172
|
+
[-6, -8, -11, -14, 10, -14, -14, -9, -7, -6, -15, -14, -13, -13, -8, -3, -8, -15, -4, -6, -12, -14, -9, -17],
|
|
173
|
+
[-4, -2, -3, -2, -14, 8, 1, -7, 1, -8, -5, -3, -4, -13, -3, -5, -5, -13, -12, -7, -3, 6, -5, -17],
|
|
174
|
+
[-2, -9, -2, 2, -14, 1, 8, -4, -5, -5, -9, -4, -7, -14, -5, -4, -6, -17, -8, -6, 1, 6, -5, -17],
|
|
175
|
+
[-2, -9, -3, -3, -9, -7, -4, 6, -9, -11, -10, -7, -8, -9, -6, -2, -6, -15, -14, -5, -3, -5, -5, -17],
|
|
176
|
+
[-7, -2, 0, -4, -7, 1, -5, -9, 9, -9, -6, -6, -10, -6, -4, -6, -7, -7, -3, -6, -1, -1, -5, -17],
|
|
177
|
+
[-5, -5, -5, -7, -6, -8, -5, -11, -9, 8, -1, -6, -1, -2, -8, -7, -2, -14, -6, 2, -6, -6, -5, -17],
|
|
178
|
+
[-6, -8, -7, -12, -15, -5, -9, -10, -6, -1, 7, -8, 1, -3, -7, -8, -7, -6, -7, -2, -9, -7, -6, -17],
|
|
179
|
+
[-7, 0, -1, -4, -14, -3, -4, -7, -6, -6, -8, 7, -2, -14, -6, -4, -3, -12, -9, -9, -2, -4, -5, -17],
|
|
180
|
+
[-5, -4, -9, -11, -13, -4, -7, -8, -10, -1, 1, -2, 11, -4, -8, -5, -4, -13, -11, -1, -10, -5, -5, -17],
|
|
181
|
+
[-8, -9, -9, -15, -13, -13, -14, -9, -6, -2, -3, -14, -4, 9, -10, -6, -9, -4, 2, -8, -10, -13, -8, -17],
|
|
182
|
+
[-2, -4, -6, -8, -8, -3, -5, -6, -4, -8, -7, -6, -8, -10, 8, -2, -4, -14, -13, -6, -7, -4, -5, -17],
|
|
183
|
+
[0, -3, 0, -4, -3, -5, -4, -2, -6, -7, -8, -4, -5, -6, -2, 6, 0, -5, -7, -6, -1, -5, -3, -17],
|
|
184
|
+
[-1, -6, -2, -5, -8, -5, -6, -6, -7, -2, -7, -3, -4, -9, -4, 0, 7, -13, -6, -3, -3, -6, -4, -17],
|
|
185
|
+
[-13, -2, -8, -15, -15, -13, -17, -15, -7, -14, -6, -12, -13, -4, -14, -5, -13, 13, -5, -15, -10, -14, -11, -17],
|
|
186
|
+
[-8, -10, -4, -11, -4, -12, -8, -14, -3, -6, -7, -9, -11, 2, -13, -7, -6, -5, 10, -7, -6, -9, -7, -17],
|
|
187
|
+
[-2, -8, -8, -8, -6, -7, -6, -5, -6, 2, -2, -9, -1, -8, -6, -6, -3, -15, -7, 7, -8, -6, -5, -17],
|
|
188
|
+
[-3, -7, 6, 6, -12, -3, 1, -3, -1, -6, -9, -2, -10, -10, -7, -1, -3, -10, -6, -8, 6, 0, -5, -17],
|
|
189
|
+
[-3, -4, -3, 1, -14, 6, 6, -5, -1, -6, -7, -4, -5, -13, -4, -5, -6, -14, -9, -6, 0, 6, -5, -17],
|
|
190
|
+
[-3, -6, -3, -5, -9, -5, -5, -5, -5, -5, -6, -5, -5, -8, -5, -3, -4, -11, -7, -5, -5, -5, -5, -17],
|
|
191
|
+
[-17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 1]];
|
|
215
192
|
|
|
216
|
-
|
|
217
|
-
[-
|
|
218
|
-
[
|
|
219
|
-
[
|
|
220
|
-
[-
|
|
221
|
-
[0,1,
|
|
222
|
-
[
|
|
223
|
-
[
|
|
224
|
-
[-1,2,2,
|
|
225
|
-
[-
|
|
226
|
-
[-
|
|
227
|
-
[-
|
|
228
|
-
[-
|
|
229
|
-
[-
|
|
230
|
-
[
|
|
231
|
-
[1,
|
|
232
|
-
[1
|
|
233
|
-
[-6,
|
|
234
|
-
[-3
|
|
235
|
-
[
|
|
236
|
-
[
|
|
237
|
-
[
|
|
238
|
-
[
|
|
239
|
-
[-
|
|
193
|
+
private PAM70:Array<Array<number>> = [[5, -4, -2, -1, -4, -2, -1, 0, -4, -2, -4, -4, -3, -6, 0, 1, 1, -9, -5, -1, -1, -1, -2, -11],
|
|
194
|
+
[-4, 8, -3, -6, -5, 0, -5, -6, 0, -3, -6, 2, -2, -7, -2, -1, -4, 0, -7, -5, -4, -2, -3, -11],
|
|
195
|
+
[-2, -3, 6, 3, -7, -1, 0, -1, 1, -3, -5, 0, -5, -6, -3, 1, 0, -6, -3, -5, 5, -1, -2, -11],
|
|
196
|
+
[-1, -6, 3, 6, -9, 0, 3, -1, -1, -5, -8, -2, -7, -10, -4, -1, -2, -10, -7, -5, 5, 2, -3, -11],
|
|
197
|
+
[-4, -5, -7, -9, 9, -9, -9, -6, -5, -4, -10, -9, -9, -8, -5, -1, -5, -11, -2, -4, -8, -9, -6, -11],
|
|
198
|
+
[-2, 0, -1, 0, -9, 7, 2, -4, 2, -5, -3, -1, -2, -9, -1, -3, -3, -8, -8, -4, -1, 5, -2, -11],
|
|
199
|
+
[-1, -5, 0, 3, -9, 2, 6, -2, -2, -4, -6, -2, -4, -9, -3, -2, -3, -11, -6, -4, 2, 5, -3, -11],
|
|
200
|
+
[0, -6, -1, -1, -6, -4, -2, 6, -6, -6, -7, -5, -6, -7, -3, 0, -3, -10, -9, -3, -1, -3, -3, -11],
|
|
201
|
+
[-4, 0, 1, -1, -5, 2, -2, -6, 8, -6, -4, -3, -6, -4, -2, -3, -4, -5, -1, -4, 0, 1, -3, -11],
|
|
202
|
+
[-2, -3, -3, -5, -4, -5, -4, -6, -6, 7, 1, -4, 1, 0, -5, -4, -1, -9, -4, 3, -4, -4, -3, -11],
|
|
203
|
+
[-4, -6, -5, -8, -10, -3, -6, -7, -4, 1, 6, -5, 2, -1, -5, -6, -4, -4, -4, 0, -6, -4, -4, -11],
|
|
204
|
+
[-4, 2, 0, -2, -9, -1, -2, -5, -3, -4, -5, 6, 0, -9, -4, -2, -1, -7, -7, -6, -1, -2, -3, -11],
|
|
205
|
+
[-3, -2, -5, -7, -9, -2, -4, -6, -6, 1, 2, 0, 10, -2, -5, -3, -2, -8, -7, 0, -6, -3, -3, -11],
|
|
206
|
+
[-6, -7, -6, -10, -8, -9, -9, -7, -4, 0, -1, -9, -2, 8, -7, -4, -6, -2, 4, -5, -7, -9, -5, -11],
|
|
207
|
+
[0, -2, -3, -4, -5, -1, -3, -3, -2, -5, -5, -4, -5, -7, 7, 0, -2, -9, -9, -3, -4, -2, -3, -11],
|
|
208
|
+
[1, -1, 1, -1, -1, -3, -2, 0, -3, -4, -6, -2, -3, -4, 0, 5, 2, -3, -5, -3, 0, -2, -1, -11],
|
|
209
|
+
[1, -4, 0, -2, -5, -3, -3, -3, -4, -1, -4, -1, -2, -6, -2, 2, 6, -8, -4, -1, -1, -3, -2, -11],
|
|
210
|
+
[-9, 0, -6, -10, -11, -8, -11, -10, -5, -9, -4, -7, -8, -2, -9, -3, -8, 13, -3, -10, -7, -10, -7, -11],
|
|
211
|
+
[-5, -7, -3, -7, -2, -8, -6, -9, -1, -4, -4, -7, -7, 4, -9, -5, -4, -3, 9, -5, -4, -7, -5, -11],
|
|
212
|
+
[-1, -5, -5, -5, -4, -4, -4, -3, -4, 3, 0, -6, 0, -5, -3, -3, -1, -10, -5, 6, -5, -4, -2, -11],
|
|
213
|
+
[-1, -4, 5, 5, -8, -1, 2, -1, 0, -4, -6, -1, -6, -7, -4, 0, -1, -7, -4, -5, 5, 1, -2, -11],
|
|
214
|
+
[-1, -2, -1, 2, -9, 5, 5, -3, 1, -4, -4, -2, -3, -9, -2, -2, -3, -10, -7, -4, 1, 5, -3, -11],
|
|
215
|
+
[-2, -3, -2, -3, -6, -2, -3, -3, -3, -3, -4, -3, -3, -5, -3, -1, -2, -7, -5, -2, -2, -3, -3, -11],
|
|
216
|
+
[-11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, 1]];
|
|
240
217
|
|
|
241
|
-
|
|
242
|
-
[-2
|
|
243
|
-
[
|
|
244
|
-
[-1
|
|
245
|
-
[-2
|
|
246
|
-
[
|
|
247
|
-
[-
|
|
248
|
-
[
|
|
249
|
-
[
|
|
250
|
-
[-
|
|
251
|
-
[3
|
|
252
|
-
[-
|
|
253
|
-
[-
|
|
254
|
-
[-
|
|
255
|
-
[
|
|
256
|
-
[
|
|
257
|
-
[
|
|
258
|
-
[-6
|
|
259
|
-
[-
|
|
260
|
-
[
|
|
261
|
-
[-
|
|
262
|
-
[
|
|
263
|
-
[-
|
|
264
|
-
[-
|
|
265
|
-
[2.1,-8.1,1.2,-7.0,-8.0,-9.5,-7.3,-9.9,10.5,-5.5,9.3,-5.7,-9.5,-15.1,-10.0,-12.9,2.5,-1.2,-0.1,-1.0,-6.0,-8.1,-5.7,-8.2,13.8,11.3,11.8,12.1,-6.0,-9.1,-9.0,-9.5,-8.9,-13.4,-10.0,-13.1,-9.9,-11.7,-9.8,-12.8,-5.9,-9.4,-6.5,-8.1,-10.7,-14.0,-13.3,-13.9,-50.0,-11.9,-50.0,-9.7,-8.9,-10.8,-9.0,-11.1,-50.0,-6.5,-5.3,-6.3,-10.5,-16.2,-10.4,-15.2,],
|
|
266
|
-
[0.0,-5.0,0.5,-6.8,-9.1,-7.8,-7.5,-8.9,7.7,-2.4,8.2,-5.1,-11.9,-13.1,-10.4,-14.3,-0.8,3.0,-0.9,0.8,-8.3,-5.2,-5.8,-7.9,11.3,15.0,11.2,12.8,-9.7,-5.3,-9.2,-7.8,-11.7,-10.6,-10.1,-12.2,-11.7,-8.8,-8.9,-11.8,-9.3,-5.0,-8.0,-8.2,-13.6,-11.4,-12.8,-13.0,-50.0,-7.2,-50.0,-8.4,-11.0,-7.7,-8.7,-10.2,-50.0,-1.5,-7.1,-4.9,-11.2,-11.6,-11.6,-15.0,],
|
|
267
|
-
[1.4,-7.3,2.2,-7.1,-8.0,-9.3,-6.4,-9.6,9.1,-5.5,10.0,-5.4,-10.9,-14.3,-8.4,-14.0,0.9,-1.1,2.4,-1.3,-6.9,-8.0,-3.5,-9.0,11.8,11.2,13.4,11.4,-7.3,-8.8,-6.5,-8.5,-10.0,-12.5,-7.8,-12.5,-9.6,-11.0,-7.1,-10.7,-7.9,-8.0,-4.3,-9.4,-11.4,-12.3,-10.9,-12.9,-50.0,-11.8,-50.0,-11.2,-9.4,-9.8,-7.3,-10.5,-50.0,-6.2,-2.2,-6.7,-9.8,-15.2,-8.5,-14.9,],
|
|
268
|
-
[0.2,-6.3,0.1,-4.3,-8.2,-8.9,-8.5,-7.0,8.5,-4.1,8.0,-2.1,-10.5,-13.4,-10.2,-11.9,0.2,1.6,-0.8,3.4,-7.5,-6.7,-6.1,-4.7,12.1,12.8,11.4,14.7,-8.7,-7.4,-9.4,-5.3,-9.9,-11.8,-10.5,-10.3,-9.9,-10.1,-9.3,-9.3,-8.1,-7.2,-8.0,-5.2,-12.0,-12.1,-12.6,-10.9,-50.0,-7.9,-50.0,-5.3,-9.3,-8.8,-8.9,-7.0,-50.0,-3.6,-7.1,-1.2,-10.2,-12.7,-9.9,-11.0,],
|
|
269
|
-
[-10.2,-13.4,-11.8,-12.4,-6.0,-9.4,-7.1,-8.6,-9.8,-12.9,-10.8,-12.4,2.3,-1.4,1.0,-1.0,-3.0,-8.0,-5.1,-7.6,-2.2,-6.1,-3.6,-6.1,-6.0,-9.7,-7.3,-8.7,11.2,7.9,8.9,8.1,-12.1,-17.4,-13.2,-16.8,-6.3,-9.5,-7.5,-8.8,-12.7,-15.2,-13.1,-14.2,0.0,-3.1,-1.8,-3.1,-50.0,-10.7,-50.0,-9.3,-4.6,-8.9,-5.9,-8.3,-50.0,-12.8,-9.6,-10.6,9.5,-3.2,8.2,-2.8,],
|
|
270
|
-
[-13.5,-11.3,-14.0,-12.9,-9.3,-7.1,-8.2,-8.9,-12.7,-10.3,-11.9,-12.3,-0.4,1.4,-0.6,-0.4,-7.2,-4.7,-6.9,-5.7,-7.4,-3.7,-6.5,-6.0,-9.1,-5.3,-8.8,-7.4,7.9,11.9,7.8,9.3,-15.2,-15.1,-14.6,-17.2,-9.7,-7.3,-8.2,-9.2,-15.0,-12.8,-14.1,-14.9,-2.8,0.2,-2.9,-2.3,-50.0,-7.4,-50.0,-8.7,-9.4,-7.3,-9.4,-9.4,-50.0,-8.0,-11.9,-9.7,6.5,0.5,6.4,-1.8,],
|
|
271
|
-
[-13.0,-14.4,-11.9,-13.9,-7.7,-9.0,-6.7,-8.8,-11.7,-12.7,-10.7,-13.1,-0.2,-1.6,1.7,-1.6,-5.7,-8.7,-4.8,-8.1,-5.3,-7.5,-3.3,-7.5,-9.0,-9.2,-6.5,-9.4,8.9,7.8,10.1,7.8,-14.3,-17.7,-13.0,-17.8,-8.0,-9.4,-6.2,-9.2,-15.1,-14.9,-12.2,-14.9,-1.8,-3.2,-0.8,-3.2,-50.0,-10.8,-50.0,-9.9,-7.3,-9.6,-6.4,-9.4,-50.0,-12.3,-8.7,-11.3,7.6,-3.3,8.7,-2.9,],
|
|
272
|
-
[-12.5,-12.9,-13.4,-10.0,-8.5,-9.0,-7.8,-6.8,-11.8,-11.3,-12.4,-10.1,-0.3,-0.5,-0.5,1.2,-6.1,-6.0,-6.7,-3.5,-5.9,-5.6,-5.5,-2.9,-9.5,-7.8,-8.5,-5.3,8.1,9.3,7.8,11.8,-14.4,-15.7,-14.5,-14.6,-8.4,-8.7,-7.9,-7.1,-14.3,-13.8,-13.8,-12.3,-2.4,-2.2,-2.9,-0.2,-50.0,-8.9,-50.0,-7.1,-8.1,-9.1,-8.7,-6.6,-50.0,-9.7,-11.4,-8.0,6.8,-1.8,6.9,0.4,],
|
|
273
|
-
[-2.6,-6.3,-4.9,-4.9,-6.4,-9.4,-7.9,-8.6,-6.3,-7.4,-8.2,-6.6,-9.7,-14.9,-11.1,-13.9,-0.2,-8.2,-2.3,-6.8,-8.9,-11.1,-9.4,-10.9,-8.9,-11.7,-10.0,-9.9,-12.1,-15.2,-14.3,-14.4,11.1,2.9,9.2,3.5,-3.0,-7.0,-4.3,-6.2,-2.2,-6.6,-3.7,-5.7,-6.0,-10.4,-8.6,-9.5,-50.0,-15.5,-50.0,-13.9,-7.8,-10.5,-8.7,-9.6,-50.0,-16.5,-17.1,-14.8,-12.1,-18.9,-12.4,-17.4,],
|
|
274
|
-
[-8.5,0.8,-9.1,-0.7,-10.1,-7.5,-9.1,-8.2,-11.4,-3.1,-11.8,-4.4,-15.5,-14.3,-14.8,-15.4,-6.6,-4.7,-7.1,-5.8,-12.5,-10.3,-11.0,-12.2,-13.4,-10.6,-12.5,-11.8,-17.4,-15.1,-17.7,-15.7,2.9,12.5,3.1,10.3,-7.7,-5.2,-6.2,-7.3,-5.4,-1.7,-5.4,-3.7,-11.6,-9.1,-13.0,-10.8,-50.0,-10.3,-50.0,-11.2,-9.8,-8.3,-9.1,-9.7,-50.0,-12.7,-20.6,-13.1,-16.0,-16.6,-17.0,-18.4,],
|
|
275
|
-
[-5.0,-6.4,-3.4,-5.6,-7.5,-9.3,-7.1,-8.8,-8.8,-7.4,-6.9,-6.9,-11.4,-15.2,-9.7,-13.7,-1.8,-7.8,-0.8,-7.2,-9.4,-10.6,-8.7,-11.2,-10.0,-10.1,-7.8,-10.5,-13.2,-14.6,-13.0,-14.5,9.2,3.1,10.8,3.0,-4.5,-6.7,-2.7,-6.7,-5.0,-6.8,-2.5,-6.7,-7.5,-10.4,-7.4,-10.2,-50.0,-15.5,-50.0,-14.2,-8.9,-10.2,-8.5,-10.0,-50.0,-15.6,-15.3,-15.5,-13.0,-18.8,-12.6,-18.3,],
|
|
276
|
-
[-8.1,-1.1,-8.9,1.4,-8.6,-9.2,-9.4,-6.8,-11.0,-4.9,-11.5,-2.6,-13.7,-16.8,-14.5,-12.6,-6.0,-6.7,-7.2,-4.2,-11.6,-11.9,-11.2,-10.9,-13.1,-12.2,-12.5,-10.3,-16.8,-17.2,-17.8,-14.6,3.5,10.3,3.0,12.4,-6.9,-7.5,-6.8,-4.9,-5.4,-4.2,-5.4,-1.3,-10.8,-11.5,-12.4,-8.2,-50.0,-12.5,-50.0,-8.9,-9.2,-10.0,-9.4,-7.9,-50.0,-14.3,-19.9,-11.4,-16.2,-19.2,-15.8,-15.9,],
|
|
277
|
-
[-6.3,-7.4,-8.0,-6.0,2.8,-0.7,0.9,0.3,-7.5,-4.4,-8.4,-3.6,-3.0,-7.7,-3.7,-6.2,-5.3,-10.0,-7.2,-8.9,-0.7,-3.2,-1.8,-2.4,-9.9,-11.7,-9.6,-9.9,-6.3,-9.7,-8.0,-8.4,-3.0,-7.7,-4.5,-6.9,11.3,8.2,9.4,9.1,-1.0,-3.3,-1.8,-2.4,1.5,-2.1,-0.4,-1.1,-50.0,-14.5,-50.0,-12.9,2.8,-0.0,1.4,0.7,-50.0,-8.7,-14.1,-7.5,-5.2,-12.5,-6.5,-10.7,],
|
|
278
|
-
[-9.9,-5.0,-10.0,-6.5,-0.7,2.6,-0.2,0.1,-10.3,-1.8,-9.9,-3.8,-6.4,-4.7,-5.8,-6.7,-8.2,-8.3,-8.0,-10.2,-3.9,-1.0,-2.7,-2.9,-11.7,-8.8,-11.0,-10.1,-9.5,-7.3,-9.4,-8.7,-7.0,-5.2,-6.7,-7.5,8.2,11.6,8.8,9.1,-3.7,-0.9,-3.1,-3.0,-2.0,1.2,-2.3,-1.3,-50.0,-12.1,-50.0,-12.6,0.1,2.5,0.7,0.6,-50.0,-6.0,-14.8,-7.5,-8.6,-9.4,-8.5,-11.2,],
|
|
279
|
-
[-7.5,-6.2,-7.2,-6.2,0.9,0.2,2.5,0.2,-8.3,-3.5,-7.1,-3.7,-4.1,-6.3,-3.1,-6.3,-5.7,-8.9,-5.6,-8.4,-2.3,-2.2,0.7,-2.7,-9.8,-8.9,-7.1,-9.3,-7.5,-8.2,-6.2,-7.9,-4.3,-6.2,-2.7,-6.8,9.4,8.8,12.1,8.8,-2.1,-2.0,0.1,-2.4,0.0,-1.1,1.3,-0.8,-50.0,-11.9,-50.0,-12.6,1.2,0.7,3.5,0.8,-50.0,-7.1,-12.4,-7.1,-7.1,-10.6,-5.0,-10.6,],
|
|
280
|
-
[-9.0,-6.5,-10.0,-4.8,0.1,-0.1,-0.3,2.4,-9.9,-3.5,-10.6,-2.0,-5.4,-6.6,-5.6,-4.4,-7.6,-9.9,-8.5,-8.2,-3.0,-2.8,-3.0,-0.9,-12.8,-11.8,-10.7,-9.3,-8.8,-9.2,-9.2,-7.1,-6.2,-7.3,-6.7,-4.9,9.1,9.1,8.8,11.2,-3.1,-3.0,-3.3,-1.0,-1.1,-1.4,-2.0,1.2,-50.0,-12.8,-50.0,-10.9,0.8,0.5,0.7,2.3,-50.0,-7.5,-16.5,-5.9,-7.8,-11.1,-7.8,-9.0,],
|
|
281
|
-
[-7.1,-5.6,-9.1,-5.1,-5.9,-8.0,-6.9,-7.4,-1.9,-1.6,-4.7,-1.4,-9.6,-14.6,-10.4,-13.0,-6.7,-10.8,-9.4,-9.9,-9.1,-10.5,-9.1,-10.4,-5.9,-9.3,-7.9,-8.1,-12.7,-15.0,-15.1,-14.3,-2.2,-5.4,-5.0,-5.4,-1.0,-3.7,-2.1,-3.1,12.8,9.6,11.1,10.1,-4.8,-9.4,-8.1,-8.6,-50.0,-18.3,-50.0,-15.4,-5.9,-7.5,-6.6,-7.1,-50.0,-9.5,-11.7,-8.4,-12.5,-17.3,-13.2,-15.4,],
|
|
282
|
-
[-10.2,-1.6,-10.2,-3.2,-7.3,-4.6,-6.5,-6.2,-6.7,3.0,-6.8,0.8,-11.9,-10.8,-11.5,-12.2,-9.6,-7.1,-9.7,-8.4,-9.8,-8.1,-8.2,-9.7,-9.4,-5.0,-8.0,-7.2,-15.2,-12.8,-14.9,-13.8,-6.6,-1.7,-6.8,-4.2,-3.3,-0.9,-2.0,-3.0,9.6,12.8,9.7,10.5,-8.5,-5.6,-9.3,-7.8,-50.0,-12.7,-50.0,-13.8,-6.8,-5.1,-5.3,-6.5,-50.0,-4.1,-12.8,-5.8,-14.4,-14.1,-13.6,-14.8,],
|
|
283
|
-
[-8.2,-4.7,-7.1,-5.0,-6.5,-7.7,-5.5,-6.9,-4.1,-0.8,-1.2,-0.9,-10.5,-12.8,-8.2,-13.0,-7.5,-10.0,-7.2,-9.7,-9.2,-9.4,-7.3,-10.2,-6.5,-8.0,-4.3,-8.0,-13.1,-14.1,-12.2,-13.8,-3.7,-5.4,-2.5,-5.4,-1.8,-3.1,0.1,-3.3,11.1,9.7,12.9,9.8,-5.5,-8.1,-5.4,-7.8,-50.0,-16.4,-50.0,-14.8,-5.9,-7.1,-4.7,-7.2,-50.0,-8.4,-6.4,-8.1,-12.1,-16.2,-10.3,-15.8,],
|
|
284
|
-
[-9.2,-3.0,-9.9,-1.2,-6.5,-6.1,-6.8,-4.4,-6.4,0.9,-7.0,3.0,-11.8,-13.0,-11.1,-10.4,-9.3,-9.2,-9.8,-6.4,-9.5,-9.5,-9.4,-8.0,-8.1,-8.2,-9.4,-5.2,-14.2,-14.9,-14.9,-12.3,-5.7,-3.7,-6.7,-1.3,-2.4,-3.0,-2.4,-1.0,10.1,10.5,9.8,13.1,-7.2,-8.0,-8.4,-5.0,-50.0,-14.7,-50.0,-11.4,-6.3,-6.7,-5.8,-5.0,-50.0,-6.1,-13.4,-3.6,-13.0,-16.0,-13.7,-13.3,],
|
|
285
|
-
[-8.2,-10.8,-10.1,-9.8,-0.4,-3.6,-1.7,-2.9,-7.9,-8.4,-9.8,-8.2,6.2,2.3,0.6,2.9,-7.1,-11.6,-9.2,-11.1,-5.6,-8.3,-7.2,-8.4,-10.7,-13.6,-11.4,-12.0,0.0,-2.8,-1.8,-2.4,-6.0,-11.6,-7.5,-10.8,1.5,-2.0,0.0,-1.1,-4.8,-8.5,-5.5,-7.2,11.9,8.6,10.0,9.0,-50.0,-14.2,-50.0,-12.8,-4.1,-7.4,-5.7,-6.5,-50.0,-11.0,-14.3,-9.9,1.4,-7.9,-0.7,-6.8,],
|
|
286
|
-
[-12.5,-8.7,-13.0,-9.9,-3.9,-1.0,-3.4,-2.9,-12.5,-6.3,-11.6,-8.1,3.3,6.0,-1.6,3.8,-10.5,-10.1,-11.1,-11.1,-9.0,-6.9,-8.2,-9.1,-14.0,-11.4,-12.3,-12.1,-3.1,0.2,-3.2,-2.2,-10.4,-9.1,-10.4,-11.5,-2.1,1.2,-1.1,-1.4,-9.4,-5.6,-8.1,-8.0,8.6,12.4,8.6,9.5,-50.0,-10.4,-50.0,-11.6,-7.2,-5.7,-7.5,-7.4,-50.0,-8.6,-15.7,-9.7,-3.0,-3.7,-3.2,-5.9,],
|
|
287
|
-
[-11.1,-11.9,-10.6,-11.3,-2.6,-4.1,-1.7,-3.5,-11.4,-9.6,-9.6,-9.2,3.7,2.5,1.6,2.5,-9.6,-12.3,-9.5,-11.8,-8.0,-9.4,-7.2,-9.3,-13.3,-12.8,-10.9,-12.6,-1.8,-2.9,-0.8,-2.9,-8.6,-13.0,-7.4,-12.4,-0.4,-2.3,1.3,-2.0,-8.1,-9.3,-5.4,-8.4,10.0,8.6,11.4,8.9,-50.0,-13.7,-50.0,-13.2,-6.1,-8.1,-5.5,-7.5,-50.0,-11.3,-12.7,-10.1,-1.6,-7.8,-0.3,-7.2,],
|
|
288
|
-
[-11.4,-10.0,-12.7,-8.2,-3.1,-3.1,-2.8,-0.9,-11.7,-7.3,-12.1,-5.8,3.6,3.6,-1.1,5.8,-9.4,-11.9,-10.7,-10.0,-8.5,-8.8,-8.2,-6.5,-13.9,-13.0,-12.9,-10.9,-3.1,-2.3,-3.2,-0.2,-9.5,-10.8,-10.2,-8.2,-1.1,-1.3,-0.8,1.2,-8.6,-7.8,-7.8,-5.0,9.0,9.5,8.9,12.0,-50.0,-13.0,-50.0,-10.3,-6.2,-7.0,-7.1,-5.4,-50.0,-9.3,-14.0,-8.2,-2.4,-6.3,-2.4,-3.9,],
|
|
289
|
-
[-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,33.3,-50.0,30.6,-50.0,-50.0,-50.0,-50.0,-50.0,29.2,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,],
|
|
290
|
-
[-14.8,-6.2,-14.9,-7.6,-14.6,-11.6,-13.0,-12.2,-14.0,-9.0,-14.1,-10.1,-13.6,-11.2,-12.4,-12.5,-8.1,2.2,-8.7,0.4,-15.3,-11.3,-13.2,-13.3,-11.9,-7.2,-11.8,-7.9,-10.7,-7.4,-10.8,-8.9,-15.5,-10.3,-15.5,-12.5,-14.5,-12.1,-11.9,-12.8,-18.3,-12.7,-16.4,-14.7,-14.2,-10.4,-13.7,-13.0,-50.0,15.1,-50.0,13.3,-9.9,-5.8,-8.9,-7.6,-50.0,-1.5,-7.8,-3.0,-8.1,3.6,-9.4,2.0,],
|
|
291
|
-
[-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,30.6,-50.0,35.2,-50.0,-50.0,-50.0,-50.0,-50.0,28.5,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,],
|
|
292
|
-
[-13.8,-7.5,-14.4,-5.1,-12.6,-11.6,-11.5,-10.1,-13.2,-9.7,-12.7,-7.4,-11.9,-11.9,-11.5,-10.2,-7.2,0.9,-8.6,2.6,-14.1,-12.8,-13.3,-11.0,-9.7,-8.4,-11.2,-5.3,-9.3,-8.7,-9.9,-7.1,-13.9,-11.2,-14.2,-8.9,-12.9,-12.6,-12.6,-10.9,-15.4,-13.8,-14.8,-11.4,-12.8,-11.6,-13.2,-10.3,-50.0,13.3,-50.0,15.2,-8.6,-7.0,-8.4,-4.8,-50.0,-3.0,-7.1,-0.1,-7.3,2.3,-8.7,3.9,],
|
|
293
|
-
[-7.3,-6.3,-8.9,-5.5,2.9,0.2,1.5,1.2,-8.5,-2.3,-10.0,-1.7,-5.6,-10.5,-5.5,-9.6,-4.3,-7.9,-6.1,-7.2,2.3,-0.6,0.5,-0.0,-8.9,-11.0,-9.4,-9.3,-4.6,-9.4,-7.3,-8.1,-7.8,-9.8,-8.9,-9.2,2.8,0.1,1.2,0.8,-5.9,-6.8,-5.9,-6.3,-4.1,-7.2,-6.1,-6.2,-50.0,-9.9,-50.0,-8.6,12.5,9.4,11.0,9.8,-50.0,-4.8,-8.7,-3.5,-0.0,-8.6,-2.1,-7.0,],
|
|
294
|
-
[-10.1,-4.3,-10.8,-5.8,0.1,2.3,0.7,0.6,-10.4,-0.2,-10.8,-2.0,-8.8,-9.2,-8.0,-9.7,-6.8,-5.9,-7.5,-7.0,-1.4,2.2,-0.9,-0.4,-10.8,-7.7,-9.8,-8.8,-8.9,-7.3,-9.6,-9.1,-10.5,-8.3,-10.2,-10.0,-0.0,2.5,0.7,0.5,-7.5,-5.1,-7.1,-6.7,-7.4,-5.7,-8.1,-7.0,-50.0,-5.8,-50.0,-7.0,9.4,12.7,10.1,10.0,-50.0,-1.5,-11.3,-3.3,-5.4,-4.2,-5.6,-6.8,],
|
|
295
|
-
[-8.4,-6.2,-8.9,-5.9,1.8,0.4,2.7,1.2,-9.1,-1.2,-8.8,-1.5,-7.2,-10.5,-4.9,-9.6,-5.7,-7.4,-5.5,-7.4,0.3,-0.3,1.8,-0.4,-9.0,-8.7,-7.3,-8.9,-5.9,-9.4,-6.4,-8.7,-8.7,-9.1,-8.5,-9.4,1.4,0.7,3.5,0.7,-6.6,-5.3,-4.7,-5.8,-5.7,-7.5,-5.5,-7.1,-50.0,-8.9,-50.0,-8.4,11.0,10.1,13.2,10.2,-50.0,-4.2,-6.1,-3.6,-3.5,-8.4,-1.2,-6.8,],
|
|
296
|
-
[-9.1,-5.4,-10.4,-4.2,1.0,0.5,0.6,2.4,-9.6,-1.5,-10.5,-0.5,-8.9,-10.5,-7.2,-8.3,-6.3,-6.9,-7.7,-5.1,-0.5,0.1,-0.6,2.3,-11.1,-10.2,-10.5,-7.0,-8.3,-9.4,-9.4,-6.6,-9.6,-9.7,-10.0,-7.9,0.7,0.6,0.8,2.3,-7.1,-6.5,-7.2,-5.0,-6.5,-7.4,-7.5,-5.4,-50.0,-7.6,-50.0,-4.8,9.8,10.0,10.2,12.1,-50.0,-3.1,-11.4,-0.7,-4.6,-6.6,-4.9,-3.9,],
|
|
297
|
-
[-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,29.2,-50.0,28.5,-50.0,-50.0,-50.0,-50.0,-50.0,33.3,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,],
|
|
298
|
-
[-13.0,-7.0,-13.1,-8.3,-9.2,-6.5,-8.9,-7.6,-9.8,-0.7,-9.2,-2.1,-12.4,-10.3,-12.4,-11.6,-9.5,-4.6,-10.4,-5.7,-13.6,-10.1,-11.4,-10.9,-6.5,-1.5,-6.2,-3.6,-12.8,-8.0,-12.3,-9.7,-16.5,-12.7,-15.6,-14.3,-8.7,-6.0,-7.1,-7.5,-9.5,-4.1,-8.4,-6.1,-11.0,-8.6,-11.3,-9.3,-50.0,-1.5,-50.0,-3.0,-4.8,-1.5,-4.2,-3.1,-50.0,16.4,-5.1,14.2,-10.1,-4.3,-10.0,-5.4,],
|
|
299
|
-
[-13.5,-16.3,-11.8,-15.5,-13.6,-15.3,-12.1,-16.1,-7.7,-13.3,-4.2,-12.6,-14.1,-16.2,-10.3,-15.4,-9.6,-11.6,-7.7,-9.8,-14.3,-17.5,-11.1,-17.2,-5.3,-7.1,-2.2,-7.1,-9.6,-11.9,-8.7,-11.4,-17.1,-20.6,-15.3,-19.9,-14.1,-14.8,-12.4,-16.5,-11.7,-12.8,-6.4,-13.4,-14.3,-15.7,-12.7,-14.0,-50.0,-7.8,-50.0,-7.1,-8.7,-11.3,-6.1,-11.4,-50.0,-5.1,18.6,-4.8,-8.6,-8.1,-4.5,-7.3,],
|
|
300
|
-
[-12.4,-8.2,-13.0,-5.9,-7.7,-7.8,-7.4,-5.8,-8.8,-2.0,-9.3,-0.4,-11.6,-11.3,-11.6,-9.4,-8.9,-5.6,-10.0,-3.2,-11.5,-11.1,-10.5,-8.3,-6.3,-4.9,-6.7,-1.2,-10.6,-9.7,-11.3,-8.0,-14.8,-13.1,-15.5,-11.4,-7.5,-7.5,-7.1,-5.9,-8.4,-5.8,-8.1,-3.6,-9.9,-9.7,-10.1,-8.2,-50.0,-3.0,-50.0,-0.1,-3.5,-3.3,-3.6,-0.7,-50.0,14.2,-4.8,16.4,-8.9,-5.8,-8.9,-3.4,],
|
|
301
|
-
[-10.7,-13.2,-12.4,-11.6,-4.8,-8.4,-6.1,-7.2,-10.3,-11.8,-11.0,-11.6,2.8,-1.7,0.7,-1.1,-6.2,-9.7,-7.3,-8.4,-5.3,-8.6,-6.1,-8.3,-10.5,-11.2,-9.8,-10.2,9.5,6.5,7.6,6.8,-12.1,-16.0,-13.0,-16.2,-5.2,-8.6,-7.1,-7.8,-12.5,-14.4,-12.1,-13.0,1.4,-3.0,-1.6,-2.4,-50.0,-8.1,-50.0,-7.3,-0.0,-5.4,-3.5,-4.6,-50.0,-10.1,-8.6,-8.9,13.2,-0.9,9.7,-0.3,],
|
|
302
|
-
[-18.1,-12.3,-19.4,-14.2,-12.2,-9.5,-11.5,-10.8,-17.9,-11.9,-18.2,-13.9,-6.4,-3.7,-6.8,-5.4,-12.8,-5.9,-13.6,-7.4,-13.7,-9.9,-12.9,-12.7,-16.2,-11.6,-15.2,-12.7,-3.2,0.5,-3.3,-1.8,-18.9,-16.6,-18.8,-19.2,-12.5,-9.4,-10.6,-11.1,-17.3,-14.1,-16.2,-16.0,-7.9,-3.7,-7.8,-6.3,-50.0,3.6,-50.0,2.3,-8.6,-4.2,-8.4,-6.6,-50.0,-4.3,-8.1,-5.8,-0.9,14.2,-1.8,11.6,],
|
|
303
|
-
[-11.8,-13.1,-11.5,-12.0,-6.2,-8.3,-5.4,-7.4,-11.8,-12.3,-11.1,-11.4,0.5,-2.5,2.4,-1.6,-6.8,-9.9,-6.4,-8.9,-6.1,-8.6,-5.0,-7.8,-10.4,-11.6,-8.5,-9.9,8.2,6.4,8.7,6.9,-12.4,-17.0,-12.6,-15.8,-6.5,-8.5,-5.0,-7.8,-13.2,-13.6,-10.3,-13.7,-0.7,-3.2,-0.3,-2.4,-50.0,-9.4,-50.0,-8.7,-2.1,-5.6,-1.2,-4.9,-50.0,-10.0,-4.5,-8.9,9.7,-1.8,11.3,-0.9,],
|
|
304
|
-
[-17.2,-13.3,-17.8,-11.6,-11.0,-11.1,-10.4,-9.0,-16.0,-12.7,-16.1,-11.1,-5.2,-5.4,-6.0,-3.3,-11.8,-7.3,-13.3,-5.9,-12.7,-11.9,-11.9,-9.3,-15.2,-15.0,-14.9,-11.0,-2.8,-1.8,-2.9,0.4,-17.4,-18.4,-18.3,-15.9,-10.7,-11.2,-10.6,-9.0,-15.4,-14.8,-15.8,-13.3,-6.8,-5.9,-7.2,-3.9,-50.0,2.0,-50.0,3.9,-7.0,-6.8,-6.8,-3.9,-50.0,-5.4,-7.3,-3.4,-0.3,11.6,-0.9,14.1,]];
|
|
218
|
+
private PAM250:Array<Array<number>> = [[2, -2, 0, 0, -2, 0, 0, 1, -1, -1, -2, -1, -1, -3, 1, 1, 1, -6, -3, 0, 0, 0, 0, -8],
|
|
219
|
+
[-2, 6, 0, -1, -4, 1, -1, -3, 2, -2, -3, 3, 0, -4, 0, 0, -1, 2, -4, -2, -1, 0, -1, -8],
|
|
220
|
+
[0, 0, 2, 2, -4, 1, 1, 0, 2, -2, -3, 1, -2, -3, 0, 1, 0, -4, -2, -2, 2, 1, 0, -8],
|
|
221
|
+
[0, -1, 2, 4, -5, 2, 3, 1, 1, -2, -4, 0, -3, -6, -1, 0, 0, -7, -4, -2, 3, 3, -1, -8],
|
|
222
|
+
[-2, -4, -4, -5, 12, -5, -5, -3, -3, -2, -6, -5, -5, -4, -3, 0, -2, -8, 0, -2, -4, -5, -3, -8],
|
|
223
|
+
[0, 1, 1, 2, -5, 4, 2, -1, 3, -2, -2, 1, -1, -5, 0, -1, -1, -5, -4, -2, 1, 3, -1, -8],
|
|
224
|
+
[0, -1, 1, 3, -5, 2, 4, 0, 1, -2, -3, 0, -2, -5, -1, 0, 0, -7, -4, -2, 3, 3, -1, -8],
|
|
225
|
+
[1, -3, 0, 1, -3, -1, 0, 5, -2, -3, -4, -2, -3, -5, 0, 1, 0, -7, -5, -1, 0, 0, -1, -8],
|
|
226
|
+
[-1, 2, 2, 1, -3, 3, 1, -2, 6, -2, -2, 0, -2, -2, 0, -1, -1, -3, 0, -2, 1, 2, -1, -8],
|
|
227
|
+
[-1, -2, -2, -2, -2, -2, -2, -3, -2, 5, 2, -2, 2, 1, -2, -1, 0, -5, -1, 4, -2, -2, -1, -8],
|
|
228
|
+
[-2, -3, -3, -4, -6, -2, -3, -4, -2, 2, 6, -3, 4, 2, -3, -3, -2, -2, -1, 2, -3, -3, -1, -8],
|
|
229
|
+
[-1, 3, 1, 0, -5, 1, 0, -2, 0, -2, -3, 5, 0, -5, -1, 0, 0, -3, -4, -2, 1, 0, -1, -8],
|
|
230
|
+
[-1, 0, -2, -3, -5, -1, -2, -3, -2, 2, 4, 0, 6, 0, -2, -2, -1, -4, -2, 2, -2, -2, -1, -8],
|
|
231
|
+
[-3, -4, -3, -6, -4, -5, -5, -5, -2, 1, 2, -5, 0, 9, -5, -3, -3, 0, 7, -1, -4, -5, -2, -8],
|
|
232
|
+
[1, 0, 0, -1, -3, 0, -1, 0, 0, -2, -3, -1, -2, -5, 6, 1, 0, -6, -5, -1, -1, 0, -1, -8],
|
|
233
|
+
[1, 0, 1, 0, 0, -1, 0, 1, -1, -1, -3, 0, -2, -3, 1, 2, 1, -2, -3, -1, 0, 0, 0, -8],
|
|
234
|
+
[1, -1, 0, 0, -2, -1, 0, 0, -1, 0, -2, 0, -1, -3, 0, 1, 3, -5, -3, 0, 0, -1, 0, -8],
|
|
235
|
+
[-6, 2, -4, -7, -8, -5, -7, -7, -3, -5, -2, -3, -4, 0, -6, -2, -5, 17, 0, -6, -5, -6, -4, -8],
|
|
236
|
+
[-3, -4, -2, -4, 0, -4, -4, -5, 0, -1, -1, -4, -2, 7, -5, -3, -3, 0, 10, -2, -3, -4, -2, -8],
|
|
237
|
+
[0, -2, -2, -2, -2, -2, -2, -1, -2, 4, 2, -2, 2, -1, -1, -1, 0, -6, -2, 4, -2, -2, -1, -8],
|
|
238
|
+
[0, -1, 2, 3, -4, 1, 3, 0, 1, -2, -3, 1, -2, -4, -1, 0, 0, -5, -3, -2, 3, 2, -1, -8],
|
|
239
|
+
[0, 0, 1, 3, -5, 3, 3, 0, 2, -2, -3, 0, -2, -5, 0, 0, -1, -6, -4, -2, 2, 3, -1, -8],
|
|
240
|
+
[0, -1, 0, -1, -3, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, 0, 0, -4, -2, -1, -1, -1, -1, -8],
|
|
241
|
+
[-8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, 1]];
|
|
305
242
|
|
|
306
|
-
|
|
307
|
-
[0,5,4,0],
|
|
308
|
-
[0,4,5,
|
|
309
|
-
[4,0,0,5]
|
|
243
|
+
private SCHNEIDER :Array<Array<number>> = [[11.6, -2.7, 9.7, -1.7, -2.7, -6.4, -3.9, -5.6, 5.1, -5.0, 3.6, -4.2, -6.3, -13.0, -7.1, -11.5, 0.4, -6.0, -1.9, -5.3, -8.5, -11.2, -8.9, -10.8, 2.1, 0.0, 1.4, 0.2, -10.2, -13.5, -13.0, -12.5, -2.6, -8.5, -5.0, -8.1, -6.3, -9.9, -7.5, -9.0, -7.1, -10.2, -8.2, -9.2, -8.2, -12.5, -11.1, -11.4, -50.0, -14.8, -50.0, -13.8, -7.3, -10.1, -8.4, -9.1, -50.0, -13.0, -13.5, -12.4, -10.7, -18.1, -11.8, -17.2],
|
|
244
|
+
[-2.7, 13.0, -3.3, 10.9, -3.5, -0.4, -3.3, -1.8, -5.4, 4.6, -5.5, 3.0, -10.2, -7.9, -9.9, -9.6, -5.0, 0.5, -5.5, -1.0, -10.3, -8.1, -9.4, -9.6, -8.1, -5.0, -7.3, -6.3, -13.4, -11.3, -14.4, -12.9, -6.3, 0.8, -6.4, -1.1, -7.4, -5.0, -6.2, -6.5, -5.6, -1.6, -4.7, -3.0, -10.8, -8.7, -11.9, -10.0, -50.0, -6.2, -50.0, -7.5, -6.3, -4.3, -6.2, -5.4, -50.0, -7.0, -16.3, -8.2, -13.2, -12.3, -13.1, -13.3],
|
|
245
|
+
[9.7, -3.3, 11.6, -2.8, -4.5, -6.7, -3.1, -6.9, 3.3, -5.5, 4.8, -5.1, -8.9, -13.2, -5.7, -12.6, -1.5, -6.1, -0.6, -6.1, -10.0, -11.8, -8.6, -11.9, 1.2, 0.5, 2.2, 0.1, -11.8, -14.0, -11.9, -13.4, -4.9, -9.1, -3.4, -8.9, -8.0, -10.0, -7.2, -10.0, -9.1, -10.2, -7.1, -9.9, -10.1, -13.0, -10.6, -12.7, -50.0, -14.9, -50.0, -14.4, -8.9, -10.8, -8.9, -10.4, -50.0, -13.1, -11.8, -13.0, -12.4, -19.4, -11.5, -17.8],
|
|
246
|
+
[-1.7, 10.9, -2.8, 12.9, -2.7, -2.2, -2.8, 0.2, -4.8, 2.9, -5.2, 5.2, -9.1, -9.5, -9.0, -7.0, -4.0, -1.0, -5.0, 1.0, -9.0, -8.8, -8.9, -7.7, -7.0, -6.8, -7.1, -4.3, -12.4, -12.9, -13.9, -10.0, -4.9, -0.7, -5.6, 1.4, -6.0, -6.5, -6.2, -4.8, -5.1, -3.2, -5.0, -1.2, -9.8, -9.9, -11.3, -8.2, -50.0, -7.6, -50.0, -5.1, -5.5, -5.8, -5.9, -4.2, -50.0, -8.3, -15.5, -5.9, -11.6, -14.2, -12.0, -11.6],
|
|
247
|
+
[-2.7, -3.5, -4.5, -2.7, 11.7, 9.0, 10.6, 9.6, -3.2, -0.7, -5.1, -0.4, 0.7, -4.6, -0.4, -3.6, -4.8, -8.9, -6.5, -7.8, -1.4, -4.1, -2.9, -3.3, -8.0, -9.1, -8.0, -8.2, -6.0, -9.3, -7.7, -8.5, -6.4, -10.1, -7.5, -8.6, 2.8, -0.7, 0.9, 0.1, -5.9, -7.3, -6.5, -6.5, -0.4, -3.9, -2.6, -3.1, -50.0, -14.6, -50.0, -12.6, 2.9, 0.1, 1.8, 1.0, -50.0, -9.2, -13.6, -7.7, -4.8, -12.2, -6.2, -11.0],
|
|
248
|
+
[-6.4, -0.4, -6.7, -2.2, 9.0, 12.3, 9.8, 9.6, -7.1, 2.4, -7.2, 0.3, -2.9, -1.2, -3.0, -3.3, -7.6, -6.7, -8.1, -7.9, -4.9, -1.9, -4.5, -3.8, -9.5, -7.8, -9.3, -8.9, -9.4, -7.1, -9.0, -9.0, -9.4, -7.5, -9.3, -9.2, -0.7, 2.6, 0.2, -0.1, -8.0, -4.6, -7.7, -6.1, -3.6, -1.0, -4.1, -3.1, -50.0, -11.6, -50.0, -11.6, 0.2, 2.3, 0.4, 0.5, -50.0, -6.5, -15.3, -7.8, -8.4, -9.5, -8.3, -11.1],
|
|
249
|
+
[-3.9, -3.3, -3.1, -2.8, 10.6, 9.8, 12.2, 9.8, -4.9, 0.1, -3.6, -0.2, -1.7, -4.1, 0.9, -3.5, -5.9, -8.9, -5.6, -8.5, -3.9, -3.9, -2.2, -4.5, -7.3, -7.5, -6.4, -8.5, -7.1, -8.2, -6.7, -7.8, -7.9, -9.1, -7.1, -9.4, 0.9, -0.2, 2.5, -0.3, -6.9, -6.5, -5.5, -6.8, -1.7, -3.4, -1.7, -2.8, -50.0, -13.0, -50.0, -11.5, 1.5, 0.7, 2.7, 0.6, -50.0, -8.9, -12.1, -7.4, -6.1, -11.5, -5.4, -10.4],
|
|
250
|
+
[-5.6, -1.8, -6.9, 0.2, 9.6, 9.6, 9.8, 11.6, -6.6, 0.9, -7.2, 2.5, -2.3, -3.4, -2.3, -0.6, -6.5, -8.2, -8.0, -6.3, -3.7, -3.5, -3.9, -1.6, -9.9, -8.9, -9.6, -7.0, -8.6, -8.9, -8.8, -6.8, -8.6, -8.2, -8.8, -6.8, 0.3, 0.1, 0.2, 2.4, -7.4, -6.2, -6.9, -4.4, -2.9, -2.9, -3.5, -0.9, -50.0, -12.2, -50.0, -10.1, 1.2, 0.6, 1.2, 2.4, -50.0, -7.6, -16.1, -5.8, -7.2, -10.8, -7.4, -9.0],
|
|
251
|
+
[5.1, -5.4, 3.3, -4.8, -3.2, -7.1, -4.9, -6.6, 13.3, -2.8, 11.2, -1.9, -5.7, -12.5, -7.2, -11.6, -0.7, -4.8, -3.1, -4.3, -10.0, -11.6, -8.8, -11.7, 10.5, 7.7, 9.1, 8.5, -9.8, -12.7, -11.7, -11.8, -6.3, -11.4, -8.8, -11.0, -7.5, -10.3, -8.3, -9.9, -1.9, -6.7, -4.1, -6.4, -7.9, -12.5, -11.4, -11.7, -50.0, -14.0, -50.0, -13.2, -8.5, -10.4, -9.1, -9.6, -50.0, -9.8, -7.7, -8.8, -10.3, -17.9, -11.8, -16.0],
|
|
252
|
+
[-5.0, 4.6, -5.5, 2.9, -0.7, 2.4, 0.1, 0.9, -2.8, 12.8, -2.6, 11.0, -8.4, -6.3, -8.3, -7.7, -6.1, -2.9, -6.5, -4.2, -8.5, -5.9, -7.5, -7.7, -5.5, -2.4, -5.5, -4.1, -12.9, -10.3, -12.7, -11.3, -7.4, -3.1, -7.4, -4.9, -4.4, -1.8, -3.5, -3.5, -1.6, 3.0, -0.8, 0.9, -8.4, -6.3, -9.6, -7.3, -50.0, -9.0, -50.0, -9.7, -2.3, -0.2, -1.2, -1.5, -50.0, -0.7, -13.3, -2.0, -11.8, -11.9, -12.3, -12.7],
|
|
253
|
+
[3.6, -5.5, 4.8, -5.2, -5.1, -7.2, -3.6, -7.2, 11.2, -2.6, 13.4, -2.1, -7.7, -12.5, -5.3, -11.9, -2.2, -4.4, -1.9, -4.8, -10.2, -11.5, -8.1, -12.0, 9.3, 8.2, 10.0, 8.0, -10.8, -11.9, -10.7, -12.4, -8.2, -11.8, -6.9, -11.5, -8.4, -9.9, -7.1, -10.6, -4.7, -6.8, -1.2, -7.0, -9.8, -11.6, -9.6, -12.1, -50.0, -14.1, -50.0, -12.7, -10.0, -10.8, -8.8, -10.5, -50.0, -9.2, -4.2, -9.3, -11.0, -18.2, -11.1, -16.1],
|
|
254
|
+
[-4.2, 3.0, -5.1, 5.2, -0.4, 0.3, -0.2, 2.5, -1.9, 11.0, -2.1, 13.2, -7.6, -8.5, -8.0, -5.3, -5.6, -4.5, -6.8, -2.4, -7.8, -7.9, -7.9, -6.2, -5.7, -5.1, -5.4, -2.1, -12.4, -12.3, -13.1, -10.1, -6.6, -4.4, -6.9, -2.6, -3.6, -3.8, -3.7, -2.0, -1.4, 0.8, -0.9, 3.0, -8.2, -8.1, -9.2, -5.8, -50.0, -10.1, -50.0, -7.4, -1.7, -2.0, -1.5, -0.5, -50.0, -2.1, -12.6, -0.4, -11.6, -13.9, -11.4, -11.1],
|
|
255
|
+
[-6.3, -10.2, -8.9, -9.1, 0.7, -2.9, -1.7, -2.3, -5.7, -8.4, -7.7, -7.6, 13.2, 9.6, 3.5, 9.7, -8.7, -12.4, -10.7, -10.7, -7.8, -10.2, -8.8, -9.6, -9.5, -11.9, -10.9, -10.5, 2.3, -0.4, -0.2, -0.3, -9.7, -15.5, -11.4, -13.7, -3.0, -6.4, -4.1, -5.4, -9.6, -11.9, -10.5, -11.8, 6.2, 3.3, 3.7, 3.6, -50.0, -13.6, -50.0, -11.9, -5.6, -8.8, -7.2, -8.9, -50.0, -12.4, -14.1, -11.6, 2.8, -6.4, 0.5, -5.2],
|
|
256
|
+
[-13.0, -7.9, -13.2, -9.5, -4.6, -1.2, -4.1, -3.4, -12.5, -6.3, -12.5, -8.5, 9.6, 12.7, 0.2, 10.5, -12.4, -11.6, -13.2, -12.0, -12.4, -10.1, -11.6, -12.0, -15.1, -13.1, -14.3, -13.4, -1.4, 1.4, -1.6, -0.5, -14.9, -14.3, -15.2, -16.8, -7.7, -4.7, -6.3, -6.6, -14.6, -10.8, -12.8, -13.0, 2.3, 6.0, 2.5, 3.6, -50.0, -11.2, -50.0, -11.9, -10.5, -9.2, -10.5, -10.5, -50.0, -10.3, -16.2, -11.3, -1.7, -3.7, -2.5, -5.4],
|
|
257
|
+
[-7.1, -9.9, -5.7, -9.0, -0.4, -3.0, 0.9, -2.3, -7.2, -8.3, -5.3, -8.0, 3.5, 0.2, 14.3, 1.0, -7.3, -11.2, -6.9, -9.7, -8.5, -10.2, -7.7, -9.8, -10.0, -10.4, -8.4, -10.2, 1.0, -0.6, 1.7, -0.5, -11.1, -14.8, -9.7, -14.5, -3.7, -5.8, -3.1, -5.6, -10.4, -11.5, -8.2, -11.1, 0.6, -1.6, 1.6, -1.1, -50.0, -12.4, -50.0, -11.5, -5.5, -8.0, -4.9, -7.2, -50.0, -12.4, -10.3, -11.6, 0.7, -6.8, 2.4, -6.0],
|
|
258
|
+
[-11.5, -9.6, -12.6, -7.0, -3.6, -3.3, -3.5, -0.6, -11.6, -7.7, -11.9, -5.3, 9.7, 10.5, 1.0, 12.6, -12.0, -12.2, -12.5, -9.7, -11.1, -11.2, -11.9, -9.4, -12.9, -14.3, -14.0, -11.9, -1.0, -0.4, -1.6, 1.2, -13.9, -15.4, -13.7, -12.6, -6.2, -6.7, -6.3, -4.4, -13.0, -12.2, -13.0, -10.4, 2.9, 3.8, 2.5, 5.8, -50.0, -12.5, -50.0, -10.2, -9.6, -9.7, -9.6, -8.3, -50.0, -11.6, -15.4, -9.4, -1.1, -5.4, -1.6, -3.3],
|
|
259
|
+
[0.4, -5.0, -1.5, -4.0, -4.8, -7.6, -5.9, -6.5, -0.7, -6.1, -2.2, -5.6, -8.7, -12.4, -7.3, -12.0, 12.8, 2.3, 10.2, 3.0, 0.0, -3.4, -0.7, -3.2, 2.5, -0.8, 0.9, 0.2, -3.0, -7.2, -5.7, -6.1, -0.2, -6.6, -1.8, -6.0, -5.3, -8.2, -5.7, -7.6, -6.7, -9.6, -7.5, -9.3, -7.1, -10.5, -9.6, -9.4, -50.0, -8.1, -50.0, -7.2, -4.3, -6.8, -5.7, -6.3, -50.0, -9.5, -9.6, -8.9, -6.2, -12.8, -6.8, -11.8],
|
|
260
|
+
[-6.0, 0.5, -6.1, -1.0, -8.9, -6.7, -8.9, -8.2, -4.8, -2.9, -4.4, -4.5, -12.4, -11.6, -11.2, -12.2, 2.3, 14.6, 1.9, 12.9, -5.5, -2.6, -4.1, -4.7, -1.2, 3.0, -1.1, 1.6, -8.0, -4.7, -8.7, -6.0, -8.2, -4.7, -7.8, -6.7, -10.0, -8.3, -8.9, -9.9, -10.8, -7.1, -10.0, -9.2, -11.6, -10.1, -12.3, -11.9, -50.0, 2.2, -50.0, 0.9, -7.9, -5.9, -7.4, -6.9, -50.0, -4.6, -11.6, -5.6, -9.7, -5.9, -9.9, -7.3],
|
|
261
|
+
[-1.9, -5.5, -0.6, -5.0, -6.5, -8.1, -5.6, -8.0, -3.1, -6.5, -1.9, -6.8, -10.7, -13.2, -6.9, -12.5, 10.2, 1.9, 11.9, 2.1, -2.3, -4.1, -0.5, -4.6, -0.1, -0.9, 2.4, -0.8, -5.1, -6.9, -4.8, -6.7, -2.3, -7.1, -0.8, -7.2, -7.2, -8.0, -5.6, -8.5, -9.4, -9.7, -7.2, -9.8, -9.2, -11.1, -9.5, -10.7, -50.0, -8.7, -50.0, -8.6, -6.1, -7.5, -5.5, -7.7, -50.0, -10.4, -7.7, -10.0, -7.3, -13.6, -6.4, -13.3],
|
|
262
|
+
[-5.3, -1.0, -6.1, 1.0, -7.8, -7.9, -8.5, -6.3, -4.3, -4.2, -4.8, -2.4, -10.7, -12.0, -9.7, -9.7, 3.0, 12.9, 2.1, 14.7, -4.9, -3.8, -4.0, -2.4, -1.0, 0.8, -1.3, 3.4, -7.6, -5.7, -8.1, -3.5, -6.8, -5.8, -7.2, -4.2, -8.9, -10.2, -8.4, -8.2, -9.9, -8.4, -9.7, -6.4, -11.1, -11.1, -11.8, -10.0, -50.0, 0.4, -50.0, 2.6, -7.2, -7.0, -7.4, -5.1, -50.0, -5.7, -9.8, -3.2, -8.4, -7.4, -8.9, -5.9],
|
|
263
|
+
[-8.5, -10.3, -10.0, -9.0, -1.4, -4.9, -3.9, -3.7, -10.0, -8.5, -10.2, -7.8, -7.8, -12.4, -8.5, -11.1, 0.0, -5.5, -2.3, -4.9, 12.6, 10.0, 11.1, 10.5, -6.0, -8.3, -6.9, -7.5, -2.2, -7.4, -5.3, -5.9, -8.9, -12.5, -9.4, -11.6, -0.7, -3.9, -2.3, -3.0, -9.1, -9.8, -9.2, -9.5, -5.6, -9.0, -8.0, -8.5, -50.0, -15.3, -50.0, -14.1, 2.3, -1.4, 0.3, -0.5, -50.0, -13.6, -14.3, -11.5, -5.3, -13.7, -6.1, -12.7],
|
|
264
|
+
[-11.2, -8.1, -11.8, -8.8, -4.1, -1.9, -3.9, -3.5, -11.6, -5.9, -11.5, -7.9, -10.2, -10.1, -10.2, -11.2, -3.4, -2.6, -4.1, -3.8, 10.0, 13.1, 10.7, 10.6, -8.1, -5.2, -8.0, -6.7, -6.1, -3.7, -7.5, -5.6, -11.1, -10.3, -10.6, -11.9, -3.2, -1.0, -2.2, -2.8, -10.5, -8.1, -9.4, -9.5, -8.3, -6.9, -9.4, -8.8, -50.0, -11.3, -50.0, -12.8, -0.6, 2.2, -0.3, 0.1, -50.0, -10.1, -17.5, -11.1, -8.6, -9.9, -8.6, -11.9],
|
|
265
|
+
[-8.9, -9.4, -8.6, -8.9, -2.9, -4.5, -2.2, -3.9, -8.8, -7.5, -8.1, -7.9, -8.8, -11.6, -7.7, -11.9, -0.7, -4.1, -0.5, -4.0, 11.1, 10.7, 13.2, 10.4, -5.7, -5.8, -3.5, -6.1, -3.6, -6.5, -3.3, -5.5, -9.4, -11.0, -8.7, -11.2, -1.8, -2.7, 0.7, -3.0, -9.1, -8.2, -7.3, -9.4, -7.2, -8.2, -7.2, -8.2, -50.0, -13.2, -50.0, -13.3, 0.5, -0.9, 1.8, -0.6, -50.0, -11.4, -11.1, -10.5, -6.1, -12.9, -5.0, -11.9],
|
|
266
|
+
[-10.8, -9.6, -11.9, -7.7, -3.3, -3.8, -4.5, -1.6, -11.7, -7.7, -12.0, -6.2, -9.6, -12.0, -9.8, -9.4, -3.2, -4.7, -4.6, -2.4, 10.5, 10.6, 10.4, 12.6, -8.2, -7.9, -9.0, -4.7, -6.1, -6.0, -7.5, -2.9, -10.9, -12.2, -11.2, -10.9, -2.4, -2.9, -2.7, -0.9, -10.4, -9.7, -10.2, -8.0, -8.4, -9.1, -9.3, -6.5, -50.0, -13.3, -50.0, -11.0, -0.0, -0.4, -0.4, 2.3, -50.0, -10.9, -17.2, -8.3, -8.3, -12.7, -7.8, -9.3],
|
|
267
|
+
[2.1, -8.1, 1.2, -7.0, -8.0, -9.5, -7.3, -9.9, 10.5, -5.5, 9.3, -5.7, -9.5, -15.1, -10.0, -12.9, 2.5, -1.2, -0.1, -1.0, -6.0, -8.1, -5.7, -8.2, 13.8, 11.3, 11.8, 12.1, -6.0, -9.1, -9.0, -9.5, -8.9, -13.4, -10.0, -13.1, -9.9, -11.7, -9.8, -12.8, -5.9, -9.4, -6.5, -8.1, -10.7, -14.0, -13.3, -13.9, -50.0, -11.9, -50.0, -9.7, -8.9, -10.8, -9.0, -11.1, -50.0, -6.5, -5.3, -6.3, -10.5, -16.2, -10.4, -15.2],
|
|
268
|
+
[0.0, -5.0, 0.5, -6.8, -9.1, -7.8, -7.5, -8.9, 7.7, -2.4, 8.2, -5.1, -11.9, -13.1, -10.4, -14.3, -0.8, 3.0, -0.9, 0.8, -8.3, -5.2, -5.8, -7.9, 11.3, 15.0, 11.2, 12.8, -9.7, -5.3, -9.2, -7.8, -11.7, -10.6, -10.1, -12.2, -11.7, -8.8, -8.9, -11.8, -9.3, -5.0, -8.0, -8.2, -13.6, -11.4, -12.8, -13.0, -50.0, -7.2, -50.0, -8.4, -11.0, -7.7, -8.7, -10.2, -50.0, -1.5, -7.1, -4.9, -11.2, -11.6, -11.6, -15.0],
|
|
269
|
+
[1.4, -7.3, 2.2, -7.1, -8.0, -9.3, -6.4, -9.6, 9.1, -5.5, 10.0, -5.4, -10.9, -14.3, -8.4, -14.0, 0.9, -1.1, 2.4, -1.3, -6.9, -8.0, -3.5, -9.0, 11.8, 11.2, 13.4, 11.4, -7.3, -8.8, -6.5, -8.5, -10.0, -12.5, -7.8, -12.5, -9.6, -11.0, -7.1, -10.7, -7.9, -8.0, -4.3, -9.4, -11.4, -12.3, -10.9, -12.9, -50.0, -11.8, -50.0, -11.2, -9.4, -9.8, -7.3, -10.5, -50.0, -6.2, -2.2, -6.7, -9.8, -15.2, -8.5, -14.9],
|
|
270
|
+
[0.2, -6.3, 0.1, -4.3, -8.2, -8.9, -8.5, -7.0, 8.5, -4.1, 8.0, -2.1, -10.5, -13.4, -10.2, -11.9, 0.2, 1.6, -0.8, 3.4, -7.5, -6.7, -6.1, -4.7, 12.1, 12.8, 11.4, 14.7, -8.7, -7.4, -9.4, -5.3, -9.9, -11.8, -10.5, -10.3, -9.9, -10.1, -9.3, -9.3, -8.1, -7.2, -8.0, -5.2, -12.0, -12.1, -12.6, -10.9, -50.0, -7.9, -50.0, -5.3, -9.3, -8.8, -8.9, -7.0, -50.0, -3.6, -7.1, -1.2, -10.2, -12.7, -9.9, -11.0],
|
|
271
|
+
[-10.2, -13.4, -11.8, -12.4, -6.0, -9.4, -7.1, -8.6, -9.8, -12.9, -10.8, -12.4, 2.3, -1.4, 1.0, -1.0, -3.0, -8.0, -5.1, -7.6, -2.2, -6.1, -3.6, -6.1, -6.0, -9.7, -7.3, -8.7, 11.2, 7.9, 8.9, 8.1, -12.1, -17.4, -13.2, -16.8, -6.3, -9.5, -7.5, -8.8, -12.7, -15.2, -13.1, -14.2, 0.0, -3.1, -1.8, -3.1, -50.0, -10.7, -50.0, -9.3, -4.6, -8.9, -5.9, -8.3, -50.0, -12.8, -9.6, -10.6, 9.5, -3.2, 8.2, -2.8],
|
|
272
|
+
[-13.5, -11.3, -14.0, -12.9, -9.3, -7.1, -8.2, -8.9, -12.7, -10.3, -11.9, -12.3, -0.4, 1.4, -0.6, -0.4, -7.2, -4.7, -6.9, -5.7, -7.4, -3.7, -6.5, -6.0, -9.1, -5.3, -8.8, -7.4, 7.9, 11.9, 7.8, 9.3, -15.2, -15.1, -14.6, -17.2, -9.7, -7.3, -8.2, -9.2, -15.0, -12.8, -14.1, -14.9, -2.8, 0.2, -2.9, -2.3, -50.0, -7.4, -50.0, -8.7, -9.4, -7.3, -9.4, -9.4, -50.0, -8.0, -11.9, -9.7, 6.5, 0.5, 6.4, -1.8],
|
|
273
|
+
[-13.0, -14.4, -11.9, -13.9, -7.7, -9.0, -6.7, -8.8, -11.7, -12.7, -10.7, -13.1, -0.2, -1.6, 1.7, -1.6, -5.7, -8.7, -4.8, -8.1, -5.3, -7.5, -3.3, -7.5, -9.0, -9.2, -6.5, -9.4, 8.9, 7.8, 10.1, 7.8, -14.3, -17.7, -13.0, -17.8, -8.0, -9.4, -6.2, -9.2, -15.1, -14.9, -12.2, -14.9, -1.8, -3.2, -0.8, -3.2, -50.0, -10.8, -50.0, -9.9, -7.3, -9.6, -6.4, -9.4, -50.0, -12.3, -8.7, -11.3, 7.6, -3.3, 8.7, -2.9],
|
|
274
|
+
[-12.5, -12.9, -13.4, -10.0, -8.5, -9.0, -7.8, -6.8, -11.8, -11.3, -12.4, -10.1, -0.3, -0.5, -0.5, 1.2, -6.1, -6.0, -6.7, -3.5, -5.9, -5.6, -5.5, -2.9, -9.5, -7.8, -8.5, -5.3, 8.1, 9.3, 7.8, 11.8, -14.4, -15.7, -14.5, -14.6, -8.4, -8.7, -7.9, -7.1, -14.3, -13.8, -13.8, -12.3, -2.4, -2.2, -2.9, -0.2, -50.0, -8.9, -50.0, -7.1, -8.1, -9.1, -8.7, -6.6, -50.0, -9.7, -11.4, -8.0, 6.8, -1.8, 6.9, 0.4],
|
|
275
|
+
[-2.6, -6.3, -4.9, -4.9, -6.4, -9.4, -7.9, -8.6, -6.3, -7.4, -8.2, -6.6, -9.7, -14.9, -11.1, -13.9, -0.2, -8.2, -2.3, -6.8, -8.9, -11.1, -9.4, -10.9, -8.9, -11.7, -10.0, -9.9, -12.1, -15.2, -14.3, -14.4, 11.1, 2.9, 9.2, 3.5, -3.0, -7.0, -4.3, -6.2, -2.2, -6.6, -3.7, -5.7, -6.0, -10.4, -8.6, -9.5, -50.0, -15.5, -50.0, -13.9, -7.8, -10.5, -8.7, -9.6, -50.0, -16.5, -17.1, -14.8, -12.1, -18.9, -12.4, -17.4],
|
|
276
|
+
[-8.5, 0.8, -9.1, -0.7, -10.1, -7.5, -9.1, -8.2, -11.4, -3.1, -11.8, -4.4, -15.5, -14.3, -14.8, -15.4, -6.6, -4.7, -7.1, -5.8, -12.5, -10.3, -11.0, -12.2, -13.4, -10.6, -12.5, -11.8, -17.4, -15.1, -17.7, -15.7, 2.9, 12.5, 3.1, 10.3, -7.7, -5.2, -6.2, -7.3, -5.4, -1.7, -5.4, -3.7, -11.6, -9.1, -13.0, -10.8, -50.0, -10.3, -50.0, -11.2, -9.8, -8.3, -9.1, -9.7, -50.0, -12.7, -20.6, -13.1, -16.0, -16.6, -17.0, -18.4],
|
|
277
|
+
[-5.0, -6.4, -3.4, -5.6, -7.5, -9.3, -7.1, -8.8, -8.8, -7.4, -6.9, -6.9, -11.4, -15.2, -9.7, -13.7, -1.8, -7.8, -0.8, -7.2, -9.4, -10.6, -8.7, -11.2, -10.0, -10.1, -7.8, -10.5, -13.2, -14.6, -13.0, -14.5, 9.2, 3.1, 10.8, 3.0, -4.5, -6.7, -2.7, -6.7, -5.0, -6.8, -2.5, -6.7, -7.5, -10.4, -7.4, -10.2, -50.0, -15.5, -50.0, -14.2, -8.9, -10.2, -8.5, -10.0, -50.0, -15.6, -15.3, -15.5, -13.0, -18.8, -12.6, -18.3],
|
|
278
|
+
[-8.1, -1.1, -8.9, 1.4, -8.6, -9.2, -9.4, -6.8, -11.0, -4.9, -11.5, -2.6, -13.7, -16.8, -14.5, -12.6, -6.0, -6.7, -7.2, -4.2, -11.6, -11.9, -11.2, -10.9, -13.1, -12.2, -12.5, -10.3, -16.8, -17.2, -17.8, -14.6, 3.5, 10.3, 3.0, 12.4, -6.9, -7.5, -6.8, -4.9, -5.4, -4.2, -5.4, -1.3, -10.8, -11.5, -12.4, -8.2, -50.0, -12.5, -50.0, -8.9, -9.2, -10.0, -9.4, -7.9, -50.0, -14.3, -19.9, -11.4, -16.2, -19.2, -15.8, -15.9],
|
|
279
|
+
[-6.3, -7.4, -8.0, -6.0, 2.8, -0.7, 0.9, 0.3, -7.5, -4.4, -8.4, -3.6, -3.0, -7.7, -3.7, -6.2, -5.3, -10.0, -7.2, -8.9, -0.7, -3.2, -1.8, -2.4, -9.9, -11.7, -9.6, -9.9, -6.3, -9.7, -8.0, -8.4, -3.0, -7.7, -4.5, -6.9, 11.3, 8.2, 9.4, 9.1, -1.0, -3.3, -1.8, -2.4, 1.5, -2.1, -0.4, -1.1, -50.0, -14.5, -50.0, -12.9, 2.8, -0.0, 1.4, 0.7, -50.0, -8.7, -14.1, -7.5, -5.2, -12.5, -6.5, -10.7],
|
|
280
|
+
[-9.9, -5.0, -10.0, -6.5, -0.7, 2.6, -0.2, 0.1, -10.3, -1.8, -9.9, -3.8, -6.4, -4.7, -5.8, -6.7, -8.2, -8.3, -8.0, -10.2, -3.9, -1.0, -2.7, -2.9, -11.7, -8.8, -11.0, -10.1, -9.5, -7.3, -9.4, -8.7, -7.0, -5.2, -6.7, -7.5, 8.2, 11.6, 8.8, 9.1, -3.7, -0.9, -3.1, -3.0, -2.0, 1.2, -2.3, -1.3, -50.0, -12.1, -50.0, -12.6, 0.1, 2.5, 0.7, 0.6, -50.0, -6.0, -14.8, -7.5, -8.6, -9.4, -8.5, -11.2],
|
|
281
|
+
[-7.5, -6.2, -7.2, -6.2, 0.9, 0.2, 2.5, 0.2, -8.3, -3.5, -7.1, -3.7, -4.1, -6.3, -3.1, -6.3, -5.7, -8.9, -5.6, -8.4, -2.3, -2.2, 0.7, -2.7, -9.8, -8.9, -7.1, -9.3, -7.5, -8.2, -6.2, -7.9, -4.3, -6.2, -2.7, -6.8, 9.4, 8.8, 12.1, 8.8, -2.1, -2.0, 0.1, -2.4, 0.0, -1.1, 1.3, -0.8, -50.0, -11.9, -50.0, -12.6, 1.2, 0.7, 3.5, 0.8, -50.0, -7.1, -12.4, -7.1, -7.1, -10.6, -5.0, -10.6],
|
|
282
|
+
[-9.0, -6.5, -10.0, -4.8, 0.1, -0.1, -0.3, 2.4, -9.9, -3.5, -10.6, -2.0, -5.4, -6.6, -5.6, -4.4, -7.6, -9.9, -8.5, -8.2, -3.0, -2.8, -3.0, -0.9, -12.8, -11.8, -10.7, -9.3, -8.8, -9.2, -9.2, -7.1, -6.2, -7.3, -6.7, -4.9, 9.1, 9.1, 8.8, 11.2, -3.1, -3.0, -3.3, -1.0, -1.1, -1.4, -2.0, 1.2, -50.0, -12.8, -50.0, -10.9, 0.8, 0.5, 0.7, 2.3, -50.0, -7.5, -16.5, -5.9, -7.8, -11.1, -7.8, -9.0],
|
|
283
|
+
[-7.1, -5.6, -9.1, -5.1, -5.9, -8.0, -6.9, -7.4, -1.9, -1.6, -4.7, -1.4, -9.6, -14.6, -10.4, -13.0, -6.7, -10.8, -9.4, -9.9, -9.1, -10.5, -9.1, -10.4, -5.9, -9.3, -7.9, -8.1, -12.7, -15.0, -15.1, -14.3, -2.2, -5.4, -5.0, -5.4, -1.0, -3.7, -2.1, -3.1, 12.8, 9.6, 11.1, 10.1, -4.8, -9.4, -8.1, -8.6, -50.0, -18.3, -50.0, -15.4, -5.9, -7.5, -6.6, -7.1, -50.0, -9.5, -11.7, -8.4, -12.5, -17.3, -13.2, -15.4],
|
|
284
|
+
[-10.2, -1.6, -10.2, -3.2, -7.3, -4.6, -6.5, -6.2, -6.7, 3.0, -6.8, 0.8, -11.9, -10.8, -11.5, -12.2, -9.6, -7.1, -9.7, -8.4, -9.8, -8.1, -8.2, -9.7, -9.4, -5.0, -8.0, -7.2, -15.2, -12.8, -14.9, -13.8, -6.6, -1.7, -6.8, -4.2, -3.3, -0.9, -2.0, -3.0, 9.6, 12.8, 9.7, 10.5, -8.5, -5.6, -9.3, -7.8, -50.0, -12.7, -50.0, -13.8, -6.8, -5.1, -5.3, -6.5, -50.0, -4.1, -12.8, -5.8, -14.4, -14.1, -13.6, -14.8],
|
|
285
|
+
[-8.2, -4.7, -7.1, -5.0, -6.5, -7.7, -5.5, -6.9, -4.1, -0.8, -1.2, -0.9, -10.5, -12.8, -8.2, -13.0, -7.5, -10.0, -7.2, -9.7, -9.2, -9.4, -7.3, -10.2, -6.5, -8.0, -4.3, -8.0, -13.1, -14.1, -12.2, -13.8, -3.7, -5.4, -2.5, -5.4, -1.8, -3.1, 0.1, -3.3, 11.1, 9.7, 12.9, 9.8, -5.5, -8.1, -5.4, -7.8, -50.0, -16.4, -50.0, -14.8, -5.9, -7.1, -4.7, -7.2, -50.0, -8.4, -6.4, -8.1, -12.1, -16.2, -10.3, -15.8],
|
|
286
|
+
[-9.2, -3.0, -9.9, -1.2, -6.5, -6.1, -6.8, -4.4, -6.4, 0.9, -7.0, 3.0, -11.8, -13.0, -11.1, -10.4, -9.3, -9.2, -9.8, -6.4, -9.5, -9.5, -9.4, -8.0, -8.1, -8.2, -9.4, -5.2, -14.2, -14.9, -14.9, -12.3, -5.7, -3.7, -6.7, -1.3, -2.4, -3.0, -2.4, -1.0, 10.1, 10.5, 9.8, 13.1, -7.2, -8.0, -8.4, -5.0, -50.0, -14.7, -50.0, -11.4, -6.3, -6.7, -5.8, -5.0, -50.0, -6.1, -13.4, -3.6, -13.0, -16.0, -13.7, -13.3],
|
|
287
|
+
[-8.2, -10.8, -10.1, -9.8, -0.4, -3.6, -1.7, -2.9, -7.9, -8.4, -9.8, -8.2, 6.2, 2.3, 0.6, 2.9, -7.1, -11.6, -9.2, -11.1, -5.6, -8.3, -7.2, -8.4, -10.7, -13.6, -11.4, -12.0, 0.0, -2.8, -1.8, -2.4, -6.0, -11.6, -7.5, -10.8, 1.5, -2.0, 0.0, -1.1, -4.8, -8.5, -5.5, -7.2, 11.9, 8.6, 10.0, 9.0, -50.0, -14.2, -50.0, -12.8, -4.1, -7.4, -5.7, -6.5, -50.0, -11.0, -14.3, -9.9, 1.4, -7.9, -0.7, -6.8],
|
|
288
|
+
[-12.5, -8.7, -13.0, -9.9, -3.9, -1.0, -3.4, -2.9, -12.5, -6.3, -11.6, -8.1, 3.3, 6.0, -1.6, 3.8, -10.5, -10.1, -11.1, -11.1, -9.0, -6.9, -8.2, -9.1, -14.0, -11.4, -12.3, -12.1, -3.1, 0.2, -3.2, -2.2, -10.4, -9.1, -10.4, -11.5, -2.1, 1.2, -1.1, -1.4, -9.4, -5.6, -8.1, -8.0, 8.6, 12.4, 8.6, 9.5, -50.0, -10.4, -50.0, -11.6, -7.2, -5.7, -7.5, -7.4, -50.0, -8.6, -15.7, -9.7, -3.0, -3.7, -3.2, -5.9],
|
|
289
|
+
[-11.1, -11.9, -10.6, -11.3, -2.6, -4.1, -1.7, -3.5, -11.4, -9.6, -9.6, -9.2, 3.7, 2.5, 1.6, 2.5, -9.6, -12.3, -9.5, -11.8, -8.0, -9.4, -7.2, -9.3, -13.3, -12.8, -10.9, -12.6, -1.8, -2.9, -0.8, -2.9, -8.6, -13.0, -7.4, -12.4, -0.4, -2.3, 1.3, -2.0, -8.1, -9.3, -5.4, -8.4, 10.0, 8.6, 11.4, 8.9, -50.0, -13.7, -50.0, -13.2, -6.1, -8.1, -5.5, -7.5, -50.0, -11.3, -12.7, -10.1, -1.6, -7.8, -0.3, -7.2],
|
|
290
|
+
[-11.4, -10.0, -12.7, -8.2, -3.1, -3.1, -2.8, -0.9, -11.7, -7.3, -12.1, -5.8, 3.6, 3.6, -1.1, 5.8, -9.4, -11.9, -10.7, -10.0, -8.5, -8.8, -8.2, -6.5, -13.9, -13.0, -12.9, -10.9, -3.1, -2.3, -3.2, -0.2, -9.5, -10.8, -10.2, -8.2, -1.1, -1.3, -0.8, 1.2, -8.6, -7.8, -7.8, -5.0, 9.0, 9.5, 8.9, 12.0, -50.0, -13.0, -50.0, -10.3, -6.2, -7.0, -7.1, -5.4, -50.0, -9.3, -14.0, -8.2, -2.4, -6.3, -2.4, -3.9],
|
|
291
|
+
[-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 33.3, -50.0, 30.6, -50.0, -50.0, -50.0, -50.0, -50.0, 29.2, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0],
|
|
292
|
+
[-14.8, -6.2, -14.9, -7.6, -14.6, -11.6, -13.0, -12.2, -14.0, -9.0, -14.1, -10.1, -13.6, -11.2, -12.4, -12.5, -8.1, 2.2, -8.7, 0.4, -15.3, -11.3, -13.2, -13.3, -11.9, -7.2, -11.8, -7.9, -10.7, -7.4, -10.8, -8.9, -15.5, -10.3, -15.5, -12.5, -14.5, -12.1, -11.9, -12.8, -18.3, -12.7, -16.4, -14.7, -14.2, -10.4, -13.7, -13.0, -50.0, 15.1, -50.0, 13.3, -9.9, -5.8, -8.9, -7.6, -50.0, -1.5, -7.8, -3.0, -8.1, 3.6, -9.4, 2.0],
|
|
293
|
+
[-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 30.6, -50.0, 35.2, -50.0, -50.0, -50.0, -50.0, -50.0, 28.5, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0],
|
|
294
|
+
[-13.8, -7.5, -14.4, -5.1, -12.6, -11.6, -11.5, -10.1, -13.2, -9.7, -12.7, -7.4, -11.9, -11.9, -11.5, -10.2, -7.2, 0.9, -8.6, 2.6, -14.1, -12.8, -13.3, -11.0, -9.7, -8.4, -11.2, -5.3, -9.3, -8.7, -9.9, -7.1, -13.9, -11.2, -14.2, -8.9, -12.9, -12.6, -12.6, -10.9, -15.4, -13.8, -14.8, -11.4, -12.8, -11.6, -13.2, -10.3, -50.0, 13.3, -50.0, 15.2, -8.6, -7.0, -8.4, -4.8, -50.0, -3.0, -7.1, -0.1, -7.3, 2.3, -8.7, 3.9],
|
|
295
|
+
[-7.3, -6.3, -8.9, -5.5, 2.9, 0.2, 1.5, 1.2, -8.5, -2.3, -10.0, -1.7, -5.6, -10.5, -5.5, -9.6, -4.3, -7.9, -6.1, -7.2, 2.3, -0.6, 0.5, -0.0, -8.9, -11.0, -9.4, -9.3, -4.6, -9.4, -7.3, -8.1, -7.8, -9.8, -8.9, -9.2, 2.8, 0.1, 1.2, 0.8, -5.9, -6.8, -5.9, -6.3, -4.1, -7.2, -6.1, -6.2, -50.0, -9.9, -50.0, -8.6, 12.5, 9.4, 11.0, 9.8, -50.0, -4.8, -8.7, -3.5, -0.0, -8.6, -2.1, -7.0],
|
|
296
|
+
[-10.1, -4.3, -10.8, -5.8, 0.1, 2.3, 0.7, 0.6, -10.4, -0.2, -10.8, -2.0, -8.8, -9.2, -8.0, -9.7, -6.8, -5.9, -7.5, -7.0, -1.4, 2.2, -0.9, -0.4, -10.8, -7.7, -9.8, -8.8, -8.9, -7.3, -9.6, -9.1, -10.5, -8.3, -10.2, -10.0, -0.0, 2.5, 0.7, 0.5, -7.5, -5.1, -7.1, -6.7, -7.4, -5.7, -8.1, -7.0, -50.0, -5.8, -50.0, -7.0, 9.4, 12.7, 10.1, 10.0, -50.0, -1.5, -11.3, -3.3, -5.4, -4.2, -5.6, -6.8],
|
|
297
|
+
[-8.4, -6.2, -8.9, -5.9, 1.8, 0.4, 2.7, 1.2, -9.1, -1.2, -8.8, -1.5, -7.2, -10.5, -4.9, -9.6, -5.7, -7.4, -5.5, -7.4, 0.3, -0.3, 1.8, -0.4, -9.0, -8.7, -7.3, -8.9, -5.9, -9.4, -6.4, -8.7, -8.7, -9.1, -8.5, -9.4, 1.4, 0.7, 3.5, 0.7, -6.6, -5.3, -4.7, -5.8, -5.7, -7.5, -5.5, -7.1, -50.0, -8.9, -50.0, -8.4, 11.0, 10.1, 13.2, 10.2, -50.0, -4.2, -6.1, -3.6, -3.5, -8.4, -1.2, -6.8],
|
|
298
|
+
[-9.1, -5.4, -10.4, -4.2, 1.0, 0.5, 0.6, 2.4, -9.6, -1.5, -10.5, -0.5, -8.9, -10.5, -7.2, -8.3, -6.3, -6.9, -7.7, -5.1, -0.5, 0.1, -0.6, 2.3, -11.1, -10.2, -10.5, -7.0, -8.3, -9.4, -9.4, -6.6, -9.6, -9.7, -10.0, -7.9, 0.7, 0.6, 0.8, 2.3, -7.1, -6.5, -7.2, -5.0, -6.5, -7.4, -7.5, -5.4, -50.0, -7.6, -50.0, -4.8, 9.8, 10.0, 10.2, 12.1, -50.0, -3.1, -11.4, -0.7, -4.6, -6.6, -4.9, -3.9],
|
|
299
|
+
[-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 29.2, -50.0, 28.5, -50.0, -50.0, -50.0, -50.0, -50.0, 33.3, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0],
|
|
300
|
+
[-13.0, -7.0, -13.1, -8.3, -9.2, -6.5, -8.9, -7.6, -9.8, -0.7, -9.2, -2.1, -12.4, -10.3, -12.4, -11.6, -9.5, -4.6, -10.4, -5.7, -13.6, -10.1, -11.4, -10.9, -6.5, -1.5, -6.2, -3.6, -12.8, -8.0, -12.3, -9.7, -16.5, -12.7, -15.6, -14.3, -8.7, -6.0, -7.1, -7.5, -9.5, -4.1, -8.4, -6.1, -11.0, -8.6, -11.3, -9.3, -50.0, -1.5, -50.0, -3.0, -4.8, -1.5, -4.2, -3.1, -50.0, 16.4, -5.1, 14.2, -10.1, -4.3, -10.0, -5.4],
|
|
301
|
+
[-13.5, -16.3, -11.8, -15.5, -13.6, -15.3, -12.1, -16.1, -7.7, -13.3, -4.2, -12.6, -14.1, -16.2, -10.3, -15.4, -9.6, -11.6, -7.7, -9.8, -14.3, -17.5, -11.1, -17.2, -5.3, -7.1, -2.2, -7.1, -9.6, -11.9, -8.7, -11.4, -17.1, -20.6, -15.3, -19.9, -14.1, -14.8, -12.4, -16.5, -11.7, -12.8, -6.4, -13.4, -14.3, -15.7, -12.7, -14.0, -50.0, -7.8, -50.0, -7.1, -8.7, -11.3, -6.1, -11.4, -50.0, -5.1, 18.6, -4.8, -8.6, -8.1, -4.5, -7.3],
|
|
302
|
+
[-12.4, -8.2, -13.0, -5.9, -7.7, -7.8, -7.4, -5.8, -8.8, -2.0, -9.3, -0.4, -11.6, -11.3, -11.6, -9.4, -8.9, -5.6, -10.0, -3.2, -11.5, -11.1, -10.5, -8.3, -6.3, -4.9, -6.7, -1.2, -10.6, -9.7, -11.3, -8.0, -14.8, -13.1, -15.5, -11.4, -7.5, -7.5, -7.1, -5.9, -8.4, -5.8, -8.1, -3.6, -9.9, -9.7, -10.1, -8.2, -50.0, -3.0, -50.0, -0.1, -3.5, -3.3, -3.6, -0.7, -50.0, 14.2, -4.8, 16.4, -8.9, -5.8, -8.9, -3.4],
|
|
303
|
+
[-10.7, -13.2, -12.4, -11.6, -4.8, -8.4, -6.1, -7.2, -10.3, -11.8, -11.0, -11.6, 2.8, -1.7, 0.7, -1.1, -6.2, -9.7, -7.3, -8.4, -5.3, -8.6, -6.1, -8.3, -10.5, -11.2, -9.8, -10.2, 9.5, 6.5, 7.6, 6.8, -12.1, -16.0, -13.0, -16.2, -5.2, -8.6, -7.1, -7.8, -12.5, -14.4, -12.1, -13.0, 1.4, -3.0, -1.6, -2.4, -50.0, -8.1, -50.0, -7.3, -0.0, -5.4, -3.5, -4.6, -50.0, -10.1, -8.6, -8.9, 13.2, -0.9, 9.7, -0.3],
|
|
304
|
+
[-18.1, -12.3, -19.4, -14.2, -12.2, -9.5, -11.5, -10.8, -17.9, -11.9, -18.2, -13.9, -6.4, -3.7, -6.8, -5.4, -12.8, -5.9, -13.6, -7.4, -13.7, -9.9, -12.9, -12.7, -16.2, -11.6, -15.2, -12.7, -3.2, 0.5, -3.3, -1.8, -18.9, -16.6, -18.8, -19.2, -12.5, -9.4, -10.6, -11.1, -17.3, -14.1, -16.2, -16.0, -7.9, -3.7, -7.8, -6.3, -50.0, 3.6, -50.0, 2.3, -8.6, -4.2, -8.4, -6.6, -50.0, -4.3, -8.1, -5.8, -0.9, 14.2, -1.8, 11.6],
|
|
305
|
+
[-11.8, -13.1, -11.5, -12.0, -6.2, -8.3, -5.4, -7.4, -11.8, -12.3, -11.1, -11.4, 0.5, -2.5, 2.4, -1.6, -6.8, -9.9, -6.4, -8.9, -6.1, -8.6, -5.0, -7.8, -10.4, -11.6, -8.5, -9.9, 8.2, 6.4, 8.7, 6.9, -12.4, -17.0, -12.6, -15.8, -6.5, -8.5, -5.0, -7.8, -13.2, -13.6, -10.3, -13.7, -0.7, -3.2, -0.3, -2.4, -50.0, -9.4, -50.0, -8.7, -2.1, -5.6, -1.2, -4.9, -50.0, -10.0, -4.5, -8.9, 9.7, -1.8, 11.3, -0.9],
|
|
306
|
+
[-17.2, -13.3, -17.8, -11.6, -11.0, -11.1, -10.4, -9.0, -16.0, -12.7, -16.1, -11.1, -5.2, -5.4, -6.0, -3.3, -11.8, -7.3, -13.3, -5.9, -12.7, -11.9, -11.9, -9.3, -15.2, -15.0, -14.9, -11.0, -2.8, -1.8, -2.9, 0.4, -17.4, -18.4, -18.3, -15.9, -10.7, -11.2, -10.6, -9.0, -15.4, -14.8, -15.8, -13.3, -6.8, -5.9, -7.2, -3.9, -50.0, 2.0, -50.0, 3.9, -7.0, -6.8, -6.8, -3.9, -50.0, -5.4, -7.3, -3.4, -0.3, 11.6, -0.9, 14.1]];
|
|
310
307
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
for(let i: number = 0; i<= this.len1; i++){
|
|
316
|
-
this.dpGrid[i][0].value = -i*this.gap;
|
|
317
|
-
this.dpGrid[i][0].parentI = i-1;
|
|
318
|
-
this.dpGrid[i][0].parentJ = 0;
|
|
319
|
-
}
|
|
308
|
+
private TRANS:Array<Array<number>> = [[5, 0, 0, 4],
|
|
309
|
+
[0, 5, 4, 0],
|
|
310
|
+
[0, 4, 5, 0],
|
|
311
|
+
[4, 0, 0, 5]];
|
|
320
312
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
313
|
+
private CONBLO: {[id:string]:number} = {'A': 0, 'R': 1, 'N': 2, 'D': 3, 'C': 4, 'Q': 5, 'E': 6, 'G': 7, 'H': 8, 'I': 9, 'L': 10, 'K': 11, 'M': 12, 'F': 13, 'P': 14, 'S': 15, 'T': 16, 'W': 17, 'Y': 18, 'V': 19, 'B': 20, 'Z': 21, 'X': 22, '*': 23};
|
|
314
|
+
private CONNUCL: {[id:string]:number} = {'A': 0, 'T': 1, 'C': 2, 'G': 3};
|
|
315
|
+
private CONSCHN: {[id:string]:number} = {'AAA': 0, 'AAC': 1, 'AAG': 2, 'AAT': 3, 'ACA': 4, 'ACC': 5, 'ACG': 6, 'ACT': 7, 'AGA': 8, 'AGC': 9, 'AGG': 10, 'AGT': 11, 'ATA': 12, 'ATC': 13, 'ATG': 14, 'ATT': 15, 'CAA': 16, 'CAC': 17, 'CAG': 18, 'CAT': 19, 'CCA': 20, 'CCC': 21, 'CCG': 22, 'CCT': 23, 'CGA': 24, 'CGC': 25, 'CGG': 26, 'CGT': 27, 'CTA': 28, 'CTC': 29, 'CTG': 30, 'CTT': 31, 'GAA': 32, 'GAC': 33, 'GAG': 34, 'GAT': 35, 'GCA': 36, 'GCC': 37, 'GCG': 38, 'GCT': 39, 'GGA': 40, 'GGC': 41, 'GGG': 42, 'GGT': 43, 'GTA': 44, 'GTC': 45, 'GTG': 46, 'GTT': 47, 'TAA': 48, 'TAC': 49, 'TAG': 50, 'TAT': 51, 'TCA': 52, 'TCC': 53, 'TCG': 54, 'TCT': 55, 'TGA': 56, 'TGC': 57, 'TGG': 58, 'TGT': 59, 'TTA': 60, 'TTC': 61, 'TTG': 62, 'TTT': 63};
|
|
316
|
+
private fillNeedleman() {
|
|
317
|
+
for (let i: number = 0; i<= this.len1; i++) {
|
|
318
|
+
this.dpGrid[i][0].value = -i*this.gap;
|
|
319
|
+
this.dpGrid[i][0].parentI = i-1;
|
|
320
|
+
this.dpGrid[i][0].parentJ = 0;
|
|
326
321
|
}
|
|
327
322
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
this.dpGrid[i][j].parentJ = j-1;
|
|
333
|
-
}else if(this.dpGrid[i][j].value == this.dpGrid[i-1][j].value-this.gap){
|
|
334
|
-
this.dpGrid[i][j].parentI = i-1;
|
|
335
|
-
this.dpGrid[i][j].parentJ = j;
|
|
336
|
-
}else{
|
|
337
|
-
this.dpGrid[i][j].parentI = i;
|
|
338
|
-
this.dpGrid[i][j].parentJ = j-1;
|
|
339
|
-
}
|
|
323
|
+
for (let i: number = 1; i<= this.len2; i++) {
|
|
324
|
+
this.dpGrid[0][i].value = -i*this.gap;
|
|
325
|
+
this.dpGrid[0][i].parentI = 0;
|
|
326
|
+
this.dpGrid[0][i].parentJ = i-1;
|
|
340
327
|
}
|
|
328
|
+
}
|
|
341
329
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
break;
|
|
354
|
-
case 'BLOSUM62':
|
|
355
|
-
this.alignGrid = this.BLOSUM62;
|
|
356
|
-
this.connections = this.CONBLO;
|
|
357
|
-
this.step = 1;
|
|
358
|
-
break;
|
|
359
|
-
case 'BLOSUM80':
|
|
360
|
-
this.alignGrid = this.BLOSUM80;
|
|
361
|
-
this.connections = this.CONBLO;
|
|
362
|
-
this.step = 1;
|
|
363
|
-
break;
|
|
364
|
-
case 'BLOSUM90':
|
|
365
|
-
this.alignGrid = this.BLOSUM90;
|
|
366
|
-
this.connections = this.CONBLO;
|
|
367
|
-
this.step = 1;
|
|
368
|
-
break;
|
|
369
|
-
case 'PAM30':
|
|
370
|
-
this.alignGrid = this.PAM30;
|
|
371
|
-
this.connections = this.CONBLO;
|
|
372
|
-
this.step = 1;
|
|
373
|
-
break;
|
|
374
|
-
case 'PAM70':
|
|
375
|
-
this.alignGrid = this.PAM70;
|
|
376
|
-
this.connections = this.CONBLO;
|
|
377
|
-
this.step = 1;
|
|
378
|
-
break;
|
|
379
|
-
case 'PAM250':
|
|
380
|
-
this.alignGrid = this.PAM250;
|
|
381
|
-
this.connections = this.CONBLO;
|
|
382
|
-
this.step = 1;
|
|
383
|
-
break;
|
|
384
|
-
case 'NUCLEOTIDES':
|
|
385
|
-
this.alignGrid = this.NUCLEOTIDES;
|
|
386
|
-
this.connections = this.CONNUCL;
|
|
387
|
-
this.step = 1;
|
|
388
|
-
break;
|
|
389
|
-
case 'TRANS':
|
|
390
|
-
this.alignGrid = this.TRANS;
|
|
391
|
-
this.connections = this.CONNUCL;
|
|
392
|
-
this.step = 1;
|
|
393
|
-
break;
|
|
394
|
-
case 'SCHNEIDER':
|
|
395
|
-
this.alignGrid = this.SCHNEIDER;
|
|
396
|
-
this.connections = this.CONSCHN;
|
|
397
|
-
this.step = 3;
|
|
398
|
-
break;
|
|
399
|
-
|
|
400
|
-
}
|
|
401
|
-
this.fillScores();
|
|
402
|
-
|
|
330
|
+
private fillOne(i: number, j: number) {
|
|
331
|
+
this.dpGrid[i][j].value = Math.max(this.dpGrid[i-1][j-1].value+this.scores[i-1][j-1], Math.max(this.dpGrid[i-1][j].value-this.gap, this.dpGrid[i][j-1].value-this.gap));
|
|
332
|
+
if (this.dpGrid[i][j].value == this.dpGrid[i-1][j-1].value+this.scores[i-1][j-1]) {
|
|
333
|
+
this.dpGrid[i][j].parentI = i-1;
|
|
334
|
+
this.dpGrid[i][j].parentJ = j-1;
|
|
335
|
+
} else if (this.dpGrid[i][j].value == this.dpGrid[i-1][j].value-this.gap) {
|
|
336
|
+
this.dpGrid[i][j].parentI = i-1;
|
|
337
|
+
this.dpGrid[i][j].parentJ = j;
|
|
338
|
+
} else {
|
|
339
|
+
this.dpGrid[i][j].parentI = i;
|
|
340
|
+
this.dpGrid[i][j].parentJ = j-1;
|
|
403
341
|
}
|
|
342
|
+
}
|
|
404
343
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
344
|
+
private gridFromName(path: string) {
|
|
345
|
+
switch (path) {
|
|
346
|
+
case 'BLOSUM45':
|
|
347
|
+
this.alignGrid = this.BLOSUM45;
|
|
348
|
+
this.connections = this.CONBLO;
|
|
349
|
+
this.step = 1;
|
|
350
|
+
break;
|
|
351
|
+
case 'BLOSUM50':
|
|
352
|
+
this.alignGrid = this.BLOSUM50;
|
|
353
|
+
this.connections = this.CONBLO;
|
|
354
|
+
this.step = 1;
|
|
355
|
+
break;
|
|
356
|
+
case 'BLOSUM62':
|
|
357
|
+
this.alignGrid = this.BLOSUM62;
|
|
358
|
+
this.connections = this.CONBLO;
|
|
359
|
+
this.step = 1;
|
|
360
|
+
break;
|
|
361
|
+
case 'BLOSUM80':
|
|
362
|
+
this.alignGrid = this.BLOSUM80;
|
|
363
|
+
this.connections = this.CONBLO;
|
|
364
|
+
this.step = 1;
|
|
365
|
+
break;
|
|
366
|
+
case 'BLOSUM90':
|
|
367
|
+
this.alignGrid = this.BLOSUM90;
|
|
368
|
+
this.connections = this.CONBLO;
|
|
369
|
+
this.step = 1;
|
|
370
|
+
break;
|
|
371
|
+
case 'PAM30':
|
|
372
|
+
this.alignGrid = this.PAM30;
|
|
373
|
+
this.connections = this.CONBLO;
|
|
374
|
+
this.step = 1;
|
|
375
|
+
break;
|
|
376
|
+
case 'PAM70':
|
|
377
|
+
this.alignGrid = this.PAM70;
|
|
378
|
+
this.connections = this.CONBLO;
|
|
379
|
+
this.step = 1;
|
|
380
|
+
break;
|
|
381
|
+
case 'PAM250':
|
|
382
|
+
this.alignGrid = this.PAM250;
|
|
383
|
+
this.connections = this.CONBLO;
|
|
384
|
+
this.step = 1;
|
|
385
|
+
break;
|
|
386
|
+
case 'NUCLEOTIDES':
|
|
387
|
+
this.alignGrid = this.NUCLEOTIDES;
|
|
388
|
+
this.connections = this.CONNUCL;
|
|
389
|
+
this.step = 1;
|
|
390
|
+
break;
|
|
391
|
+
case 'TRANS':
|
|
392
|
+
this.alignGrid = this.TRANS;
|
|
393
|
+
this.connections = this.CONNUCL;
|
|
394
|
+
this.step = 1;
|
|
395
|
+
break;
|
|
396
|
+
case 'SCHNEIDER':
|
|
397
|
+
this.alignGrid = this.SCHNEIDER;
|
|
398
|
+
this.connections = this.CONSCHN;
|
|
399
|
+
this.step = 3;
|
|
400
|
+
break;
|
|
431
401
|
}
|
|
402
|
+
this.fillScores();
|
|
403
|
+
}
|
|
432
404
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
405
|
+
private constructResult(i: number, j: number): Aligned {
|
|
406
|
+
let res1:string = ''; let res2:string =''; let gapS:string ='';
|
|
407
|
+
const total: number = this.dpGrid[i][j].value;
|
|
408
|
+
for (let i:number = 0; i< this.step; i++)
|
|
409
|
+
gapS+='|';
|
|
438
410
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
411
|
+
while (i>0 || j>0) {
|
|
412
|
+
if (this.dpGrid[i][j].parentI == i) {
|
|
413
|
+
res1 = gapS+res1;
|
|
414
|
+
res2 = this.seq2.substr((j-1)*this.step, this.step)+res2;
|
|
415
|
+
} else if (this.dpGrid[i][j].parentJ == j) {
|
|
416
|
+
res2 = gapS+res2;
|
|
417
|
+
res1 = this.seq1.substr((i-1)*this.step, this.step)+res1;
|
|
418
|
+
} else {
|
|
419
|
+
if (i-1>=0)res1 = this.seq1.substr((i-1)*this.step, this.step)+res1;
|
|
420
|
+
else res1 = gapS+res1;
|
|
421
|
+
if (j-1>=0)res2 = this.seq2.substr((j-1)*this.step, this.step)+res2;
|
|
422
|
+
else res2 = gapS+res2;
|
|
423
|
+
}
|
|
424
|
+
const tempI: number = i;
|
|
425
|
+
i=this.dpGrid[i][j].parentI;
|
|
426
|
+
j=this.dpGrid[tempI][j].parentJ;
|
|
442
427
|
}
|
|
428
|
+
return new Aligned(res1, res2, total);
|
|
429
|
+
}
|
|
443
430
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
431
|
+
private fillScores() {
|
|
432
|
+
this.scores = [];
|
|
433
|
+
for (let i: number = 0; i < this.len1; i++) {
|
|
434
|
+
this.scores.push([]);
|
|
435
|
+
for (let j:number = 0; j < this.len2; j++) {
|
|
436
|
+
this.scores[i].push(
|
|
437
|
+
this.alignGrid[
|
|
438
|
+
this.connections[this.seq1.substr(i*this.step, this.step)]
|
|
439
|
+
][this.connections[this.seq2.substr(j*this.step, this.step)]]);
|
|
440
|
+
}
|
|
448
441
|
}
|
|
442
|
+
}
|
|
449
443
|
|
|
444
|
+
private typeRec():string {
|
|
445
|
+
if (/[ATGC]*/.test(this.seq1) && /[ATGC]*/.test(this.seq2)) return 'NUCLEOTIDES';
|
|
446
|
+
if (/[ARNDCQEGHILKMFPSTWYVBZX*]*/.test(this.seq1) &&
|
|
447
|
+
/[ARNDCQEGHILKMFPSTWYVBZX*]*/.test(this.seq2)) return 'BLOSUM62';
|
|
448
|
+
throw Error('Can\'t recognize sequence type');
|
|
449
|
+
}
|
|
450
450
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
}
|
|
465
|
-
return this.constructResult(this.len1,this.len2);
|
|
451
|
+
|
|
452
|
+
public needlemanWunch():Aligned {
|
|
453
|
+
this.dpGrid=[];
|
|
454
|
+
for (let i:number = 0; i<this.len1+1; i++) {
|
|
455
|
+
const row : Cell[] =[];
|
|
456
|
+
for (let j: number = 0; j<this.len2+1; j++)
|
|
457
|
+
row.push(new Cell());
|
|
458
|
+
this.dpGrid.push(row);
|
|
459
|
+
}
|
|
460
|
+
this.fillNeedleman();
|
|
461
|
+
for (let i:number = 1; i<= this.len1; i++) {
|
|
462
|
+
for (let j: number =1; j<=this.len2; j++)
|
|
463
|
+
this.fillOne(i, j);
|
|
466
464
|
}
|
|
465
|
+
return this.constructResult(this.len1, this.len2);
|
|
466
|
+
}
|
|
467
467
|
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
468
|
+
public smithWaterman():Aligned {
|
|
469
|
+
this.dpGrid=[];
|
|
470
|
+
for (let i:number = 0; i<this.len1+1; i++) {
|
|
471
|
+
const row : Cell[] =[];
|
|
472
|
+
for (let j: number = 0; j<this.len2+1; j++)
|
|
473
|
+
row.push(new Cell());
|
|
474
|
+
this.dpGrid.push(row);
|
|
475
|
+
}
|
|
476
|
+
let bestVal:number=0;
|
|
477
|
+
let bestI:number=0; let bestJ:number=0;
|
|
478
|
+
for (let i:number = 1; i<= this.len1; i++) {
|
|
479
|
+
for (let j:number =1; j<=this.len2; j++) {
|
|
480
|
+
this.fillOne(i, j);
|
|
481
|
+
if (this.dpGrid[i][j].value <= 0) {
|
|
482
|
+
this.dpGrid[i][j].value = 0;
|
|
483
|
+
this.dpGrid[i][j].parentI = 0;
|
|
484
|
+
this.dpGrid[i][j].parentJ = 0;
|
|
485
|
+
} else if (this.dpGrid[this.dpGrid[i][j].parentI][this.dpGrid[i][j].parentJ].value == 0) {
|
|
486
|
+
this.dpGrid[i][j].parentI = 0;
|
|
487
|
+
this.dpGrid[i][j].parentJ = 0;
|
|
475
488
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
this.fillOne(i,j);
|
|
481
|
-
if(this.dpGrid[i][j].value <= 0){
|
|
482
|
-
this.dpGrid[i][j].value = 0;
|
|
483
|
-
this.dpGrid[i][j].parentI = 0;
|
|
484
|
-
this.dpGrid[i][j].parentJ = 0;
|
|
485
|
-
}
|
|
486
|
-
else if(this.dpGrid[this.dpGrid[i][j].parentI][this.dpGrid[i][j].parentJ].value == 0){
|
|
487
|
-
this.dpGrid[i][j].parentI = 0;
|
|
488
|
-
this.dpGrid[i][j].parentJ = 0;
|
|
489
|
-
}
|
|
490
|
-
if(this.dpGrid[i][j].value > bestVal){
|
|
491
|
-
bestVal = this.dpGrid[i][j].value;
|
|
492
|
-
bestI = i;
|
|
493
|
-
bestJ = j;
|
|
494
|
-
}
|
|
495
|
-
}
|
|
489
|
+
if (this.dpGrid[i][j].value > bestVal) {
|
|
490
|
+
bestVal = this.dpGrid[i][j].value;
|
|
491
|
+
bestI = i;
|
|
492
|
+
bestJ = j;
|
|
496
493
|
}
|
|
497
|
-
|
|
494
|
+
}
|
|
498
495
|
}
|
|
496
|
+
return this.constructResult(bestI, bestJ);
|
|
497
|
+
}
|
|
499
498
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
499
|
+
public setSequences( seq1_: string, seq2_: string) {
|
|
500
|
+
this.seq1 = seq1_;
|
|
501
|
+
this.seq2 = seq2_;
|
|
502
|
+
this.len1 = this.seq1.length/this.step;
|
|
503
|
+
this.len2 = this.seq2.length/this.step;
|
|
504
|
+
this.fillScores();
|
|
505
|
+
}
|
|
507
506
|
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
507
|
+
public setGap( gap_:number) {
|
|
508
|
+
this.gap = gap_;
|
|
509
|
+
}
|
|
511
510
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
}
|
|
516
|
-
this.gridFromName(alignGrid_);
|
|
517
|
-
}
|
|
511
|
+
public setMethod( alignGrid_ : string= '') {
|
|
512
|
+
if (alignGrid_ == 'AUTO')
|
|
513
|
+
alignGrid_ = this.typeRec();
|
|
518
514
|
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
515
|
+
this.gridFromName(alignGrid_);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
public constructor( seq1_:string, seq2_:string, gap_:number, alignGrid_:string = '') {
|
|
519
|
+
this.setMethod(alignGrid_);
|
|
520
|
+
this.setSequences(seq1_, seq2_);
|
|
521
|
+
this.setGap(gap_);
|
|
522
|
+
}
|
|
523
|
+
}
|