- public void addHiddenSequence(SequenceI seq)
- {
- if (hiddenSequences == null)
- {
- hiddenSequences = new SequenceGroup();
- }
- hiddenSequences.addSequence(seq, false);
+ /**
+ * test if this is a valid candidate for another
+ * sequence's dataset sequence.
+ *
+ */
+ private boolean isValidDatasetSequence() {
+ if (datasetSequence!=null)
+ return false;
+ for (int i=0;i<sequence.length; i++)
+ if (jalview.util.Comparison.isGap(sequence[i]))
+ return false;
+ return true;
+ }
+ /* (non-Javadoc)
+ * @see jalview.datamodel.SequenceI#deriveSequence()
+ */
+ public SequenceI deriveSequence() {
+ SequenceI seq = new Sequence(name, sequence, start, end);
+ seq.setDescription(description);
+ if (datasetSequence!=null) {
+ seq.setDatasetSequence(datasetSequence);
+ } else {
+ if (isValidDatasetSequence())
+ seq.setDatasetSequence(this);
+ }
+ return seq;