X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=95912fe7125cb13b6c667fc3a26f4fbffeecf2e6;hb=3596077c79b7aa2051b9aaa978481004b513101c;hp=f79a158487307de56bba30052129ada1d65c970b;hpb=94e3d91558ad96de545821aeb548934f8c8353a3;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index f79a158..95912fe 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) @@ -780,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());