+
+ /*
+ * (non-Javadoc)
+ *
+ * @see jalview.datamodel.SequenceI#createDatasetSequence()
+ */
+ public SequenceI createDatasetSequence()
+ {
+ if (datasetSequence == null)
+ {
+ datasetSequence = new Sequence(getName(), AlignSeq.extractGaps(
+ jalview.util.Comparison.GapChars, getSequenceAsString()),
+ getStart(), getEnd());
+ datasetSequence.setSequenceFeatures(getSequenceFeatures());
+ datasetSequence.setDescription(getDescription());
+ setSequenceFeatures(null);
+ // move database references onto dataset sequence
+ datasetSequence.setDBRef(getDBRef());
+ setDBRef(null);
+ datasetSequence.setPDBId(getPDBId());
+ setPDBId(null);
+ datasetSequence.updatePDBIds();
+ if (annotation != null)
+ {
+ Vector<AlignmentAnnotation> _annot = annotation;
+ annotation = null;
+ for (AlignmentAnnotation aa : _annot)
+ {
+ aa.sequenceRef = datasetSequence;
+ aa.adjustForAlignment(); // uses annotation's own record of
+ // sequence-column mapping
+ datasetSequence.addAlignmentAnnotation(aa);
+ }
+ }
+ }
+ return datasetSequence;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.datamodel.SequenceI#setAlignmentAnnotation(AlignmmentAnnotation[]
+ * annotations)