X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=a9763d3ae34dd7a69b1e98cf98171bc876434f84;hb=2e699d341f8e64868e3c279f9c02af617c4e9b44;hp=5b0ec154cb6f524f5e338545c953f23a83bb8a8a;hpb=2d7deb9d3e1ddc98abae846c8ffbc62606b023be;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 5b0ec15..a9763d3 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -142,7 +142,7 @@ public class Jalview2XML } // USE THIS METHOD TO SAVE A SINGLE ALIGNMENT WINDOW - public void SaveAlignment(AlignFrame af, String jarFile, + public boolean SaveAlignment(AlignFrame af, String jarFile, String fileName) { try @@ -163,10 +163,12 @@ public class Jalview2XML out.close(); jout.close(); + return true; } catch (Exception ex) { ex.printStackTrace(); + return false; } } @@ -215,9 +217,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 +231,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.getSequenceAsString()); + 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 +255,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 +280,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 +325,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(); @@ -334,19 +337,20 @@ public class Jalview2XML pdb.setId(entry.getId()); pdb.setType(entry.getType()); + if(entry.getFile()!=null) { + pdb.setFile(entry.getFile()); if(pdbfiles==null) pdbfiles = new Vector(); - if(!pdbfiles.contains(entry.getId())) { pdbfiles.addElement(entry.getId()); try { File file = new File(entry.getFile()); - if(file.exists()) + if(file.exists() && jout!=null) { byte[] data = new byte[ (int) file.length()]; jout.putNextEntry(new JarEntry(entry.getId())); @@ -568,6 +572,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++) { @@ -665,9 +672,14 @@ public class Jalview2XML view.setShowBoxes(av.getShowBoxes()); view.setShowColourText(av.getColourText()); view.setShowFullId(av.getShowJVSuffix()); + view.setRightAlignIds(av.rightAlignIds); 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) { @@ -972,6 +984,7 @@ public class Jalview2XML String loadPDBFile(String file, String pdbId) { + System.out.println(file +" "+pdbId); try { JarInputStream jin = null; @@ -1034,7 +1047,6 @@ public class Jalview2XML ArrayList tmpseqs = new ArrayList(); - boolean multipleView = false; JSeq[] JSEQ = object.getJalviewModelSequence().getJSeq(); @@ -1054,12 +1066,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) @@ -1284,6 +1296,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", @@ -1308,6 +1324,14 @@ public class Jalview2XML 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 //to the same sequenceSet. We must modify this id on load @@ -1383,11 +1407,14 @@ public class Jalview2XML af.alignPanel.adjustAnnotationHeight(); } - af.viewport.viewName = view.getViewName(); + if(view.getViewName()!=null) + { + af.viewport.viewName = view.getViewName(); + af.setInitialTabVisible(); + } af.setBounds(view.getXpos(), view.getYpos(), view.getWidth(), view.getHeight()); - af.viewport.setStartRes(view.getStartRes()); - af.viewport.setStartSeq(view.getStartSeq()); + af.viewport.setShowAnnotation(view.getShowAnnotation()); af.viewport.setAbovePIDThreshold(view.getPidSelected()); @@ -1395,6 +1422,7 @@ public class Jalview2XML af.viewport.setConservationSelected(view.getConservationSelected()); af.viewport.setShowJVSuffix(view.getShowFullId()); + af.viewport.rightAlignIds=view.getRightAlignIds(); af.viewport.setFont(new java.awt.Font(view.getFontName(), view.getFontStyle(), view.getFontSize())); af.alignPanel.fontChanged(); @@ -1408,6 +1436,12 @@ 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(); + + af.viewport.setStartRes(view.getStartRes()); + af.viewport.setStartSeq(view.getStartSeq()); ColourSchemeI cs = null;