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());
/*
* (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);
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
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)
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
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());
}
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;
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;
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));
*/
protected void close_actionPerformed()
{
- pcaModel = null;
+ setPcaModel(null);
}
@Override
{
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();
}
/**
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)
{
{
Desktop.addInternalFrame(this,
MessageManager.formatMessage("label.calc_title", "PCA",
- pcaModel.getScoreModelName()),
+ getPcaModel().getScoreModelName()),
475, 450);
}
working = false;
@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();
}
/**
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)
@Override
protected void showLabels_actionPerformed()
{
- rc.showLabels(showLabels.getState());
+ getRotatableCanvas().showLabels(showLabels.getState());
}
@Override
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.");
{
}
- Object[] alAndColsel = pcaModel.getInputData()
+ Object[] alAndColsel = getPcaModel().getInputData()
.getAlignmentAndHiddenColumns(gc);
if (alAndColsel != null && alAndColsel[0] != null)
{
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)
void makePCAImage(ImageMaker.TYPE type)
{
- int width = rc.getWidth();
- int height = rc.getHeight();
+ int width = getRotatableCanvas().getWidth();
+ int height = getRotatableCanvas().getHeight();
ImageMaker im;
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();
}
{
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;
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());
}
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);
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
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(
@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);
}
*/
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;
+ }
}
* 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;
/*
* x, y, z axis end points (PCA dimension values)
*/
- Point[] axisEndPoints;
+ private Point[] axisEndPoints;
// fields for 'select rectangle' (JAL-1124)
// int rectx1;
AlignmentPanel ap;
- boolean showLabels;
+ private boolean showLabels;
- Color bgColour;
+ private Color bgColour;
- boolean applyToAllViews;
+ private boolean applyToAllViews;
/**
* Constructor
{
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);
*/
public void showLabels(boolean show)
{
- showLabels = show;
+ setShowLabels(show);
repaint();
}
findWidths();
- scaleFactor = 1f;
+ setScaleFactor(1f);
}
/**
*/
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);
}
/**
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]));
}
}
*/
public void drawBackground(Graphics g)
{
- g.setColor(bgColour);
+ g.setColor(getBgColour());
g.fillRect(0, 0, prefSize.width, prefSize.height);
}
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();
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<String> 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]);
{
if (factor > 0f)
{
- scaleFactor *= factor;
+ setScaleFactor(getScaleFactor() * factor);
}
}
*/
for (int i = 0; i < DIMS; i++)
{
- axisEndPoints[i] = rotmat.vectorMultiply(axisEndPoints[i]);
+ getAxisEndPoints()[i] = rotmat.vectorMultiply(getAxisEndPoints()[i]);
}
}
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))
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();
*/
AlignmentPanel[] getAssociatedPanels()
{
- if (applyToAllViews)
+ if (isApplyToAllViews())
{
return PaintRefresher.getAssociatedPanels(av.getSequenceSetId());
}
public Color getBackgroundColour()
{
- return bgColour;
+ return getBgColour();
}
/**
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;
+ }
}
{
this.threshold = threshold;
}
+
+ public boolean isApplyToAllViews()
+ {
+ return this.applyToAllViews;
+ }
+
+ public void setApplyToAllViews(boolean applyToAllViews)
+ {
+ this.applyToAllViews = applyToAllViews;
+ }
}
*/
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;
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;
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;
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;
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;
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;
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;
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;
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);
}
}
}
+ /*
+ * 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
}
/**
+ * 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<Double> 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
* <ul>
if (loadTreesAndStructures)
{
loadTrees(jalviewModel, view, af, av, ap);
+ loadPCAViewers(jalviewModel, ap);
loadPDBStructures(jprovider, jseqs, af, ap);
loadRnaViewers(jprovider, jseqs, ap);
}
// 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)
}
/**
+ * Loads any saved PCA viewers
+ *
+ * @param jms
+ * @param ap
+ */
+ protected void loadPCAViewers(JalviewModel model, AlignmentPanel ap)
+ {
+ try
+ {
+ List<PcaViewer> 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<jalview.datamodel.SequencePoint> 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
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// 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;
+
+
+/**
+ * <p>Java class for DoubleMatrix complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <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>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DoubleMatrix", namespace = "www.jalview.org", propOrder = {
+ "row",
+ "d",
+ "e"
+})
+public class DoubleMatrix {
+
+ protected List<DoubleVector> 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.
+ *
+ * <p>
+ * 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 <CODE>set</CODE> method for the row property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRow().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link DoubleVector }
+ *
+ *
+ */
+ public List<DoubleVector> getRow() {
+ if (row == null) {
+ row = new ArrayList<DoubleVector>();
+ }
+ 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;
+ }
+
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// 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;
+
+
+/**
+ * <p>Java class for DoubleVector complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <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>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DoubleVector", namespace = "www.jalview.org", propOrder = {
+ "v"
+})
+public class DoubleVector {
+
+ @XmlElement(type = Double.class)
+ protected List<Double> v;
+
+ /**
+ * Gets the value of the v property.
+ *
+ * <p>
+ * 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 <CODE>set</CODE> method for the v property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getV().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Double }
+ *
+ *
+ */
+ public List<Double> getV() {
+ if (v == null) {
+ v = new ArrayList<Double>();
+ }
+ return this.v;
+ }
+
+}
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
* <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>
"viewport",
"userColours",
"tree",
+ "pcaViewer",
"featureSettings"
})
public class JalviewModel {
@XmlElement(name = "UserColours")
protected List<JalviewModel.UserColours> userColours;
protected List<JalviewModel.Tree> tree;
+ @XmlElement(name = "PcaViewer")
+ protected List<JalviewModel.PcaViewer> pcaViewer;
@XmlElement(name = "FeatureSettings")
protected JalviewModel.FeatureSettings featureSettings;
}
/**
+ * Gets the value of the pcaViewer property.
+ *
+ * <p>
+ * 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 <CODE>set</CODE> method for the pcaViewer property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPcaViewer().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.PcaViewer }
+ *
+ *
+ */
+ public List<JalviewModel.PcaViewer> getPcaViewer() {
+ if (pcaViewer == null) {
+ pcaViewer = new ArrayList<JalviewModel.PcaViewer>();
+ }
+ return this.pcaViewer;
+ }
+
+ /**
* Gets the value of the featureSettings property.
*
* @return
* <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>
*/
@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<JalviewModel.PcaViewer.SequencePoint> sequencePoint;
+ @XmlElement(namespace = "www.jalview.org", required = true)
+ protected List<JalviewModel.PcaViewer.Axis> 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")
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.
+ *
+ * <p>
+ * 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 <CODE>set</CODE> method for the sequencePoint property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSequencePoint().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * 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<JalviewModel.PcaViewer.SequencePoint> getSequencePoint() {
+ if (sequencePoint == null) {
+ sequencePoint = new ArrayList<JalviewModel.PcaViewer.SequencePoint>();
+ }
+ return this.sequencePoint;
}
/**
- * Sets the value of the title property.
+ * Gets the value of the axis property.
+ *
+ * <p>
+ * 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 <CODE>set</CODE> method for the axis property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAxis().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * 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<JalviewModel.PcaViewer.Axis> getAxis() {
+ if (axis == null) {
+ axis = new ArrayList<JalviewModel.PcaViewer.Axis>();
+ }
+ 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;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attGroup ref="{www.jalview.org}position"/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @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;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attGroup ref="{www.jalview.org}position"/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @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;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attGroup ref="{www.jalview.org}position"/>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @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;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <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>
+ * </pre>
+ *
+ *
+ */
+ @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;
+ }
+
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <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>
+ * </pre>
+ *
+ *
+ */
+ @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
}
/**
+ * 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
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
}
/**
+ * Create an instance of {@link JalviewModel.PcaViewer }
+ *
+ */
+ public JalviewModel.PcaViewer createJalviewModelPcaViewer() {
+ return new JalviewModel.PcaViewer();
+ }
+
+ /**
* Create an instance of {@link JalviewModel.Viewport }
*
*/
}
/**
+ * Create an instance of {@link DoubleMatrix }
+ *
+ */
+ public DoubleMatrix createDoubleMatrix() {
+ return new DoubleMatrix();
+ }
+
+ /**
* Create an instance of {@link AnnotationColourScheme }
*
*/
}
/**
+ * 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 }
*
*/
}
/**
+ * 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 }
*
*/
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// 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
+ *
+ *
+ * <p>Java class for PcaDataType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <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>
+ * </pre>
+ *
+ *
+ */
+@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;
+ }
+
+}
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// 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)