JAL-1807 test
[jalviewjs.git] / bin / jalview / datamodel / Mapping.js
index fe06fda..a25222e 100644 (file)
-Clazz.declarePackage ("jalview.datamodel");\r
-Clazz.load (["java.util.Iterator"], "jalview.datamodel.Mapping", ["jalview.datamodel.AlignedCodon", "$.IncompleteCodonException", "$.SequenceFeature", "jalview.util.MapList", "java.util.NoSuchElementException", "$.Vector"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-if (!Clazz.isClassDefined ("jalview.datamodel.Mapping.AlignedCodonIterator")) {\r
-jalview.datamodel.Mapping.$Mapping$AlignedCodonIterator$ ();\r
-}\r
-this.map = null;\r
-this.to = null;\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.datamodel, "Mapping");\r
-Clazz.makeConstructor (c$, \r
-function (map) {\r
-this.map = map;\r
-}, "jalview.util.MapList");\r
-Clazz.makeConstructor (c$, \r
-function (to, map) {\r
-this.construct (map);\r
-this.to = to;\r
-}, "jalview.datamodel.SequenceI,jalview.util.MapList");\r
-Clazz.makeConstructor (c$, \r
-function (to, exon, is, i, j) {\r
-this.construct (to,  new jalview.util.MapList (exon, is, i, j));\r
-}, "jalview.datamodel.SequenceI,~A,~A,~N,~N");\r
-Clazz.makeConstructor (c$, \r
-function (map2) {\r
-if (map2 !== this && map2 != null) {\r
-if (map2.map != null) {\r
-this.map =  new jalview.util.MapList (map2.map);\r
-}this.to = map2.to;\r
-}}, "jalview.datamodel.Mapping");\r
-Clazz.defineMethod (c$, "getMap", \r
-function () {\r
-return this.map;\r
-});\r
-Clazz.defineMethod (c$, "setMap", \r
-function (map) {\r
-this.map = map;\r
-}, "jalview.util.MapList");\r
-Clazz.overrideMethod (c$, "equals", \r
-function (o) {\r
-if (o == null || !(Clazz.instanceOf (o, jalview.datamodel.Mapping))) {\r
-return false;\r
-}var other = o;\r
-if (other === this) {\r
-return true;\r
-}if (other.to !== this.to) {\r
-return false;\r
-}if ((this.map != null && other.map == null) || (this.map == null && other.map != null)) {\r
-return false;\r
-}if ((this.map == null && other.map == null) || this.map.equals (other.map)) {\r
-return true;\r
-}return false;\r
-}, "~O");\r
-Clazz.defineMethod (c$, "getPosition", \r
-function (mpos) {\r
-if (this.map != null) {\r
-var mp = this.map.shiftTo (mpos);\r
-if (mp != null) {\r
-return mp[0];\r
-}}return mpos;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getWord", \r
-function (mpos) {\r
-if (this.map != null) {\r
-return this.map.getToWord (mpos);\r
-}return null;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getWidth", \r
-function () {\r
-if (this.map != null) {\r
-return this.map.getFromRatio ();\r
-}return 1;\r
-});\r
-Clazz.defineMethod (c$, "getMappedWidth", \r
-function () {\r
-if (this.map != null) {\r
-return this.map.getToRatio ();\r
-}return 1;\r
-});\r
-Clazz.defineMethod (c$, "getMappedPosition", \r
-function (pos) {\r
-if (this.map != null) {\r
-var mp = this.map.shiftFrom (pos);\r
-if (mp != null) {\r
-return mp[0];\r
-}}return pos;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getMappedWord", \r
-function (pos) {\r
-if (this.map != null) {\r
-var mp = this.map.shiftFrom (pos);\r
-if (mp != null) {\r
-return  Clazz.newIntArray (-1, [mp[0], mp[0] + mp[2] * (this.map.getToRatio () - 1)]);\r
-}}return null;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "locateFeature", \r
-function (f) {\r
-if (true) {\r
-if (this.map != null) {\r
-var frange = this.map.locateInFrom (f.getBegin (), f.getEnd ());\r
-if (frange == null) {\r
-return null;\r
-}var vf =  new Array (Clazz.doubleToInt (frange.length / 2));\r
-for (var i = 0, v = 0; i < frange.length; i += 2, v++) {\r
-vf[v] =  new jalview.datamodel.SequenceFeature (f);\r
-vf[v].setBegin (frange[i]);\r
-vf[v].setEnd (frange[i + 1]);\r
-if (frange.length > 2) {\r
-vf[v].setDescription (f.getDescription () + "\nPart " + (v + 1));\r
-}}\r
-return vf;\r
-}}if (false) {\r
-var word = this.getWord (f.getBegin ());\r
-if (word[0] < word[1]) {\r
-f.setBegin (word[0]);\r
-} else {\r
-f.setBegin (word[1]);\r
-}word = this.getWord (f.getEnd ());\r
-if (word[0] > word[1]) {\r
-f.setEnd (word[0]);\r
-} else {\r
-f.setEnd (word[1]);\r
-}}return  Clazz.newArray (-1, [f]);\r
-}, "jalview.datamodel.SequenceFeature");\r
-Clazz.defineMethod (c$, "locateRange", \r
-function (from, to) {\r
-if (this.map != null) {\r
-if (from <= to) {\r
-from = (this.map.getToLowest () < from) ? from : this.map.getToLowest ();\r
-to = (this.map.getToHighest () > to) ? to : this.map.getToHighest ();\r
-if (from > to) {\r
-return null;\r
-}} else {\r
-from = (this.map.getToHighest () > from) ? from : this.map.getToHighest ();\r
-to = (this.map.getToLowest () < to) ? to : this.map.getToLowest ();\r
-if (from < to) {\r
-return null;\r
-}}return this.map.locateInFrom (from, to);\r
-}return  Clazz.newIntArray (-1, [from, to]);\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "locateMappedRange", \r
-function (from, to) {\r
-if (this.map != null) {\r
-if (from <= to) {\r
-from = (this.map.getFromLowest () < from) ? from : this.map.getFromLowest ();\r
-to = (this.map.getFromHighest () > to) ? to : this.map.getFromHighest ();\r
-if (from > to) {\r
-return null;\r
-}} else {\r
-from = (this.map.getFromHighest () > from) ? from : this.map.getFromHighest ();\r
-to = (this.map.getFromLowest () < to) ? to : this.map.getFromLowest ();\r
-if (from < to) {\r
-return null;\r
-}}return this.map.locateInTo (from, to);\r
-}return  Clazz.newIntArray (-1, [from, to]);\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "intersectVisContigs", \r
-function (viscontigs) {\r
-var copy =  new jalview.datamodel.Mapping (this);\r
-if (this.map != null) {\r
-var vpos = 0;\r
-var apos = 0;\r
-var toRange =  new java.util.Vector ();\r
-var fromRange =  new java.util.Vector ();\r
-for (var vc = 0; vc < viscontigs.length; vc += 2) {\r
-var mpr = this.locateMappedRange (1 + viscontigs[vc], viscontigs[vc + 1] - 1);\r
-if (mpr != null) {\r
-for (var m = 0; m < mpr.length; m += 2) {\r
-toRange.addElement ( Clazz.newIntArray (-1, [mpr[m], mpr[m + 1]]));\r
-var xpos = this.locateRange (mpr[m], mpr[m + 1]);\r
-for (var x = 0; x < xpos.length; x += 2) {\r
-fromRange.addElement ( Clazz.newIntArray (-1, [xpos[x], xpos[x + 1]]));\r
-}\r
-}\r
-}}\r
-var from =  Clazz.newIntArray (fromRange.size () * 2, 0);\r
-var to =  Clazz.newIntArray (toRange.size () * 2, 0);\r
-var r;\r
-for (var f = 0, fSize = fromRange.size (); f < fSize; f++) {\r
-r = fromRange.elementAt (f);\r
-from[f * 2] = r[0];\r
-from[f * 2 + 1] = r[1];\r
-}\r
-for (var f = 0, fSize = toRange.size (); f < fSize; f++) {\r
-r = toRange.elementAt (f);\r
-to[f * 2] = r[0];\r
-to[f * 2 + 1] = r[1];\r
-}\r
-copy.setMap ( new jalview.util.MapList (from, to, this.map.getFromRatio (), this.map.getToRatio ()));\r
-}return copy;\r
-}, "~A");\r
-Clazz.defineMethod (c$, "getTo", \r
-function () {\r
-return this.to;\r
-});\r
-Clazz.defineMethod (c$, "setTo", \r
-function (tto) {\r
-this.to = tto;\r
-}, "jalview.datamodel.SequenceI");\r
-Clazz.defineMethod (c$, "finalize", \r
-function () {\r
-this.map = null;\r
-this.to = null;\r
-Clazz.superCall (this, jalview.datamodel.Mapping, "finalize", []);\r
-});\r
-Clazz.defineMethod (c$, "getCodonIterator", \r
-function (seq, gapChar) {\r
-return Clazz.innerTypeInstance (jalview.datamodel.Mapping.AlignedCodonIterator, this, null, seq.getSequence (), gapChar);\r
-}, "jalview.datamodel.SequenceI,~S");\r
-c$.$Mapping$AlignedCodonIterator$ = function () {\r
-Clazz.pu$h ();\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.gap = '\0';\r
-this.alignedSeq = null;\r
-this.alignedColumn = 0;\r
-this.alignedBases = 0;\r
-this.fromRanges = null;\r
-this.toRanges = null;\r
-this.currentFromRange = null;\r
-this.currentToRange = null;\r
-this.fromPosition = 0;\r
-this.toPosition = 0;\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.datamodel.Mapping, "AlignedCodonIterator", null, java.util.Iterator);\r
-Clazz.makeConstructor (c$, \r
-function (a, b) {\r
-this.alignedSeq = a;\r
-this.gap = b;\r
-this.fromRanges = this.b$["jalview.datamodel.Mapping"].map.getFromRanges ().iterator ();\r
-this.toRanges = this.b$["jalview.datamodel.Mapping"].map.getToRanges ().iterator ();\r
-if (this.fromRanges.hasNext ()) {\r
-this.currentFromRange = this.fromRanges.next ();\r
-this.fromPosition = this.currentFromRange[0];\r
-}if (this.toRanges.hasNext ()) {\r
-this.currentToRange = this.toRanges.next ();\r
-this.toPosition = this.currentToRange[0];\r
-}}, "~A,~S");\r
-Clazz.defineMethod (c$, "hasNext", \r
-function () {\r
-if (this.fromRanges.hasNext ()) {\r
-return true;\r
-}if (this.currentFromRange == null || this.fromPosition >= this.currentFromRange[1]) {\r
-return false;\r
-}return true;\r
-});\r
-Clazz.overrideMethod (c$, "next", \r
-function () {\r
-if (!this.hasNext ()) {\r
-throw  new java.util.NoSuchElementException ();\r
-}var a = this.getNextCodon ();\r
-var b = this.getAlignedCodon (a);\r
-var c = this.getPeptide ();\r
-return  new jalview.datamodel.AlignedCodon (b[0], b[1], b[2], c);\r
-});\r
-Clazz.defineMethod (c$, "getPeptide", \r
-($fz = function () {\r
-if (this.toPosition <= this.currentToRange[1]) {\r
-var a = this.b$["jalview.datamodel.Mapping"].to.getSequence ()[this.toPosition - 1];\r
-this.toPosition++;\r
-return String.valueOf (a);\r
-}if (!this.toRanges.hasNext ()) {\r
-throw  new java.util.NoSuchElementException ("Ran out of peptide at position " + this.toPosition);\r
-}this.currentToRange = this.toRanges.next ();\r
-this.toPosition = this.currentToRange[0];\r
-return this.getPeptide ();\r
-}, $fz.isPrivate = true, $fz));\r
-Clazz.defineMethod (c$, "getNextCodon", \r
-($fz = function () {\r
-var a =  Clazz.newIntArray (3, 0);\r
-var b = 0;\r
-while (b < 3) {\r
-if (this.fromPosition <= this.currentFromRange[1]) {\r
-a[b++] = this.fromPosition++;\r
-} else {\r
-if (!this.fromRanges.hasNext ()) {\r
-throw  new jalview.datamodel.IncompleteCodonException ();\r
-}this.currentFromRange = this.fromRanges.next ();\r
-this.fromPosition = this.currentFromRange[0];\r
-}}\r
-return a;\r
-}, $fz.isPrivate = true, $fz));\r
-Clazz.defineMethod (c$, "getAlignedCodon", \r
-($fz = function (a) {\r
-var b =  Clazz.newIntArray (a.length, 0);\r
-for (var c = 0; c < a.length; c++) {\r
-b[c] = this.getAlignedColumn (a[c]);\r
-}\r
-return b;\r
-}, $fz.isPrivate = true, $fz), "~A");\r
-Clazz.defineMethod (c$, "getAlignedColumn", \r
-($fz = function (a) {\r
-while (this.alignedBases < a && this.alignedColumn < this.alignedSeq.length) {\r
-if (this.alignedSeq[this.alignedColumn++] != this.gap) {\r
-this.alignedBases++;\r
-}}\r
-return this.alignedColumn - 1;\r
-}, $fz.isPrivate = true, $fz), "~N");\r
-Clazz.overrideMethod (c$, "remove", \r
-function () {\r
-});\r
-c$ = Clazz.p0p ();\r
-};\r
-});\r
+Clazz.declarePackage ("jalview.datamodel");
+Clazz.load (["java.util.Iterator"], "jalview.datamodel.Mapping", ["jalview.datamodel.AlignedCodon", "$.IncompleteCodonException", "$.SequenceFeature", "jalview.util.MapList", "java.util.NoSuchElementException", "$.Vector"], function () {
+c$ = Clazz.decorateAsClass (function () {
+if (!Clazz.isClassDefined ("jalview.datamodel.Mapping.AlignedCodonIterator")) {
+jalview.datamodel.Mapping.$Mapping$AlignedCodonIterator$ ();
+}
+this.map = null;
+this.to = null;
+Clazz.instantialize (this, arguments);
+}, jalview.datamodel, "Mapping");
+Clazz.makeConstructor (c$, 
+function (map) {
+this.map = map;
+}, "jalview.util.MapList");
+Clazz.makeConstructor (c$, 
+function (to, map) {
+this.construct (map);
+this.to = to;
+}, "jalview.datamodel.SequenceI,jalview.util.MapList");
+Clazz.makeConstructor (c$, 
+function (to, exon, is, i, j) {
+this.construct (to,  new jalview.util.MapList (exon, is, i, j));
+}, "jalview.datamodel.SequenceI,~A,~A,~N,~N");
+Clazz.makeConstructor (c$, 
+function (map2) {
+if (map2 !== this && map2 != null) {
+if (map2.map != null) {
+this.map =  new jalview.util.MapList (map2.map);
+}this.to = map2.to;
+}}, "jalview.datamodel.Mapping");
+Clazz.defineMethod (c$, "getMap", 
+function () {
+return this.map;
+});
+Clazz.defineMethod (c$, "setMap", 
+function (map) {
+this.map = map;
+}, "jalview.util.MapList");
+Clazz.overrideMethod (c$, "equals", 
+function (o) {
+if (o == null || !(Clazz.instanceOf (o, jalview.datamodel.Mapping))) {
+return false;
+}var other = o;
+if (other === this) {
+return true;
+}if (other.to !== this.to) {
+return false;
+}if ((this.map != null && other.map == null) || (this.map == null && other.map != null)) {
+return false;
+}if ((this.map == null && other.map == null) || this.map.equals (other.map)) {
+return true;
+}return false;
+}, "~O");
+Clazz.defineMethod (c$, "getPosition", 
+function (mpos) {
+if (this.map != null) {
+var mp = this.map.shiftTo (mpos);
+if (mp != null) {
+return mp[0];
+}}return mpos;
+}, "~N");
+Clazz.defineMethod (c$, "getWord", 
+function (mpos) {
+if (this.map != null) {
+return this.map.getToWord (mpos);
+}return null;
+}, "~N");
+Clazz.defineMethod (c$, "getWidth", 
+function () {
+if (this.map != null) {
+return this.map.getFromRatio ();
+}return 1;
+});
+Clazz.defineMethod (c$, "getMappedWidth", 
+function () {
+if (this.map != null) {
+return this.map.getToRatio ();
+}return 1;
+});
+Clazz.defineMethod (c$, "getMappedPosition", 
+function (pos) {
+if (this.map != null) {
+var mp = this.map.shiftFrom (pos);
+if (mp != null) {
+return mp[0];
+}}return pos;
+}, "~N");
+Clazz.defineMethod (c$, "getMappedWord", 
+function (pos) {
+if (this.map != null) {
+var mp = this.map.shiftFrom (pos);
+if (mp != null) {
+return  Clazz.newIntArray (-1, [mp[0], mp[0] + mp[2] * (this.map.getToRatio () - 1)]);
+}}return null;
+}, "~N");
+Clazz.defineMethod (c$, "locateFeature", 
+function (f) {
+if (true) {
+if (this.map != null) {
+var frange = this.map.locateInFrom (f.getBegin (), f.getEnd ());
+if (frange == null) {
+return null;
+}var vf =  new Array (Clazz.doubleToInt (frange.length / 2));
+for (var i = 0, v = 0; i < frange.length; i += 2, v++) {
+vf[v] =  new jalview.datamodel.SequenceFeature (f);
+vf[v].setBegin (frange[i]);
+vf[v].setEnd (frange[i + 1]);
+if (frange.length > 2) {
+vf[v].setDescription (f.getDescription () + "\nPart " + (v + 1));
+}}
+return vf;
+}}if (false) {
+var word = this.getWord (f.getBegin ());
+if (word[0] < word[1]) {
+f.setBegin (word[0]);
+} else {
+f.setBegin (word[1]);
+}word = this.getWord (f.getEnd ());
+if (word[0] > word[1]) {
+f.setEnd (word[0]);
+} else {
+f.setEnd (word[1]);
+}}return  Clazz.newArray (-1, [f]);
+}, "jalview.datamodel.SequenceFeature");
+Clazz.defineMethod (c$, "locateRange", 
+function (from, to) {
+if (this.map != null) {
+if (from <= to) {
+from = (this.map.getToLowest () < from) ? from : this.map.getToLowest ();
+to = (this.map.getToHighest () > to) ? to : this.map.getToHighest ();
+if (from > to) {
+return null;
+}} else {
+from = (this.map.getToHighest () > from) ? from : this.map.getToHighest ();
+to = (this.map.getToLowest () < to) ? to : this.map.getToLowest ();
+if (from < to) {
+return null;
+}}return this.map.locateInFrom (from, to);
+}return  Clazz.newIntArray (-1, [from, to]);
+}, "~N,~N");
+Clazz.defineMethod (c$, "locateMappedRange", 
+function (from, to) {
+if (this.map != null) {
+if (from <= to) {
+from = (this.map.getFromLowest () < from) ? from : this.map.getFromLowest ();
+to = (this.map.getFromHighest () > to) ? to : this.map.getFromHighest ();
+if (from > to) {
+return null;
+}} else {
+from = (this.map.getFromHighest () > from) ? from : this.map.getFromHighest ();
+to = (this.map.getFromLowest () < to) ? to : this.map.getFromLowest ();
+if (from < to) {
+return null;
+}}return this.map.locateInTo (from, to);
+}return  Clazz.newIntArray (-1, [from, to]);
+}, "~N,~N");
+Clazz.defineMethod (c$, "intersectVisContigs", 
+function (viscontigs) {
+var copy =  new jalview.datamodel.Mapping (this);
+if (this.map != null) {
+var vpos = 0;
+var apos = 0;
+var toRange =  new java.util.Vector ();
+var fromRange =  new java.util.Vector ();
+for (var vc = 0; vc < viscontigs.length; vc += 2) {
+var mpr = this.locateMappedRange (1 + viscontigs[vc], viscontigs[vc + 1] - 1);
+if (mpr != null) {
+for (var m = 0; m < mpr.length; m += 2) {
+toRange.addElement ( Clazz.newIntArray (-1, [mpr[m], mpr[m + 1]]));
+var xpos = this.locateRange (mpr[m], mpr[m + 1]);
+for (var x = 0; x < xpos.length; x += 2) {
+fromRange.addElement ( Clazz.newIntArray (-1, [xpos[x], xpos[x + 1]]));
+}
+}
+}}
+var from =  Clazz.newIntArray (fromRange.size () * 2, 0);
+var to =  Clazz.newIntArray (toRange.size () * 2, 0);
+var r;
+for (var f = 0, fSize = fromRange.size (); f < fSize; f++) {
+r = fromRange.elementAt (f);
+from[f * 2] = r[0];
+from[f * 2 + 1] = r[1];
+}
+for (var f = 0, fSize = toRange.size (); f < fSize; f++) {
+r = toRange.elementAt (f);
+to[f * 2] = r[0];
+to[f * 2 + 1] = r[1];
+}
+copy.setMap ( new jalview.util.MapList (from, to, this.map.getFromRatio (), this.map.getToRatio ()));
+}return copy;
+}, "~A");
+Clazz.defineMethod (c$, "getTo", 
+function () {
+return this.to;
+});
+Clazz.defineMethod (c$, "setTo", 
+function (tto) {
+this.to = tto;
+}, "jalview.datamodel.SequenceI");
+Clazz.defineMethod (c$, "finalize", 
+function () {
+this.map = null;
+this.to = null;
+Clazz.superCall (this, jalview.datamodel.Mapping, "finalize", []);
+});
+Clazz.defineMethod (c$, "getCodonIterator", 
+function (seq, gapChar) {
+return Clazz.innerTypeInstance (jalview.datamodel.Mapping.AlignedCodonIterator, this, null, seq.getSequence (), gapChar);
+}, "jalview.datamodel.SequenceI,~S");
+c$.$Mapping$AlignedCodonIterator$ = function () {
+Clazz.pu$h ();
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.gap = '\0';
+this.alignedSeq = null;
+this.alignedColumn = 0;
+this.alignedBases = 0;
+this.fromRanges = null;
+this.toRanges = null;
+this.currentFromRange = null;
+this.currentToRange = null;
+this.fromPosition = 0;
+this.toPosition = 0;
+Clazz.instantialize (this, arguments);
+}, jalview.datamodel.Mapping, "AlignedCodonIterator", null, java.util.Iterator);
+Clazz.makeConstructor (c$, 
+function (a, b) {
+this.alignedSeq = a;
+this.gap = b;
+this.fromRanges = this.b$["jalview.datamodel.Mapping"].map.getFromRanges ().iterator ();
+this.toRanges = this.b$["jalview.datamodel.Mapping"].map.getToRanges ().iterator ();
+if (this.fromRanges.hasNext ()) {
+this.currentFromRange = this.fromRanges.next ();
+this.fromPosition = this.currentFromRange[0];
+}if (this.toRanges.hasNext ()) {
+this.currentToRange = this.toRanges.next ();
+this.toPosition = this.currentToRange[0];
+}}, "~A,~S");
+Clazz.defineMethod (c$, "hasNext", 
+function () {
+if (this.fromRanges.hasNext ()) {
+return true;
+}if (this.currentFromRange == null || this.fromPosition >= this.currentFromRange[1]) {
+return false;
+}return true;
+});
+Clazz.overrideMethod (c$, "next", 
+function () {
+if (!this.hasNext ()) {
+throw  new java.util.NoSuchElementException ();
+}var a = this.getNextCodon ();
+var b = this.getAlignedCodon (a);
+var c = this.getPeptide ();
+return  new jalview.datamodel.AlignedCodon (b[0], b[1], b[2], c);
+});
+Clazz.defineMethod (c$, "getPeptide", 
+($fz = function () {
+if (this.toPosition <= this.currentToRange[1]) {
+var a = this.b$["jalview.datamodel.Mapping"].to.getSequence ()[this.toPosition - 1];
+this.toPosition++;
+return String.valueOf (a);
+}if (!this.toRanges.hasNext ()) {
+throw  new java.util.NoSuchElementException ("Ran out of peptide at position " + this.toPosition);
+}this.currentToRange = this.toRanges.next ();
+this.toPosition = this.currentToRange[0];
+return this.getPeptide ();
+}, $fz.isPrivate = true, $fz));
+Clazz.defineMethod (c$, "getNextCodon", 
+($fz = function () {
+var a =  Clazz.newIntArray (3, 0);
+var b = 0;
+while (b < 3) {
+if (this.fromPosition <= this.currentFromRange[1]) {
+a[b++] = this.fromPosition++;
+} else {
+if (!this.fromRanges.hasNext ()) {
+throw  new jalview.datamodel.IncompleteCodonException ();
+}this.currentFromRange = this.fromRanges.next ();
+this.fromPosition = this.currentFromRange[0];
+}}
+return a;
+}, $fz.isPrivate = true, $fz));
+Clazz.defineMethod (c$, "getAlignedCodon", 
+($fz = function (a) {
+var b =  Clazz.newIntArray (a.length, 0);
+for (var c = 0; c < a.length; c++) {
+b[c] = this.getAlignedColumn (a[c]);
+}
+return b;
+}, $fz.isPrivate = true, $fz), "~A");
+Clazz.defineMethod (c$, "getAlignedColumn", 
+($fz = function (a) {
+while (this.alignedBases < a && this.alignedColumn < this.alignedSeq.length) {
+if (this.alignedSeq[this.alignedColumn++] != this.gap) {
+this.alignedBases++;
+}}
+return this.alignedColumn - 1;
+}, $fz.isPrivate = true, $fz), "~N");
+Clazz.overrideMethod (c$, "remove", 
+function () {
+});
+c$ = Clazz.p0p ();
+};
+});