X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=0f0889697aec8cdb97cbdbd4f89471dc9ccf21df;hb=35426f122a3db9e75360f2692c26a5452ec54460;hp=1e449ccb4c8b48634f71abe383d2eb4550363157;hpb=8b4e92b5a422435311e2384f04b28f16b77206b6;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 1e449cc..0f08896 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -215,9 +215,11 @@ public class Jalview2XML //SAVE SEQUENCES int id = 0; + jalview.datamodel.SequenceI jds; for (int i = 0; i < jal.getHeight(); i++) { - id = jal.getSequenceAt(i).hashCode(); + jds = jal.getSequenceAt(i); + id = jds.hashCode(); if(seqRefIds.get(id+"")!=null) { @@ -227,14 +229,14 @@ public class Jalview2XML { vamsasSeq = new Sequence(); vamsasSeq.setId(id + ""); - vamsasSeq.setName(jal.getSequenceAt(i).getName()); - vamsasSeq.setSequence(jal.getSequenceAt(i).getSequence()); - vamsasSeq.setDescription(jal.getSequenceAt(i).getDescription()); + vamsasSeq.setName(jds.getName()); + vamsasSeq.setSequence(jds.getSequence()); + vamsasSeq.setDescription(jds.getDescription()); - if (jal.getSequenceAt(i).getDatasetSequence().getDBRef() != null) + if (jds.getDatasetSequence().getDBRef() != null) { jalview.datamodel.DBRefEntry[] dbrefs = - jal.getSequenceAt(i).getDatasetSequence().getDBRef(); + jds.getDatasetSequence().getDBRef(); for (int d = 0; d < dbrefs.length; d++) { @@ -251,16 +253,15 @@ public class Jalview2XML } jseq = new JSeq(); - jseq.setStart(jal.getSequenceAt(i).getStart()); - jseq.setEnd(jal.getSequenceAt(i).getEnd()); - jseq.setColour(jal.getSequenceAt(i).getColor().getRGB()); + jseq.setStart(jds.getStart()); + jseq.setEnd(jds.getEnd()); + jseq.setColour( av.getSequenceColour(jds).getRGB()); jseq.setId(id); if (av.hasHiddenRows) { - jseq.setHidden(av.alignment.getHiddenSequences().isHidden( - jal.getSequenceAt(i))); + jseq.setHidden(av.alignment.getHiddenSequences().isHidden(jds)); if(jal.getSequenceAt(i).getHiddenSequences()!=null) { @@ -277,10 +278,10 @@ public class Jalview2XML } - if(jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures()!=null) + if(jds.getDatasetSequence().getSequenceFeatures()!=null) { jalview.datamodel.SequenceFeature[] sf - = jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures(); + = jds.getDatasetSequence().getSequenceFeatures(); int index = 0; while(index < sf.length) { @@ -322,9 +323,9 @@ public class Jalview2XML } } - if(jal.getSequenceAt(i).getDatasetSequence().getPDBId()!=null) + if(jds.getDatasetSequence().getPDBId()!=null) { - Enumeration en = jal.getSequenceAt(i).getDatasetSequence().getPDBId().elements(); + Enumeration en = jds.getDatasetSequence().getPDBId().elements(); while(en.hasMoreElements()) { Pdbids pdb = new Pdbids(); @@ -568,6 +569,9 @@ public class Jalview2XML groups[i].setDisplayBoxes(sg.getDisplayBoxes()); groups[i].setDisplayText(sg.getDisplayText()); groups[i].setColourText(sg.getColourText()); + groups[i].setTextCol1(sg.textColour.getRGB()); + groups[i].setTextCol2(sg.textColour2.getRGB()); + groups[i].setTextColThreshold(sg.thresholdTextColour); for (int s = 0; s < sg.getSize(false); s++) { @@ -668,6 +672,10 @@ public class Jalview2XML view.setShowSequenceFeatures(av.showSequenceFeatures); view.setShowText(av.getShowText()); view.setWrapAlignment(av.getWrapAlignment()); + view.setTextCol1(av.textColour.getRGB()); + view.setTextCol2(av.textColour2.getRGB()); + view.setTextColThreshold(av.thresholdTextColour); + if(av.featuresDisplayed!=null) { @@ -901,7 +909,7 @@ public class Jalview2XML unmar.setValidation(false); object = (JalviewModel) unmar.unmarshal( in ); - af = LoadFromObject(object, file); + af = LoadFromObject(object, file, true); if(af.viewport.gatherViewsHere) { gatherToThisFrame.add(af); @@ -1015,7 +1023,9 @@ public class Jalview2XML } - AlignFrame LoadFromObject(JalviewModel object, String file) + AlignFrame LoadFromObject(JalviewModel object, + String file, + boolean loadTrees ) { SequenceSet vamsasSet = object.getVamsasModel().getSequenceSet(0); Sequence[] vamsasSeq = vamsasSet.getSequence(); @@ -1032,7 +1042,6 @@ public class Jalview2XML ArrayList tmpseqs = new ArrayList(); - boolean multipleView = false; JSeq[] JSEQ = object.getJalviewModelSequence().getJSeq(); @@ -1052,12 +1061,12 @@ public class Jalview2XML jseq.setDescription(vamsasSeq[i].getDescription()); jseq.setStart(JSEQ[i].getStart()); jseq.setEnd(JSEQ[i].getEnd()); - jseq.setColor(new java.awt.Color(JSEQ[i].getColour())); seqRefIds.put(vamsasSeq[i].getId(), jseq); tmpseqs.add( jseq ); } + if (JSEQ[i].getHidden()) { if (hiddenSeqs == null) @@ -1282,6 +1291,10 @@ public class Jalview2XML sg.setOutlineColour(new java.awt.Color( groups[i].getOutlineColour())); + sg.textColour = new java.awt.Color(groups[i].getTextCol1()); + sg.textColour2 = new java.awt.Color(groups[i].getTextCol2()); + sg.thresholdTextColour = groups[i].getTextColThreshold(); + if (groups[i].getConsThreshold() != 0) { jalview.analysis.Conservation c = new jalview.analysis.Conservation("All", @@ -1304,6 +1317,15 @@ public class Jalview2XML view.getWidth(), view.getHeight() ); + af.setFileName(file, "Jalview"); + + for (int i = 0; i < JSEQ.length; i++) + { + af.viewport.setSequenceColour( + af.viewport.alignment.getSequenceAt(i), + new java.awt.Color( + JSEQ[i].getColour())); + } //If we just load in the same jar file again, the sequenceSetId //will be the same, and we end up with multiple references @@ -1405,6 +1427,10 @@ public class Jalview2XML af.viewport.setShowText(view.getShowText()); + af.viewport.textColour = new java.awt.Color(view.getTextCol1()); + af.viewport.textColour2 = new java.awt.Color(view.getTextCol2()); + af.viewport.thresholdTextColour = view.getTextColThreshold(); + ColourSchemeI cs = null; @@ -1575,7 +1601,7 @@ public class Jalview2XML //LOAD TREES /////////////////////////////////////// - if (jms.getTreeCount() > 0) + if (loadTrees && jms.getTreeCount() > 0) { try { @@ -1637,9 +1663,9 @@ public class Jalview2XML viewportsAdded = new Hashtable(); - AlignFrame af = LoadFromObject(jm, null); + AlignFrame af = LoadFromObject(jm, null, false); af.alignPanels.clear(); - af.closeMenuItem_actionPerformed(null); + af.closeMenuItem_actionPerformed(true); return af.alignPanel; }