Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / jalview / analysis / SeqsetUtils.js
index a93fedd..f8914e1 100644 (file)
-Clazz.declarePackage ("jalview.analysis");\r
-Clazz.load (null, "jalview.analysis.SeqsetUtils", ["jalview.analysis.AlignSeq", "$.SequenceIdMatcher", "jalview.datamodel.Sequence", "jalview.util.Comparison", "java.util.Hashtable", "$.Vector"], function () {\r
-c$ = Clazz.declareType (jalview.analysis, "SeqsetUtils");\r
-c$.SeqCharacterHash = Clazz.defineMethod (c$, "SeqCharacterHash", \r
-function (seq) {\r
-var sqinfo =  new java.util.Hashtable ();\r
-sqinfo.put ("Name", seq.getName ());\r
-sqinfo.put ("Start",  new Integer (seq.getStart ()));\r
-sqinfo.put ("End",  new Integer (seq.getEnd ()));\r
-if (seq.getDescription () != null) {\r
-sqinfo.put ("Description", seq.getDescription ());\r
-}var sfeat =  new java.util.Vector ();\r
-var sfarray = seq.getSequenceFeatures ();\r
-if (sfarray != null && sfarray.length > 0) {\r
-for (var i = 0; i < sfarray.length; i++) {\r
-sfeat.addElement (sfarray[i]);\r
-}\r
-}sqinfo.put ("SeqFeatures", sfeat);\r
-sqinfo.put ("PdbId", (seq.getPDBId () != null) ? seq.getPDBId () :  new java.util.Vector ());\r
-sqinfo.put ("datasetSequence", (seq.getDatasetSequence () != null) ? seq.getDatasetSequence () :  new jalview.datamodel.Sequence ("THISISAPLACEHOLDER", ""));\r
-return sqinfo;\r
-}, "jalview.datamodel.SequenceI");\r
-c$.SeqCharacterUnhash = Clazz.defineMethod (c$, "SeqCharacterUnhash", \r
-function (sq, sqinfo) {\r
-var namePresent = true;\r
-if (sqinfo == null) {\r
-return false;\r
-}var oldname = sqinfo.get ("Name");\r
-var start = sqinfo.get ("Start");\r
-var end = sqinfo.get ("End");\r
-var sfeatures = sqinfo.get ("SeqFeatures");\r
-var pdbid = sqinfo.get ("PdbId");\r
-var description = sqinfo.get ("Description");\r
-var seqds = sqinfo.get ("datasetSequence");\r
-if (oldname == null) {\r
-namePresent = false;\r
-} else {\r
-sq.setName (oldname);\r
-}if (pdbid != null && pdbid.size () > 0) {\r
-sq.setPDBId (pdbid);\r
-}if ((start != null) && (end != null)) {\r
-sq.setStart (start.intValue ());\r
-sq.setEnd (end.intValue ());\r
-}if ((sfeatures != null) && (sfeatures.size () > 0)) {\r
-var sfarray =  new Array (sfeatures.size ());\r
-for (var is = 0, isize = sfeatures.size (); is < isize; is++) {\r
-sfarray[is] = sfeatures.elementAt (is);\r
-}\r
-sq.setSequenceFeatures (sfarray);\r
-}if (description != null) {\r
-sq.setDescription (description);\r
-}if ((seqds != null) && !(seqds.getName ().equals ("THISISAPLACEHOLDER") && seqds.getLength () == 0)) {\r
-sq.setDatasetSequence (seqds);\r
-}return namePresent;\r
-}, "jalview.datamodel.SequenceI,java.util.Hashtable");\r
-c$.unique_name = Clazz.defineMethod (c$, "unique_name", \r
-function (i) {\r
-return  String.instantialize ("Sequence" + i);\r
-}, "~N");\r
-c$.uniquify = Clazz.defineMethod (c$, "uniquify", \r
-function (sequences, write_names) {\r
-var map =  new java.util.Hashtable ();\r
-for (var i = 0; i < sequences.length; i++) {\r
-var safename = jalview.analysis.SeqsetUtils.unique_name (i);\r
-map.put (safename, jalview.analysis.SeqsetUtils.SeqCharacterHash (sequences[i]));\r
-if (write_names) {\r
-sequences[i].setName (safename);\r
-}}\r
-return map;\r
-}, "~A,~B");\r
-c$.deuniquify = Clazz.defineMethod (c$, "deuniquify", \r
-function (map, sequences) {\r
-return jalview.analysis.SeqsetUtils.deuniquify (map, sequences, true);\r
-}, "java.util.Hashtable,~A");\r
-c$.deuniquify = Clazz.defineMethod (c$, "deuniquify", \r
-function (map, sequences, quiet) {\r
-var matcher =  new jalview.analysis.SequenceIdMatcher (sequences);\r
-var msq = null;\r
-var keys = map.keys ();\r
-var unmatched =  new java.util.Vector ();\r
-for (var i = 0, j = sequences.length; i < j; i++) {\r
-unmatched.addElement (sequences[i]);\r
-}\r
-while (keys.hasMoreElements ()) {\r
-var key = keys.nextElement ();\r
-if (Clazz.instanceOf (key, String)) {\r
-if ((msq = matcher.findIdMatch (key)) != null) {\r
-var sqinfo = map.get (key);\r
-unmatched.removeElement (msq);\r
-jalview.analysis.SeqsetUtils.SeqCharacterUnhash (msq, sqinfo);\r
-} else {\r
-if (!quiet) {\r
-System.err.println ("Can't find '" + (key) + "' in uniquified alignment");\r
-}}}}\r
-if (unmatched.size () > 0 && !quiet) {\r
-System.err.println ("Did not find matches for :");\r
-for (var i = unmatched.elements (); i.hasMoreElements (); System.out.println ((i.nextElement ()).getName ())) {\r
-;}\r
-return false;\r
-}return true;\r
-}, "java.util.Hashtable,~A,~B");\r
-c$.getNonEmptySequenceSet = Clazz.defineMethod (c$, "getNonEmptySequenceSet", \r
-function (sequences) {\r
-var ungapped =  Clazz.newBooleanArray (sequences.length, false);\r
-var msflen = 0;\r
-for (var i = 0, j = sequences.length; i < j; i++) {\r
-var tempseq = jalview.analysis.AlignSeq.extractGaps (jalview.util.Comparison.GapChars, sequences[i].getSequenceAsString ());\r
-if (tempseq.length == 0) {\r
-ungapped[i] = false;\r
-} else {\r
-ungapped[i] = true;\r
-msflen++;\r
-}}\r
-if (msflen == 0) {\r
-return null;\r
-}var mset =  new Array (msflen);\r
-for (var i = 0, j = sequences.length, k = 0; i < j; i++) {\r
-if (ungapped[i]) {\r
-mset[k++] = sequences[i];\r
-}}\r
-ungapped = null;\r
-return mset;\r
-}, "~A");\r
-});\r
+Clazz.declarePackage ("jalview.analysis");
+Clazz.load (null, "jalview.analysis.SeqsetUtils", ["jalview.analysis.AlignSeq", "$.SequenceIdMatcher", "jalview.datamodel.Sequence", "jalview.util.Comparison", "java.util.Hashtable", "$.Vector"], function () {
+c$ = Clazz.declareType (jalview.analysis, "SeqsetUtils");
+c$.SeqCharacterHash = Clazz.defineMethod (c$, "SeqCharacterHash", 
+function (seq) {
+var sqinfo =  new java.util.Hashtable ();
+sqinfo.put ("Name", seq.getName ());
+sqinfo.put ("Start",  new Integer (seq.getStart ()));
+sqinfo.put ("End",  new Integer (seq.getEnd ()));
+if (seq.getDescription () != null) {
+sqinfo.put ("Description", seq.getDescription ());
+}var sfeat =  new java.util.Vector ();
+var sfarray = seq.getSequenceFeatures ();
+if (sfarray != null && sfarray.length > 0) {
+for (var i = 0; i < sfarray.length; i++) {
+sfeat.addElement (sfarray[i]);
+}
+}sqinfo.put ("SeqFeatures", sfeat);
+sqinfo.put ("PdbId", (seq.getPDBId () != null) ? seq.getPDBId () :  new java.util.Vector ());
+sqinfo.put ("datasetSequence", (seq.getDatasetSequence () != null) ? seq.getDatasetSequence () :  new jalview.datamodel.Sequence ("THISISAPLACEHOLDER", ""));
+return sqinfo;
+}, "jalview.datamodel.SequenceI");
+c$.SeqCharacterUnhash = Clazz.defineMethod (c$, "SeqCharacterUnhash", 
+function (sq, sqinfo) {
+var namePresent = true;
+if (sqinfo == null) {
+return false;
+}var oldname = sqinfo.get ("Name");
+var start = sqinfo.get ("Start");
+var end = sqinfo.get ("End");
+var sfeatures = sqinfo.get ("SeqFeatures");
+var pdbid = sqinfo.get ("PdbId");
+var description = sqinfo.get ("Description");
+var seqds = sqinfo.get ("datasetSequence");
+if (oldname == null) {
+namePresent = false;
+} else {
+sq.setName (oldname);
+}if (pdbid != null && pdbid.size () > 0) {
+sq.setPDBId (pdbid);
+}if ((start != null) && (end != null)) {
+sq.setStart (start.intValue ());
+sq.setEnd (end.intValue ());
+}if ((sfeatures != null) && (sfeatures.size () > 0)) {
+var sfarray =  new Array (sfeatures.size ());
+for (var is = 0, isize = sfeatures.size (); is < isize; is++) {
+sfarray[is] = sfeatures.elementAt (is);
+}
+sq.setSequenceFeatures (sfarray);
+}if (description != null) {
+sq.setDescription (description);
+}if ((seqds != null) && !(seqds.getName ().equals ("THISISAPLACEHOLDER") && seqds.getLength () == 0)) {
+sq.setDatasetSequence (seqds);
+}return namePresent;
+}, "jalview.datamodel.SequenceI,java.util.Hashtable");
+c$.unique_name = Clazz.defineMethod (c$, "unique_name", 
+function (i) {
+return  String.instantialize ("Sequence" + i);
+}, "~N");
+c$.uniquify = Clazz.defineMethod (c$, "uniquify", 
+function (sequences, write_names) {
+var map =  new java.util.Hashtable ();
+for (var i = 0; i < sequences.length; i++) {
+var safename = jalview.analysis.SeqsetUtils.unique_name (i);
+map.put (safename, jalview.analysis.SeqsetUtils.SeqCharacterHash (sequences[i]));
+if (write_names) {
+sequences[i].setName (safename);
+}}
+return map;
+}, "~A,~B");
+c$.deuniquify = Clazz.defineMethod (c$, "deuniquify", 
+function (map, sequences) {
+return jalview.analysis.SeqsetUtils.deuniquify (map, sequences, true);
+}, "java.util.Hashtable,~A");
+c$.deuniquify = Clazz.defineMethod (c$, "deuniquify", 
+function (map, sequences, quiet) {
+var matcher =  new jalview.analysis.SequenceIdMatcher (sequences);
+var msq = null;
+var keys = map.keys ();
+var unmatched =  new java.util.Vector ();
+for (var i = 0, j = sequences.length; i < j; i++) {
+unmatched.addElement (sequences[i]);
+}
+while (keys.hasMoreElements ()) {
+var key = keys.nextElement ();
+if (Clazz.instanceOf (key, String)) {
+if ((msq = matcher.findIdMatch (key)) != null) {
+var sqinfo = map.get (key);
+unmatched.removeElement (msq);
+jalview.analysis.SeqsetUtils.SeqCharacterUnhash (msq, sqinfo);
+} else {
+if (!quiet) {
+System.err.println ("Can't find '" + (key) + "' in uniquified alignment");
+}}}}
+if (unmatched.size () > 0 && !quiet) {
+System.err.println ("Did not find matches for :");
+for (var i = unmatched.elements (); i.hasMoreElements (); System.out.println ((i.nextElement ()).getName ())) {
+;}
+return false;
+}return true;
+}, "java.util.Hashtable,~A,~B");
+c$.getNonEmptySequenceSet = Clazz.defineMethod (c$, "getNonEmptySequenceSet", 
+function (sequences) {
+var ungapped =  Clazz.newBooleanArray (sequences.length, false);
+var msflen = 0;
+for (var i = 0, j = sequences.length; i < j; i++) {
+var tempseq = jalview.analysis.AlignSeq.extractGaps (jalview.util.Comparison.GapChars, sequences[i].getSequenceAsString ());
+if (tempseq.length == 0) {
+ungapped[i] = false;
+} else {
+ungapped[i] = true;
+msflen++;
+}}
+if (msflen == 0) {
+return null;
+}var mset =  new Array (msflen);
+for (var i = 0, j = sequences.length, k = 0; i < j; i++) {
+if (ungapped[i]) {
+mset[k++] = sequences[i];
+}}
+ungapped = null;
+return mset;
+}, "~A");
+});