/** DOCUMENT ME!! */
public SequenceFeature[] sequenceFeatures;
- /** This array holds hidden sequences
- * of which this sequence is the representitive member of a group
- */
- SequenceGroup hiddenSequences;
/**
* Creates a new Sequence object.
*/
public Sequence(SequenceI seq)
{
- this(seq.getName(), seq.getSequence(), seq.getStart(), seq.getEnd());
+ this(seq.getName(),
+ seq.getSequence(),
+ seq.getStart(),
+ seq.getEnd());
+ description = seq.getDescription();
}
+
/**
* DOCUMENT ME!
*
// JBPNote - left to user to pad the result here (TODO:Decide on this policy)
if (start >= sequence.length)
{
- System.out.println("DOES THIS GET CALLED???");
+ return new char[0];
}
if (end >= sequence.length)
// JBPNote - this is an incomplete copy.
SequenceI nseq = new Sequence(this.getName(), seq, nstart, nend);
nseq.setDescription(description);
- nseq.setDatasetSequence(getDatasetSequence());
+ if (datasetSequence!=null)
+ nseq.setDatasetSequence(datasetSequence);
+ else
+ nseq.setDatasetSequence(this);
return nseq;
}
this.annotation.addElement(annotation);
}
- public SequenceGroup getHiddenSequences()
- {
- return hiddenSequences;
- }
- 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;
}
- public void showHiddenSequence(SequenceI seq)
- {
- hiddenSequences.deleteSequence(seq, false);
- if (hiddenSequences.getSize(false) < 1)
- {
- hiddenSequences = null;
- }
- }
}