## org.biojava.bio.seq
Class SimpleGappedSequence

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojava.bio.symbol.AbstractSymbolList
              org.biojava.bio.symbol.SimpleGappedSymbolList
                  org.biojava.bio.seq.SimpleGappedSequence

All Implemented Interfaces:
  Annotatable, Changeable, FeatureHolder, GappedSequence, GappedSymbolList, Sequence, java.io.Serializable, SymbolList

public class SimpleGappedSequence
extends SimpleGappedSymbolList
implements GappedSequence

Simple implementation of GappedSequence.

Since:
  1.3
Author:
  Thomas Down, Matthew Pocock
See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class org.biojava.bio.symbol.SimpleGappedSymbolList
`SimpleGappedSymbolList.Block`

Nested classes inherited from class org.biojava.bio.symbol.AbstractSymbolList
`AbstractSymbolList.EditScreener, AbstractSymbolList.EditTranslater`

Nested classes inherited from class org.biojava.bio.symbol.SymbolList
`SymbolList.EmptySymbolList`

Nested classes inherited from class org.biojava.bio.seq.FeatureHolder
`FeatureHolder.EmptyFeatureHolder`

Nested classes inherited from class org.biojava.bio.Annotatable
`Annotatable.AnnotationForwarder`

Field Summary

Fields inherited from interface org.biojava.bio.symbol.SymbolList
`EDIT, EMPTY_LIST`

Fields inherited from interface org.biojava.bio.seq.FeatureHolder
`EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA`

Fields inherited from interface org.biojava.bio.Annotatable
`ANNOTATION`

Constructor Summary
`SimpleGappedSequence(Sequence seq)`

Method Summary
`boolean` `containsFeature(Feature f)` Check if the feature is present in this holder.
`int` `countFeatures()` Count how many features are contained.
`Feature` `createFeature(Feature.Template templ)` Create a new Feature, and add it to this FeatureHolder.
`java.util.Iterator` `features()` Iterate over the features in no well defined order.
`FeatureHolder` `filter(FeatureFilter ff)` Query this set of features using a supplied `FeatureFilter`.
`FeatureHolder` `filter(FeatureFilter ff, boolean recurse)` Return a new FeatureHolder that contains all of the children of this one that passed the filter fc.
`Annotation` `getAnnotation()` Should return the associated annotation object.
`boolean` `getCreateOnUnderlyingSequence()`
`java.lang.String` `getName()` The name of this sequence.
`FeatureFilter` `getSchema()` Return a schema-filter for this `FeatureHolder`.
`java.lang.String` `getURN()` A Uniform Resource Identifier (URI) which identifies the sequence represented by this object.
`void` `removeFeature(Feature f)` Remove a feature from this FeatureHolder.
`void` `setCreateOnUnderlyingSequence(boolean underlying)`

Methods inherited from class org.biojava.bio.symbol.SimpleGappedSymbolList
`addGapInSource, addGapInView, addGapsInSource, addGapsInView, BlockIterator, dumpBlocks, findSourceBlock, findSourceGap, findViewBlock, findViewGap, firstNonGap, gappedToLocation, getAlphabet, getSourceSymbolList, lastNonGap, length, locationToGapped, removeGap, removeGaps, renumber, sourceToView, sourceToView, symbolAt, viewToSource, viewToSource`

Methods inherited from class org.biojava.bio.symbol.AbstractSymbolList
`edit, equals, hashCode, iterator, seqString, subList, subStr, toList`

Methods inherited from class org.biojava.utils.AbstractChangeable
`addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, isUnchanging, removeChangeListener, removeChangeListener`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.biojava.bio.symbol.SymbolList
`edit, getAlphabet, iterator, length, seqString, subList, subStr, symbolAt, toList`

Methods inherited from interface org.biojava.utils.Changeable
`addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener`

Methods inherited from interface org.biojava.bio.symbol.GappedSymbolList
`addGapInSource, addGapInView, addGapsInSource, addGapsInView, firstNonGap, getSourceSymbolList, lastNonGap, removeGap, removeGaps, sourceToView, viewToSource`

Constructor Detail

### SimpleGappedSequence

    public SimpleGappedSequence(Sequence seq)

Method Detail

### getCreateOnUnderlyingSequence

    public boolean getCreateOnUnderlyingSequence()

### setCreateOnUnderlyingSequence

    public void setCreateOnUnderlyingSequence(boolean underlying)

### getAnnotation

    public Annotation getAnnotation()

  Description copied from interface: `Annotatable`
  Should return the associated annotation object.

  Specified by:
    `getAnnotation` in interface `Annotatable`
  Returns:
    an Annotation object, never null

### getName

    public java.lang.String getName()

  Description copied from interface: `Sequence`
  The name of this sequence.

  The name may contain spaces or odd characters.

  Specified by:
    `getName` in interface `Sequence`
  Returns:
    the name as a String

### getURN

    public java.lang.String getURN()

  Description copied from interface: `Sequence`
  A Uniform Resource Identifier (URI) which identifies the sequence represented by this object. For sequences in well-known database, this may be a URN, e.g.

       urn:sequence/embl:AL121903

  It may also be a URL identifying a specific resource, either locally or over the network

       file:///home/thomas/myseq.fa|seq22
       http://www.mysequences.net/chr22.seq

  Specified by:
    `getURN` in interface `Sequence`
  Returns:
    the URI as a String

### features

    public java.util.Iterator features()

  Description copied from interface: `FeatureHolder`
  Iterate over the features in no well defined order.

  Specified by:
    `features` in interface `FeatureHolder`
  Returns:
    an Iterator

### filter

    public FeatureHolder filter(FeatureFilter ff)

  Description copied from interface: `FeatureHolder`
  Query this set of features using a supplied `FeatureFilter`.

  Specified by:
    `filter` in interface `FeatureHolder`
  Parameters:
    `ff` - the `FeatureFilter` to apply.
  Returns:
    all features in this container which match `filter`.

### filter

    public FeatureHolder filter(FeatureFilter ff,
                                boolean recurse)

  Description copied from interface: `FeatureHolder`
  Return a new FeatureHolder that contains all of the children of this one that passed the filter fc. This method is scheduled for deprecation. Use the 1-arg filter instead.

  Specified by:
    `filter` in interface `FeatureHolder`
  Parameters:
    `ff` - the FeatureFilter to apply
    `recurse` - true if all features-of-features should be scanned, and a single flat collection of features returned, or false if just immediate children should be filtered.

### countFeatures

    public int countFeatures()

  Description copied from interface: `FeatureHolder`
  Count how many features are contained.

  Specified by:
    `countFeatures` in interface `FeatureHolder`
  Returns:
    a positive integer or zero, equal to the number of features contained

### containsFeature

    public boolean containsFeature(Feature f)

  Description copied from interface: `FeatureHolder`
  Check if the feature is present in this holder.

  Specified by:
    `containsFeature` in interface `FeatureHolder`
  Parameters:
    `f` - the Feature to check
  Returns:
    true if f is in this set

### getSchema

    public FeatureFilter getSchema()

  Description copied from interface: `FeatureHolder`
  Return a schema-filter for this `FeatureHolder`. This is a filter which all `Feature`s immediately contained by this `FeatureHolder` will match. It need not directly match their child features, but it can (and should!) provide information about them using `FeatureFilter.OnlyChildren` filters. In cases where there is no feature hierarchy, this can be indicated by including `FeatureFilter.leaf` in the schema filter.

  For the truly non-informative case, it is possible to return `FeatureFilter.all`. However, it is almost always possible to provide slightly more information that this. For example, `Sequence` objects should, at a minimum, return `FeatureFilter.top_level`. `Feature` objects should, as a minimum, return `FeatureFilter.ByParent(new FeatureFilter.ByFeature(this))`.

  Specified by:
    `getSchema` in interface `FeatureHolder`
  Returns:
    the schema filter

### removeFeature

    public void removeFeature(Feature f)
                       throws ChangeVetoException

  Description copied from interface: `FeatureHolder`
  Remove a feature from this FeatureHolder.

  Specified by:
    `removeFeature` in interface `FeatureHolder`
  Throws:
    `ChangeVetoException` - if this FeatureHolder does not support feature removal or if the change was vetoed

### createFeature

    public Feature createFeature(Feature.Template templ)
                          throws ChangeVetoException,
                                 BioException

  Description copied from interface: `FeatureHolder`
  Create a new Feature, and add it to this FeatureHolder. This method will generally only work on Sequences, and on some Features which have been attached to Sequences.

  Specified by:
    `createFeature` in interface `FeatureHolder`
  Throws:
    `BioException` - if something went wrong during creating the feature
    `ChangeVetoException` - if this FeatureHolder does not support creation of new features, or if the change was vetoed