From c25cfde239527da78fecce55a877330afa90701d Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Thu, 20 Dec 2018 13:36:33 +0000 Subject: [PATCH] JAL-1767 port save/load PCA panel to JAXB - JAL-3063 --- src/jalview/gui/Jalview2XML.java | 38 +- src/jalview/gui/PCAPanel.java | 137 +- src/jalview/gui/RotatableCanvas.java | 108 +- src/jalview/gui/TreeCanvas.java | 10 + src/jalview/project/Jalview2XML.java | 360 +++++ src/jalview/xml/binding/jalview/AlcodonFrame.java | 2 +- src/jalview/xml/binding/jalview/Annotation.java | 2 +- .../binding/jalview/AnnotationColourScheme.java | 2 +- .../xml/binding/jalview/AnnotationElement.java | 2 +- src/jalview/xml/binding/jalview/DoubleMatrix.java | 186 +++ src/jalview/xml/binding/jalview/DoubleVector.java | 76 + src/jalview/xml/binding/jalview/Feature.java | 2 +- .../xml/binding/jalview/FeatureMatcher.java | 2 +- .../xml/binding/jalview/FeatureMatcherSet.java | 2 +- src/jalview/xml/binding/jalview/FilterBy.java | 2 +- src/jalview/xml/binding/jalview/JalviewModel.java | 1453 ++++++++++++++++++-- .../xml/binding/jalview/JalviewUserColours.java | 2 +- src/jalview/xml/binding/jalview/MapListType.java | 2 +- src/jalview/xml/binding/jalview/Mapping.java | 2 +- src/jalview/xml/binding/jalview/NoValueColour.java | 2 +- src/jalview/xml/binding/jalview/ObjectFactory.java | 66 +- src/jalview/xml/binding/jalview/PcaDataType.java | 129 ++ src/jalview/xml/binding/jalview/Pdbentry.java | 2 +- src/jalview/xml/binding/jalview/Sequence.java | 2 +- src/jalview/xml/binding/jalview/SequenceSet.java | 2 +- src/jalview/xml/binding/jalview/SequenceType.java | 2 +- src/jalview/xml/binding/jalview/ThresholdType.java | 2 +- src/jalview/xml/binding/jalview/VAMSAS.java | 2 +- .../binding/jalview/WebServiceParameterSet.java | 2 +- src/jalview/xml/binding/jalview/package-info.java | 2 +- 30 files changed, 2370 insertions(+), 233 deletions(-) create mode 100644 src/jalview/xml/binding/jalview/DoubleMatrix.java create mode 100644 src/jalview/xml/binding/jalview/DoubleVector.java create mode 100644 src/jalview/xml/binding/jalview/PcaDataType.java diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 7cfaa7d..7f07a20 100644 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -1570,27 +1570,27 @@ public class Jalview2XML viewer.setXpos(panel.getX()); viewer.setYpos(panel.getY()); viewer.setTitle(panel.getTitle()); - PCAModel pcaModel = panel.pcaModel; + PCAModel pcaModel = panel.getPcaModel(); viewer.setScoreModelName(pcaModel.getScoreModelName()); viewer.setXDim(panel.getSelectedDimensionIndex(X)); viewer.setYDim(panel.getSelectedDimensionIndex(Y)); viewer.setZDim(panel.getSelectedDimensionIndex(Z)); - viewer.setBgColour(panel.rc.getBackgroundColour().getRGB()); - viewer.setScaleFactor(panel.rc.scaleFactor); - float[] spMin = panel.rc.getSeqMin(); + viewer.setBgColour(panel.getRotatableCanvas().getBackgroundColour().getRGB()); + viewer.setScaleFactor(panel.getRotatableCanvas().getScaleFactor()); + float[] spMin = panel.getRotatableCanvas().getSeqMin(); SeqPointMin spmin = new SeqPointMin(); spmin.setXPos(spMin[0]); spmin.setYPos(spMin[1]); spmin.setZPos(spMin[2]); viewer.setSeqPointMin(spmin); - float[] spMax = panel.rc.getSeqMax(); + float[] spMax = panel.getRotatableCanvas().getSeqMax(); SeqPointMax spmax = new SeqPointMax(); spmax.setXPos(spMax[0]); spmax.setYPos(spMax[1]); spmax.setZPos(spMax[2]); viewer.setSeqPointMax(spmax); - viewer.setShowLabels(panel.rc.showLabels); - viewer.setLinkToAllViews(panel.rc.applyToAllViews); + viewer.setShowLabels(panel.getRotatableCanvas().isShowLabels()); + viewer.setLinkToAllViews(panel.getRotatableCanvas().isApplyToAllViews()); SimilarityParamsI sp = pcaModel.getSimilarityParameters(); viewer.setIncludeGaps(sp.includeGaps()); viewer.setMatchGaps(sp.matchGaps()); @@ -1614,7 +1614,7 @@ public class Jalview2XML /* * (end points of) axes on display */ - for (Point p : panel.rc.axisEndPoints) + for (Point p : panel.getRotatableCanvas().getAxisEndPoints()) { Axis axis = new Axis(); axis.setXPos(p.x); @@ -5984,9 +5984,9 @@ public class Jalview2XML boolean showLabels = viewer.isShowLabels(); panel.setShowLabels(showLabels); - panel.rc.showLabels = showLabels; - panel.rc.bgColour = new Color(viewer.getBgColour()); - panel.rc.applyToAllViews = viewer.isLinkToAllViews(); + panel.getRotatableCanvas().setShowLabels(showLabels); + panel.getRotatableCanvas().setBgColour(new Color(viewer.getBgColour())); + panel.getRotatableCanvas().setApplyToAllViews(viewer.isLinkToAllViews()); /* * load PCA output data @@ -6005,7 +6005,7 @@ public class Jalview2XML MatrixI result = loadDoubleMatrix(pcaData.getEigenMatrix()); pca.setEigenmatrix(result); - panel.pcaModel.setPCA(pca); + panel.getPcaModel().setPCA(pca); /* * we haven't saved the input data! (JAL-2647 to do) @@ -6030,30 +6030,30 @@ public class Jalview2XML seq, pt); seqPoints.add(seqPoint); } - panel.rc.setPoints(seqPoints, seqPoints.size()); + panel.getRotatableCanvas().setPoints(seqPoints, seqPoints.size()); /* * set min-max ranges and scale after setPoints (which recomputes them) */ - panel.rc.scaleFactor = viewer.getScaleFactor(); + panel.getRotatableCanvas().setScaleFactor(viewer.getScaleFactor()); SeqPointMin spMin = viewer.getSeqPointMin(); float[] min = new float[] { spMin.getXPos(), spMin.getYPos(), spMin.getZPos() }; SeqPointMax spMax = viewer.getSeqPointMax(); float[] max = new float[] { spMax.getXPos(), spMax.getYPos(), spMax.getZPos() }; - panel.rc.setSeqMinMax(min, max); + panel.getRotatableCanvas().setSeqMinMax(min, max); // todo: hold points list in PCAModel only - panel.pcaModel.setSequencePoints(seqPoints); + panel.getPcaModel().setSequencePoints(seqPoints); panel.setSelectedDimensionIndex(viewer.getXDim(), X); panel.setSelectedDimensionIndex(viewer.getYDim(), Y); panel.setSelectedDimensionIndex(viewer.getZDim(), Z); // is this duplication needed? - panel.top = seqPoints.size() - 1; - panel.pcaModel.setTop(seqPoints.size() - 1); + panel.setTop(seqPoints.size() - 1); + panel.getPcaModel().setTop(seqPoints.size() - 1); /* * add the axes' end points for the display @@ -6061,7 +6061,7 @@ public class Jalview2XML for (int i = 0; i < 3; i++) { Axis axis = viewer.getAxis(i); - panel.rc.axisEndPoints[i] = new Point(axis.getXPos(), + panel.getRotatableCanvas().getAxisEndPoints()[i] = new Point(axis.getXPos(), axis.getYPos(), axis.getZPos()); } diff --git a/src/jalview/gui/PCAPanel.java b/src/jalview/gui/PCAPanel.java index da1dffe..df0cd03 100644 --- a/src/jalview/gui/PCAPanel.java +++ b/src/jalview/gui/PCAPanel.java @@ -21,6 +21,7 @@ package jalview.gui; import jalview.analysis.scoremodels.ScoreModels; +import jalview.api.AlignViewportI; import jalview.api.analysis.ScoreModelI; import jalview.api.analysis.SimilarityParamsI; import jalview.bin.Cache; @@ -64,15 +65,15 @@ public class PCAPanel extends GPCAPanel private static final int MIN_HEIGHT = 250; - RotatableCanvas rc; + private RotatableCanvas rc; AlignmentPanel ap; AlignmentViewport av; - PCAModel pcaModel; + private PCAModel pcaModel; - int top = 0; + private int top = 0; private IProgressIndicator progressBar; @@ -120,14 +121,14 @@ public class PCAPanel extends GPCAPanel ScoreModelI scoreModel = ScoreModels.getInstance() .getScoreModel(modelName, ap); - pcaModel = new PCAModel(seqstrings, seqs, nucleotide, scoreModel, - params); + setPcaModel(new PCAModel(seqstrings, seqs, nucleotide, scoreModel, + params)); PaintRefresher.Register(this, av.getSequenceSetId()); - rc = new RotatableCanvas(alignPanel); - this.getContentPane().add(rc, BorderLayout.CENTER); + setRotatableCanvas(new RotatableCanvas(alignPanel)); + this.getContentPane().add(getRotatableCanvas(), BorderLayout.CENTER); - addKeyListener(rc); + addKeyListener(getRotatableCanvas()); validate(); this.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT)); @@ -139,7 +140,7 @@ public class PCAPanel extends GPCAPanel */ protected void close_actionPerformed() { - pcaModel = null; + setPcaModel(null); } @Override @@ -147,13 +148,13 @@ public class PCAPanel extends GPCAPanel { Color col = JColorChooser.showDialog(this, MessageManager.getString("label.select_background_colour"), - rc.bgColour); + getRotatableCanvas().getBgColour()); if (col != null) { - rc.bgColour = col; + getRotatableCanvas().setBgColour(col); } - rc.repaint(); + getRotatableCanvas().repaint(); } /** @@ -174,15 +175,15 @@ public class PCAPanel extends GPCAPanel progress.setProgressBar(message, progId); try { - pcaModel.calculate(); + getPcaModel().calculate(); xCombobox.setSelectedIndex(0); yCombobox.setSelectedIndex(1); zCombobox.setSelectedIndex(2); - pcaModel.updateRc(rc); + getPcaModel().updateRc(getRotatableCanvas()); // rc.invalidate(); - top = pcaModel.getTop(); + setTop(getPcaModel().getTop()); } catch (OutOfMemoryError er) { @@ -199,7 +200,7 @@ public class PCAPanel extends GPCAPanel { Desktop.addInternalFrame(this, MessageManager.formatMessage("label.calc_title", "PCA", - pcaModel.getScoreModelName()), + getPcaModel().getScoreModelName()), 475, 450); } working = false; @@ -212,16 +213,16 @@ public class PCAPanel extends GPCAPanel @Override protected void doDimensionChange() { - if (top == 0) + if (getTop() == 0) { return; } - int dim1 = top - xCombobox.getSelectedIndex(); - int dim2 = top - yCombobox.getSelectedIndex(); - int dim3 = top - zCombobox.getSelectedIndex(); - pcaModel.updateRcView(dim1, dim2, dim3); - rc.resetView(); + int dim1 = getTop() - xCombobox.getSelectedIndex(); + int dim2 = getTop() - yCombobox.getSelectedIndex(); + int dim3 = getTop() - zCombobox.getSelectedIndex(); + getPcaModel().updateRcView(dim1, dim2, dim3); + getRotatableCanvas().resetView(); } /** @@ -254,7 +255,7 @@ public class PCAPanel extends GPCAPanel CutAndPasteTransfer cap = new CutAndPasteTransfer(); try { - cap.setText(pcaModel.getDetails()); + cap.setText(getPcaModel().getDetails()); Desktop.addInternalFrame(cap, MessageManager.getString("label.pca_details"), 500, 500); } catch (OutOfMemoryError oom) @@ -267,7 +268,7 @@ public class PCAPanel extends GPCAPanel @Override protected void showLabels_actionPerformed() { - rc.showLabels(showLabels.getState()); + getRotatableCanvas().showLabels(showLabels.getState()); } @Override @@ -285,7 +286,7 @@ public class PCAPanel extends GPCAPanel public void originalSeqData_actionPerformed() { // JAL-2647 disabled after load from project (until save to project done) - if (pcaModel.getInputData() == null) + if (getPcaModel().getInputData() == null) { Cache.log.info( "Unexpected call to originalSeqData_actionPerformed - should have hidden this menu action."); @@ -307,7 +308,7 @@ public class PCAPanel extends GPCAPanel { } - Object[] alAndColsel = pcaModel.getInputData() + Object[] alAndColsel = getPcaModel().getInputData() .getAlignmentAndHiddenColumns(gc); if (alAndColsel != null && alAndColsel[0] != null) @@ -389,11 +390,11 @@ public class PCAPanel extends GPCAPanel { pg.translate((int) pf.getImageableX(), (int) pf.getImageableY()); - rc.drawBackground(pg); - rc.drawScene(pg); - if (rc.drawAxes) + getRotatableCanvas().drawBackground(pg); + getRotatableCanvas().drawScene(pg); + if (getRotatableCanvas().drawAxes) { - rc.drawAxes(pg); + getRotatableCanvas().drawAxes(pg); } if (pi == 0) @@ -427,8 +428,8 @@ public class PCAPanel extends GPCAPanel void makePCAImage(ImageMaker.TYPE type) { - int width = rc.getWidth(); - int height = rc.getHeight(); + int width = getRotatableCanvas().getWidth(); + int height = getRotatableCanvas().getHeight(); ImageMaker im; @@ -452,11 +453,11 @@ public class PCAPanel extends GPCAPanel if (im.getGraphics() != null) { - rc.drawBackground(im.getGraphics()); - rc.drawScene(im.getGraphics()); - if (rc.drawAxes) + getRotatableCanvas().drawBackground(im.getGraphics()); + getRotatableCanvas().drawScene(im.getGraphics()); + if (getRotatableCanvas().drawAxes) { - rc.drawAxes(im.getGraphics()); + getRotatableCanvas().drawAxes(im.getGraphics()); } im.writeImage(); } @@ -476,7 +477,7 @@ public class PCAPanel extends GPCAPanel { AlignmentPanel[] aps = PaintRefresher .getAssociatedPanels(av.getSequenceSetId()); - if (aps.length == 1 && rc.av == aps[0].av) + if (aps.length == 1 && getRotatableCanvas().av == aps[0].av) { associateViewsMenu.setVisible(false); return; @@ -498,17 +499,18 @@ public class PCAPanel extends GPCAPanel for (int i = 0; i < iSize; i++) { - final AlignmentPanel ap = aps[i]; - item = new JRadioButtonMenuItem(ap.av.getViewName(), ap.av == rc.av); + final AlignmentPanel panel = aps[i]; + item = new JRadioButtonMenuItem(panel.av.getViewName(), + panel.av == getRotatableCanvas().av); buttonGroup.add(item); item.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { - rc.applyToAllViews = false; - rc.av = panel.av; - rc.ap = panel; + getRotatableCanvas().setApplyToAllViews(false); + getRotatableCanvas().av = panel.av; + getRotatableCanvas().ap = panel; PaintRefresher.Register(PCAPanel.this, panel.av.getSequenceSetId()); } @@ -522,13 +524,13 @@ public class PCAPanel extends GPCAPanel buttonGroup.add(itemf); - itemf.setSelected(rc.applyToAllViews); + itemf.setSelected(getRotatableCanvas().isApplyToAllViews()); itemf.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { - rc.applyToAllViews = itemf.isSelected(); + getRotatableCanvas().setApplyToAllViews(itemf.isSelected()); } }); associateViewsMenu.add(itemf); @@ -548,7 +550,7 @@ public class PCAPanel extends GPCAPanel CutAndPasteTransfer cap = new CutAndPasteTransfer(); try { - cap.setText(pcaModel.getPointsasCsv(false, + cap.setText(getPcaModel().getPointsasCsv(false, xCombobox.getSelectedIndex(), yCombobox.getSelectedIndex(), zCombobox.getSelectedIndex())); Desktop.addInternalFrame(cap, MessageManager @@ -574,7 +576,7 @@ public class PCAPanel extends GPCAPanel CutAndPasteTransfer cap = new CutAndPasteTransfer(); try { - cap.setText(pcaModel.getPointsasCsv(true, + cap.setText(getPcaModel().getPointsasCsv(true, xCombobox.getSelectedIndex(), yCombobox.getSelectedIndex(), zCombobox.getSelectedIndex())); Desktop.addInternalFrame(cap, MessageManager.formatMessage( @@ -686,11 +688,11 @@ public class PCAPanel extends GPCAPanel @Override protected void resetButton_actionPerformed() { - int t = top; - top = 0; // ugly - prevents dimensionChanged events from being processed + int t = getTop(); + setTop(0); // ugly - prevents dimensionChanged events from being processed xCombobox.setSelectedIndex(0); yCombobox.setSelectedIndex(1); - top = t; + setTop(t); zCombobox.setSelectedIndex(2); } @@ -738,7 +740,42 @@ public class PCAPanel extends GPCAPanel */ public void setInputData(AlignmentView data) { - pcaModel.setInputData(data); + getPcaModel().setInputData(data); originalSeqData.setVisible(data != null); } + + public AlignViewportI getAlignViewport() + { + return av; + } + + public PCAModel getPcaModel() + { + return pcaModel; + } + + public void setPcaModel(PCAModel pcaModel) + { + this.pcaModel = pcaModel; + } + + public RotatableCanvas getRotatableCanvas() + { + return rc; + } + + public void setRotatableCanvas(RotatableCanvas rc) + { + this.rc = rc; + } + + public int getTop() + { + return top; + } + + public void setTop(int top) + { + this.top = top; + } } diff --git a/src/jalview/gui/RotatableCanvas.java b/src/jalview/gui/RotatableCanvas.java index b00055b..dc0cdb4 100755 --- a/src/jalview/gui/RotatableCanvas.java +++ b/src/jalview/gui/RotatableCanvas.java @@ -104,7 +104,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, * half the available width or height (whichever is less); increase this * factor to zoom in, decrease it to zoom out */ - float scaleFactor; + private float scaleFactor; int npoint; @@ -116,7 +116,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, /* * x, y, z axis end points (PCA dimension values) */ - Point[] axisEndPoints; + private Point[] axisEndPoints; // fields for 'select rectangle' (JAL-1124) // int rectx1; @@ -128,11 +128,11 @@ public class RotatableCanvas extends JPanel implements MouseListener, AlignmentPanel ap; - boolean showLabels; + private boolean showLabels; - Color bgColour; + private Color bgColour; - boolean applyToAllViews; + private boolean applyToAllViews; /** * Constructor @@ -143,10 +143,10 @@ public class RotatableCanvas extends JPanel implements MouseListener, { this.av = panel.av; this.ap = panel; - axisEndPoints = new Point[DIMS]; - showLabels = false; - applyToAllViews = false; - bgColour = Color.BLACK; + setAxisEndPoints(new Point[DIMS]); + setShowLabels(false); + setApplyToAllViews(false); + setBgColour(Color.BLACK); resetAxes(); ToolTipManager.sharedInstance().registerComponent(this); @@ -163,7 +163,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, */ public void showLabels(boolean show) { - showLabels = show; + setShowLabels(show); repaint(); } @@ -176,7 +176,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, findWidths(); - scaleFactor = 1f; + setScaleFactor(1f); } /** @@ -185,9 +185,9 @@ public class RotatableCanvas extends JPanel implements MouseListener, */ protected void resetAxes() { - axisEndPoints[0] = new Point(1f, 0f, 0f); - axisEndPoints[1] = new Point(0f, 1f, 0f); - axisEndPoints[2] = new Point(0f, 0f, 1f); + getAxisEndPoints()[0] = new Point(1f, 0f, 0f); + getAxisEndPoints()[1] = new Point(0f, 1f, 0f); + getAxisEndPoints()[2] = new Point(0f, 0f, 1f); } /** @@ -325,13 +325,13 @@ public class RotatableCanvas extends JPanel implements MouseListener, float maxWidth = Math.max(Math.abs(seqMax[0] - seqMin[0]), Math.abs(seqMax[1] - seqMin[1])); int pix = Math.min(getWidth(), getHeight()); - float scaleBy = pix * scaleFactor / (2f * maxWidth); + float scaleBy = pix * getScaleFactor() / (2f * maxWidth); for (int i = 0; i < DIMS; i++) { g.drawLine(midX, midY, - midX + (int) (axisEndPoints[i].x * scaleBy * seqMax[0]), - midY + (int) (axisEndPoints[i].y * scaleBy * seqMax[1])); + midX + (int) (getAxisEndPoints()[i].x * scaleBy * seqMax[0]), + midY + (int) (getAxisEndPoints()[i].y * scaleBy * seqMax[1])); } } @@ -342,7 +342,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, */ public void drawBackground(Graphics g) { - g.setColor(bgColour); + g.setColor(getBgColour()); g.fillRect(0, 0, prefSize.width, prefSize.height); } @@ -365,7 +365,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, float xWidth = Math.abs(seqMax[0] - seqMin[0]); float yWidth = Math.abs(seqMax[1] - seqMin[1]); float maxWidth = Math.max(xWidth, yWidth); - float scaleBy = pix * scaleFactor / (2f * maxWidth); + float scaleBy = pix * getScaleFactor() / (2f * maxWidth); float[] centre = getCentre(); @@ -385,19 +385,19 @@ public class RotatableCanvas extends JPanel implements MouseListener, int y = (int) ((sp.coord.y - centre[1]) * scaleBy) + halfheight; g.fillRect(x - 3, y - 3, 6, 6); - if (showLabels) + if (isShowLabels()) { g.setColor(Color.red); g.drawString(sp.getSequence().getName(), x - 3, y - 4); } } - if (showLabels) + if (isShowLabels()) { g.setColor(AXIS_COLOUR); int midX = getWidth() / 2; int midY = getHeight() / 2; Iterator axes = AXES.iterator(); - for (Point p : axisEndPoints) + for (Point p : getAxisEndPoints()) { int x = midX + (int) (p.x * scaleBy * seqMax[0]); int y = midY + (int) (p.y * scaleBy * seqMax[1]); @@ -525,7 +525,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, { if (factor > 0f) { - scaleFactor *= factor; + setScaleFactor(getScaleFactor() * factor); } } @@ -712,7 +712,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, */ for (int i = 0; i < DIMS; i++) { - axisEndPoints[i] = rotmat.vectorMultiply(axisEndPoints[i]); + getAxisEndPoints()[i] = rotmat.vectorMultiply(getAxisEndPoints()[i]); } } @@ -748,9 +748,9 @@ public class RotatableCanvas extends JPanel implements MouseListener, for (int i = 0; i < npoint; i++) { SequencePoint sp = sequencePoints.get(i); - int tmp1 = (int) (((sp.coord.x - centre[0]) * scaleFactor) + int tmp1 = (int) (((sp.coord.x - centre[0]) * getScaleFactor()) + (getWidth() / 2.0)); - int tmp2 = (int) (((sp.coord.y - centre[1]) * scaleFactor) + int tmp2 = (int) (((sp.coord.y - centre[1]) * getScaleFactor()) + (getHeight() / 2.0)); if ((tmp1 > x1) && (tmp1 < x2) && (tmp2 > y1) && (tmp2 < y2)) @@ -787,7 +787,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, float xWidth = Math.abs(seqMax[0] - seqMin[0]); float yWidth = Math.abs(seqMax[1] - seqMin[1]); float maxWidth = Math.max(xWidth, yWidth); - float scaleBy = pix * scaleFactor / (2f * maxWidth); + float scaleBy = pix * getScaleFactor() / (2f * maxWidth); float[] centre = getCentre(); @@ -824,7 +824,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, */ AlignmentPanel[] getAssociatedPanels() { - if (applyToAllViews) + if (isApplyToAllViews()) { return PaintRefresher.getAssociatedPanels(av.getSequenceSetId()); } @@ -836,7 +836,7 @@ public class RotatableCanvas extends JPanel implements MouseListener, public Color getBackgroundColour() { - return bgColour; + return getBgColour(); } /** @@ -894,4 +894,54 @@ public class RotatableCanvas extends JPanel implements MouseListener, seqMin = min; seqMax = max; } + + public float getScaleFactor() + { + return scaleFactor; + } + + public void setScaleFactor(float scaleFactor) + { + this.scaleFactor = scaleFactor; + } + + public boolean isShowLabels() + { + return showLabels; + } + + public void setShowLabels(boolean showLabels) + { + this.showLabels = showLabels; + } + + public boolean isApplyToAllViews() + { + return applyToAllViews; + } + + public void setApplyToAllViews(boolean applyToAllViews) + { + this.applyToAllViews = applyToAllViews; + } + + public Point[] getAxisEndPoints() + { + return axisEndPoints; + } + + public void setAxisEndPoints(Point[] axisEndPoints) + { + this.axisEndPoints = axisEndPoints; + } + + public Color getBgColour() + { + return bgColour; + } + + public void setBgColour(Color bgColour) + { + this.bgColour = bgColour; + } } diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index 45def89..c195c80 100755 --- a/src/jalview/gui/TreeCanvas.java +++ b/src/jalview/gui/TreeCanvas.java @@ -1160,4 +1160,14 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, { this.threshold = threshold; } + + public boolean isApplyToAllViews() + { + return this.applyToAllViews; + } + + public void setApplyToAllViews(boolean applyToAllViews) + { + this.applyToAllViews = applyToAllViews; + } } diff --git a/src/jalview/project/Jalview2XML.java b/src/jalview/project/Jalview2XML.java index 90c09d7..9f796f2 100644 --- a/src/jalview/project/Jalview2XML.java +++ b/src/jalview/project/Jalview2XML.java @@ -20,9 +20,18 @@ */ package jalview.project; +import static jalview.math.RotatableMatrix.Axis.X; +import static jalview.math.RotatableMatrix.Axis.Y; +import static jalview.math.RotatableMatrix.Axis.Z; + import jalview.analysis.Conservation; +import jalview.analysis.PCA; +import jalview.analysis.scoremodels.ScoreModels; +import jalview.analysis.scoremodels.SimilarityParams; import jalview.api.FeatureColourI; import jalview.api.ViewStyleI; +import jalview.api.analysis.ScoreModelI; +import jalview.api.analysis.SimilarityParamsI; import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.datamodel.AlignedCodonFrame; @@ -31,6 +40,7 @@ import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.GraphLine; import jalview.datamodel.PDBEntry; +import jalview.datamodel.Point; import jalview.datamodel.RnaViewerModel; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceGroup; @@ -52,6 +62,7 @@ import jalview.gui.FeatureRenderer; import jalview.gui.Jalview2XML_V1; import jalview.gui.JvOptionPane; import jalview.gui.OOMWarning; +import jalview.gui.PCAPanel; import jalview.gui.PaintRefresher; import jalview.gui.SplitFrame; import jalview.gui.StructureViewer; @@ -61,6 +72,8 @@ import jalview.gui.TreePanel; import jalview.io.DataSourceType; import jalview.io.FileFormat; import jalview.io.NewickFile; +import jalview.math.Matrix; +import jalview.math.MatrixI; import jalview.renderer.ResidueShaderI; import jalview.schemes.AnnotationColourGradient; import jalview.schemes.ColourSchemeI; @@ -77,6 +90,7 @@ import jalview.util.StringUtils; import jalview.util.jarInputStreamProvider; import jalview.util.matcher.Condition; import jalview.viewmodel.AlignmentViewport; +import jalview.viewmodel.PCAModel; import jalview.viewmodel.ViewportRanges; import jalview.viewmodel.seqfeatures.FeatureRendererSettings; import jalview.viewmodel.seqfeatures.FeaturesDisplayed; @@ -92,6 +106,8 @@ import jalview.xml.binding.jalview.Annotation; import jalview.xml.binding.jalview.Annotation.ThresholdLine; import jalview.xml.binding.jalview.AnnotationColourScheme; import jalview.xml.binding.jalview.AnnotationElement; +import jalview.xml.binding.jalview.DoubleMatrix; +import jalview.xml.binding.jalview.DoubleVector; import jalview.xml.binding.jalview.Feature; import jalview.xml.binding.jalview.Feature.OtherData; import jalview.xml.binding.jalview.FeatureMatcherSet.CompoundMatcher; @@ -106,6 +122,11 @@ import jalview.xml.binding.jalview.JalviewModel.JSeq.Pdbids; import jalview.xml.binding.jalview.JalviewModel.JSeq.Pdbids.StructureState; import jalview.xml.binding.jalview.JalviewModel.JSeq.RnaViewer; import jalview.xml.binding.jalview.JalviewModel.JSeq.RnaViewer.SecondaryStructure; +import jalview.xml.binding.jalview.JalviewModel.PcaViewer; +import jalview.xml.binding.jalview.JalviewModel.PcaViewer.Axis; +import jalview.xml.binding.jalview.JalviewModel.PcaViewer.SeqPointMax; +import jalview.xml.binding.jalview.JalviewModel.PcaViewer.SeqPointMin; +import jalview.xml.binding.jalview.JalviewModel.PcaViewer.SequencePoint; import jalview.xml.binding.jalview.JalviewModel.Tree; import jalview.xml.binding.jalview.JalviewModel.UserColours; import jalview.xml.binding.jalview.JalviewModel.Viewport; @@ -118,6 +139,7 @@ import jalview.xml.binding.jalview.MapListType.MapListTo; import jalview.xml.binding.jalview.Mapping; import jalview.xml.binding.jalview.NoValueColour; import jalview.xml.binding.jalview.ObjectFactory; +import jalview.xml.binding.jalview.PcaDataType; import jalview.xml.binding.jalview.Pdbentry.Property; import jalview.xml.binding.jalview.Sequence; import jalview.xml.binding.jalview.Sequence.DBRef; @@ -1215,6 +1237,9 @@ public class Jalview2XML tree.setXpos(tp.getX()); tree.setYpos(tp.getY()); tree.setId(makeHashCode(tp, null)); + tree.setLinkToAllViews( + tp.getTreeCanvas().isApplyToAllViews()); + // jms.addTree(tree); object.getTree().add(tree); } @@ -1223,6 +1248,24 @@ public class Jalview2XML } } + /* + * save PCA viewers + */ + if (!storeDS && Desktop.desktop != null) + { + for (JInternalFrame frame : Desktop.desktop.getAllFrames()) + { + if (frame instanceof PCAPanel) + { + PCAPanel panel = (PCAPanel) frame; + if (panel.getAlignViewport().getAlignment() == jal) + { + savePCA(panel, object); + } + } + } + } + // SAVE ANNOTATIONS /** * store forward refs from an annotationRow to any groups @@ -1630,6 +1673,198 @@ public class Jalview2XML } /** + * Writes PCA viewer attributes and computed values to an XML model object and + * adds it to the JalviewModel. Any exceptions are reported by logging. + */ + protected void savePCA(PCAPanel panel, JalviewModel object) + { + try + { + PcaViewer viewer = new PcaViewer(); + viewer.setHeight(panel.getHeight()); + viewer.setWidth(panel.getWidth()); + viewer.setXpos(panel.getX()); + viewer.setYpos(panel.getY()); + viewer.setTitle(panel.getTitle()); + PCAModel pcaModel = panel.getPcaModel(); + viewer.setScoreModelName(pcaModel.getScoreModelName()); + viewer.setXDim(panel.getSelectedDimensionIndex(X)); + viewer.setYDim(panel.getSelectedDimensionIndex(Y)); + viewer.setZDim(panel.getSelectedDimensionIndex(Z)); + viewer.setBgColour( + panel.getRotatableCanvas().getBackgroundColour().getRGB()); + viewer.setScaleFactor(panel.getRotatableCanvas().getScaleFactor()); + float[] spMin = panel.getRotatableCanvas().getSeqMin(); + SeqPointMin spmin = new SeqPointMin(); + spmin.setXPos(spMin[0]); + spmin.setYPos(spMin[1]); + spmin.setZPos(spMin[2]); + viewer.setSeqPointMin(spmin); + float[] spMax = panel.getRotatableCanvas().getSeqMax(); + SeqPointMax spmax = new SeqPointMax(); + spmax.setXPos(spMax[0]); + spmax.setYPos(spMax[1]); + spmax.setZPos(spMax[2]); + viewer.setSeqPointMax(spmax); + viewer.setShowLabels(panel.getRotatableCanvas().isShowLabels()); + viewer.setLinkToAllViews( + panel.getRotatableCanvas().isApplyToAllViews()); + SimilarityParamsI sp = pcaModel.getSimilarityParameters(); + viewer.setIncludeGaps(sp.includeGaps()); + viewer.setMatchGaps(sp.matchGaps()); + viewer.setIncludeGappedColumns(sp.includeGappedColumns()); + viewer.setDenominateByShortestLength(sp.denominateByShortestLength()); + + /* + * sequence points on display + */ + for (jalview.datamodel.SequencePoint spt : pcaModel + .getSequencePoints()) + { + SequencePoint point = new SequencePoint(); + point.setSequenceRef(seqHash(spt.getSequence())); + point.setXPos(spt.coord.x); + point.setYPos(spt.coord.y); + point.setZPos(spt.coord.z); + viewer.getSequencePoint().add(point); + } + + /* + * (end points of) axes on display + */ + for (Point p : panel.getRotatableCanvas().getAxisEndPoints()) + { + + Axis axis = new Axis(); + axis.setXPos(p.x); + axis.setYPos(p.y); + axis.setZPos(p.z); + viewer.getAxis().add(axis); + } + + /* + * raw PCA data (note we are not restoring PCA inputs here - + * alignment view, score model, similarity parameters) + */ + PcaDataType data = new PcaDataType(); + viewer.setPcaData(data); + PCA pca = pcaModel.getPcaData(); + + DoubleMatrix pm = new DoubleMatrix(); + saveDoubleMatrix(pca.getPairwiseScores(), pm); + data.setPairwiseMatrix(pm); + + DoubleMatrix tm = new DoubleMatrix(); + saveDoubleMatrix(pca.getTridiagonal(), tm); + data.setTridiagonalMatrix(tm); + + DoubleMatrix eigenMatrix = new DoubleMatrix(); + data.setEigenMatrix(eigenMatrix); + saveDoubleMatrix(pca.getEigenmatrix(), eigenMatrix); + + object.getPcaViewer().add(viewer); + } catch (Throwable t) + { + Cache.log.error("Error saving PCA: " + t.getMessage()); + } + } + + /** + * Stores values from a matrix into an XML element, including (if present) the + * D or E vectors + * + * @param m + * @param xmlMatrix + * @see #loadDoubleMatrix(DoubleMatrix) + */ + protected void saveDoubleMatrix(MatrixI m, DoubleMatrix xmlMatrix) + { + xmlMatrix.setRows(m.height()); + xmlMatrix.setColumns(m.width()); + for (int i = 0; i < m.height(); i++) + { + DoubleVector row = new DoubleVector(); + for (int j = 0; j < m.width(); j++) + { + row.getV().add(m.getValue(i, j)); + } + xmlMatrix.getRow().add(row); + } + if (m.getD() != null) + { + DoubleVector dVector = new DoubleVector(); + for (double d : m.getD()) + { + dVector.getV().add(d); + } + xmlMatrix.setD(dVector); + } + if (m.getE() != null) + { + DoubleVector eVector = new DoubleVector(); + for (double e : m.getE()) + { + eVector.getV().add(e); + } + xmlMatrix.setE(eVector); + } + } + + /** + * Loads XML matrix data into a new Matrix object, including the D and/or E + * vectors (if present) + * + * @param mData + * @return + * @see Jalview2XML#saveDoubleMatrix(MatrixI, DoubleMatrix) + */ + protected MatrixI loadDoubleMatrix(DoubleMatrix mData) + { + int rows = mData.getRows(); + double[][] vals = new double[rows][]; + List dVector; + double[] vec; + + for (int i = 0; i < rows; i++) + { + dVector = mData.getRow().get(i).getV(); + vals[i] = new double[dVector.size()]; + int dvi = 0; + for (Double d : dVector) + { + vals[i][dvi++] = d; + } + } + + MatrixI m = new Matrix(vals); + + if (mData.getD() != null) + { + dVector = mData.getD().getV(); + vec = new double[dVector.size()]; + int dvi = 0; + for (Double d : dVector) + { + vec[dvi++] = d; + } + m.setD(vec); + } + if (mData.getE() != null) + { + dVector = mData.getE().getV(); + vec = new double[dVector.size()]; + int dvi = 0; + for (Double d : dVector) + { + vec[dvi++] = d; + } + m.setE(vec); + } + + return m; + } + + /** * Save any Varna viewers linked to this sequence. Writes an rnaViewer element * for each viewer, with *
    @@ -3799,6 +4034,7 @@ public class Jalview2XML if (loadTreesAndStructures) { loadTrees(jalviewModel, view, af, av, ap); + loadPCAViewers(jalviewModel, ap); loadPDBStructures(jprovider, jseqs, af, ap); loadRnaViewers(jprovider, jseqs, ap); } @@ -3947,6 +4183,8 @@ public class Jalview2XML // TODO: verify 'associate with all views' works still tp.getTreeCanvas().setViewport(av); // af.viewport; tp.getTreeCanvas().setAssociatedPanel(ap); // af.alignPanel; + // FIXME: should we use safeBoolean here ? + tp.getTreeCanvas().setApplyToAllViews(tree.isLinkToAllViews()); } if (tp == null) @@ -5935,6 +6173,128 @@ public class Jalview2XML } /** + * Loads any saved PCA viewers + * + * @param jms + * @param ap + */ + protected void loadPCAViewers(JalviewModel model, AlignmentPanel ap) + { + try + { + List pcaviewers = model.getPcaViewer(); + for (PcaViewer viewer : pcaviewers) + { + String modelName = viewer.getScoreModelName(); + SimilarityParamsI params = new SimilarityParams( + viewer.isIncludeGappedColumns(), viewer.isMatchGaps(), + viewer.isIncludeGaps(), + viewer.isDenominateByShortestLength()); + + /* + * create the panel (without computing the PCA) + */ + PCAPanel panel = new PCAPanel(ap, modelName, params); + + panel.setTitle(viewer.getTitle()); + panel.setBounds(new Rectangle(viewer.getXpos(), viewer.getYpos(), + viewer.getWidth(), viewer.getHeight())); + + boolean showLabels = viewer.isShowLabels(); + panel.setShowLabels(showLabels); + panel.getRotatableCanvas().setShowLabels(showLabels); + panel.getRotatableCanvas() + .setBgColour(new Color(viewer.getBgColour())); + panel.getRotatableCanvas() + .setApplyToAllViews(viewer.isLinkToAllViews()); + + /* + * load PCA output data + */ + ScoreModelI scoreModel = ScoreModels.getInstance() + .getScoreModel(modelName, ap); + PCA pca = new PCA(null, scoreModel, params); + PcaDataType pcaData = viewer.getPcaData(); + + MatrixI pairwise = loadDoubleMatrix(pcaData.getPairwiseMatrix()); + pca.setPairwiseScores(pairwise); + + MatrixI triDiag = loadDoubleMatrix(pcaData.getTridiagonalMatrix()); + pca.setTridiagonal(triDiag); + + MatrixI result = loadDoubleMatrix(pcaData.getEigenMatrix()); + pca.setEigenmatrix(result); + + panel.getPcaModel().setPCA(pca); + + /* + * we haven't saved the input data! (JAL-2647 to do) + */ + panel.setInputData(null); + + /* + * add the sequence points for the PCA display + */ + List seqPoints = new ArrayList<>(); + for (SequencePoint sp : viewer.getSequencePoint()) + { + String seqId = sp.getSequenceRef(); + SequenceI seq = seqRefIds.get(seqId); + if (seq == null) + { + throw new IllegalStateException( + "Unmatched seqref for PCA: " + seqId); + } + Point pt = new Point(sp.getXPos(), sp.getYPos(), sp.getZPos()); + jalview.datamodel.SequencePoint seqPoint = new jalview.datamodel.SequencePoint( + seq, pt); + seqPoints.add(seqPoint); + } + panel.getRotatableCanvas().setPoints(seqPoints, seqPoints.size()); + + /* + * set min-max ranges and scale after setPoints (which recomputes them) + */ + panel.getRotatableCanvas().setScaleFactor(viewer.getScaleFactor()); + SeqPointMin spMin = viewer.getSeqPointMin(); + float[] min = new float[] { spMin.getXPos(), spMin.getYPos(), + spMin.getZPos() }; + SeqPointMax spMax = viewer.getSeqPointMax(); + float[] max = new float[] { spMax.getXPos(), spMax.getYPos(), + spMax.getZPos() }; + panel.getRotatableCanvas().setSeqMinMax(min, max); + + // todo: hold points list in PCAModel only + panel.getPcaModel().setSequencePoints(seqPoints); + + panel.setSelectedDimensionIndex(viewer.getXDim(), X); + panel.setSelectedDimensionIndex(viewer.getYDim(), Y); + panel.setSelectedDimensionIndex(viewer.getZDim(), Z); + + // is this duplication needed? + panel.setTop(seqPoints.size() - 1); + panel.getPcaModel().setTop(seqPoints.size() - 1); + + /* + * add the axes' end points for the display + */ + for (int i = 0; i < 3; i++) + { + Axis axis = viewer.getAxis().get(i); + panel.getRotatableCanvas().getAxisEndPoints()[i] = new Point( + axis.getXPos(), axis.getYPos(), axis.getZPos()); + } + + Desktop.addInternalFrame(panel, MessageManager.formatMessage( + "label.calc_title", "PCA", modelName), 475, 450); + } + } catch (Exception ex) + { + Cache.log.error("Error loading PCA: " + ex.toString()); + } + } + + /** * Populates an XML model of the feature colour scheme for one feature type * * @param featureType diff --git a/src/jalview/xml/binding/jalview/AlcodonFrame.java b/src/jalview/xml/binding/jalview/AlcodonFrame.java index 370ecc5..83f1ee2 100644 --- a/src/jalview/xml/binding/jalview/AlcodonFrame.java +++ b/src/jalview/xml/binding/jalview/AlcodonFrame.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/Annotation.java b/src/jalview/xml/binding/jalview/Annotation.java index 148406e..0dbcad0 100644 --- a/src/jalview/xml/binding/jalview/Annotation.java +++ b/src/jalview/xml/binding/jalview/Annotation.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/AnnotationColourScheme.java b/src/jalview/xml/binding/jalview/AnnotationColourScheme.java index c9ee5f1..44affa2 100644 --- a/src/jalview/xml/binding/jalview/AnnotationColourScheme.java +++ b/src/jalview/xml/binding/jalview/AnnotationColourScheme.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/AnnotationElement.java b/src/jalview/xml/binding/jalview/AnnotationElement.java index 8cbd4fe..de408d2 100644 --- a/src/jalview/xml/binding/jalview/AnnotationElement.java +++ b/src/jalview/xml/binding/jalview/AnnotationElement.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/DoubleMatrix.java b/src/jalview/xml/binding/jalview/DoubleMatrix.java new file mode 100644 index 0000000..b4c07bc --- /dev/null +++ b/src/jalview/xml/binding/jalview/DoubleMatrix.java @@ -0,0 +1,186 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2018.12.20 at 11:47:26 AM GMT +// + + +package jalview.xml.binding.jalview; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

    Java class for DoubleMatrix complex type. + * + *

    The following schema fragment specifies the expected content contained within this class. + * + *

    + * <complexType name="DoubleMatrix">
    + *   <complexContent>
    + *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    + *       <sequence>
    + *         <element name="row" type="{www.jalview.org}DoubleVector" maxOccurs="unbounded" minOccurs="0"/>
    + *         <element name="D" type="{www.jalview.org}DoubleVector" minOccurs="0"/>
    + *         <element name="E" type="{www.jalview.org}DoubleVector" minOccurs="0"/>
    + *       </sequence>
    + *       <attribute name="rows" type="{http://www.w3.org/2001/XMLSchema}int" />
    + *       <attribute name="columns" type="{http://www.w3.org/2001/XMLSchema}int" />
    + *     </restriction>
    + *   </complexContent>
    + * </complexType>
    + * 
    + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DoubleMatrix", namespace = "www.jalview.org", propOrder = { + "row", + "d", + "e" +}) +public class DoubleMatrix { + + protected List row; + @XmlElement(name = "D") + protected DoubleVector d; + @XmlElement(name = "E") + protected DoubleVector e; + @XmlAttribute(name = "rows") + protected Integer rows; + @XmlAttribute(name = "columns") + protected Integer columns; + + /** + * Gets the value of the row property. + * + *

    + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the row property. + * + *

    + * For example, to add a new item, do as follows: + *

    +     *    getRow().add(newItem);
    +     * 
    + * + * + *

    + * Objects of the following type(s) are allowed in the list + * {@link DoubleVector } + * + * + */ + public List getRow() { + if (row == null) { + row = new ArrayList(); + } + return this.row; + } + + /** + * Gets the value of the d property. + * + * @return + * possible object is + * {@link DoubleVector } + * + */ + public DoubleVector getD() { + return d; + } + + /** + * Sets the value of the d property. + * + * @param value + * allowed object is + * {@link DoubleVector } + * + */ + public void setD(DoubleVector value) { + this.d = value; + } + + /** + * Gets the value of the e property. + * + * @return + * possible object is + * {@link DoubleVector } + * + */ + public DoubleVector getE() { + return e; + } + + /** + * Sets the value of the e property. + * + * @param value + * allowed object is + * {@link DoubleVector } + * + */ + public void setE(DoubleVector value) { + this.e = value; + } + + /** + * Gets the value of the rows property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getRows() { + return rows; + } + + /** + * Sets the value of the rows property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setRows(Integer value) { + this.rows = value; + } + + /** + * Gets the value of the columns property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getColumns() { + return columns; + } + + /** + * Sets the value of the columns property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setColumns(Integer value) { + this.columns = value; + } + +} diff --git a/src/jalview/xml/binding/jalview/DoubleVector.java b/src/jalview/xml/binding/jalview/DoubleVector.java new file mode 100644 index 0000000..e2592ab --- /dev/null +++ b/src/jalview/xml/binding/jalview/DoubleVector.java @@ -0,0 +1,76 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2018.12.20 at 11:47:26 AM GMT +// + + +package jalview.xml.binding.jalview; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

    Java class for DoubleVector complex type. + * + *

    The following schema fragment specifies the expected content contained within this class. + * + *

    + * <complexType name="DoubleVector">
    + *   <complexContent>
    + *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    + *       <sequence>
    + *         <element name="v" type="{http://www.w3.org/2001/XMLSchema}double" maxOccurs="unbounded" minOccurs="0"/>
    + *       </sequence>
    + *     </restriction>
    + *   </complexContent>
    + * </complexType>
    + * 
    + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DoubleVector", namespace = "www.jalview.org", propOrder = { + "v" +}) +public class DoubleVector { + + @XmlElement(type = Double.class) + protected List v; + + /** + * Gets the value of the v property. + * + *

    + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the v property. + * + *

    + * For example, to add a new item, do as follows: + *

    +     *    getV().add(newItem);
    +     * 
    + * + * + *

    + * Objects of the following type(s) are allowed in the list + * {@link Double } + * + * + */ + public List getV() { + if (v == null) { + v = new ArrayList(); + } + return this.v; + } + +} diff --git a/src/jalview/xml/binding/jalview/Feature.java b/src/jalview/xml/binding/jalview/Feature.java index 7585f83..9001ee2 100644 --- a/src/jalview/xml/binding/jalview/Feature.java +++ b/src/jalview/xml/binding/jalview/Feature.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/FeatureMatcher.java b/src/jalview/xml/binding/jalview/FeatureMatcher.java index 3161408..0daf56a 100644 --- a/src/jalview/xml/binding/jalview/FeatureMatcher.java +++ b/src/jalview/xml/binding/jalview/FeatureMatcher.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/FeatureMatcherSet.java b/src/jalview/xml/binding/jalview/FeatureMatcherSet.java index 5e181a1..bf69d5b 100644 --- a/src/jalview/xml/binding/jalview/FeatureMatcherSet.java +++ b/src/jalview/xml/binding/jalview/FeatureMatcherSet.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/FilterBy.java b/src/jalview/xml/binding/jalview/FilterBy.java index a854b63..5684acf 100644 --- a/src/jalview/xml/binding/jalview/FilterBy.java +++ b/src/jalview/xml/binding/jalview/FilterBy.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/JalviewModel.java b/src/jalview/xml/binding/jalview/JalviewModel.java index 0f538f2..ed57edc 100644 --- a/src/jalview/xml/binding/jalview/JalviewModel.java +++ b/src/jalview/xml/binding/jalview/JalviewModel.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // @@ -243,6 +243,66 @@ import javax.xml.datatype.XMLGregorianCalendar; * <attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /> * <attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" /> * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * <attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="PcaViewer" maxOccurs="unbounded" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="sequencePoint" maxOccurs="unbounded"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <attGroup ref="{www.jalview.org}position"/> + * <attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="axis" maxOccurs="3" minOccurs="3"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <attGroup ref="{www.jalview.org}position"/> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="seqPointMin"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <attGroup ref="{www.jalview.org}position"/> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="seqPointMax"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <attGroup ref="{www.jalview.org}position"/> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="pcaData" type="{www.jalview.org}PcaDataType"/> + * </sequence> + * <attGroup ref="{www.jalview.org}swingwindow"/> + * <attGroup ref="{www.jalview.org}SimilarityParams"/> + * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /> + * <attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /> + * <attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" /> + * <attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /> + * <attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /> + * <attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /> + * <attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /> * </restriction> * </complexContent> * </complexType> @@ -310,6 +370,7 @@ import javax.xml.datatype.XMLGregorianCalendar; "viewport", "userColours", "tree", + "pcaViewer", "featureSettings" }) public class JalviewModel { @@ -330,6 +391,8 @@ public class JalviewModel { @XmlElement(name = "UserColours") protected List userColours; protected List tree; + @XmlElement(name = "PcaViewer") + protected List pcaViewer; @XmlElement(name = "FeatureSettings") protected JalviewModel.FeatureSettings featureSettings; @@ -551,6 +614,35 @@ public class JalviewModel { } /** + * Gets the value of the pcaViewer property. + * + *

    + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the pcaViewer property. + * + *

    + * For example, to add a new item, do as follows: + *

    +     *    getPcaViewer().add(newItem);
    +     * 
    + * + * + *

    + * Objects of the following type(s) are allowed in the list + * {@link JalviewModel.PcaViewer } + * + * + */ + public List getPcaViewer() { + if (pcaViewer == null) { + pcaViewer = new ArrayList(); + } + return this.pcaViewer; + } + + /** * Gets the value of the featureSettings property. * * @return @@ -2974,21 +3066,57 @@ public class JalviewModel { * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence minOccurs="0"> - * <element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <sequence> + * <element name="sequencePoint" maxOccurs="unbounded"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <attGroup ref="{www.jalview.org}position"/> + * <attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="axis" maxOccurs="3" minOccurs="3"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <attGroup ref="{www.jalview.org}position"/> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="seqPointMin"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <attGroup ref="{www.jalview.org}position"/> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="seqPointMax"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <attGroup ref="{www.jalview.org}position"/> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="pcaData" type="{www.jalview.org}PcaDataType"/> * </sequence> * <attGroup ref="{www.jalview.org}swingwindow"/> - * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" /> - * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" /> - * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" /> - * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" /> - * <attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" /> - * <attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" /> - * <attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" /> - * <attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" /> - * <attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" /> - * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * <attGroup ref="{www.jalview.org}SimilarityParams"/> + * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="scoreModelName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="xDim" type="{http://www.w3.org/2001/XMLSchema}int" /> + * <attribute name="yDim" type="{http://www.w3.org/2001/XMLSchema}int" /> + * <attribute name="zDim" type="{http://www.w3.org/2001/XMLSchema}int" /> + * <attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}int" /> + * <attribute name="scaleFactor" type="{http://www.w3.org/2001/XMLSchema}float" /> + * <attribute name="showLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" /> + * <attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" /> * </restriction> * </complexContent> * </complexType> @@ -2998,38 +3126,42 @@ public class JalviewModel { */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { - "title", - "newick" + "sequencePoint", + "axis", + "seqPointMin", + "seqPointMax", + "pcaData" }) - public static class Tree { + public static class PcaViewer { - @XmlElement(namespace = "www.jalview.org") + @XmlElement(namespace = "www.jalview.org", required = true) + protected List sequencePoint; + @XmlElement(namespace = "www.jalview.org", required = true) + protected List axis; + @XmlElement(namespace = "www.jalview.org", required = true) + protected JalviewModel.PcaViewer.SeqPointMin seqPointMin; + @XmlElement(namespace = "www.jalview.org", required = true) + protected JalviewModel.PcaViewer.SeqPointMax seqPointMax; + @XmlElement(namespace = "www.jalview.org", required = true) + protected PcaDataType pcaData; + @XmlAttribute(name = "title") protected String title; - @XmlElement(namespace = "www.jalview.org") - protected String newick; - @XmlAttribute(name = "fontName") - protected String fontName; - @XmlAttribute(name = "fontSize") - protected Integer fontSize; - @XmlAttribute(name = "fontStyle") - protected Integer fontStyle; - @XmlAttribute(name = "threshold") - protected Float threshold; - @XmlAttribute(name = "showBootstrap") - protected Boolean showBootstrap; - @XmlAttribute(name = "showDistances") - protected Boolean showDistances; - @XmlAttribute(name = "markUnlinked") - protected Boolean markUnlinked; - @XmlAttribute(name = "fitToWindow") - protected Boolean fitToWindow; - @XmlAttribute(name = "currentTree") - protected Boolean currentTree; - @XmlAttribute(name = "id") - @XmlJavaTypeAdapter(CollapsedStringAdapter.class) - @XmlID - @XmlSchemaType(name = "ID") - protected String id; + @XmlAttribute(name = "scoreModelName") + protected String scoreModelName; + @XmlAttribute(name = "xDim") + protected Integer xDim; + @XmlAttribute(name = "yDim") + protected Integer yDim; + @XmlAttribute(name = "zDim") + protected Integer zDim; + @XmlAttribute(name = "bgColour") + protected Integer bgColour; + @XmlAttribute(name = "scaleFactor") + protected Float scaleFactor; + @XmlAttribute(name = "showLabels") + protected Boolean showLabels; + @XmlAttribute(name = "linkToAllViews") + protected Boolean linkToAllViews; @XmlAttribute(name = "width") protected Integer width; @XmlAttribute(name = "height") @@ -3038,201 +3170,1266 @@ public class JalviewModel { protected Integer xpos; @XmlAttribute(name = "ypos") protected Integer ypos; + @XmlAttribute(name = "includeGaps") + protected Boolean includeGaps; + @XmlAttribute(name = "matchGaps") + protected Boolean matchGaps; + @XmlAttribute(name = "includeGappedColumns") + protected Boolean includeGappedColumns; + @XmlAttribute(name = "denominateByShortestLength") + protected Boolean denominateByShortestLength; /** - * Gets the value of the title property. + * Gets the value of the sequencePoint property. + * + *

    + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the sequencePoint property. + * + *

    + * For example, to add a new item, do as follows: + *

    +         *    getSequencePoint().add(newItem);
    +         * 
    + * + * + *

    + * Objects of the following type(s) are allowed in the list + * {@link JalviewModel.PcaViewer.SequencePoint } + * * - * @return - * possible object is - * {@link String } - * */ - public String getTitle() { - return title; + public List getSequencePoint() { + if (sequencePoint == null) { + sequencePoint = new ArrayList(); + } + return this.sequencePoint; } /** - * Sets the value of the title property. + * Gets the value of the axis property. + * + *

    + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the axis property. + * + *

    + * For example, to add a new item, do as follows: + *

    +         *    getAxis().add(newItem);
    +         * 
    + * + * + *

    + * Objects of the following type(s) are allowed in the list + * {@link JalviewModel.PcaViewer.Axis } + * * - * @param value - * allowed object is - * {@link String } - * */ - public void setTitle(String value) { - this.title = value; + public List getAxis() { + if (axis == null) { + axis = new ArrayList(); + } + return this.axis; } /** - * Gets the value of the newick property. + * Gets the value of the seqPointMin property. * * @return * possible object is - * {@link String } + * {@link JalviewModel.PcaViewer.SeqPointMin } * */ - public String getNewick() { - return newick; + public JalviewModel.PcaViewer.SeqPointMin getSeqPointMin() { + return seqPointMin; } /** - * Sets the value of the newick property. + * Sets the value of the seqPointMin property. * * @param value * allowed object is - * {@link String } + * {@link JalviewModel.PcaViewer.SeqPointMin } * */ - public void setNewick(String value) { - this.newick = value; + public void setSeqPointMin(JalviewModel.PcaViewer.SeqPointMin value) { + this.seqPointMin = value; } /** - * Gets the value of the fontName property. + * Gets the value of the seqPointMax property. * * @return * possible object is - * {@link String } + * {@link JalviewModel.PcaViewer.SeqPointMax } * */ - public String getFontName() { - return fontName; + public JalviewModel.PcaViewer.SeqPointMax getSeqPointMax() { + return seqPointMax; } /** - * Sets the value of the fontName property. + * Sets the value of the seqPointMax property. * * @param value * allowed object is - * {@link String } + * {@link JalviewModel.PcaViewer.SeqPointMax } * */ - public void setFontName(String value) { - this.fontName = value; + public void setSeqPointMax(JalviewModel.PcaViewer.SeqPointMax value) { + this.seqPointMax = value; } /** - * Gets the value of the fontSize property. + * Gets the value of the pcaData property. * * @return * possible object is - * {@link Integer } + * {@link PcaDataType } * */ - public Integer getFontSize() { - return fontSize; + public PcaDataType getPcaData() { + return pcaData; } /** - * Sets the value of the fontSize property. + * Sets the value of the pcaData property. * * @param value * allowed object is - * {@link Integer } + * {@link PcaDataType } * */ - public void setFontSize(Integer value) { - this.fontSize = value; + public void setPcaData(PcaDataType value) { + this.pcaData = value; } /** - * Gets the value of the fontStyle property. + * Gets the value of the title property. * * @return * possible object is - * {@link Integer } + * {@link String } * */ - public Integer getFontStyle() { - return fontStyle; + public String getTitle() { + return title; } /** - * Sets the value of the fontStyle property. + * Sets the value of the title property. * * @param value * allowed object is - * {@link Integer } + * {@link String } * */ - public void setFontStyle(Integer value) { - this.fontStyle = value; + public void setTitle(String value) { + this.title = value; } /** - * Gets the value of the threshold property. + * Gets the value of the scoreModelName property. * * @return * possible object is - * {@link Float } + * {@link String } * */ - public Float getThreshold() { - return threshold; + public String getScoreModelName() { + return scoreModelName; } /** - * Sets the value of the threshold property. + * Sets the value of the scoreModelName property. * * @param value * allowed object is - * {@link Float } + * {@link String } * */ - public void setThreshold(Float value) { - this.threshold = value; + public void setScoreModelName(String value) { + this.scoreModelName = value; } /** - * Gets the value of the showBootstrap property. + * Gets the value of the xDim property. * * @return * possible object is - * {@link Boolean } + * {@link Integer } * */ - public Boolean isShowBootstrap() { - return showBootstrap; + public Integer getXDim() { + return xDim; } /** - * Sets the value of the showBootstrap property. + * Sets the value of the xDim property. * * @param value * allowed object is - * {@link Boolean } + * {@link Integer } * */ - public void setShowBootstrap(Boolean value) { - this.showBootstrap = value; + public void setXDim(Integer value) { + this.xDim = value; } /** - * Gets the value of the showDistances property. + * Gets the value of the yDim property. * * @return * possible object is - * {@link Boolean } + * {@link Integer } * */ - public Boolean isShowDistances() { - return showDistances; + public Integer getYDim() { + return yDim; } /** - * Sets the value of the showDistances property. + * Sets the value of the yDim property. * * @param value * allowed object is - * {@link Boolean } + * {@link Integer } * */ - public void setShowDistances(Boolean value) { - this.showDistances = value; + public void setYDim(Integer value) { + this.yDim = value; } /** - * Gets the value of the markUnlinked property. + * Gets the value of the zDim property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getZDim() { + return zDim; + } + + /** + * Sets the value of the zDim property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setZDim(Integer value) { + this.zDim = value; + } + + /** + * Gets the value of the bgColour property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getBgColour() { + return bgColour; + } + + /** + * Sets the value of the bgColour property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setBgColour(Integer value) { + this.bgColour = value; + } + + /** + * Gets the value of the scaleFactor property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getScaleFactor() { + return scaleFactor; + } + + /** + * Sets the value of the scaleFactor property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setScaleFactor(Float value) { + this.scaleFactor = value; + } + + /** + * Gets the value of the showLabels property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isShowLabels() { + return showLabels; + } + + /** + * Sets the value of the showLabels property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setShowLabels(Boolean value) { + this.showLabels = value; + } + + /** + * Gets the value of the linkToAllViews property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isLinkToAllViews() { + return linkToAllViews; + } + + /** + * Sets the value of the linkToAllViews property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setLinkToAllViews(Boolean value) { + this.linkToAllViews = value; + } + + /** + * Gets the value of the width property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getWidth() { + return width; + } + + /** + * Sets the value of the width property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setWidth(Integer value) { + this.width = value; + } + + /** + * Gets the value of the height property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getHeight() { + return height; + } + + /** + * Sets the value of the height property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setHeight(Integer value) { + this.height = value; + } + + /** + * Gets the value of the xpos property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getXpos() { + return xpos; + } + + /** + * Sets the value of the xpos property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setXpos(Integer value) { + this.xpos = value; + } + + /** + * Gets the value of the ypos property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getYpos() { + return ypos; + } + + /** + * Sets the value of the ypos property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setYpos(Integer value) { + this.ypos = value; + } + + /** + * Gets the value of the includeGaps property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIncludeGaps() { + return includeGaps; + } + + /** + * Sets the value of the includeGaps property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIncludeGaps(Boolean value) { + this.includeGaps = value; + } + + /** + * Gets the value of the matchGaps property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isMatchGaps() { + return matchGaps; + } + + /** + * Sets the value of the matchGaps property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setMatchGaps(Boolean value) { + this.matchGaps = value; + } + + /** + * Gets the value of the includeGappedColumns property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIncludeGappedColumns() { + return includeGappedColumns; + } + + /** + * Sets the value of the includeGappedColumns property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIncludeGappedColumns(Boolean value) { + this.includeGappedColumns = value; + } + + /** + * Gets the value of the denominateByShortestLength property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isDenominateByShortestLength() { + return denominateByShortestLength; + } + + /** + * Sets the value of the denominateByShortestLength property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setDenominateByShortestLength(Boolean value) { + this.denominateByShortestLength = value; + } + + + /** + *

    Java class for anonymous complex type. + * + *

    The following schema fragment specifies the expected content contained within this class. + * + *

    +         * <complexType>
    +         *   <complexContent>
    +         *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    +         *       <attGroup ref="{www.jalview.org}position"/>
    +         *     </restriction>
    +         *   </complexContent>
    +         * </complexType>
    +         * 
    + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "") + public static class Axis { + + @XmlAttribute(name = "xPos") + protected Float xPos; + @XmlAttribute(name = "yPos") + protected Float yPos; + @XmlAttribute(name = "zPos") + protected Float zPos; + + /** + * Gets the value of the xPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getXPos() { + return xPos; + } + + /** + * Sets the value of the xPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setXPos(Float value) { + this.xPos = value; + } + + /** + * Gets the value of the yPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getYPos() { + return yPos; + } + + /** + * Sets the value of the yPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setYPos(Float value) { + this.yPos = value; + } + + /** + * Gets the value of the zPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getZPos() { + return zPos; + } + + /** + * Sets the value of the zPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setZPos(Float value) { + this.zPos = value; + } + + } + + + /** + *

    Java class for anonymous complex type. + * + *

    The following schema fragment specifies the expected content contained within this class. + * + *

    +         * <complexType>
    +         *   <complexContent>
    +         *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    +         *       <attGroup ref="{www.jalview.org}position"/>
    +         *     </restriction>
    +         *   </complexContent>
    +         * </complexType>
    +         * 
    + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "") + public static class SeqPointMax { + + @XmlAttribute(name = "xPos") + protected Float xPos; + @XmlAttribute(name = "yPos") + protected Float yPos; + @XmlAttribute(name = "zPos") + protected Float zPos; + + /** + * Gets the value of the xPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getXPos() { + return xPos; + } + + /** + * Sets the value of the xPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setXPos(Float value) { + this.xPos = value; + } + + /** + * Gets the value of the yPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getYPos() { + return yPos; + } + + /** + * Sets the value of the yPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setYPos(Float value) { + this.yPos = value; + } + + /** + * Gets the value of the zPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getZPos() { + return zPos; + } + + /** + * Sets the value of the zPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setZPos(Float value) { + this.zPos = value; + } + + } + + + /** + *

    Java class for anonymous complex type. + * + *

    The following schema fragment specifies the expected content contained within this class. + * + *

    +         * <complexType>
    +         *   <complexContent>
    +         *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    +         *       <attGroup ref="{www.jalview.org}position"/>
    +         *     </restriction>
    +         *   </complexContent>
    +         * </complexType>
    +         * 
    + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "") + public static class SeqPointMin { + + @XmlAttribute(name = "xPos") + protected Float xPos; + @XmlAttribute(name = "yPos") + protected Float yPos; + @XmlAttribute(name = "zPos") + protected Float zPos; + + /** + * Gets the value of the xPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getXPos() { + return xPos; + } + + /** + * Sets the value of the xPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setXPos(Float value) { + this.xPos = value; + } + + /** + * Gets the value of the yPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getYPos() { + return yPos; + } + + /** + * Sets the value of the yPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setYPos(Float value) { + this.yPos = value; + } + + /** + * Gets the value of the zPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getZPos() { + return zPos; + } + + /** + * Sets the value of the zPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setZPos(Float value) { + this.zPos = value; + } + + } + + + /** + *

    Java class for anonymous complex type. + * + *

    The following schema fragment specifies the expected content contained within this class. + * + *

    +         * <complexType>
    +         *   <complexContent>
    +         *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    +         *       <attGroup ref="{www.jalview.org}position"/>
    +         *       <attribute name="sequenceRef" type="{http://www.w3.org/2001/XMLSchema}string" />
    +         *     </restriction>
    +         *   </complexContent>
    +         * </complexType>
    +         * 
    + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "") + public static class SequencePoint { + + @XmlAttribute(name = "sequenceRef") + protected String sequenceRef; + @XmlAttribute(name = "xPos") + protected Float xPos; + @XmlAttribute(name = "yPos") + protected Float yPos; + @XmlAttribute(name = "zPos") + protected Float zPos; + + /** + * Gets the value of the sequenceRef property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSequenceRef() { + return sequenceRef; + } + + /** + * Sets the value of the sequenceRef property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSequenceRef(String value) { + this.sequenceRef = value; + } + + /** + * Gets the value of the xPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getXPos() { + return xPos; + } + + /** + * Sets the value of the xPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setXPos(Float value) { + this.xPos = value; + } + + /** + * Gets the value of the yPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getYPos() { + return yPos; + } + + /** + * Sets the value of the yPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setYPos(Float value) { + this.yPos = value; + } + + /** + * Gets the value of the zPos property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getZPos() { + return zPos; + } + + /** + * Sets the value of the zPos property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setZPos(Float value) { + this.zPos = value; + } + + } + + } + + + /** + *

    Java class for anonymous complex type. + * + *

    The following schema fragment specifies the expected content contained within this class. + * + *

    +     * <complexType>
    +     *   <complexContent>
    +     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    +     *       <sequence minOccurs="0">
    +     *         <element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
    +     *         <element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
    +     *       </sequence>
    +     *       <attGroup ref="{www.jalview.org}swingwindow"/>
    +     *       <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
    +     *       <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
    +     *       <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
    +     *       <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
    +     *       <attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
    +     *       <attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
    +     *       <attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
    +     *       <attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
    +     *       <attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
    +     *       <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
    +     *       <attribute name="linkToAllViews" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
    +     *     </restriction>
    +     *   </complexContent>
    +     * </complexType>
    +     * 
    + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "title", + "newick" + }) + public static class Tree { + + @XmlElement(namespace = "www.jalview.org") + protected String title; + @XmlElement(namespace = "www.jalview.org") + protected String newick; + @XmlAttribute(name = "fontName") + protected String fontName; + @XmlAttribute(name = "fontSize") + protected Integer fontSize; + @XmlAttribute(name = "fontStyle") + protected Integer fontStyle; + @XmlAttribute(name = "threshold") + protected Float threshold; + @XmlAttribute(name = "showBootstrap") + protected Boolean showBootstrap; + @XmlAttribute(name = "showDistances") + protected Boolean showDistances; + @XmlAttribute(name = "markUnlinked") + protected Boolean markUnlinked; + @XmlAttribute(name = "fitToWindow") + protected Boolean fitToWindow; + @XmlAttribute(name = "currentTree") + protected Boolean currentTree; + @XmlAttribute(name = "id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + @XmlAttribute(name = "linkToAllViews") + protected Boolean linkToAllViews; + @XmlAttribute(name = "width") + protected Integer width; + @XmlAttribute(name = "height") + protected Integer height; + @XmlAttribute(name = "xpos") + protected Integer xpos; + @XmlAttribute(name = "ypos") + protected Integer ypos; + + /** + * Gets the value of the title property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getTitle() { + return title; + } + + /** + * Sets the value of the title property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setTitle(String value) { + this.title = value; + } + + /** + * Gets the value of the newick property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getNewick() { + return newick; + } + + /** + * Sets the value of the newick property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setNewick(String value) { + this.newick = value; + } + + /** + * Gets the value of the fontName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getFontName() { + return fontName; + } + + /** + * Sets the value of the fontName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setFontName(String value) { + this.fontName = value; + } + + /** + * Gets the value of the fontSize property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getFontSize() { + return fontSize; + } + + /** + * Sets the value of the fontSize property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setFontSize(Integer value) { + this.fontSize = value; + } + + /** + * Gets the value of the fontStyle property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getFontStyle() { + return fontStyle; + } + + /** + * Sets the value of the fontStyle property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setFontStyle(Integer value) { + this.fontStyle = value; + } + + /** + * Gets the value of the threshold property. + * + * @return + * possible object is + * {@link Float } + * + */ + public Float getThreshold() { + return threshold; + } + + /** + * Sets the value of the threshold property. + * + * @param value + * allowed object is + * {@link Float } + * + */ + public void setThreshold(Float value) { + this.threshold = value; + } + + /** + * Gets the value of the showBootstrap property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isShowBootstrap() { + return showBootstrap; + } + + /** + * Sets the value of the showBootstrap property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setShowBootstrap(Boolean value) { + this.showBootstrap = value; + } + + /** + * Gets the value of the showDistances property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isShowDistances() { + return showDistances; + } + + /** + * Sets the value of the showDistances property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setShowDistances(Boolean value) { + this.showDistances = value; + } + + /** + * Gets the value of the markUnlinked property. * * @return * possible object is @@ -3328,6 +4525,34 @@ public class JalviewModel { } /** + * Gets the value of the linkToAllViews property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public boolean isLinkToAllViews() { + if (linkToAllViews == null) { + return false; + } else { + return linkToAllViews; + } + } + + /** + * Sets the value of the linkToAllViews property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setLinkToAllViews(Boolean value) { + this.linkToAllViews = value; + } + + /** * Gets the value of the width property. * * @return diff --git a/src/jalview/xml/binding/jalview/JalviewUserColours.java b/src/jalview/xml/binding/jalview/JalviewUserColours.java index 0de2ac0..701647c 100644 --- a/src/jalview/xml/binding/jalview/JalviewUserColours.java +++ b/src/jalview/xml/binding/jalview/JalviewUserColours.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/MapListType.java b/src/jalview/xml/binding/jalview/MapListType.java index 345556f..3d7b5eb 100644 --- a/src/jalview/xml/binding/jalview/MapListType.java +++ b/src/jalview/xml/binding/jalview/MapListType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/Mapping.java b/src/jalview/xml/binding/jalview/Mapping.java index cd82a2a..3cbebc0 100644 --- a/src/jalview/xml/binding/jalview/Mapping.java +++ b/src/jalview/xml/binding/jalview/Mapping.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/NoValueColour.java b/src/jalview/xml/binding/jalview/NoValueColour.java index 8fd65f0..15fc45d 100644 --- a/src/jalview/xml/binding/jalview/NoValueColour.java +++ b/src/jalview/xml/binding/jalview/NoValueColour.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/ObjectFactory.java b/src/jalview/xml/binding/jalview/ObjectFactory.java index 0903928..6858f07 100644 --- a/src/jalview/xml/binding/jalview/ObjectFactory.java +++ b/src/jalview/xml/binding/jalview/ObjectFactory.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // @@ -131,6 +131,14 @@ public class ObjectFactory { } /** + * Create an instance of {@link JalviewModel.PcaViewer } + * + */ + public JalviewModel.PcaViewer createJalviewModelPcaViewer() { + return new JalviewModel.PcaViewer(); + } + + /** * Create an instance of {@link JalviewModel.Viewport } * */ @@ -163,6 +171,14 @@ public class ObjectFactory { } /** + * Create an instance of {@link DoubleMatrix } + * + */ + public DoubleMatrix createDoubleMatrix() { + return new DoubleMatrix(); + } + + /** * Create an instance of {@link AnnotationColourScheme } * */ @@ -171,6 +187,22 @@ public class ObjectFactory { } /** + * Create an instance of {@link PcaDataType } + * + */ + public PcaDataType createPcaDataType() { + return new PcaDataType(); + } + + /** + * Create an instance of {@link DoubleVector } + * + */ + public DoubleVector createDoubleVector() { + return new DoubleVector(); + } + + /** * Create an instance of {@link AlcodonFrame.Alcodon } * */ @@ -363,6 +395,38 @@ public class ObjectFactory { } /** + * Create an instance of {@link JalviewModel.PcaViewer.SequencePoint } + * + */ + public JalviewModel.PcaViewer.SequencePoint createJalviewModelPcaViewerSequencePoint() { + return new JalviewModel.PcaViewer.SequencePoint(); + } + + /** + * Create an instance of {@link JalviewModel.PcaViewer.Axis } + * + */ + public JalviewModel.PcaViewer.Axis createJalviewModelPcaViewerAxis() { + return new JalviewModel.PcaViewer.Axis(); + } + + /** + * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMin } + * + */ + public JalviewModel.PcaViewer.SeqPointMin createJalviewModelPcaViewerSeqPointMin() { + return new JalviewModel.PcaViewer.SeqPointMin(); + } + + /** + * Create an instance of {@link JalviewModel.PcaViewer.SeqPointMax } + * + */ + public JalviewModel.PcaViewer.SeqPointMax createJalviewModelPcaViewerSeqPointMax() { + return new JalviewModel.PcaViewer.SeqPointMax(); + } + + /** * Create an instance of {@link JalviewModel.Viewport.HiddenColumns } * */ diff --git a/src/jalview/xml/binding/jalview/PcaDataType.java b/src/jalview/xml/binding/jalview/PcaDataType.java new file mode 100644 index 0000000..e8c7cf2 --- /dev/null +++ b/src/jalview/xml/binding/jalview/PcaDataType.java @@ -0,0 +1,129 @@ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 +// See http://java.sun.com/xml/jaxb +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2018.12.20 at 11:47:26 AM GMT +// + + +package jalview.xml.binding.jalview; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * + * The results of a PCA calculation + * + * + *

    Java class for PcaDataType complex type. + * + *

    The following schema fragment specifies the expected content contained within this class. + * + *

    + * <complexType name="PcaDataType">
    + *   <complexContent>
    + *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    + *       <sequence>
    + *         <element name="pairwiseMatrix" type="{www.jalview.org}DoubleMatrix"/>
    + *         <element name="tridiagonalMatrix" type="{www.jalview.org}DoubleMatrix"/>
    + *         <element name="eigenMatrix" type="{www.jalview.org}DoubleMatrix"/>
    + *       </sequence>
    + *     </restriction>
    + *   </complexContent>
    + * </complexType>
    + * 
    + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PcaDataType", namespace = "www.jalview.org", propOrder = { + "pairwiseMatrix", + "tridiagonalMatrix", + "eigenMatrix" +}) +public class PcaDataType { + + @XmlElement(required = true) + protected DoubleMatrix pairwiseMatrix; + @XmlElement(required = true) + protected DoubleMatrix tridiagonalMatrix; + @XmlElement(required = true) + protected DoubleMatrix eigenMatrix; + + /** + * Gets the value of the pairwiseMatrix property. + * + * @return + * possible object is + * {@link DoubleMatrix } + * + */ + public DoubleMatrix getPairwiseMatrix() { + return pairwiseMatrix; + } + + /** + * Sets the value of the pairwiseMatrix property. + * + * @param value + * allowed object is + * {@link DoubleMatrix } + * + */ + public void setPairwiseMatrix(DoubleMatrix value) { + this.pairwiseMatrix = value; + } + + /** + * Gets the value of the tridiagonalMatrix property. + * + * @return + * possible object is + * {@link DoubleMatrix } + * + */ + public DoubleMatrix getTridiagonalMatrix() { + return tridiagonalMatrix; + } + + /** + * Sets the value of the tridiagonalMatrix property. + * + * @param value + * allowed object is + * {@link DoubleMatrix } + * + */ + public void setTridiagonalMatrix(DoubleMatrix value) { + this.tridiagonalMatrix = value; + } + + /** + * Gets the value of the eigenMatrix property. + * + * @return + * possible object is + * {@link DoubleMatrix } + * + */ + public DoubleMatrix getEigenMatrix() { + return eigenMatrix; + } + + /** + * Sets the value of the eigenMatrix property. + * + * @param value + * allowed object is + * {@link DoubleMatrix } + * + */ + public void setEigenMatrix(DoubleMatrix value) { + this.eigenMatrix = value; + } + +} diff --git a/src/jalview/xml/binding/jalview/Pdbentry.java b/src/jalview/xml/binding/jalview/Pdbentry.java index 4accccd..843ea6c 100644 --- a/src/jalview/xml/binding/jalview/Pdbentry.java +++ b/src/jalview/xml/binding/jalview/Pdbentry.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/Sequence.java b/src/jalview/xml/binding/jalview/Sequence.java index 937142a..abb40c9 100644 --- a/src/jalview/xml/binding/jalview/Sequence.java +++ b/src/jalview/xml/binding/jalview/Sequence.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/SequenceSet.java b/src/jalview/xml/binding/jalview/SequenceSet.java index 7bd7c1e..0fc7771 100644 --- a/src/jalview/xml/binding/jalview/SequenceSet.java +++ b/src/jalview/xml/binding/jalview/SequenceSet.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/SequenceType.java b/src/jalview/xml/binding/jalview/SequenceType.java index 004119f..07b8c24 100644 --- a/src/jalview/xml/binding/jalview/SequenceType.java +++ b/src/jalview/xml/binding/jalview/SequenceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/ThresholdType.java b/src/jalview/xml/binding/jalview/ThresholdType.java index 7ec43c7..e8b7e28 100644 --- a/src/jalview/xml/binding/jalview/ThresholdType.java +++ b/src/jalview/xml/binding/jalview/ThresholdType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/VAMSAS.java b/src/jalview/xml/binding/jalview/VAMSAS.java index 70799ea..1f68de9 100644 --- a/src/jalview/xml/binding/jalview/VAMSAS.java +++ b/src/jalview/xml/binding/jalview/VAMSAS.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/WebServiceParameterSet.java b/src/jalview/xml/binding/jalview/WebServiceParameterSet.java index fea0324..c884556 100644 --- a/src/jalview/xml/binding/jalview/WebServiceParameterSet.java +++ b/src/jalview/xml/binding/jalview/WebServiceParameterSet.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // diff --git a/src/jalview/xml/binding/jalview/package-info.java b/src/jalview/xml/binding/jalview/package-info.java index 4235c64..bd6dc77 100644 --- a/src/jalview/xml/binding/jalview/package-info.java +++ b/src/jalview/xml/binding/jalview/package-info.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2018.09.28 at 12:18:54 PM BST +// Generated on: 2018.12.20 at 11:47:26 AM GMT // @javax.xml.bind.annotation.XmlSchema(namespace = "www.vamsas.ac.uk/jalview/version2", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) -- 1.7.10.2