From c901bd1778574b5792a7ee168bfe3e1addd3e181 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Thu, 19 May 2005 17:51:18 +0000 Subject: [PATCH] new class --- src/jalview/gui/Jalview2XML.java | 466 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 466 insertions(+) create mode 100755 src/jalview/gui/Jalview2XML.java diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java new file mode 100755 index 0000000..008be21 --- /dev/null +++ b/src/jalview/gui/Jalview2XML.java @@ -0,0 +1,466 @@ +package jalview.gui; + +import java.io.*; +import java.util.*; +import java.util.jar.*; + +import jalview.binding.*; +import jalview.schemes.*; +import javax.swing.JInternalFrame; + + +public class Jalview2XML +{ + + public static void SaveState(File statefile) + { + long creation = System.currentTimeMillis(); + JInternalFrame[] frames = Desktop.desktop.getAllFrames(); + try{ + JalviewState state = new JalviewState(); + + Vector shortNames = new Vector(); + for (int i = 0; i < frames.length; i++) + { + if (frames[i] instanceof AlignFrame) + { + AlignFrame af = (AlignFrame) frames[i]; + + String shortName = af.getTitle(); + + shortName = shortName.replace('/', '_'); + shortName = shortName.replace('\\', '_'); + String jarFile = statefile.getParent()+File.separatorChar+shortName+".jar"; + + int count=1; + while( shortNames.contains(shortName) ) + { + if(shortName.endsWith("_"+(count-1))) + shortName = shortName.substring(0, shortName.lastIndexOf("_")); + + shortName = shortName.concat("_"+count); + count++; + } + shortNames.addElement(shortName); + + if(!shortName.endsWith(".xml")) + shortName = shortName+".xml"; + + jarFile = statefile.getParent()+File.separatorChar+shortName+".jar"; + + SaveState( af, creation, shortName, jarFile); + state.addFile(jarFile); + } + } + + PrintWriter out = new PrintWriter(new FileWriter(statefile)); + state.marshal(out); + out.close(); + } + catch(Exception ex){ex.printStackTrace();} + } + + + public static void SaveState( AlignFrame af, long timeStamp, String fileName, String jarFile) + { + + Vector seqids = new Vector(); + + AlignViewport av = af.viewport; + + JalviewModel object = new JalviewModel(); + object.setVamsasModel( new VamsasModel() ); + + object.setCreationDate( new java.util.Date(timeStamp) ); + + jalview.datamodel.AlignmentI jal = af.viewport.alignment; + + SequenceSet vamsasSet = new SequenceSet(); + Sequence vamsasSeq; + JalviewModelSequence jms = new JalviewModelSequence(); + + vamsasSet.setGapChar(jal.getGapCharacter()+""); + + JSeq jseq; + + + //SAVE SEQUENCES + int id = 0; + for(int i=0; i0) + { + JGroup[] groups = jms.getJGroup(); + for (int i = 0; i < groups.length; i++) + { + ColourSchemeI cs = ColourSchemeProperty.getColour(al, groups[i].getColour() ); + if (cs instanceof ResidueColourScheme) + ( (ResidueColourScheme) cs).setThreshold(groups[i].getPidThreshold()); + else if (cs instanceof ScoreColourScheme) + ( (ScoreColourScheme) cs).setThreshold(groups[i].getPidThreshold()); + + jalview.datamodel.SequenceGroup sg = new jalview.datamodel.SequenceGroup + (groups[i].getName(), + cs, + groups[i].getDisplayBoxes(), + groups[i].getDisplayText(), + groups[i].getColourText(), + groups[i].getStart(), + groups[i].getEnd()) ; + sg.setOutlineColour( new java.awt.Color(groups[i].getOutlineColour())); + int [] ids = groups[i].getSeq(); + for(int s=0; s0) + { + try{ + af.ShowNewickTree(new jalview.io.NewickFile( + (String)object.getVamsasModel().getTree(0)), "Tree"); + }catch(Exception ex){ex.printStackTrace();} + + } + + } +} + + + -- 1.7.10.2