- }\r
- catch(Exception ex)\r
- { System.err.println("Exception whilst loading jalview XML file : "+ex+"\n");\r
- ex.printStackTrace(); return; }\r
-\r
- }\r
-\r
- static void LoadFromObject(JalviewModel object)\r
- {\r
- Vector seqids = new Vector();\r
- SequenceSet vamsasSet = object.getVamsasModel().getSequenceSet(0);\r
- Sequence [] vamsasSeq = vamsasSet.getSequence();\r
-\r
- JalviewModelSequence jms = object.getJalviewModelSequence();\r
- //////////////////////////////////\r
- //LOAD SEQUENCES\r
- jalview.datamodel.Sequence [] jseqs = new jalview.datamodel.Sequence[vamsasSeq.length];\r
- JSeq [] JSEQ = object.getJalviewModelSequence().getJSeq();\r
- for(int i=0; i<vamsasSeq.length; i++)\r
- {\r
- jseqs[i] = new jalview.datamodel.Sequence(vamsasSeq[i].getName(),\r
- vamsasSeq[i].getSequence());\r
-\r
- jseqs[i].setStart( JSEQ[i].getStart());\r
- jseqs[i].setEnd( JSEQ[i].getEnd());\r
- jseqs[i].setColor( new java.awt.Color(JSEQ[i].getColour()) );\r
- seqids.add(jseqs[i]);\r
- }\r
-\r
- /////////////////////////////////\r
- jalview.datamodel.Alignment al = new jalview.datamodel.Alignment(jseqs);\r
- /////////////////////////////////\r
-\r
- //////////////////////////////////\r
- //LOAD ANNOTATIONS\r
- if(vamsasSet.getAnnotation()!=null)\r
- {\r
- Annotation[] an = vamsasSet.getAnnotation();\r
- for (int i = 0; i < an.length; i++)\r
- {\r
- AnnotationElement[] ae = an[i].getAnnotationElement();\r
- jalview.datamodel.Annotation anot[]\r
- = new jalview.datamodel.Annotation[al.getWidth()];\r
- for (int aa = 0; aa < ae.length; aa++)\r
+\r
+ /////////////////////////////////\r
+ // LOAD VIEWPORT\r
+ Viewport[] views = jms.getViewport();\r
+ Viewport view = views[0]; // DEAL WITH MULTIPLE VIEWPORTS LATER\r
+\r
+ AlignFrame af = new AlignFrame(al);\r
+\r
+\r
+ // af.changeColour() );\r
+ /////////////////////////\r
+ //LOAD GROUPS\r
+ if (jms.getJGroupCount() > 0)\r
+ {\r
+ JGroup[] groups = jms.getJGroup();\r
+\r
+ for (int i = 0; i < groups.length; i++)\r
+ {\r
+ ColourSchemeI cs = null;\r
+\r
+ if (groups[i].getColour() != null)\r
+ {\r
+ if (groups[i].getColour().startsWith("ucs"))\r
+ {\r
+ cs = GetUserColourScheme(jms, groups[i].getColour());\r
+ }\r
+ else\r
+ {\r
+ cs = ColourSchemeProperty.getColour(al,\r
+ groups[i].getColour());\r
+ }\r
+\r
+ cs.setThreshold(groups[i].getPidThreshold(), true);\r
+ }\r
+\r
+ Vector seqs = new Vector();\r
+ int[] ids = groups[i].getSeq();\r
+\r
+ for (int s = 0; s < ids.length; s++)\r
+ {\r
+ seqs.addElement((jalview.datamodel.SequenceI) seqids.elementAt(\r
+ ids[s]));\r
+ }\r
+\r
+ jalview.datamodel.SequenceGroup sg = new jalview.datamodel.SequenceGroup(seqs,\r
+ groups[i].getName(), cs, groups[i].getDisplayBoxes(),\r
+ groups[i].getDisplayText(), groups[i].getColourText(),\r
+ groups[i].getStart(), groups[i].getEnd());\r
+\r
+ sg.setOutlineColour(new java.awt.Color(\r
+ groups[i].getOutlineColour()));\r
+\r
+ if (groups[i].getConsThreshold() != 0)\r
+ {\r
+ jalview.analysis.Conservation c = new jalview.analysis.Conservation("All",\r
+ ResidueProperties.propHash, 3, sg.sequences, 0,\r
+ sg.getWidth() - 1);\r
+ c.calculate();\r
+ c.verdict(false, 25);\r
+ sg.cs.setConservation(c);\r
+ }\r
+\r
+ al.addGroup(sg);\r
+ }\r
+ }\r
+\r
+\r
+\r
+ af.setBounds(view.getXpos(), view.getYpos(), view.getWidth(),\r
+ view.getHeight());\r
+ af.viewport.setStartRes(view.getStartRes());\r
+ af.viewport.setStartSeq(view.getStartSeq());\r
+ af.viewport.setShowAnnotation(view.getShowAnnotation());\r
+ af.viewport.showConservation = view.getShowConservation();\r
+ af.viewport.showQuality = view.getShowQuality();\r
+ af.viewport.showIdentity = view.getShowIdentity();\r
+ af.viewport.setAbovePIDThreshold(view.getPidSelected());\r
+ af.abovePIDThreshold.setSelected(view.getPidSelected());\r
+ af.viewport.setColourText(view.getShowColourText());\r
+ af.colourTextMenuItem.setSelected(view.getShowColourText());\r
+ af.viewport.setConservationSelected(view.getConservationSelected());\r
+ af.conservationMenuItem.setSelected(view.getConservationSelected());\r
+\r
+ af.viewport.setShowJVSuffix(view.getShowFullId());\r
+ af.seqLimits.setSelected(view.getShowFullId());\r
+\r
+ af.viewport.setFont(new java.awt.Font(view.getFontName(),\r
+ view.getFontStyle(), view.getFontSize()));\r
+ af.alignPanel.fontChanged();\r
+\r
+ af.viewport.setRenderGaps(view.getRenderGaps());\r
+ af.renderGapsMenuItem.setSelected(view.getRenderGaps());\r
+\r
+ af.viewport.setWrapAlignment(view.getWrapAlignment());\r
+ af.wrapMenuItem.setSelected(view.getWrapAlignment());\r
+\r
+ if (view.getWrapAlignment())\r
+ {\r
+ af.alignPanel.setWrapAlignment(view.getWrapAlignment());\r
+ }\r
+ else\r
+ {\r
+ af.annotationPanelMenuItem.setState(view.getShowAnnotation());\r
+ af.viewport.setShowAnnotation(view.getShowAnnotation());\r
+ af.alignPanel.setAnnotationVisible(view.getShowAnnotation());\r
+ }\r
+\r
+ af.viewport.setShowBoxes(view.getShowBoxes());\r
+ af.viewBoxesMenuItem.setSelected(view.getShowBoxes());\r
+ af.viewport.setShowText(view.getShowText());\r
+ af.viewTextMenuItem.setSelected(view.getShowText());\r
+\r
+ ColourSchemeI cs = null;\r
+\r
+ if (view.getBgColour() != null)\r
+ {\r
+ if (view.getBgColour().startsWith("ucs"))\r
+ {\r
+ cs = GetUserColourScheme(jms, view.getBgColour());\r
+ }\r
+ else\r
+ {\r
+ cs = ColourSchemeProperty.getColour(al, view.getBgColour());\r
+ }\r
+\r
+ if(cs!=null)\r
+ {\r
+ cs.setThreshold(view.getPidThreshold(), true);\r
+ cs.setConsensus(af.viewport.vconsensus);\r
+ }\r
+ }\r
+\r
+ af.setColourSelected(view.getBgColour());\r
+ af.viewport.setGlobalColourScheme(cs);\r
+ af.viewport.setColourAppliesToAllGroups(false);\r
+ af.changeColour(cs);\r
+ if (view.getConservationSelected() && cs!=null)\r
+ {\r
+ cs.setConservationInc(view.getConsThreshold());\r
+ }\r
+\r
+ af.viewport.setColourAppliesToAllGroups(true);\r
+\r
+ if (view.getShowSequenceFeatures())\r
+ {\r
+ af.viewport.showSequenceFeatures = true;\r
+ af.showSeqFeatures.setSelected(true);\r
+ }\r
+\r
+ if(jms.getFeatureSettings()!=null)\r
+ {\r
+ af.viewport.featuresDisplayed = new Hashtable();\r
+ String [] renderOrder = new String[jms.getFeatureSettings().getSettingCount()];\r
+ for(int fs=0; fs<jms.getFeatureSettings().getSettingCount(); fs++)\r