Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / jalview / viewmodel / PCAModel.js
index cdb9868..7527935 100644 (file)
-Clazz.declarePackage ("jalview.viewmodel");\r
-Clazz.load (null, "jalview.viewmodel.PCAModel", ["jalview.analysis.PCA", "jalview.datamodel.SequencePoint", "java.lang.StringBuffer", "java.util.Vector"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.pca = null;\r
-this.top = 0;\r
-this.seqstrings = null;\r
-this.seqs = null;\r
-this.score_matrix = null;\r
-this.nucleotide = false;\r
-this.points = null;\r
-this.jvCalcMode = true;\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.viewmodel, "PCAModel");\r
-Clazz.makeConstructor (c$, \r
-function (seqstrings2, seqs2, nucleotide2) {\r
-this.seqstrings = seqstrings2;\r
-this.seqs = seqs2;\r
-this.nucleotide = nucleotide2;\r
-this.score_matrix = nucleotide2 ? "PID" : "BLOSUM62";\r
-}, "jalview.datamodel.AlignmentView,~A,~B");\r
-Clazz.defineMethod (c$, "isJvCalcMode", \r
-function () {\r
-return this.jvCalcMode;\r
-});\r
-Clazz.defineMethod (c$, "run", \r
-function () {\r
-this.pca =  new jalview.analysis.PCA (this.seqstrings.getSequenceStrings (' '), this.nucleotide, this.score_matrix);\r
-this.pca.setJvCalcMode (this.jvCalcMode);\r
-this.pca.run ();\r
-var ii = 0;\r
-while ((ii < this.seqs.length) && (this.seqs[ii] != null)) {\r
-ii++;\r
-}\r
-var comps =  Clazz.newDoubleArray (ii, ii, 0);\r
-for (var i = 0; i < ii; i++) {\r
-if (this.pca.getEigenvalue (i) > 1e-4) {\r
-comps[i] = this.pca.component (i);\r
-}}\r
-this.top = this.pca.getM ().rows - 1;\r
-this.points =  new java.util.Vector ();\r
-var scores = this.pca.getComponents (this.top - 1, this.top - 2, this.top - 3, 100);\r
-for (var i = 0; i < this.pca.getM ().rows; i++) {\r
-var sp =  new jalview.datamodel.SequencePoint (this.seqs[i], scores[i]);\r
-this.points.addElement (sp);\r
-}\r
-});\r
-Clazz.defineMethod (c$, "updateRc", \r
-function (rc) {\r
-rc.setPoints (this.points, this.pca.getM ().rows);\r
-}, "jalview.api.RotatableCanvasI");\r
-Clazz.defineMethod (c$, "isNucleotide", \r
-function () {\r
-return this.nucleotide;\r
-});\r
-Clazz.defineMethod (c$, "setNucleotide", \r
-function (nucleotide) {\r
-this.nucleotide = nucleotide;\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getTop", \r
-function () {\r
-return this.top;\r
-});\r
-Clazz.defineMethod (c$, "updateRcView", \r
-function (dim1, dim2, dim3) {\r
-var scores = this.pca.getComponents (dim1 - 1, dim2 - 1, dim3 - 1, 100);\r
-for (var i = 0; i < this.pca.getM ().rows; i++) {\r
-(this.points.elementAt (i)).coord = scores[i];\r
-}\r
-}, "~N,~N,~N");\r
-Clazz.defineMethod (c$, "getDetails", \r
-function () {\r
-return this.pca.getDetails ();\r
-});\r
-Clazz.defineMethod (c$, "getSeqtrings", \r
-function () {\r
-return this.seqstrings;\r
-});\r
-Clazz.defineMethod (c$, "getPointsasCsv", \r
-function (transformed, xdim, ydim, zdim) {\r
-var csv =  new StringBuffer ();\r
-csv.append ("\"Sequence\"");\r
-if (transformed) {\r
-csv.append (",");\r
-csv.append (xdim);\r
-csv.append (",");\r
-csv.append (ydim);\r
-csv.append (",");\r
-csv.append (zdim);\r
-} else {\r
-for (var d = 1, dmax = this.pca.component (1).length; d <= dmax; d++) {\r
-csv.append ("," + d);\r
-}\r
-}csv.append ("\n");\r
-for (var s = 0; s < this.seqs.length; s++) {\r
-csv.append ("\"" + this.seqs[s].getName () + "\"");\r
-var fl;\r
-if (!transformed) {\r
-fl = this.pca.component (s);\r
-for (var d = fl.length - 1; d >= 0; d--) {\r
-csv.append (",");\r
-csv.append (fl[d]);\r
-}\r
-} else {\r
-fl = this.getPointPosition (s);\r
-for (var d = 0; d < fl.length; d++) {\r
-csv.append (",");\r
-csv.append (fl[d]);\r
-}\r
-}csv.append ("\n");\r
-}\r
-return csv.toString ();\r
-}, "~B,~N,~N,~N");\r
-Clazz.defineMethod (c$, "getPointPosition", \r
-function (s) {\r
-var pts =  Clazz.newDoubleArray (3, 0);\r
-var p = this.points.elementAt (s).coord;\r
-pts[0] = p[0];\r
-pts[1] = p[1];\r
-pts[2] = p[2];\r
-return pts;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "setJvCalcMode", \r
-function (state) {\r
-this.jvCalcMode = state;\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getScore_matrix", \r
-function () {\r
-return this.score_matrix;\r
-});\r
-Clazz.defineMethod (c$, "setScore_matrix", \r
-function (score_matrix) {\r
-this.score_matrix = score_matrix;\r
-}, "~S");\r
-});\r
+Clazz.declarePackage ("jalview.viewmodel");
+Clazz.load (null, "jalview.viewmodel.PCAModel", ["jalview.analysis.PCA", "jalview.datamodel.SequencePoint", "java.lang.StringBuffer", "java.util.Vector"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.pca = null;
+this.top = 0;
+this.seqstrings = null;
+this.seqs = null;
+this.score_matrix = null;
+this.nucleotide = false;
+this.points = null;
+this.jvCalcMode = true;
+Clazz.instantialize (this, arguments);
+}, jalview.viewmodel, "PCAModel");
+Clazz.makeConstructor (c$, 
+function (seqstrings2, seqs2, nucleotide2) {
+this.seqstrings = seqstrings2;
+this.seqs = seqs2;
+this.nucleotide = nucleotide2;
+this.score_matrix = nucleotide2 ? "PID" : "BLOSUM62";
+}, "jalview.datamodel.AlignmentView,~A,~B");
+Clazz.defineMethod (c$, "isJvCalcMode", 
+function () {
+return this.jvCalcMode;
+});
+Clazz.defineMethod (c$, "run", 
+function () {
+this.pca =  new jalview.analysis.PCA (this.seqstrings.getSequenceStrings (' '), this.nucleotide, this.score_matrix);
+this.pca.setJvCalcMode (this.jvCalcMode);
+this.pca.run ();
+var ii = 0;
+while ((ii < this.seqs.length) && (this.seqs[ii] != null)) {
+ii++;
+}
+var comps =  Clazz.newDoubleArray (ii, ii, 0);
+for (var i = 0; i < ii; i++) {
+if (this.pca.getEigenvalue (i) > 1e-4) {
+comps[i] = this.pca.component (i);
+}}
+this.top = this.pca.getM ().rows - 1;
+this.points =  new java.util.Vector ();
+var scores = this.pca.getComponents (this.top - 1, this.top - 2, this.top - 3, 100);
+for (var i = 0; i < this.pca.getM ().rows; i++) {
+var sp =  new jalview.datamodel.SequencePoint (this.seqs[i], scores[i]);
+this.points.addElement (sp);
+}
+});
+Clazz.defineMethod (c$, "updateRc", 
+function (rc) {
+rc.setPoints (this.points, this.pca.getM ().rows);
+}, "jalview.api.RotatableCanvasI");
+Clazz.defineMethod (c$, "isNucleotide", 
+function () {
+return this.nucleotide;
+});
+Clazz.defineMethod (c$, "setNucleotide", 
+function (nucleotide) {
+this.nucleotide = nucleotide;
+}, "~B");
+Clazz.defineMethod (c$, "getTop", 
+function () {
+return this.top;
+});
+Clazz.defineMethod (c$, "updateRcView", 
+function (dim1, dim2, dim3) {
+var scores = this.pca.getComponents (dim1 - 1, dim2 - 1, dim3 - 1, 100);
+for (var i = 0; i < this.pca.getM ().rows; i++) {
+(this.points.elementAt (i)).coord = scores[i];
+}
+}, "~N,~N,~N");
+Clazz.defineMethod (c$, "getDetails", 
+function () {
+return this.pca.getDetails ();
+});
+Clazz.defineMethod (c$, "getSeqtrings", 
+function () {
+return this.seqstrings;
+});
+Clazz.defineMethod (c$, "getPointsasCsv", 
+function (transformed, xdim, ydim, zdim) {
+var csv =  new StringBuffer ();
+csv.append ("\"Sequence\"");
+if (transformed) {
+csv.append (",");
+csv.append ("" + xdim);
+csv.append (",");
+csv.append ("" + ydim);
+csv.append (",");
+csv.append ("" + zdim);
+} else {
+for (var d = 1, dmax = this.pca.component (1).length; d <= dmax; d++) {
+csv.append ("," + d);
+}
+}csv.append ("\n");
+for (var s = 0; s < this.seqs.length; s++) {
+csv.append ("\"" + this.seqs[s].getName () + "\"");
+var fl;
+if (!transformed) {
+fl = this.pca.component (s);
+for (var d = fl.length - 1; d >= 0; d--) {
+csv.append (",");
+csv.append (fl[d]);
+}
+} else {
+fl = this.getPointPosition (s);
+for (var d = 0; d < fl.length; d++) {
+csv.append (",");
+csv.append (fl[d]);
+}
+}csv.append ("\n");
+}
+return csv.toString ();
+}, "~B,~N,~N,~N");
+Clazz.defineMethod (c$, "getPointPosition", 
+function (s) {
+var pts =  Clazz.newDoubleArray (3, 0);
+var p = this.points.elementAt (s).coord;
+pts[0] = p[0];
+pts[1] = p[1];
+pts[2] = p[2];
+return pts;
+}, "~N");
+Clazz.defineMethod (c$, "setJvCalcMode", 
+function (state) {
+this.jvCalcMode = state;
+}, "~B");
+Clazz.defineMethod (c$, "getScore_matrix", 
+function () {
+return this.score_matrix;
+});
+Clazz.defineMethod (c$, "setScore_matrix", 
+function (score_matrix) {
+this.score_matrix = score_matrix;
+}, "~S");
+});