X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=056555aace3be923fb80832e769cf562c236f44d;hb=4059c82f431d3f98931b290d9a72da2a54a0fc95;hp=be03a9cd541ace127604e6367df71bb0ca1e20ed;hpb=9e46fb6245b28f14f01cb84d46d03cf5453e7010;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index be03a9c..056555a 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -48,10 +48,9 @@ import jalview.schemabinding.version2.*; */ public class Jalview2XML { - // SAVES SEVERAL ALIGNEMENT WINDOWS TO SAME JARFILE + // SAVES SEVERAL ALIGNMENT WINDOWS TO SAME JARFILE public void SaveState(File statefile) { - long creation = System.currentTimeMillis(); JInternalFrame[] frames = Desktop.desktop.getAllFrames(); if (frames == null) @@ -107,7 +106,19 @@ public class Jalview2XML shortName = shortName + ".xml"; } - SaveState(af, creation, shortName, jout, out); + int ap, apSize= af.alignPanels.size(); + for (ap = 0; ap < apSize; ap++) + { + AlignmentPanel apanel = (AlignmentPanel) af.alignPanels. + elementAt(ap); + + if (apanel.av.explodedPosition == null) + apanel.av.explodedPosition = af.getBounds(); + + SaveState(apanel, + apSize == 1 ? shortName : ap+shortName, + jout, out); + } } } @@ -126,17 +137,25 @@ public class Jalview2XML { try { - FileOutputStream fos = new FileOutputStream(jarFile); - JarOutputStream jout = new JarOutputStream(fos); + int ap, apSize= af.alignPanels.size(); + FileOutputStream fos = new FileOutputStream(jarFile); + JarOutputStream jout = new JarOutputStream(fos); + PrintWriter out = new PrintWriter(new OutputStreamWriter(jout, + "UTF-8")); + for( ap=0; ap 0) + for (int i = 0; i < vamsasSeq.length; i++) { - Features[] features = JSEQ[i].getFeatures(); - for (int f = 0; f < features.length; f++) + if (JSEQ[i].getFeaturesCount() > 0) { - jalview.datamodel.SequenceFeature sf - = new jalview.datamodel.SequenceFeature(features[f].getType(), - features[f].getDescription(), features[f].getStatus(), - features[f].getBegin(), features[f].getEnd(), - features[f].getFeatureGroup()); - - sf.setScore(features[f].getScore()); - for(int od=0; od 0) - { - Pdbids[] ids = JSEQ[i].getPdbids(); - for (int p = 0; p < ids.length; p++) + if (JSEQ[i].getPdbidsCount() > 0) { - jalview.datamodel.PDBEntry entry = new jalview.datamodel.PDBEntry(); - entry.setId(ids[p].getId()); - entry.setType(ids[p].getType()); - if (ids[p].getFile() != null) + Pdbids[] ids = JSEQ[i].getPdbids(); + for (int p = 0; p < ids.length; p++) { - if (!pdbloaded.containsKey(ids[p].getFile())) + jalview.datamodel.PDBEntry entry = new jalview.datamodel. + PDBEntry(); + entry.setId(ids[p].getId()); + entry.setType(ids[p].getType()); + if (ids[p].getFile() != null) { - String tmppdb = loadPDBFile(file, ids[p].getId()); - entry.setFile(tmppdb); - pdbloaded.put(ids[p].getId(), tmppdb); + if (!pdbloaded.containsKey(ids[p].getFile())) + { + String tmppdb = loadPDBFile(file, ids[p].getId()); + entry.setFile(tmppdb); + pdbloaded.put(ids[p].getId(), tmppdb); + } + else + entry.setFile(pdbloaded.get(ids[p].getId()).toString()); } - else - entry.setFile(pdbloaded.get(ids[p].getId()).toString()); - } - al.getSequenceAt(i).getDatasetSequence().addPDBId(entry); + al.getSequenceAt(i).getDatasetSequence().addPDBId(entry); + } } - } - if(vamsasSeq[i].getDBRefCount()>0) - { - for(int d=0; d 0) { - jalview.datamodel.DBRefEntry entry = - new jalview.datamodel.DBRefEntry( - vamsasSeq[i].getDBRef(d).getSource(), - vamsasSeq[i].getDBRef(d).getVersion(), - vamsasSeq[i].getDBRef(d).getAccessionId() - ); - al.getSequenceAt(i).getDatasetSequence().addDBRef(entry); - } + for (int d = 0; d < vamsasSeq[i].getDBRefCount(); d++) + { + jalview.datamodel.DBRefEntry entry = + new jalview.datamodel.DBRefEntry( + vamsasSeq[i].getDBRef(d).getSource(), + vamsasSeq[i].getDBRef(d).getVersion(), + vamsasSeq[i].getDBRef(d).getAccessionId() + ); + al.getSequenceAt(i).getDatasetSequence().addDBRef(entry); + } + } } } - ///////////////////////////////// ////////////////////////////////// //LOAD ANNOTATIONS @@ -1050,7 +1139,7 @@ public class Jalview2XML hideConservation = true, hideConsensus = true; - if (vamsasSet.getAnnotation() != null) + if (vamsasSet.getAnnotationCount()>0) { Annotation[] an = vamsasSet.getAnnotation(); @@ -1152,12 +1241,11 @@ public class Jalview2XML } Vector seqs = new Vector(); - int[] ids = groups[i].getSeq(); - for (int s = 0; s < ids.length; s++) + for (int s = 0; s < groups[i].getSeqCount(); s++) { - seqs.addElement((jalview.datamodel.SequenceI) seqids.elementAt( - ids[s])); + String seqId = groups[i].getSeq(s)+""; + seqs.addElement((jalview.datamodel.SequenceI) seqRefIds.get(seqId)); } jalview.datamodel.SequenceGroup sg = new jalview.datamodel.SequenceGroup(seqs, @@ -1185,11 +1273,17 @@ public class Jalview2XML ///////////////////////////////// // LOAD VIEWPORT - Viewport[] views = jms.getViewport(); - Viewport view = views[0]; // DEAL WITH MULTIPLE VIEWPORTS LATER + AlignFrame af = new AlignFrame(al, + view.getWidth(), + view.getHeight() ); + + af.viewport.sequenceSetID = view.getSequenceSetId(); + + af.viewport.gatherViewsHere = view.getGatheredViews(); - AlignFrame af = new AlignFrame(al); + if (view.getSequenceSetId() != null) + PaintRefresher.Register(af.alignPanel, view.getSequenceSetId()); if(hiddenSeqs!=null) { @@ -1203,15 +1297,19 @@ public class Jalview2XML } } + jalview.datamodel.SequenceI [] hseqs = new + jalview.datamodel.SequenceI[hiddenSeqs.size()]; + for(int s=0; s