Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / jalview / datamodel / CigarArray.js
index 7925e73..e850f41 100644 (file)
-Clazz.declarePackage ("jalview.datamodel");\r
-Clazz.load (["jalview.datamodel.CigarBase"], "jalview.datamodel.CigarArray", ["jalview.datamodel.CigarCigar", "$.SeqCigar", "java.lang.StringBuffer", "java.util.Vector"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.refCigars = null;\r
-this.seqcigararray = false;\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.datamodel, "CigarArray", jalview.datamodel.CigarBase);\r
-Clazz.defineMethod (c$, "isSeqCigarArray", \r
-function () {\r
-return this.seqcigararray;\r
-});\r
-Clazz.makeConstructor (c$, \r
-function (cigars) {\r
-Clazz.superConstructor (this, jalview.datamodel.CigarArray);\r
-this.seqcigararray = true;\r
-if (cigars != null && cigars.length > 0) {\r
-this.refCigars =  new Array (cigars.length);\r
-for (var c = 0; c < cigars.length; c++) {\r
-this.refCigars[c] = cigars[c];\r
-if (!((Clazz.instanceOf (cigars[c], jalview.datamodel.SeqCigar)) || Clazz.instanceOf (cigars[c], jalview.datamodel.CigarCigar))) {\r
-this.seqcigararray = false;\r
-}}\r
-}}, "~A");\r
-Clazz.makeConstructor (c$, \r
-function (alignment, columnSelection, selectionGroup) {\r
-this.construct (jalview.datamodel.CigarArray.constructSeqCigarArray (alignment, selectionGroup));\r
-this.constructFromAlignment (alignment, columnSelection != null ? columnSelection.getHiddenColumns () : null, selectionGroup);\r
-}, "jalview.datamodel.AlignmentI,jalview.datamodel.ColumnSelection,jalview.datamodel.SequenceGroup");\r
-c$._calcStartEndBounds = Clazz.defineMethod (c$, "_calcStartEndBounds", \r
- function (alignment, selectionGroup) {\r
-var startend =  Clazz.newIntArray (-1, [0, 0, 0]);\r
-if (selectionGroup != null) {\r
-startend[0] = selectionGroup.getSize ();\r
-startend[1] = selectionGroup.getStartRes ();\r
-startend[2] = selectionGroup.getEndRes ();\r
-} else {\r
-startend[0] = alignment.getHeight ();\r
-startend[2] = alignment.getWidth () - 1;\r
-}return startend;\r
-}, "jalview.datamodel.AlignmentI,jalview.datamodel.SequenceGroup");\r
-c$.constructSeqCigarArray = Clazz.defineMethod (c$, "constructSeqCigarArray", \r
-function (alignment, selectionGroup) {\r
-var seqs = null;\r
-var i;\r
-var iSize;\r
-var _startend = jalview.datamodel.CigarArray._calcStartEndBounds (alignment, selectionGroup);\r
-var start = _startend[1];\r
-var end = _startend[2];\r
-if (selectionGroup != null) {\r
-iSize = selectionGroup.getSize ();\r
-seqs = selectionGroup.getSequencesInOrder (alignment);\r
-start = selectionGroup.getStartRes ();\r
-end = selectionGroup.getEndRes ();\r
-} else {\r
-iSize = alignment.getHeight ();\r
-seqs = alignment.getSequencesArray ();\r
-end = alignment.getWidth () - 1;\r
-}var selseqs =  new Array (iSize);\r
-for (i = 0; i < iSize; i++) {\r
-selseqs[i] =  new jalview.datamodel.SeqCigar (seqs[i], start, end);\r
-}\r
-return selseqs;\r
-}, "jalview.datamodel.AlignmentI,jalview.datamodel.SequenceGroup");\r
-Clazz.defineMethod (c$, "constructFromAlignment", \r
- function (alignment, list, selectionGroup) {\r
-var _startend = jalview.datamodel.CigarArray._calcStartEndBounds (alignment, selectionGroup);\r
-var start = _startend[1];\r
-var end = _startend[2];\r
-if (list != null) {\r
-var region;\r
-var hideStart;\r
-var hideEnd;\r
-var last = start;\r
-for (var j = 0;  new Boolean (last < end & j < list.size ()).valueOf (); j++) {\r
-region = list.get (j);\r
-hideStart = region[0];\r
-hideEnd = region[1];\r
-if (hideStart < last) {\r
-if (hideEnd > last) {\r
-hideStart = last;\r
-} else {\r
-continue;\r
-}}if (hideStart > end) {\r
-break;\r
-}if (hideEnd > end) {\r
-hideEnd = end;\r
-}if (hideStart > hideEnd) {\r
-break;\r
-}if (last < hideStart) {\r
-this.addOperation ('M', hideStart - last);\r
-}this.addOperation ('D', 1 + hideEnd - hideStart);\r
-last = hideEnd + 1;\r
-}\r
-if (last < end) {\r
-this.addOperation ('M', end - last + 1);\r
-}} else {\r
-this.addOperation ('M', end - start + 1);\r
-}}, "jalview.datamodel.AlignmentI,java.util.List,jalview.datamodel.SequenceGroup");\r
-Clazz.defineMethod (c$, "getArrayofSequenceAndDeletions", \r
-function (GapChar) {\r
-if (this.refCigars == null || this.refCigars.length == 0 || this.length == 0) {\r
-return null;\r
-}var sqanddels =  new Array (this.refCigars.length);\r
-for (var c = 0; c < this.refCigars.length; c++) {\r
-var refString = this.refCigars[c].getSequenceString (GapChar);\r
-if (refString != null) {\r
-sqanddels[c] = this.getSequenceAndDeletions (refString, GapChar);\r
-} else {\r
-sqanddels[c] = null;\r
-}}\r
-return sqanddels;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "getSequenceString", \r
-function (GapChar) {\r
-if (this.length == 0 || this.refCigars == null) {\r
-return "";\r
-}var seqStrings =  new StringBuffer ();\r
-var sqanddels = this.getArrayofSequenceAndDeletions (GapChar);\r
-for (var c = 0; c < this.refCigars.length; c++) {\r
-if (sqanddels[c] != null) {\r
-seqStrings.append (sqanddels[c][0]);\r
-sqanddels[c][0] = null;\r
-}seqStrings.append ('\n');\r
-}\r
-return seqStrings.toString ();\r
-}, "~S");\r
-Clazz.defineMethod (c$, "getSequenceStrings", \r
-function (GapChar) {\r
-if (this.length == 0 || this.refCigars == null || this.refCigars.length == 0) {\r
-return null;\r
-}var sqanddels = this.getArrayofSequenceAndDeletions (GapChar);\r
-var seqs =  new Array (sqanddels.length);\r
-for (var c = 0; c < this.refCigars.length; c++) {\r
-seqs[c] = sqanddels[c][0];\r
-}\r
-return seqs;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "applyDeletions", \r
-function () {\r
-var delpos = null;\r
-if (this.length == 0) {\r
-return null;\r
-}var cursor = 0;\r
-var vcursor = 0;\r
-var offset = 0;\r
-var i = 0;\r
-while (i < this.length) {\r
-if (this.operation[i] != 'D') {\r
-if (this.operation[i] == 'M') {\r
-cursor += this.range[i];\r
-}vcursor += this.range[i++];\r
-} else {\r
-if (delpos == null) {\r
-delpos =  new java.util.Vector ();\r
-}var delstart = cursor;\r
-var delend = cursor + this.range[i] - 1;\r
-delpos.addElement ( Clazz.newIntArray (-1, [vcursor + offset, this.range[i]]));\r
-offset += this.range[i] - 1;\r
-System.arraycopy (this.operation, i + 1, this.operation, i, this.length - i);\r
-System.arraycopy (this.range, i + 1, this.range, i, this.length - i);\r
-this.length--;\r
-for (var s = 0; s < this.refCigars.length; s++) {\r
-var d = this.refCigars[s].deleteRange (delstart, delend);\r
-}\r
-}}\r
-if (delpos != null) {\r
-var pos =  Clazz.newIntArray (delpos.size () * 2, 0);\r
-for (var k = 0, l = delpos.size (); k < l; k++) {\r
-var dr = (delpos.elementAt (k));\r
-pos[k * 2] = dr[0];\r
-pos[k * 2 + 1] = dr[1];\r
-delpos.setElementAt (null, k);\r
-}\r
-delpos = null;\r
-return pos;\r
-}return null;\r
-});\r
-Clazz.defineMethod (c$, "getSeqCigarArray", \r
-function () {\r
-if (!this.isSeqCigarArray ()) {\r
-return null;\r
-}var sa =  new Array (this.refCigars.length);\r
-for (var i = 0; i < this.refCigars.length; i++) {\r
-sa[i] = this.refCigars[i];\r
-}\r
-return sa;\r
-});\r
-});\r
+Clazz.declarePackage ("jalview.datamodel");
+Clazz.load (["jalview.datamodel.CigarBase"], "jalview.datamodel.CigarArray", ["jalview.datamodel.CigarCigar", "$.SeqCigar", "java.lang.StringBuffer", "java.util.Vector"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.refCigars = null;
+this.seqcigararray = false;
+Clazz.instantialize (this, arguments);
+}, jalview.datamodel, "CigarArray", jalview.datamodel.CigarBase);
+Clazz.defineMethod (c$, "isSeqCigarArray", 
+function () {
+return this.seqcigararray;
+});
+Clazz.makeConstructor (c$, 
+function (cigars) {
+Clazz.superConstructor (this, jalview.datamodel.CigarArray);
+this.seqcigararray = true;
+if (cigars != null && cigars.length > 0) {
+this.refCigars =  new Array (cigars.length);
+for (var c = 0; c < cigars.length; c++) {
+this.refCigars[c] = cigars[c];
+if (!((Clazz.instanceOf (cigars[c], jalview.datamodel.SeqCigar)) || Clazz.instanceOf (cigars[c], jalview.datamodel.CigarCigar))) {
+this.seqcigararray = false;
+}}
+}}, "~A");
+Clazz.makeConstructor (c$, 
+function (alignment, columnSelection, selectionGroup) {
+this.construct (jalview.datamodel.CigarArray.constructSeqCigarArray (alignment, selectionGroup));
+this.constructFromAlignment (alignment, columnSelection != null ? columnSelection.getHiddenColumns () : null, selectionGroup);
+}, "jalview.datamodel.AlignmentI,jalview.datamodel.ColumnSelection,jalview.datamodel.SequenceGroup");
+c$._calcStartEndBounds = Clazz.defineMethod (c$, "_calcStartEndBounds", 
+ function (alignment, selectionGroup) {
+var startend =  Clazz.newIntArray (-1, [0, 0, 0]);
+if (selectionGroup != null) {
+startend[0] = selectionGroup.getSize ();
+startend[1] = selectionGroup.getStartRes ();
+startend[2] = selectionGroup.getEndRes ();
+} else {
+startend[0] = alignment.getHeight ();
+startend[2] = alignment.getWidth () - 1;
+}return startend;
+}, "jalview.datamodel.AlignmentI,jalview.datamodel.SequenceGroup");
+c$.constructSeqCigarArray = Clazz.defineMethod (c$, "constructSeqCigarArray", 
+function (alignment, selectionGroup) {
+var seqs = null;
+var i;
+var iSize;
+var _startend = jalview.datamodel.CigarArray._calcStartEndBounds (alignment, selectionGroup);
+var start = _startend[1];
+var end = _startend[2];
+if (selectionGroup != null) {
+iSize = selectionGroup.getSize ();
+seqs = selectionGroup.getSequencesInOrder (alignment);
+start = selectionGroup.getStartRes ();
+end = selectionGroup.getEndRes ();
+} else {
+iSize = alignment.getHeight ();
+seqs = alignment.getSequencesArray ();
+end = alignment.getWidth () - 1;
+}var selseqs =  new Array (iSize);
+for (i = 0; i < iSize; i++) {
+selseqs[i] =  new jalview.datamodel.SeqCigar (seqs[i], start, end);
+}
+return selseqs;
+}, "jalview.datamodel.AlignmentI,jalview.datamodel.SequenceGroup");
+Clazz.defineMethod (c$, "constructFromAlignment", 
+ function (alignment, list, selectionGroup) {
+var _startend = jalview.datamodel.CigarArray._calcStartEndBounds (alignment, selectionGroup);
+var start = _startend[1];
+var end = _startend[2];
+if (list != null) {
+var region;
+var hideStart;
+var hideEnd;
+var last = start;
+for (var j = 0;  new Boolean (last < end & j < list.size ()).valueOf (); j++) {
+region = list.get (j);
+hideStart = region[0];
+hideEnd = region[1];
+if (hideStart < last) {
+if (hideEnd > last) {
+hideStart = last;
+} else {
+continue;
+}}if (hideStart > end) {
+break;
+}if (hideEnd > end) {
+hideEnd = end;
+}if (hideStart > hideEnd) {
+break;
+}if (last < hideStart) {
+this.addOperation ('M', hideStart - last);
+}this.addOperation ('D', 1 + hideEnd - hideStart);
+last = hideEnd + 1;
+}
+if (last < end) {
+this.addOperation ('M', end - last + 1);
+}} else {
+this.addOperation ('M', end - start + 1);
+}}, "jalview.datamodel.AlignmentI,java.util.List,jalview.datamodel.SequenceGroup");
+Clazz.defineMethod (c$, "getArrayofSequenceAndDeletions", 
+function (GapChar) {
+if (this.refCigars == null || this.refCigars.length == 0 || this.length == 0) {
+return null;
+}var sqanddels =  new Array (this.refCigars.length);
+for (var c = 0; c < this.refCigars.length; c++) {
+var refString = this.refCigars[c].getSequenceString (GapChar);
+if (refString != null) {
+sqanddels[c] = this.getSequenceAndDeletions (refString, GapChar);
+} else {
+sqanddels[c] = null;
+}}
+return sqanddels;
+}, "~S");
+Clazz.defineMethod (c$, "getSequenceString", 
+function (GapChar) {
+if (this.length == 0 || this.refCigars == null) {
+return "";
+}var seqStrings =  new StringBuffer ();
+var sqanddels = this.getArrayofSequenceAndDeletions (GapChar);
+for (var c = 0; c < this.refCigars.length; c++) {
+if (sqanddels[c] != null) {
+seqStrings.append (sqanddels[c][0]);
+sqanddels[c][0] = null;
+}seqStrings.append ('\n');
+}
+return seqStrings.toString ();
+}, "~S");
+Clazz.defineMethod (c$, "getSequenceStrings", 
+function (GapChar) {
+if (this.length == 0 || this.refCigars == null || this.refCigars.length == 0) {
+return null;
+}var sqanddels = this.getArrayofSequenceAndDeletions (GapChar);
+var seqs =  new Array (sqanddels.length);
+for (var c = 0; c < this.refCigars.length; c++) {
+seqs[c] = sqanddels[c][0];
+}
+return seqs;
+}, "~S");
+Clazz.defineMethod (c$, "applyDeletions", 
+function () {
+var delpos = null;
+if (this.length == 0) {
+return null;
+}var cursor = 0;
+var vcursor = 0;
+var offset = 0;
+var i = 0;
+while (i < this.length) {
+if (this.operation[i] != 'D') {
+if (this.operation[i] == 'M') {
+cursor += this.range[i];
+}vcursor += this.range[i++];
+} else {
+if (delpos == null) {
+delpos =  new java.util.Vector ();
+}var delstart = cursor;
+var delend = cursor + this.range[i] - 1;
+delpos.addElement ( Clazz.newIntArray (-1, [vcursor + offset, this.range[i]]));
+offset += this.range[i] - 1;
+System.arraycopy (this.operation, i + 1, this.operation, i, this.length - i);
+System.arraycopy (this.range, i + 1, this.range, i, this.length - i);
+this.length--;
+for (var s = 0; s < this.refCigars.length; s++) {
+var d = this.refCigars[s].deleteRange (delstart, delend);
+}
+}}
+if (delpos != null) {
+var pos =  Clazz.newIntArray (delpos.size () * 2, 0);
+for (var k = 0, l = delpos.size (); k < l; k++) {
+var dr = (delpos.elementAt (k));
+pos[k * 2] = dr[0];
+pos[k * 2 + 1] = dr[1];
+delpos.setElementAt (null, k);
+}
+delpos = null;
+return pos;
+}return null;
+});
+Clazz.defineMethod (c$, "getSeqCigarArray", 
+function () {
+if (!this.isSeqCigarArray ()) {
+return null;
+}var sa =  new Array (this.refCigars.length);
+for (var i = 0; i < this.refCigars.length; i++) {
+sa[i] = this.refCigars[i];
+}
+return sa;
+});
+});