X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=562d5cbbd96b4dfdf04aaa92fb1051fe0270379e;hb=d187567c926fed31f9cd9bda0dc112bc4d1b1261;hp=f34a764c2a33e7706edd68cdba6fc690eb6864c8;hpb=501657b3f11ab8e83271b6500375d8ae80b66c84;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index f34a764..562d5cb 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -168,6 +168,14 @@ public class Jalview2XML object.setVersion(jalview.bin.Cache.getProperty("VERSION")); jalview.datamodel.AlignmentI jal = af.viewport.alignment; + jalview.datamodel.AlignmentI jalhidden = null; + + if(av.hasHiddenRows) + { + jalhidden = jal; + jal = jal.getHiddenSequences().getFullAlignment(); + } + SequenceSet vamsasSet = new SequenceSet(); Sequence vamsasSeq; @@ -176,28 +184,61 @@ public class Jalview2XML vamsasSet.setGapChar(jal.getGapCharacter() + ""); JSeq jseq; + Vector pdbfiles = null; //SAVE SEQUENCES int id = 0; - for (int i = 0; i < jal.getHeight(); i++) { seqids.add(jal.getSequenceAt(i)); - vamsasSeq = new Sequence(); vamsasSeq.setId(id + ""); vamsasSeq.setName(jal.getSequenceAt(i).getName()); vamsasSeq.setSequence(jal.getSequenceAt(i).getSequence()); vamsasSeq.setDescription(jal.getSequenceAt(i).getDescription()); + if(jal.getSequenceAt(i).getDatasetSequence().getDBRef()!=null) + { + jalview.datamodel.DBRefEntry [] dbrefs = + jal.getSequenceAt(i).getDatasetSequence().getDBRef(); + + for(int d=0; d 0) @@ -781,13 +912,39 @@ public class Jalview2XML jalview.datamodel.PDBEntry entry = new jalview.datamodel.PDBEntry(); entry.setId(ids[p].getId()); entry.setType(ids[p].getType()); + if (ids[p].getFile() != null) + { + 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()); + } + al.getSequenceAt(i).getDatasetSequence().addPDBId(entry); } + } + if(vamsasSeq[i].getDBRefCount()>0) + { + for(int d=0; d 0) + { + for (int c = 0; c < view.getHiddenColumnsCount(); c++) + { + af.viewport.hideColumns( + view.getHiddenColumns(c).getStart(), + view.getHiddenColumns(c).getEnd()+1 + ); + } + } + Desktop.addInternalFrame(af, view.getTitle(), view.getWidth(), view.getHeight());