JAL-3116 parse EMBL XML with JAXB (todo: update unit tests)
[jalview.git] / src / jalview / gui / Jalview2XML_V1.java
index 4a582de..9548839 100755 (executable)
@@ -20,6 +20,7 @@
  */
 package jalview.gui;
 
+import jalview.analysis.Conservation;
 import jalview.binding.Annotation;
 import jalview.binding.AnnotationElement;
 import jalview.binding.Features;
@@ -35,10 +36,10 @@ import jalview.binding.Tree;
 import jalview.binding.UserColours;
 import jalview.binding.Viewport;
 import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceFeature;
 import jalview.io.FileFormat;
 import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ColourSchemeProperty;
-import jalview.schemes.ResidueProperties;
 import jalview.structure.StructureSelectionManager;
 import jalview.util.MessageManager;
 import jalview.util.jarInputStreamProvider;
@@ -52,8 +53,6 @@ import java.util.Vector;
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 
-import javax.swing.JOptionPane;
-
 /**
  * DOCUMENT ME!
  * 
@@ -95,8 +94,8 @@ public class Jalview2XML_V1
 
     for (int i = 0; i < csize; i++)
     {
-      newColours[i] = new java.awt.Color(Integer.parseInt(colours
-              .getUserColourScheme().getColour(i).getRGB(), 16));
+      newColours[i] = new java.awt.Color(Integer.parseInt(
+              colours.getUserColourScheme().getColour(i).getRGB(), 16));
     }
 
     return new jalview.schemes.UserColourScheme(newColours);
@@ -154,13 +153,14 @@ public class Jalview2XML_V1
           public void run()
           {
 
-            System.err.println("Couldn't locate Jalview XML file : " + ex
-                    + "\n");
-            JOptionPane.showInternalMessageDialog(Desktop.desktop,
+            System.err.println(
+                    "Couldn't locate Jalview XML file : " + ex + "\n");
+            JvOptionPane.showInternalMessageDialog(Desktop.desktop,
                     MessageManager.formatMessage("label.couldnt_locate",
-                            new String[] { file }), MessageManager
-                            .getString("label.url_not_found"),
-                    JOptionPane.WARNING_MESSAGE);
+                            new String[]
+                            { file }),
+                    MessageManager.getString("label.url_not_found"),
+                    JvOptionPane.WARNING_MESSAGE);
           }
         });
       }
@@ -177,12 +177,13 @@ public class Jalview2XML_V1
           public void run()
           {
 
-            JOptionPane.showInternalMessageDialog(Desktop.desktop,
+            JvOptionPane.showInternalMessageDialog(Desktop.desktop,
                     MessageManager.formatMessage(
                             "label.error_loading_file_params", new String[]
-                            { file }), MessageManager
+                            { file }),
+                    MessageManager
                             .getString("label.error_loading_jalview_file"),
-                    JOptionPane.WARNING_MESSAGE);
+                    JvOptionPane.WARNING_MESSAGE);
           }
         });
       }
@@ -226,11 +227,10 @@ public class Jalview2XML_V1
         Features[] features = JSEQ[i].getFeatures();
         for (int f = 0; f < features.length; f++)
         {
-          jalview.datamodel.SequenceFeature sf = new jalview.datamodel.SequenceFeature(
-                  features[f].getType(), features[f].getDescription(),
-                  features[f].getStatus(), features[f].getBegin(),
+          SequenceFeature sf = new SequenceFeature(features[f].getType(),
+                  features[f].getDescription(), features[f].getBegin(),
                   features[f].getEnd(), null);
-
+          sf.setStatus(features[f].getStatus());
           al.getSequenceAt(i).getDatasetSequence().addSequenceFeature(sf);
         }
       }
@@ -253,8 +253,9 @@ public class Jalview2XML_V1
             }
           }
           al.getSequenceAt(i).getDatasetSequence().addPDBId(entry);
-          StructureSelectionManager.getStructureSelectionManager(
-                  Desktop.instance).registerPDBEntry(entry);
+          StructureSelectionManager
+                  .getStructureSelectionManager(Desktop.instance)
+                  .registerPDBEntry(entry);
         }
 
       }
@@ -310,8 +311,9 @@ public class Jalview2XML_V1
 
     for (int i = 0; i < JSEQ.length; i++)
     {
-      af.viewport.setSequenceColour(af.viewport.getAlignment()
-              .getSequenceAt(i), new java.awt.Color(JSEQ[i].getColour()));
+      af.viewport.setSequenceColour(
+              af.viewport.getAlignment().getSequenceAt(i),
+              new java.awt.Color(JSEQ[i].getColour()));
     }
 
     // af.changeColour() );
@@ -333,15 +335,11 @@ public class Jalview2XML_V1
           }
           else
           {
-            cs = ColourSchemeProperty.getColour(al, groups[i].getColour());
-          }
-
-          if (cs != null)
-          {
-            cs.setThreshold(groups[i].getPidThreshold(), true);
+            cs = ColourSchemeProperty.getColourScheme(al,
+                    groups[i].getColour());
           }
-
         }
+        int pidThreshold = groups[i].getPidThreshold();
 
         Vector seqs = new Vector();
         int[] ids = groups[i].getSeq();
@@ -355,14 +353,15 @@ public class Jalview2XML_V1
                 seqs, groups[i].getName(), cs, groups[i].getDisplayBoxes(),
                 groups[i].getDisplayText(), groups[i].getColourText(),
                 groups[i].getStart(), groups[i].getEnd());
+        sg.getGroupColourScheme().setThreshold(pidThreshold, true);
 
-        sg.setOutlineColour(new java.awt.Color(groups[i].getOutlineColour()));
+        sg.setOutlineColour(
+                new java.awt.Color(groups[i].getOutlineColour()));
 
         if (groups[i].getConsThreshold() != 0)
         {
-          jalview.analysis.Conservation c = new jalview.analysis.Conservation(
-                  "All", ResidueProperties.propHash, 3,
-                  sg.getSequences(null), 0, sg.getWidth() - 1);
+          Conservation c = new Conservation("All", sg.getSequences(null), 0,
+                  sg.getWidth() - 1);
           c.calculate();
           c.verdict(false, 25);
           sg.cs.setConservation(c);
@@ -374,16 +373,15 @@ public class Jalview2XML_V1
 
     af.setBounds(view.getXpos(), view.getYpos(), view.getWidth(),
             view.getHeight());
-    af.viewport.setStartRes(view.getStartRes());
-    af.viewport.setStartSeq(view.getStartSeq());
+    af.viewport.getRanges().setStartRes(view.getStartRes());
+    // startSeq set in af.alignPanel.updateLayout below
     af.viewport.setShowAnnotation(view.getShowAnnotation());
     af.viewport.setAbovePIDThreshold(view.getPidSelected());
     af.viewport.setColourText(view.getShowColourText());
     af.viewport.setConservationSelected(view.getConservationSelected());
     af.viewport.setShowJVSuffix(view.getShowFullId());
-    af.viewport.setFont(
-            new java.awt.Font(view.getFontName(), view.getFontStyle(), view
-                    .getFontSize()), true);
+    af.viewport.setFont(new java.awt.Font(view.getFontName(),
+            view.getFontStyle(), view.getFontSize()), true);
 
     af.viewport.setRenderGaps(view.getRenderGaps());
     af.viewport.setWrapAlignment(view.getWrapAlignment());
@@ -402,23 +400,27 @@ public class Jalview2XML_V1
       }
       else
       {
-        cs = ColourSchemeProperty.getColour(al, view.getBgColour());
+        cs = ColourSchemeProperty.getColourScheme(al, view.getBgColour());
       }
 
-      if (cs != null)
-      {
-        cs.setThreshold(view.getPidThreshold(), true);
-        cs.setConsensus(af.viewport.getSequenceConsensusHash());
-      }
+      // if (cs != null)
+      // {
+      // cs.setThreshold(view.getPidThreshold(), true);
+      // cs.setConsensus(af.viewport.getSequenceConsensusHash());
+      // }
     }
 
-    af.viewport.setGlobalColourScheme(cs);
+    af.viewport.getResidueShading().setThreshold(view.getPidThreshold(),
+            true);
+    af.viewport.getResidueShading()
+            .setConsensus(af.viewport.getSequenceConsensusHash());
     af.viewport.setColourAppliesToAllGroups(false);
     af.alignPanel.updateLayout();
     af.changeColour(cs);
     if (view.getConservationSelected() && cs != null)
     {
-      cs.setConservationInc(view.getConsThreshold());
+      af.viewport.getResidueShading()
+              .setConservationInc(view.getConsThreshold());
     }
 
     af.viewport.setColourAppliesToAllGroups(true);
@@ -430,7 +432,8 @@ public class Jalview2XML_V1
       Hashtable featureColours = new Hashtable();
       String[] renderOrder = new String[jms.getFeatureSettings()
               .getSettingCount()];
-      for (int fs = 0; fs < jms.getFeatureSettings().getSettingCount(); fs++)
+      for (int fs = 0; fs < jms.getFeatureSettings()
+              .getSettingCount(); fs++)
       {
         Setting setting = jms.getFeatureSettings().getSetting(fs);
 
@@ -445,8 +448,8 @@ public class Jalview2XML_V1
                   new Integer(setting.getColour()));
         }
       }
-      FeatureRendererSettings frs = new FeatureRendererSettings(
-              renderOrder, new Hashtable(), featureColours, 1.0f, null);
+      FeatureRendererSettings frs = new FeatureRendererSettings(renderOrder,
+              new Hashtable(), featureColours, 1.0f, null);
       af.alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()
               .transferSettings(frs);
     }
@@ -467,7 +470,7 @@ public class Jalview2XML_V1
 
           Tree tree = jms.getTree(t);
 
-          TreePanel tp = af.ShowNewickTree(
+          TreePanel tp = af.showNewickTree(
                   new jalview.io.NewickFile(tree.getNewick()),
                   tree.getTitle(), tree.getWidth(), tree.getHeight(),
                   tree.getXpos(), tree.getYpos());
@@ -477,20 +480,20 @@ public class Jalview2XML_V1
 
           if (tree.getFontName() != null)
           {
-            tp.setTreeFont(new java.awt.Font(tree.getFontName(), tree
-                    .getFontStyle(), tree.getFontSize()));
+            tp.setTreeFont(new java.awt.Font(tree.getFontName(),
+                    tree.getFontStyle(), tree.getFontSize()));
           }
           else
           {
-            tp.setTreeFont(new java.awt.Font(view.getFontName(), view
-                    .getFontStyle(), tree.getFontSize()));
+            tp.setTreeFont(new java.awt.Font(view.getFontName(),
+                    view.getFontStyle(), tree.getFontSize()));
           }
 
           tp.showPlaceholders(tree.getMarkUnlinked());
           tp.showBootstrap(tree.getShowBootstrap());
           tp.showDistances(tree.getShowDistances());
 
-          tp.treeCanvas.threshold = tree.getThreshold();
+          tp.getTreeCanvas().setThreshold(tree.getThreshold());
 
           if (tree.getCurrentTree())
           {