X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=bin%2Fjalview%2Fdatamodel%2FHiddenSequences.js;h=65b1c2bc2f3f201c71e23b01e9b3d1217291799d;hp=9111dd8375aad2da25b1ecb6ffba4676a37debf2;hb=8ffd05b3abe52c0b6b79b011c0966361f82d5fe6;hpb=6154cb57a6eac3bb1344b8342495f5bb701ee921 diff --git a/bin/jalview/datamodel/HiddenSequences.js b/bin/jalview/datamodel/HiddenSequences.js index 9111dd8..65b1c2b 100644 --- a/bin/jalview/datamodel/HiddenSequences.js +++ b/bin/jalview/datamodel/HiddenSequences.js @@ -1,162 +1,162 @@ -Clazz.declarePackage ("jalview.datamodel"); -Clazz.load (null, "jalview.datamodel.HiddenSequences", ["jalview.datamodel.Alignment", "java.util.ArrayList"], function () { -c$ = Clazz.decorateAsClass (function () { -this.hiddenSequences = null; -this.alignment = null; -Clazz.instantialize (this, arguments); -}, jalview.datamodel, "HiddenSequences"); -Clazz.makeConstructor (c$, -function (al) { -this.alignment = al; -}, "jalview.datamodel.AlignmentI"); -Clazz.defineMethod (c$, "getSize", -function () { -if (this.hiddenSequences == null) { -return 0; -}var count = 0; -for (var i = 0; i < this.hiddenSequences.length; i++) { -if (this.hiddenSequences[i] != null) { -count++; -}} -return count; -}); -Clazz.defineMethod (c$, "getWidth", -function () { -var width = 0; -for (var i = 0; i < this.hiddenSequences.length; i++) { -if (this.hiddenSequences[i] != null && this.hiddenSequences[i].getLength () > width) { -width = this.hiddenSequences[i].getLength (); -}} -return width; -}); -Clazz.defineMethod (c$, "adjustHeightSequenceDeleted", -function (seqIndex) { -if (this.hiddenSequences == null) { -return; -}var alHeight = this.alignment.getHeight (); -var tmp = new Array (alHeight + this.getSize ()); -var deletionIndex = this.adjustForHiddenSeqs (seqIndex); -for (var i = 0; i < this.hiddenSequences.length; i++) { -if (this.hiddenSequences[i] == null) { -continue; -}if (i > deletionIndex) { -tmp[i - 1] = this.hiddenSequences[i]; -} else { -tmp[i] = this.hiddenSequences[i]; -}} -this.hiddenSequences = tmp; -}, "~N"); -Clazz.defineMethod (c$, "adjustHeightSequenceAdded", -function () { -if (this.hiddenSequences == null) { -return; -}var alHeight = this.alignment.getHeight (); -var tmp = new Array (alHeight + this.getSize ()); -System.arraycopy (this.hiddenSequences, 0, tmp, 0, this.hiddenSequences.length); -this.hiddenSequences = tmp; -}); -Clazz.defineMethod (c$, "hideSequence", -function (sequence) { -if (this.hiddenSequences == null) { -this.hiddenSequences = new Array (this.alignment.getHeight ()); -}var alignmentIndex = this.alignment.findIndex (sequence); -alignmentIndex = this.adjustForHiddenSeqs (alignmentIndex); -if (this.hiddenSequences[alignmentIndex] != null) { -System.out.println ("ERROR!!!!!!!!!!!"); -}this.hiddenSequences[alignmentIndex] = sequence; -this.alignment.deleteSequence (sequence); -}, "jalview.datamodel.SequenceI"); -Clazz.defineMethod (c$, "showAll", -function (hiddenRepSequences) { -var revealedSeqs = new java.util.ArrayList (); -for (var i = 0; i < this.hiddenSequences.length; i++) { -if (this.hiddenSequences[i] != null) { -var tmp = this.showSequence (i, hiddenRepSequences); -for (var seq, $seq = tmp.iterator (); $seq.hasNext () && ((seq = $seq.next ()) || true);) { -revealedSeqs.add (seq); -} -}} -return revealedSeqs; -}, "java.util.Map"); -Clazz.defineMethod (c$, "showSequence", -function (alignmentIndex, hiddenRepSequences) { -var revealedSeqs = new java.util.ArrayList (); -var repSequence = this.alignment.getSequenceAt (alignmentIndex); -if (repSequence != null && hiddenRepSequences != null && hiddenRepSequences.containsKey (repSequence)) { -hiddenRepSequences.remove (repSequence); -revealedSeqs.add (repSequence); -}var start = this.adjustForHiddenSeqs (alignmentIndex - 1); -var end = this.adjustForHiddenSeqs (alignmentIndex); -if (end >= this.hiddenSequences.length) { -end = this.hiddenSequences.length - 1; -}var asequences; -{ -for (var index = end; index > start; index--) { -var seq = this.hiddenSequences[index]; -this.hiddenSequences[index] = null; -if (seq != null) { -if (seq.getLength () > 0) { -revealedSeqs.add (seq); -asequences.add (alignmentIndex, seq); -} else { -System.out.println (seq.getName () + " has been deleted whilst hidden"); -}}} -}return revealedSeqs; -}, "~N,java.util.Map"); -Clazz.defineMethod (c$, "getHiddenSequence", -function (alignmentIndex) { -return this.hiddenSequences[alignmentIndex]; -}, "~N"); -Clazz.defineMethod (c$, "findIndexWithoutHiddenSeqs", -function (alignmentIndex) { -var index = 0; -var hiddenSeqs = 0; -if (this.hiddenSequences.length <= alignmentIndex) { -alignmentIndex = this.hiddenSequences.length - 1; -}while (index <= alignmentIndex) { -if (this.hiddenSequences[index] != null) { -hiddenSeqs++; -}index++; -} -;return (alignmentIndex - hiddenSeqs); -}, "~N"); -Clazz.defineMethod (c$, "adjustForHiddenSeqs", -function (alignmentIndex) { -var index = 0; -var hSize = this.hiddenSequences.length; -while (index <= alignmentIndex && index < hSize) { -if (this.hiddenSequences[index] != null) { -alignmentIndex++; -}index++; -} -;return alignmentIndex; -}, "~N"); -Clazz.defineMethod (c$, "getFullAlignment", -function () { -var isize = this.hiddenSequences.length; -var seq = new Array (isize); -var index = 0; -for (var i = 0; i < this.hiddenSequences.length; i++) { -if (this.hiddenSequences[i] != null) { -seq[i] = this.hiddenSequences[i]; -} else { -seq[i] = this.alignment.getSequenceAt (index); -index++; -}} -var fAlignmt = new jalview.datamodel.Alignment (seq); -fAlignmt.annotations = this.alignment.getAlignmentAnnotation (); -fAlignmt.alignmentProperties = this.alignment.getProperties (); -fAlignmt.groups = this.alignment.getGroups (); -fAlignmt.$hasRNAStructure = this.alignment.hasRNAStructure (); -return fAlignmt; -}); -Clazz.defineMethod (c$, "isHidden", -function (seq) { -if (this.hiddenSequences != null) { -for (var i = 0; i < this.hiddenSequences.length; i++) { -if (this.hiddenSequences[i] != null && this.hiddenSequences[i] === seq) { -return true; -}} -}return false; -}, "jalview.datamodel.SequenceI"); -}); +Clazz.declarePackage ("jalview.datamodel"); +Clazz.load (null, "jalview.datamodel.HiddenSequences", ["jalview.datamodel.Alignment", "java.util.ArrayList"], function () { +c$ = Clazz.decorateAsClass (function () { +this.hiddenSequences = null; +this.alignment = null; +Clazz.instantialize (this, arguments); +}, jalview.datamodel, "HiddenSequences"); +Clazz.makeConstructor (c$, +function (al) { +this.alignment = al; +}, "jalview.datamodel.AlignmentI"); +Clazz.defineMethod (c$, "getSize", +function () { +if (this.hiddenSequences == null) { +return 0; +}var count = 0; +for (var i = 0; i < this.hiddenSequences.length; i++) { +if (this.hiddenSequences[i] != null) { +count++; +}} +return count; +}); +Clazz.defineMethod (c$, "getWidth", +function () { +var width = 0; +for (var i = 0; i < this.hiddenSequences.length; i++) { +if (this.hiddenSequences[i] != null && this.hiddenSequences[i].getLength () > width) { +width = this.hiddenSequences[i].getLength (); +}} +return width; +}); +Clazz.defineMethod (c$, "adjustHeightSequenceDeleted", +function (seqIndex) { +if (this.hiddenSequences == null) { +return; +}var alHeight = this.alignment.getHeight (); +var tmp = new Array (alHeight + this.getSize ()); +var deletionIndex = this.adjustForHiddenSeqs (seqIndex); +for (var i = 0; i < this.hiddenSequences.length; i++) { +if (this.hiddenSequences[i] == null) { +continue; +}if (i > deletionIndex) { +tmp[i - 1] = this.hiddenSequences[i]; +} else { +tmp[i] = this.hiddenSequences[i]; +}} +this.hiddenSequences = tmp; +}, "~N"); +Clazz.defineMethod (c$, "adjustHeightSequenceAdded", +function () { +if (this.hiddenSequences == null) { +return; +}var alHeight = this.alignment.getHeight (); +var tmp = new Array (alHeight + this.getSize ()); +System.arraycopy (this.hiddenSequences, 0, tmp, 0, this.hiddenSequences.length); +this.hiddenSequences = tmp; +}); +Clazz.defineMethod (c$, "hideSequence", +function (sequence) { +if (this.hiddenSequences == null) { +this.hiddenSequences = new Array (this.alignment.getHeight ()); +}var alignmentIndex = this.alignment.findIndex (sequence); +alignmentIndex = this.adjustForHiddenSeqs (alignmentIndex); +if (this.hiddenSequences[alignmentIndex] != null) { +System.out.println ("ERROR!!!!!!!!!!!"); +}this.hiddenSequences[alignmentIndex] = sequence; +this.alignment.deleteSequence (sequence); +}, "jalview.datamodel.SequenceI"); +Clazz.defineMethod (c$, "showAll", +function (hiddenRepSequences) { +var revealedSeqs = new java.util.ArrayList (); +for (var i = 0; i < this.hiddenSequences.length; i++) { +if (this.hiddenSequences[i] != null) { +var tmp = this.showSequence (i, hiddenRepSequences); +for (var seq, $seq = tmp.iterator (); $seq.hasNext () && ((seq = $seq.next ()) || true);) { +revealedSeqs.add (seq); +} +}} +return revealedSeqs; +}, "java.util.Map"); +Clazz.defineMethod (c$, "showSequence", +function (alignmentIndex, hiddenRepSequences) { +var revealedSeqs = new java.util.ArrayList (); +var repSequence = this.alignment.getSequenceAt (alignmentIndex); +if (repSequence != null && hiddenRepSequences != null && hiddenRepSequences.containsKey (repSequence)) { +hiddenRepSequences.remove (repSequence); +revealedSeqs.add (repSequence); +}var start = this.adjustForHiddenSeqs (alignmentIndex - 1); +var end = this.adjustForHiddenSeqs (alignmentIndex); +if (end >= this.hiddenSequences.length) { +end = this.hiddenSequences.length - 1; +}var asequences; +{ +for (var index = end; index > start; index--) { +var seq = this.hiddenSequences[index]; +this.hiddenSequences[index] = null; +if (seq != null) { +if (seq.getLength () > 0) { +revealedSeqs.add (seq); +asequences.add (alignmentIndex, seq); +} else { +System.out.println (seq.getName () + " has been deleted whilst hidden"); +}}} +}return revealedSeqs; +}, "~N,java.util.Map"); +Clazz.defineMethod (c$, "getHiddenSequence", +function (alignmentIndex) { +return this.hiddenSequences[alignmentIndex]; +}, "~N"); +Clazz.defineMethod (c$, "findIndexWithoutHiddenSeqs", +function (alignmentIndex) { +var index = 0; +var hiddenSeqs = 0; +if (this.hiddenSequences.length <= alignmentIndex) { +alignmentIndex = this.hiddenSequences.length - 1; +}while (index <= alignmentIndex) { +if (this.hiddenSequences[index] != null) { +hiddenSeqs++; +}index++; +} +;return (alignmentIndex - hiddenSeqs); +}, "~N"); +Clazz.defineMethod (c$, "adjustForHiddenSeqs", +function (alignmentIndex) { +var index = 0; +var hSize = this.hiddenSequences.length; +while (index <= alignmentIndex && index < hSize) { +if (this.hiddenSequences[index] != null) { +alignmentIndex++; +}index++; +} +;return alignmentIndex; +}, "~N"); +Clazz.defineMethod (c$, "getFullAlignment", +function () { +var isize = this.hiddenSequences.length; +var seq = new Array (isize); +var index = 0; +for (var i = 0; i < this.hiddenSequences.length; i++) { +if (this.hiddenSequences[i] != null) { +seq[i] = this.hiddenSequences[i]; +} else { +seq[i] = this.alignment.getSequenceAt (index); +index++; +}} +var fAlignmt = new jalview.datamodel.Alignment (seq); +fAlignmt.annotations = this.alignment.getAlignmentAnnotation (); +fAlignmt.alignmentProperties = this.alignment.getProperties (); +fAlignmt.groups = this.alignment.getGroups (); +fAlignmt.$hasRNAStructure = this.alignment.hasRNAStructure (); +return fAlignmt; +}); +Clazz.defineMethod (c$, "isHidden", +function (seq) { +if (this.hiddenSequences != null) { +for (var i = 0; i < this.hiddenSequences.length; i++) { +if (this.hiddenSequences[i] != null && this.hiddenSequences[i] === seq) { +return true; +}} +}return false; +}, "jalview.datamodel.SequenceI"); +});