object.setVersion(jalview.bin.Cache.getProperty("VERSION"));\r
\r
jalview.datamodel.AlignmentI jal = af.viewport.alignment;\r
+ jalview.datamodel.AlignmentI jalhidden = null;\r
+\r
+ if(av.hasHiddenRows)\r
+ {\r
+ jalhidden = jal;\r
+ jal = jal.getHiddenSequences().getFullAlignment();\r
+ }\r
+\r
\r
SequenceSet vamsasSet = new SequenceSet();\r
Sequence vamsasSeq;\r
\r
//SAVE SEQUENCES\r
int id = 0;\r
-\r
for (int i = 0; i < jal.getHeight(); i++)\r
{\r
seqids.add(jal.getSequenceAt(i));\r
-\r
vamsasSeq = new Sequence();\r
vamsasSeq.setId(id + "");\r
vamsasSeq.setName(jal.getSequenceAt(i).getName());\r
vamsasSeq.setSequence(jal.getSequenceAt(i).getSequence());\r
vamsasSeq.setDescription(jal.getSequenceAt(i).getDescription());\r
\r
+ if(jal.getSequenceAt(i).getDatasetSequence().getDBRef()!=null)\r
+ {\r
+ jalview.datamodel.DBRefEntry [] dbrefs =\r
+ jal.getSequenceAt(i).getDatasetSequence().getDBRef();\r
+\r
+ for(int d=0; d<dbrefs.length; d++)\r
+ {\r
+ DBRef dbref = new DBRef();\r
+ dbref.setSource( dbrefs[d].getSource() );\r
+ dbref.setVersion( dbrefs[d].getVersion());\r
+ dbref.setAccessionId(dbrefs[d].getAccessionId());\r
+ vamsasSeq.addDBRef(dbref);\r
+ }\r
+ }\r
+\r
jseq = new JSeq();\r
jseq.setStart(jal.getSequenceAt(i).getStart());\r
jseq.setEnd(jal.getSequenceAt(i).getEnd());\r
-\r
jseq.setColour(jal.getSequenceAt(i).getColor().getRGB());\r
\r
jseq.setId(id);\r
\r
+ if (av.hasHiddenRows)\r
+ {\r
+ jseq.setHidden(jalhidden.getHiddenSequences().isHidden(\r
+ jal.getSequenceAt(i)));\r
+\r
+ if(jal.getSequenceAt(i).getHiddenSequences()!=null)\r
+ {\r
+ jalview.datamodel.SequenceI [] reps =\r
+ jal.getSequenceAt(i).getHiddenSequences().getSequencesInOrder(jal);\r
+\r
+ for(int h=0; h<reps.length; h++)\r
+ {\r
+ jseq.addHiddenSequences(\r
+ jal.findIndex(reps[h])\r
+ );\r
+ }\r
+ }\r
+ }\r
+\r
+\r
if(jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures()!=null)\r
{\r
jalview.datamodel.SequenceFeature[] sf\r
\r
}\r
\r
+ if(av.hasHiddenColumns)\r
+ {\r
+ for(int c=0; c<av.getColumnSelection().getHiddenColumns().size(); c++)\r
+ {\r
+ int [] region = (int[]) av.getColumnSelection().getHiddenColumns().elementAt(c);\r
+ HiddenColumns hc = new HiddenColumns();\r
+ hc.setStart(region[0]);\r
+ hc.setEnd(region[1]);\r
+ view.addHiddenColumns(hc);\r
+ }\r
+ }\r
+\r
+ if(av.hasHiddenRows)\r
+ {\r
+ // av.alignment.getHiddenSequences().get\r
+ // HiddenSequences hs = new HiddenSequences();\r
+ // hs.ad\r
+ // view.addHiddenSequences();\r
+ // av.showAllHiddenSeqs();.alignment.getHiddenSequences().\r
+ }\r
+\r
jms.addViewport(view);\r
\r
\r
\r
//////////////////////////////////\r
//LOAD SEQUENCES\r
+ Vector hiddenSeqs = null;\r
jalview.datamodel.Sequence[] jseqs = new jalview.datamodel.Sequence[vamsasSeq.length];\r
JSeq[] JSEQ = object.getJalviewModelSequence().getJSeq();\r
for (int i = 0; i < vamsasSeq.length; i++)\r
vamsasSeq[i].getSequence());\r
jseqs[i].setDescription( vamsasSeq[i].getDescription() );\r
\r
+ if(JSEQ[i].getHidden())\r
+ {\r
+ if(hiddenSeqs == null)\r
+ hiddenSeqs = new Vector();\r
+ hiddenSeqs.addElement(jseqs[i]);\r
+ }\r
jseqs[i].setStart(JSEQ[i].getStart());\r
jseqs[i].setEnd(JSEQ[i].getEnd());\r
jseqs[i].setColor(new java.awt.Color(JSEQ[i].getColour()));\r
al.setDataset(null);\r
/////////////////////////////////\r
\r
+\r
for (int i = 0; i < vamsasSeq.length; i++)\r
{\r
if (JSEQ[i].getFeaturesCount() > 0)\r
}\r
\r
}\r
+ if(vamsasSeq[i].getDBRefCount()>0)\r
+ {\r
+ for(int d=0; d<vamsasSeq[i].getDBRefCount(); d++)\r
+ {\r
+ jalview.datamodel.DBRefEntry entry =\r
+ new jalview.datamodel.DBRefEntry(\r
+ vamsasSeq[i].getDBRef(d).getSource(),\r
+ vamsasSeq[i].getDBRef(d).getVersion(),\r
+ vamsasSeq[i].getDBRef(d).getAccessionId()\r
+ );\r
+ al.getSequenceAt(i).getDatasetSequence().addDBRef(entry);\r
+ }\r
+\r
+ }\r
}\r
\r
\r
+\r
/////////////////////////////////\r
//////////////////////////////////\r
//LOAD ANNOTATIONS\r
Viewport[] views = jms.getViewport();\r
Viewport view = views[0]; // DEAL WITH MULTIPLE VIEWPORTS LATER\r
\r
+\r
AlignFrame af = new AlignFrame(al);\r
+\r
+ if(hiddenSeqs!=null)\r
+ {\r
+ for(int s=0; s<JSEQ.length; s++)\r
+ {\r
+ for(int r=0; r<JSEQ[s].getHiddenSequencesCount(); r++)\r
+ {\r
+ al.getSequenceAt(s).addHiddenSequence(\r
+ al.getSequenceAt( JSEQ[s].getHiddenSequences(r) )\r
+ );\r
+ }\r
+ }\r
+\r
+ for(int s=0; s<hiddenSeqs.size(); s++)\r
+ {\r
+ af.viewport.hideSequence(\r
+ (jalview.datamodel.SequenceI)hiddenSeqs.elementAt(s));\r
+ }\r
+ }\r
+\r
+\r
if(hideConsensus || hideQuality || hideConservation)\r
{\r
int hSize = al.getAlignmentAnnotation().length;\r
af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder = renderOrder;\r
}\r
\r
+ if (view.getHiddenColumnsCount() > 0)\r
+ {\r
+ for (int c = 0; c < view.getHiddenColumnsCount(); c++)\r
+ {\r
+ af.viewport.hideColumns(\r
+ view.getHiddenColumns(c).getStart(),\r
+ view.getHiddenColumns(c).getEnd()+1\r
+ );\r
+ }\r
+ }\r
+\r
\r
Desktop.addInternalFrame(af, view.getTitle(),\r
view.getWidth(), view.getHeight());\r