From 2a18c50afc08aeb2e2003e77efbdadaa4643652c Mon Sep 17 00:00:00 2001 From: jprocter Date: Thu, 30 Aug 2007 11:40:09 +0000 Subject: [PATCH] create dataset sequence method --- src/jalview/datamodel/Sequence.java | 23 +++++++++++++++++++++++ src/jalview/datamodel/SequenceI.java | 7 +++++++ 2 files changed, 30 insertions(+) diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java index 257f88a..65857ce 100755 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@ -882,6 +882,29 @@ public class Sequence } return seq; } + + /* (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); + } + return datasetSequence; + } /* (non-Javadoc) * @see jalview.datamodel.SequenceI#setAlignmentAnnotation(AlignmmentAnnotation[] annotations) */ diff --git a/src/jalview/datamodel/SequenceI.java b/src/jalview/datamodel/SequenceI.java index 5c15108..c11ebc2 100755 --- a/src/jalview/datamodel/SequenceI.java +++ b/src/jalview/datamodel/SequenceI.java @@ -282,5 +282,12 @@ public interface SequenceI * @return null or array of annotations. */ public AlignmentAnnotation[] getAnnotation(String label); + /** + * create a new dataset sequence (if necessary) + * for this sequence and sets this sequence to refer to it. + * This call will move any features or references on the sequence onto the dataset. + * @return dataset sequence for this sequence + */ + public SequenceI createDatasetSequence(); } -- 1.7.10.2