JAL-1807 still testing
[jalviewjs.git] / bin / jalview / io / SequenceAnnotationReport.js
index 889211b..15fa2dd 100644 (file)
-Clazz.declarePackage ("jalview.io");
-Clazz.load (null, "jalview.io.SequenceAnnotationReport", ["jalview.util.DBRefUtils", "$.UrlLink", "java.lang.Float", "java.util.ArrayList"], function () {
-c$ = Clazz.decorateAsClass (function () {
-this.linkImageURL = null;
-Clazz.instantialize (this, arguments);
-}, jalview.io, "SequenceAnnotationReport");
-Clazz.makeConstructor (c$, 
-function (linkImageURL) {
-this.linkImageURL = linkImageURL;
-}, "~S");
-Clazz.defineMethod (c$, "appendFeatures", 
-function (tooltipText2, rpos, features) {
-this.appendFeatures (tooltipText2, rpos, features, null);
-}, "StringBuffer,~N,java.util.List");
-Clazz.defineMethod (c$, "appendFeatures", 
-function (tooltipText2, rpos, features, minmax) {
-var tmpString;
-if (features != null) {
-for (var feature, $feature = features.iterator (); $feature.hasNext () && ((feature = $feature.next ()) || true);) {
-if (feature.getType ().equals ("disulfide bond")) {
-if (feature.getBegin () == rpos || feature.getEnd () == rpos) {
-if (tooltipText2.length () > 6) {
-tooltipText2.append ("<br>");
-}tooltipText2.append ("disulfide bond " + feature.getBegin () + ":" + feature.getEnd ());
-}} else {
-if (tooltipText2.length () > 6) {
-tooltipText2.append ("<br>");
-}var linkOnly = feature.getValue ("linkonly") != null;
-if (!linkOnly) {
-tooltipText2.append (feature.getType () + " ");
-if (rpos != 0) {
-tooltipText2.append ("" + feature.begin);
-}if (feature.begin != feature.end) {
-tooltipText2.append (" " + feature.end);
-}if (feature.getDescription () != null && !feature.description.equals (feature.getType ())) {
-tmpString = feature.getDescription ();
-var tmp2up = tmpString.toUpperCase ();
-var startTag = tmp2up.indexOf ("<HTML>");
-if (startTag > -1) {
-tmpString = tmpString.substring (startTag + 6);
-tmp2up = tmp2up.substring (startTag + 6);
-}var endTag = tmp2up.indexOf ("</BODY>");
-if (endTag > -1) {
-tmpString = tmpString.substring (0, endTag);
-tmp2up = tmp2up.substring (0, endTag);
-}endTag = tmp2up.indexOf ("</HTML>");
-if (endTag > -1) {
-tmpString = tmpString.substring (0, endTag);
-}if (startTag > -1) {
-tooltipText2.append ("; " + tmpString);
-} else {
-if (tmpString.indexOf ("<") > -1 || tmpString.indexOf (">") > -1) {
-tmpString = tmpString.replaceAll ("<", "&lt;");
-tmpString = tmpString.replaceAll (">", "&gt;");
-tooltipText2.append ("; ");
-tooltipText2.append (tmpString);
-} else {
-tooltipText2.append ("; " + tmpString);
-}}}if (!Float.isNaN (feature.getScore ())) {
-var rng = (minmax == null) ? null : (minmax.get (feature.getType ()));
-if (rng != null && rng[0] != null && rng[0][0] != rng[0][1]) {
-tooltipText2.append (" Score=" + feature.getScore ());
-}}if (feature.getValue ("status") != null) {
-var status = feature.getValue ("status").toString ();
-if (status.length > 0) {
-tooltipText2.append ("; (" + feature.getValue ("status") + ")");
-}}}}if (feature.links != null) {
-if (this.linkImageURL != null) {
-tooltipText2.append (" <img src=\"" + this.linkImageURL + "\">");
-} else {
-for (var urlstring, $urlstring = feature.links.iterator (); $urlstring.hasNext () && ((urlstring = $urlstring.next ()) || true);) {
-try {
-for (var urllink, $urllink = 0, $$urllink = this.createLinksFrom (null, urlstring); $urllink < $$urllink.length && ((urllink = $$urllink[$urllink]) || true); $urllink++) {
-tooltipText2.append ("<br/> <a href=\"" + urllink[3] + "\" target=\"" + urllink[0] + "\">" + (urllink[0].toLowerCase ().equals (urllink[1].toLowerCase ()) ? urllink[0] : (urllink[0] + ":" + urllink[1])) + "</a></br>");
-}
-} catch (x) {
-if (Clazz.exceptionOf (x, Exception)) {
-System.err.println ("problem when creating links from " + urlstring);
-x.printStackTrace ();
-} else {
-throw x;
-}
-}
-}
-}}}
-}}, "StringBuffer,~N,java.util.List,java.util.Hashtable");
-Clazz.defineMethod (c$, "createLinksFrom", 
-function (seq, link) {
-var urlSets =  new java.util.ArrayList ();
-var uniques =  new java.util.ArrayList ();
-var urlLink =  new jalview.util.UrlLink (link);
-if (!urlLink.isValid ()) {
-System.err.println (urlLink.getInvalidMessage ());
-return null;
-}var target = urlLink.getTarget ();
-var label = urlLink.getLabel ();
-if (seq != null && urlLink.isDynamic ()) {
-var dbr = jalview.util.DBRefUtils.selectRefs (seq.getDBRef (),  Clazz.newArray (-1, [target]));
-var id = seq.getName ();
-var descr = seq.getDescription ();
-if (descr != null && descr.length < 1) {
-descr = null;
-}if (dbr != null) {
-for (var r = 0; r < dbr.length; r++) {
-if (id != null && dbr[r].getAccessionId ().equals (id)) {
-id = null;
-}var urls = urlLink.makeUrls (dbr[r].getAccessionId (), true);
-if (urls != null) {
-for (var u = 0; u < urls.length; u += 2) {
-var unq = urls[u] + "|" + urls[u + 1];
-if (!uniques.contains (unq)) {
-urlSets.add ( Clazz.newArray (-1, [target, label, urls[u], urls[u + 1]]));
-uniques.add (unq);
-}}
-}}
-}if (id != null) {
-var urls = urlLink.makeUrls (id, true);
-if (urls != null) {
-for (var u = 0; u < urls.length; u += 2) {
-var unq = urls[u] + "|" + urls[u + 1];
-if (!uniques.contains (unq)) {
-urlSets.add ( Clazz.newArray (-1, [target, label, urls[u], urls[u + 1]]));
-uniques.add (unq);
-}}
-}}if (descr != null && urlLink.getRegexReplace () != null) {
-var urls = urlLink.makeUrls (descr, true);
-if (urls != null) {
-for (var u = 0; u < urls.length; u += 2) {
-var unq = urls[u] + "|" + urls[u + 1];
-if (!uniques.contains (unq)) {
-urlSets.add ( Clazz.newArray (-1, [target, label, urls[u], urls[u + 1]]));
-uniques.add (unq);
-}}
-}}} else {
-var unq = label + "|" + urlLink.getUrl_prefix ();
-if (!uniques.contains (unq)) {
-uniques.add (unq);
-urlSets.add ( Clazz.newArray (-1, [target, label, null, urlLink.getUrl_prefix ()]));
-}}return urlSets.toArray ( Clazz.newArray (-1, []));
-}, "jalview.datamodel.SequenceI,~S");
-Clazz.defineMethod (c$, "createSequenceAnnotationReport", 
-function (tip, sequence, showDbRefs, showNpFeats, minmax) {
-this.createSequenceAnnotationReport (tip, sequence, showDbRefs, showNpFeats, true, minmax);
-}, "StringBuffer,jalview.datamodel.SequenceI,~B,~B,java.util.Hashtable");
-Clazz.defineMethod (c$, "createSequenceAnnotationReport", 
-function (tip, sequence, showDbRefs, showNpFeats, tableWrap, minmax) {
-var tmp;
-tip.append ("<i>");
-var maxWidth = 0;
-if (sequence.getDescription () != null) {
-tmp = sequence.getDescription ();
-tip.append ("<br>" + tmp);
-maxWidth = Math.max (maxWidth, tmp.length);
-}var ds = sequence;
-while (ds.getDatasetSequence () != null) {
-ds = ds.getDatasetSequence ();
-}
-var dbrefs = ds.getDBRef ();
-if (showDbRefs && dbrefs != null) {
-for (var i = 0; i < dbrefs.length; i++) {
-tip.append ("<br>");
-tmp = dbrefs[i].getSource () + " " + dbrefs[i].getAccessionId ();
-tip.append (tmp);
-maxWidth = Math.max (maxWidth, tmp.length);
-}
-}var features = sequence.getSequenceFeatures ();
-if (showNpFeats && features != null) {
-for (var i = 0; i < features.length; i++) {
-if (features[i].begin == 0 && features[i].end == 0) {
-var sz = -tip.length ();
-var tfeat =  new java.util.ArrayList ();
-tfeat.add (features[i]);
-this.appendFeatures (tip, 0, tfeat, minmax);
-sz += tip.length ();
-maxWidth = Math.max (maxWidth, sz);
-}}
-}if (tableWrap && maxWidth > 60) {
-tip.insert (0, "<table width=350 border=0><tr><td><i>");
-tip.append ("</i></td></tr></table>");
-}}, "StringBuffer,jalview.datamodel.SequenceI,~B,~B,~B,java.util.Hashtable");
-});
+Clazz.declarePackage ("jalview.io");\r
+Clazz.load (null, "jalview.io.SequenceAnnotationReport", ["jalview.util.DBRefUtils", "$.UrlLink", "java.lang.Float", "java.util.ArrayList"], function () {\r
+c$ = Clazz.decorateAsClass (function () {\r
+this.linkImageURL = null;\r
+Clazz.instantialize (this, arguments);\r
+}, jalview.io, "SequenceAnnotationReport");\r
+Clazz.makeConstructor (c$, \r
+function (linkImageURL) {\r
+this.linkImageURL = linkImageURL;\r
+}, "~S");\r
+Clazz.defineMethod (c$, "appendFeatures", \r
+function (tooltipText2, rpos, features) {\r
+this.appendFeatures (tooltipText2, rpos, features, null);\r
+}, "StringBuffer,~N,java.util.List");\r
+Clazz.defineMethod (c$, "appendFeatures", \r
+function (tooltipText2, rpos, features, minmax) {\r
+var tmpString;\r
+if (features != null) {\r
+for (var feature, $feature = features.iterator (); $feature.hasNext () && ((feature = $feature.next ()) || true);) {\r
+if (feature.getType ().equals ("disulfide bond")) {\r
+if (feature.getBegin () == rpos || feature.getEnd () == rpos) {\r
+if (tooltipText2.length () > 6) {\r
+tooltipText2.append ("<br>");\r
+}tooltipText2.append ("disulfide bond " + feature.getBegin () + ":" + feature.getEnd ());\r
+}} else {\r
+if (tooltipText2.length () > 6) {\r
+tooltipText2.append ("<br>");\r
+}var linkOnly = feature.getValue ("linkonly") != null;\r
+if (!linkOnly) {\r
+tooltipText2.append (feature.getType () + " ");\r
+if (rpos != 0) {\r
+tooltipText2.append ("" + feature.begin);\r
+}if (feature.begin != feature.end) {\r
+tooltipText2.append (" " + feature.end);\r
+}if (feature.getDescription () != null && !feature.description.equals (feature.getType ())) {\r
+tmpString = feature.getDescription ();\r
+var tmp2up = tmpString.toUpperCase ();\r
+var startTag = tmp2up.indexOf ("<HTML>");\r
+if (startTag > -1) {\r
+tmpString = tmpString.substring (startTag + 6);\r
+tmp2up = tmp2up.substring (startTag + 6);\r
+}var endTag = tmp2up.indexOf ("</BODY>");\r
+if (endTag > -1) {\r
+tmpString = tmpString.substring (0, endTag);\r
+tmp2up = tmp2up.substring (0, endTag);\r
+}endTag = tmp2up.indexOf ("</HTML>");\r
+if (endTag > -1) {\r
+tmpString = tmpString.substring (0, endTag);\r
+}if (startTag > -1) {\r
+tooltipText2.append ("; " + tmpString);\r
+} else {\r
+if (tmpString.indexOf ("<") > -1 || tmpString.indexOf (">") > -1) {\r
+tmpString = tmpString.replaceAll ("<", "&lt;");\r
+tmpString = tmpString.replaceAll (">", "&gt;");\r
+tooltipText2.append ("; ");\r
+tooltipText2.append (tmpString);\r
+} else {\r
+tooltipText2.append ("; " + tmpString);\r
+}}}if (!Float.isNaN (feature.getScore ())) {\r
+var rng = (minmax == null) ? null : (minmax.get (feature.getType ()));\r
+if (rng != null && rng[0] != null && rng[0][0] != rng[0][1]) {\r
+tooltipText2.append (" Score=" + feature.getScore ());\r
+}}if (feature.getValue ("status") != null) {\r
+var status = feature.getValue ("status").toString ();\r
+if (status.length > 0) {\r
+tooltipText2.append ("; (" + feature.getValue ("status") + ")");\r
+}}}}if (feature.links != null) {\r
+if (this.linkImageURL != null) {\r
+tooltipText2.append (" <img src=\"" + this.linkImageURL + "\">");\r
+} else {\r
+for (var urlstring, $urlstring = feature.links.iterator (); $urlstring.hasNext () && ((urlstring = $urlstring.next ()) || true);) {\r
+try {\r
+for (var urllink, $urllink = 0, $$urllink = this.createLinksFrom (null, urlstring); $urllink < $$urllink.length && ((urllink = $$urllink[$urllink]) || true); $urllink++) {\r
+tooltipText2.append ("<br/> <a href=\"" + urllink[3] + "\" target=\"" + urllink[0] + "\">" + (urllink[0].toLowerCase ().equals (urllink[1].toLowerCase ()) ? urllink[0] : (urllink[0] + ":" + urllink[1])) + "</a></br>");\r
+}\r
+} catch (x) {\r
+if (Clazz.exceptionOf (x, Exception)) {\r
+System.err.println ("problem when creating links from " + urlstring);\r
+x.printStackTrace ();\r
+} else {\r
+throw x;\r
+}\r
+}\r
+}\r
+}}}\r
+}}, "StringBuffer,~N,java.util.List,java.util.Hashtable");\r
+Clazz.defineMethod (c$, "createLinksFrom", \r
+function (seq, link) {\r
+var urlSets =  new java.util.ArrayList ();\r
+var uniques =  new java.util.ArrayList ();\r
+var urlLink =  new jalview.util.UrlLink (link);\r
+if (!urlLink.isValid ()) {\r
+System.err.println (urlLink.getInvalidMessage ());\r
+return null;\r
+}var target = urlLink.getTarget ();\r
+var label = urlLink.getLabel ();\r
+if (seq != null && urlLink.isDynamic ()) {\r
+var dbr = jalview.util.DBRefUtils.selectRefs (seq.getDBRef (),  Clazz.newArray (-1, [target]));\r
+var id = seq.getName ();\r
+var descr = seq.getDescription ();\r
+if (descr != null && descr.length < 1) {\r
+descr = null;\r
+}if (dbr != null) {\r
+for (var r = 0; r < dbr.length; r++) {\r
+if (id != null && dbr[r].getAccessionId ().equals (id)) {\r
+id = null;\r
+}var urls = urlLink.makeUrls (dbr[r].getAccessionId (), true);\r
+if (urls != null) {\r
+for (var u = 0; u < urls.length; u += 2) {\r
+var unq = urls[u] + "|" + urls[u + 1];\r
+if (!uniques.contains (unq)) {\r
+urlSets.add ( Clazz.newArray (-1, [target, label, urls[u], urls[u + 1]]));\r
+uniques.add (unq);\r
+}}\r
+}}\r
+}if (id != null) {\r
+var urls = urlLink.makeUrls (id, true);\r
+if (urls != null) {\r
+for (var u = 0; u < urls.length; u += 2) {\r
+var unq = urls[u] + "|" + urls[u + 1];\r
+if (!uniques.contains (unq)) {\r
+urlSets.add ( Clazz.newArray (-1, [target, label, urls[u], urls[u + 1]]));\r
+uniques.add (unq);\r
+}}\r
+}}if (descr != null && urlLink.getRegexReplace () != null) {\r
+var urls = urlLink.makeUrls (descr, true);\r
+if (urls != null) {\r
+for (var u = 0; u < urls.length; u += 2) {\r
+var unq = urls[u] + "|" + urls[u + 1];\r
+if (!uniques.contains (unq)) {\r
+urlSets.add ( Clazz.newArray (-1, [target, label, urls[u], urls[u + 1]]));\r
+uniques.add (unq);\r
+}}\r
+}}} else {\r
+var unq = label + "|" + urlLink.getUrl_prefix ();\r
+if (!uniques.contains (unq)) {\r
+uniques.add (unq);\r
+urlSets.add ( Clazz.newArray (-1, [target, label, null, urlLink.getUrl_prefix ()]));\r
+}}return urlSets.toArray ( Clazz.newArray (-1, []));\r
+}, "jalview.datamodel.SequenceI,~S");\r
+Clazz.defineMethod (c$, "createSequenceAnnotationReport", \r
+function (tip, sequence, showDbRefs, showNpFeats, minmax) {\r
+this.createSequenceAnnotationReport (tip, sequence, showDbRefs, showNpFeats, true, minmax);\r
+}, "StringBuffer,jalview.datamodel.SequenceI,~B,~B,java.util.Hashtable");\r
+Clazz.defineMethod (c$, "createSequenceAnnotationReport", \r
+function (tip, sequence, showDbRefs, showNpFeats, tableWrap, minmax) {\r
+var tmp;\r
+tip.append ("<i>");\r
+var maxWidth = 0;\r
+if (sequence.getDescription () != null) {\r
+tmp = sequence.getDescription ();\r
+tip.append ("<br>" + tmp);\r
+maxWidth = Math.max (maxWidth, tmp.length);\r
+}var ds = sequence;\r
+while (ds.getDatasetSequence () != null) {\r
+ds = ds.getDatasetSequence ();\r
+}\r
+var dbrefs = ds.getDBRef ();\r
+if (showDbRefs && dbrefs != null) {\r
+for (var i = 0; i < dbrefs.length; i++) {\r
+tip.append ("<br>");\r
+tmp = dbrefs[i].getSource () + " " + dbrefs[i].getAccessionId ();\r
+tip.append (tmp);\r
+maxWidth = Math.max (maxWidth, tmp.length);\r
+}\r
+}var features = sequence.getSequenceFeatures ();\r
+if (showNpFeats && features != null) {\r
+for (var i = 0; i < features.length; i++) {\r
+if (features[i].begin == 0 && features[i].end == 0) {\r
+var sz = -tip.length ();\r
+var tfeat =  new java.util.ArrayList ();\r
+tfeat.add (features[i]);\r
+this.appendFeatures (tip, 0, tfeat, minmax);\r
+sz += tip.length ();\r
+maxWidth = Math.max (maxWidth, sz);\r
+}}\r
+}if (tableWrap && maxWidth > 60) {\r
+tip.insert (0, "<table width=350 border=0><tr><td><i>");\r
+tip.append ("</i></td></tr></table>");\r
+}}, "StringBuffer,jalview.datamodel.SequenceI,~B,~B,~B,java.util.Hashtable");\r
+});\r