JAL-1807 includes ?j2sdebug flag and DebugJS._(msg)
[jalviewjs.git] / bin / jalview / analysis / CodingUtils.js
1 Clazz.declarePackage ("jalview.analysis");
2 c$ = Clazz.declareType (jalview.analysis, "CodingUtils");
3 c$.encodeCodon = Clazz.defineMethod (c$, "encodeCodon", 
4 function (codon) {
5 if (codon == null) {
6 return -1;
7 }return jalview.analysis.CodingUtils.encodeCodon (codon[2]) + (jalview.analysis.CodingUtils.encodeCodon (codon[1]) << 2) + (jalview.analysis.CodingUtils.encodeCodon (codon[0]) << (4));
8 }, "~A");
9 c$.encodeCodon = Clazz.defineMethod (c$, "encodeCodon", 
10 function (c) {
11 var result = -2147483648;
12 switch (c) {
13 case 'A':
14 case 'a':
15 result = 0;
16 break;
17 case 'C':
18 case 'c':
19 result = 1;
20 break;
21 case 'G':
22 case 'g':
23 result = 2;
24 break;
25 case 'T':
26 case 't':
27 case 'U':
28 case 'u':
29 result = 3;
30 break;
31 }
32 return result;
33 }, "~S");
34 c$.decodeCodon = Clazz.defineMethod (c$, "decodeCodon", 
35 function (encoded) {
36 var result =  Clazz.newCharArray (3, '\0');
37 result[2] = jalview.analysis.CodingUtils.decodeNucleotide (encoded & 3);
38 encoded = encoded >>> 2;
39 result[1] = jalview.analysis.CodingUtils.decodeNucleotide (encoded & 3);
40 encoded = encoded >>> 2;
41 result[0] = jalview.analysis.CodingUtils.decodeNucleotide (encoded & 3);
42 return result;
43 }, "~N");
44 c$.decodeNucleotide = Clazz.defineMethod (c$, "decodeNucleotide", 
45 function (i) {
46 var result = '0';
47 switch (i) {
48 case 0:
49 result = 'A';
50 break;
51 case 1:
52 result = 'C';
53 break;
54 case 2:
55 result = 'G';
56 break;
57 case 3:
58 result = 'T';
59 break;
60 }
61 return result;
62 }, "~N");
63 Clazz.defineStatics (c$,
64 "CODON_ENCODING_BITSHIFT", 2);