X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=6d55c3299db85af1c1e3a7724e22f55715b0bca1;hb=9aae8c465483d78a6a0407774a86deb4b3b6416e;hp=d5b5fae372b1c6fae0159857497cdb0fb3ec03f2;hpb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index d5b5fae..6d55c32 100644 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -38,6 +38,7 @@ import jalview.datamodel.SequenceI; import jalview.schemabinding.version2.*; import jalview.schemes.*; import jalview.structure.StructureSelectionManager; +import jalview.util.Platform; import jalview.util.jarInputStreamProvider; /** @@ -426,9 +427,9 @@ public class Jalview2XML object.setCreationDate(new java.util.Date(System.currentTimeMillis())); object.setVersion(jalview.bin.Cache.getProperty("VERSION")); - jalview.datamodel.AlignmentI jal = av.alignment; + jalview.datamodel.AlignmentI jal = av.getAlignment(); - if (av.hasHiddenRows) + if (av.hasHiddenRows()) { jal = jal.getHiddenSequences().getFullAlignment(); } @@ -497,15 +498,13 @@ public class Jalview2XML jseq.setId(id); // jseq id should be a string not a number - if (av.hasHiddenRows) + if (av.hasHiddenRows()) { - jseq.setHidden(av.alignment.getHiddenSequences().isHidden(jds)); + jseq.setHidden(av.getAlignment().getHiddenSequences().isHidden(jds)); - if (av.hiddenRepSequences != null - && av.hiddenRepSequences.containsKey(jal.getSequenceAt(i))) + if (av.isHiddenRepSequence(jal.getSequenceAt(i))) { - jalview.datamodel.SequenceI[] reps = ((jalview.datamodel.SequenceGroup) av.hiddenRepSequences - .get(jal.getSequenceAt(i))).getSequencesInOrder(jal); + jalview.datamodel.SequenceI[] reps = av.getRepresentedSequences(jal.getSequenceAt(i)).getSequencesInOrder(jal); for (int h = 0; h < reps.length; h++) { @@ -612,7 +611,8 @@ public class Jalview2XML for (int smap = 0; smap < jmol.jmb.sequence[peid].length; smap++) { - if (jal.findIndex(jmol.jmb.sequence[peid][smap]) > -1) +// if (jal.findIndex(jmol.jmb.sequence[peid][smap]) > -1) + if (jds==jmol.jmb.sequence[peid][smap]) { StructureState state = new StructureState(); state.setVisible(true); @@ -706,9 +706,9 @@ public class Jalview2XML jms.addJSeq(jseq); } - if (av.hasHiddenRows) + if (av.hasHiddenRows()) { - jal = av.alignment; + jal = av.getAlignment(); } // SAVE MAPPINGS if (jal.getCodonFrames() != null && jal.getCodonFrames().length > 0) @@ -764,7 +764,7 @@ public class Jalview2XML { TreePanel tp = (TreePanel) frames[t]; - if (tp.treeCanvas.av.alignment == jal) + if (tp.treeCanvas.av.getAlignment() == jal) { Tree tree = new Tree(); tree.setTitle(tp.getTitle()); @@ -864,8 +864,8 @@ public class Jalview2XML an.setLabel(aa[i].label); - if (aa[i] == av.quality || aa[i] == av.conservation - || aa[i] == av.consensus || aa[i].autoCalculated) + if (aa[i] == av.getAlignmentQualityAnnot() || aa[i] == av.getAlignmentConservationAnnotation() + || aa[i] == av.getAlignmentConsensusAnnotation() || aa[i].autoCalculated) { // new way of indicating autocalculated annotation - an.setAutoCalculated(aa[i].autoCalculated); @@ -1204,7 +1204,7 @@ public class Jalview2XML } - if (av.hasHiddenColumns) + if (av.hasHiddenColumns()) { if (av.getColumnSelection() == null || av.getColumnSelection().getHiddenColumns() == null) @@ -1822,9 +1822,9 @@ public class Jalview2XML } ; out.close(); - - alreadyLoadedPDB.put(pdbId, outFile.getAbsolutePath()); - return outFile.getAbsolutePath(); + String t=outFile.getAbsolutePath(); + alreadyLoadedPDB.put(pdbId, t); + return t; } else { @@ -2626,12 +2626,13 @@ public class Jalview2XML } if (ids[p].getFile() != null) { + File mapkey=new File(ids[p].getFile()); Object[] seqstrmaps = (Object[]) ((Hashtable) jmoldat[2]) - .get(ids[p].getFile()); + .get(mapkey); if (seqstrmaps == null) { ((Hashtable) jmoldat[2]).put( - new File(ids[p].getFile()).toString(), + mapkey, seqstrmaps = new Object[] { pdbFile, ids[p].getId(), new Vector(), new Vector() }); @@ -2664,7 +2665,7 @@ public class Jalview2XML Object[] svattrib = entry.getValue(); int[] geom = (int[]) svattrib[0]; String state = (String) svattrib[1]; - Hashtable oldFiles = (Hashtable) svattrib[2]; + Hashtable oldFiles = (Hashtable) svattrib[2]; final boolean useinJmolsuperpos = ((boolean[]) svattrib[3])[0], usetoColourbyseq = ((boolean[]) svattrib[3])[1], jmolColouring = ((boolean[]) svattrib[3])[2]; int x = geom[0], y = geom[1], width = geom[2], height = geom[3]; // collate the pdbfile -> sequence mappings from this view @@ -2728,6 +2729,8 @@ public class Jalview2XML { newFileLoc = new StringBuffer(); } + do { + // look for next filename in load statement newFileLoc.append(state.substring(cp, ncp = (state.indexOf("\"", ncp + 1) + 1))); String oldfilenam = state.substring(ncp, @@ -2735,9 +2738,8 @@ public class Jalview2XML // recover the new mapping data for this old filename // have to normalize filename - since Jmol and jalview do filename // translation differently. - Object[] filedat = oldFiles.get(new File(oldfilenam) - .toString()); - newFileLoc.append(((String) filedat[0])); + Object[] filedat = oldFiles.get(new File(oldfilenam)); + newFileLoc.append(Platform.escapeString((String) filedat[0])); pdbfilenames.addElement((String) filedat[0]); pdbids.addElement((String) filedat[1]); seqmaps.addElement((SequenceI[]) ((Vector) filedat[2]) @@ -2745,6 +2747,7 @@ public class Jalview2XML newFileLoc.append("\""); cp = ecp + 1; // advance beyond last \" and set cursor so we can // look for next file statement. + } while ((ncp=state.indexOf("/*file*/",cp))>-1); } if (cp > 0) { @@ -2757,7 +2760,7 @@ public class Jalview2XML .print("Ignoring incomplete Jmol state for PDB ids: "); newFileLoc = new StringBuffer(state); newFileLoc.append("; load append "); - for (String id : oldFiles.keySet()) + for (File id : oldFiles.keySet()) { // add this and any other pdb files that should be present in // the viewer @@ -2855,7 +2858,7 @@ public class Jalview2XML // add mapping for sequences in this view to an already open Jmol // instance - for (String id : oldFiles.keySet()) + for (File id : oldFiles.keySet()) { // add this and any other pdb files that should be present in the // viewer @@ -2907,7 +2910,7 @@ public class Jalview2XML for (int i = 0; i < JSEQ.length; i++) { - af.viewport.setSequenceColour(af.viewport.alignment.getSequenceAt(i), + af.viewport.setSequenceColour(af.viewport.getAlignment().getSequenceAt(i), new java.awt.Color(JSEQ[i].getColour())); } @@ -2918,7 +2921,7 @@ public class Jalview2XML jalview.gui.AlignViewport av = (jalview.gui.AlignViewport) viewportsAdded .get(uniqueSeqSetId); - af.viewport.sequenceSetID = uniqueSeqSetId; + af.viewport.setSequenceSetId(uniqueSeqSetId); if (av != null) { // propagate shared settings to this new view @@ -3008,18 +3011,18 @@ public class Jalview2XML else if (view.getBgColour().startsWith("Annotation")) { // int find annotation - if (af.viewport.alignment.getAlignmentAnnotation() != null) + if (af.viewport.getAlignment().getAlignmentAnnotation() != null) { - for (int i = 0; i < af.viewport.alignment + for (int i = 0; i < af.viewport.getAlignment() .getAlignmentAnnotation().length; i++) { - if (af.viewport.alignment.getAlignmentAnnotation()[i].label + if (af.viewport.getAlignment().getAlignmentAnnotation()[i].label .equals(view.getAnnotationColours().getAnnotation())) { - if (af.viewport.alignment.getAlignmentAnnotation()[i] + if (af.viewport.getAlignment().getAlignmentAnnotation()[i] .getThreshold() == null) { - af.viewport.alignment.getAlignmentAnnotation()[i] + af.viewport.getAlignment().getAlignmentAnnotation()[i] .setThreshold(new jalview.datamodel.GraphLine(view .getAnnotationColours().getThreshold(), "Threshold", java.awt.Color.black) @@ -3031,7 +3034,7 @@ public class Jalview2XML .equals("None")) { cs = new AnnotationColourGradient( - af.viewport.alignment.getAlignmentAnnotation()[i], + af.viewport.getAlignment().getAlignmentAnnotation()[i], new java.awt.Color(view.getAnnotationColours() .getMinColour()), new java.awt.Color(view .getAnnotationColours().getMaxColour()), @@ -3041,7 +3044,7 @@ public class Jalview2XML .startsWith("ucs")) { cs = new AnnotationColourGradient( - af.viewport.alignment.getAlignmentAnnotation()[i], + af.viewport.getAlignment().getAlignmentAnnotation()[i], GetUserColourScheme(jms, view .getAnnotationColours().getColourScheme()), view.getAnnotationColours().getAboveThreshold()); @@ -3049,7 +3052,7 @@ public class Jalview2XML else { cs = new AnnotationColourGradient( - af.viewport.alignment.getAlignmentAnnotation()[i], + af.viewport.getAlignment().getAlignmentAnnotation()[i], ColourSchemeProperty.getColour(al, view .getAnnotationColours().getColourScheme()), view.getAnnotationColours().getAboveThreshold()); @@ -3072,7 +3075,7 @@ public class Jalview2XML * if * (view.getAnnotationColours().getColourScheme().equals("None" * )) { sg.cs = new AnnotationColourGradient( - * af.viewport.alignment.getAlignmentAnnotation()[i], new + * af.viewport.getAlignment().getAlignmentAnnotation()[i], new * java.awt.Color(view.getAnnotationColours(). * getMinColour()), new * java.awt.Color(view.getAnnotationColours(). @@ -3081,7 +3084,7 @@ public class Jalview2XML */ { sg.cs = new AnnotationColourGradient( - af.viewport.alignment.getAlignmentAnnotation()[i], + af.viewport.getAlignment().getAlignmentAnnotation()[i], sg.cs, view.getAnnotationColours() .getAboveThreshold()); } @@ -3103,7 +3106,7 @@ public class Jalview2XML if (cs != null) { cs.setThreshold(view.getPidThreshold(), true); - cs.setConsensus(af.viewport.hconsensus); + cs.setConsensus(af.viewport.getSequenceConsensusHash()); } } @@ -3129,8 +3132,8 @@ public class Jalview2XML } if (view.hasIgnoreGapsinConsensus()) { - af.viewport.ignoreGapsInConsensusCalculation = view - .getIgnoreGapsinConsensus(); + af.viewport.setIgnoreGapsConsensus(view + .getIgnoreGapsinConsensus(), null); } if (view.hasFollowHighlight()) { @@ -3151,11 +3154,11 @@ public class Jalview2XML } if (view.hasShowSequenceLogo()) { - af.viewport.showSequenceLogo = view.getShowSequenceLogo(); + af.viewport.setShowSequenceLogo(view.getShowSequenceLogo()); } else { - af.viewport.showSequenceLogo = false; + af.viewport.setShowSequenceLogo(false); } if (view.hasShowDbRefTooltip()) { @@ -3719,11 +3722,11 @@ public class Jalview2XML af.closeMenuItem_actionPerformed(true); /* - * if(ap.av.alignment.getAlignmentAnnotation()!=null) { for(int i=0; - * i