deleteSequenceFeature
authoramwaterhouse <Andrew Waterhouse>
Mon, 30 Oct 2006 16:30:33 +0000 (16:30 +0000)
committeramwaterhouse <Andrew Waterhouse>
Mon, 30 Oct 2006 16:30:33 +0000 (16:30 +0000)
src/jalview/datamodel/Sequence.java
src/jalview/datamodel/SequenceI.java

index 16cf4b8..b1a1be2 100755 (executable)
@@ -169,6 +169,44 @@ public class Sequence implements SequenceI
     sequenceFeatures = temp;
   }
 
+  public void deleteFeature(SequenceFeature sf)
+  {
+    if(sequenceFeatures==null)
+      return;
+
+    int index=0;
+    for (index = 0; index < sequenceFeatures.length; index++)
+    {
+      if (sequenceFeatures[index].equals(sf))
+      {
+        break;
+      }
+    }
+
+
+    if(index==sequenceFeatures.length)
+      return;
+
+    int sfLength = sequenceFeatures.length;
+    if(sfLength<2)
+    {
+      sequenceFeatures = null;
+    }
+    else
+    {
+      SequenceFeature[] temp = new SequenceFeature[sfLength-1];
+      System.arraycopy(sequenceFeatures, 0, temp, 0, index);
+
+      if(index<sfLength)
+        System.arraycopy(sequenceFeatures,
+                         index + 1,
+                         temp,
+                         index, sequenceFeatures.length - index -1);
+
+      sequenceFeatures = temp;
+    }
+  }
+
   /**
    * DOCUMENT ME!
    *
index eb7cda6..d4ac599 100755 (executable)
@@ -255,6 +255,8 @@ public interface SequenceI
 
     public void addSequenceFeature(SequenceFeature sf);
 
+    public void deleteFeature(SequenceFeature sf);
+
     public void setDatasetSequence(SequenceI seq);
 
     public SequenceI getDatasetSequence();