X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=300cbd5bf7188b4c899e833bfcb4519884b7d000;hb=77785f8807cd04f7d41e64351b8289f5c543ad1a;hp=8ac5e8c516a546bd513ec2c9cd1783585c8bb4eb;hpb=51578ba4c17d34c857479d34d71f3bfb51cc029d;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 8ac5e8c..300cbd5 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 +911,36 @@ public class Jalview2XML jalview.datamodel.PDBEntry entry = new jalview.datamodel.PDBEntry(); entry.setId(ids[p].getId()); entry.setType(ids[p].getType()); + if(!pdbloaded.containsKey(ids[p].getId())) + { + 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());