X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=d652da2a5aec05c6abeda173a8c290f6019d2211;hb=6fc9aca27f606f6e3a0121597896e1a5dae35c36;hp=08b39038dbc17c19a78bb2d2d81de6573ce29b67;hpb=9c5d69ef1e102b1eac18ec13c362522f40c9000d;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 08b3903..d652da2 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -18,10 +18,11 @@ */ package jalview.gui; -import jalview.io.*; import jalview.schemes.*; +import jalview.gui.*; + import java.io.*; import java.net.*; @@ -32,7 +33,11 @@ import java.util.jar.*; import javax.swing.*; -import jalview.binding.*; +import org.exolab.castor.xml.*; + +import jalview.schemabinding.version2.*; + + /** @@ -44,7 +49,7 @@ import jalview.binding.*; public class Jalview2XML { // SAVES SEVERAL ALIGNEMENT WINDOWS TO SAME JARFILE - public static void SaveState(File statefile) + public void SaveState(File statefile) { long creation = System.currentTimeMillis(); JInternalFrame[] frames = Desktop.desktop.getAllFrames(); @@ -116,7 +121,7 @@ public class Jalview2XML } // USE THIS METHOD TO SAVE A SINGLE ALIGNMENT WINDOW - public static void SaveAlignment(AlignFrame af, String jarFile, + public void SaveAlignment(AlignFrame af, String jarFile, String fileName) { try @@ -148,7 +153,7 @@ public class Jalview2XML * @param jout DOCUMENT ME! * @param out DOCUMENT ME! */ - public static void SaveState(AlignFrame af, long timeStamp, + public void SaveState(AlignFrame af, long timeStamp, String fileName, JarOutputStream jout, PrintWriter out) { Vector seqids = new Vector(); @@ -157,7 +162,7 @@ public class Jalview2XML AlignViewport av = af.viewport; JalviewModel object = new JalviewModel(); - object.setVamsasModel(new jalview.binding.VamsasModel()); + object.setVamsasModel(new jalview.schemabinding.version2.VamsasModel()); object.setCreationDate(new java.util.Date(timeStamp)); object.setVersion(jalview.bin.Cache.getProperty("VERSION")); @@ -183,6 +188,7 @@ public class Jalview2XML vamsasSeq.setId(id + ""); vamsasSeq.setName(jal.getSequenceAt(i).getName()); vamsasSeq.setSequence(jal.getSequenceAt(i).getSequence()); + vamsasSeq.setDescription(jal.getSequenceAt(i).getDescription()); jseq = new JSeq(); jseq.setStart(jal.getSequenceAt(i).getStart()); @@ -194,19 +200,21 @@ public class Jalview2XML if(jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures()!=null) { - Enumeration en = jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures().elements(); - while(en.hasMoreElements()) + jalview.datamodel.SequenceFeature[] sf + = jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures(); + int index = 0; + while(index < sf.length) { Features features = new Features(); - jalview.datamodel.SequenceFeature sf - = (jalview.datamodel.SequenceFeature)en.nextElement(); - - features.setBegin(sf.getBegin()); - features.setEnd(sf.getEnd()); - features.setDescription(sf.getDescription()); - features.setStatus(sf.getStatus()); - features.setType(sf.getType()); + + features.setBegin(sf[index].getBegin()); + features.setEnd(sf[index].getEnd()); + features.setDescription(sf[index].getDescription()); + features.setStatus(sf[index].getStatus()); + features.setType(sf[index].getType()); + features.setFeatureGroup(sf[index].getFeatureGroup()); jseq.addFeatures(features); + index ++; } } @@ -308,7 +316,22 @@ public class Jalview2XML Annotation an = new Annotation(); an.setDescription(aa[i].description); - an.setGraph(aa[i].isGraph); + if(aa[i].graph>0) + { + an.setGraph(true); + an.setGraphType(aa[i].graph); + if(aa[i].getThreshold()!=null) + { + ThresholdLine line = new ThresholdLine(); + line.setLabel(aa[i].getThreshold().label); + line.setValue(aa[i].getThreshold().value); + line.setColour(aa[i].getThreshold().colour.getRGB()); + an.setThresholdLine(line); + } + } + else + an.setGraph(false); + an.setLabel(aa[i].label); AnnotationElement ae; @@ -366,6 +389,12 @@ public class Jalview2XML cs)); } } + else if(sg.cs instanceof jalview.schemes.AnnotationColourGradient) + { + groups[i].setColour( + ColourSchemeProperty.getColourName( + ( (jalview.schemes.AnnotationColourGradient) sg.cs).getBaseColour())); + } else if (sg.cs instanceof jalview.schemes.UserColourScheme) { groups[i].setColour(SetUserColourScheme(sg.cs, userColours, @@ -412,6 +441,26 @@ public class Jalview2XML view.setBgColour(SetUserColourScheme(av.getGlobalColourScheme(), userColours, jms)); } + else if(av.getGlobalColourScheme() instanceof jalview.schemes.AnnotationColourGradient) + { + jalview.schemes.AnnotationColourGradient acg + = (jalview.schemes.AnnotationColourGradient)av.getGlobalColourScheme(); + + AnnotationColours ac = new AnnotationColours(); + ac.setAboveThreshold(acg.getAboveThreshold()); + ac.setThreshold(acg.getAnnotationThreshold()); + ac.setAnnotation(acg.getAnnotation()); + if(acg.getBaseColour() instanceof jalview.schemes.UserColourScheme) + ac.setColourScheme(SetUserColourScheme(acg.getBaseColour(), + userColours, jms)); + else + ac.setColourScheme(ColourSchemeProperty.getColourName(acg.getBaseColour())); + + ac.setMaxColour(acg.getMaxColour().getRGB()); + ac.setMinColour(acg.getMinColour().getRGB()); + view.setAnnotationColours(ac); + view.setBgColour("AnnotationColourGradient"); + } else { view.setBgColour(ColourSchemeProperty.getColourName( @@ -452,21 +501,23 @@ public class Jalview2XML view.setShowText(av.getShowText()); view.setWrapAlignment(av.getWrapAlignment()); - if(af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featuresDisplayed!=null) + if(av.featuresDisplayed!=null) { - jalview.binding.FeatureSettings fs = new jalview.binding.FeatureSettings(); + jalview.schemabinding.version2.FeatureSettings fs + = new jalview.schemabinding.version2.FeatureSettings(); - Enumeration e = af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureColours.keys(); - while (e.hasMoreElements()) + String [] renderOrder = + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder; + for(int ro=0; ro