org.biojava.bio.seq
Interface Sequence

All Superinterfaces:
Annotatable, Changeable, FeatureHolder, SymbolList
All Known Subinterfaces:
GappedSequence
All Known Implementing Classes:
DummySequence, org.biojava.bio.seq.ragbag.RagbagAbstractSequence, SimpleAssembly, SimpleGappedSequence, SimpleSequence, SubSequence, ViewSequence

public interface Sequence
extends SymbolList, FeatureHolder, Annotatable

A biological sequence.

Instantiation

 Sequence myDNA = DNATools.createDNASequence("ATTATTCGTG", "mySeq");
 Sequence myFasta = SeqIOTools.readFastaProtein("mySeq.fa");
 Sequence myGenbank = SeqIOTools.readGenbank("mySeq.gb");
 

Common operations

 System.out.println("Length: " + myGenbank.length());
 System.out.println("Features: " + myGenbank.countFeatures());
 for(Iterator fi = myGenbank.features(); fi.hasNext(); ) {
   Feature f = (Feature) fi.next();
   System.out.println(f.getType() + "\t" + f.getLocation());
 }

 // create a new feature on a sequence
 StrandedFeature.Template ft = new StrandedFeature.Template();
 ft.type = "span";
 ft.location = new RangeLocation(230, 450);
 ft.source = "hand_made";
 ft.strand = StrandedFeature.NEGATIVE;

 StrandedFeature newSpan = (StrandedFeature) mySeq.createFeature(ft);
 

Description

This interface is a symbol list, so it contains symbols. It is annotatable so that you can add annotation to it, and it is a FeatureHolder so that you can add information about specific regions.

It is expected that there may be several implementations of this interface, each of which may be fairly heavy-weight. It takes the SymbolList interface that is nice mathematically, and turns it into a biologically useful object.

Author:
Matthew Pocock, Thomas Down

Nested Class Summary
 
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
 
Method Summary
 java.lang.String getName()
          The name of this sequence.
 java.lang.String getURN()
          A Uniform Resource Identifier (URI) which identifies the sequence represented by this object.
 
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.seq.FeatureHolder
containsFeature, countFeatures, createFeature, features, filter, filter, getSchema, removeFeature
 
Methods inherited from interface org.biojava.bio.Annotatable
getAnnotation
 

Method Detail

getURN

public java.lang.String getURN()
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
 

Returns:
the URI as a String

getName

public java.lang.String getName()
The name of this sequence.

The name may contain spaces or odd characters.

Returns:
the name as a String