org.biojavax.bio.db
Class AbstractRichSequenceDB

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojavax.bio.db.AbstractBioEntryDB
          extended by org.biojavax.bio.db.AbstractRichSequenceDB
All Implemented Interfaces:
SequenceDB, SequenceDBLite, Changeable, BioEntryDB, BioEntryDBLite, RichSequenceDB, RichSequenceDBLite
Direct Known Subclasses:
BioSQLRichSequenceDB, GenbankRichSequenceDB, GenpeptRichSequenceDB, HashRichSequenceDB

public abstract class AbstractRichSequenceDB
extends AbstractBioEntryDB
implements RichSequenceDB

An abstract implementation of RichSequenceDB that provides the getRichSequenceIterator method.

Since:
1.5
Author:
Matthew Pocock, Thomas Down, Richard Holland

Field Summary
 
Fields inherited from interface org.biojava.bio.seq.db.SequenceDBLite
SEQUENCES
 
Fields inherited from interface org.biojavax.bio.db.BioEntryDBLite
BIOENTRYS
 
Fields inherited from interface org.biojavax.bio.db.BioEntryDBLite
BIOENTRYS
 
Fields inherited from interface org.biojava.bio.seq.db.SequenceDBLite
SEQUENCES
 
Constructor Summary
AbstractRichSequenceDB()
           
 
Method Summary
 void addBioEntry(BioEntry seq)
          Adds a sequence to the database.
 void addRichSequence(RichSequence seq)
          Adds a sequence to the database.
 void addSequence(Sequence seq)
          Adds a sequence to the database.
 FeatureHolder filter(FeatureFilter ff)
          Query features attached to all sequences in this database.
 BioEntry getBioEntry(String id)
          Retrieve a single BioEntry by its id.
 BioEntryIterator getBioEntryIterator()
          Returns a BioEntryIterator over all BioEntrys in the database.
 BioEntryDB getBioEntrys(Set ids)
          Retrieve multiple BioEntry by their ids.
 BioEntryDB getBioEntrys(Set ids, BioEntryDB db)
          Retrieve multiple BioEntry into a specific sequence database.
 RichSequenceIterator getRichSequenceIterator()
          Returns a RichSequenceIterator over all sequences in the database.
 Sequence getSequence(String id)
          Retrieve a single sequence by its id.
 void removeBioEntry(String id)
          Remove the BioEntry associated with an ID from the database.
 void removeRichSequence(String id)
          Remove the RichSequence associated with an ID from the database.
 void removeSequence(String id)
          Remove the sequence associated with an ID from the database.
 SequenceIterator sequenceIterator()
          Returns a SequenceIterator over all sequences in the database.
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.biojava.bio.seq.db.SequenceDB
ids
 
Methods inherited from interface org.biojava.bio.seq.db.SequenceDBLite
getName
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from interface org.biojavax.bio.db.BioEntryDB
ids
 
Methods inherited from interface org.biojavax.bio.db.BioEntryDBLite
getName
 
Methods inherited from interface org.biojavax.bio.db.RichSequenceDBLite
getRichSequence, getRichSequences, getRichSequences
 
Methods inherited from interface org.biojavax.bio.db.BioEntryDBLite
getName
 
Methods inherited from interface org.biojava.bio.seq.db.SequenceDBLite
getName
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Constructor Detail

AbstractRichSequenceDB

public AbstractRichSequenceDB()
Method Detail

getSequence

public Sequence getSequence(String id)
                     throws BioException,
                            IllegalIDException
Description copied from interface: SequenceDBLite
Retrieve a single sequence by its id.

Specified by:
getSequence in interface SequenceDBLite
Parameters:
id - the id to retrieve by
Returns:
the Sequence with that id
Throws:
IllegalIDException - if the database doesn't know about the id
BioException - if there was a failure in retrieving the sequence

getBioEntry

public BioEntry getBioEntry(String id)
                     throws BioException,
                            IllegalIDException
Description copied from interface: BioEntryDBLite
Retrieve a single BioEntry by its id.

Specified by:
getBioEntry in interface BioEntryDBLite
Parameters:
id - the id to retrieve by
Returns:
the BioEntry with that id
Throws:
IllegalIDException - if the database doesn't know about the id
BioException - if there was a failure in retrieving the BioEntry

getBioEntrys

public BioEntryDB getBioEntrys(Set ids)
                        throws BioException,
                               IllegalIDException
Description copied from interface: BioEntryDBLite
Retrieve multiple BioEntry by their ids.

Specified by:
getBioEntrys in interface BioEntryDBLite
Parameters:
ids - a set of ids to retrieve by
Returns:
the BioEntrys with those ids
Throws:
IllegalIDException - if the database doesn't know about the id
BioException

getBioEntrys

public BioEntryDB getBioEntrys(Set ids,
                               BioEntryDB db)
                        throws BioException,
                               IllegalIDException
Description copied from interface: BioEntryDBLite
Retrieve multiple BioEntry into a specific sequence database. If that database is null, a new HashBioEntryDB is used.

Specified by:
getBioEntrys in interface BioEntryDBLite
Parameters:
ids - a set of ids to retrieve by
db - a database to load the seqs into
Returns:
the BioEntrys with that id
Throws:
IllegalIDException - if the database doesn't know about the id
BioException

addSequence

public void addSequence(Sequence seq)
                 throws IllegalIDException,
                        BioException,
                        ChangeVetoException
Description copied from interface: SequenceDBLite
Adds a sequence to the database.

Specified by:
addSequence in interface SequenceDBLite
Parameters:
seq - the Sequence to add
Throws:
IllegalIDException - if a uniqe ID could not be generated for seq
BioException - if something goes wrong with adding the sequence
ChangeVetoException - if either the database does not allow sequences to be added or the modification was vetoed

removeSequence

public void removeSequence(String id)
                    throws IllegalIDException,
                           BioException,
                           ChangeVetoException
Description copied from interface: SequenceDBLite
Remove the sequence associated with an ID from the database.

Specified by:
removeSequence in interface SequenceDBLite
Parameters:
id - the ID of the sequence to remove
Throws:
IllegalIDException - if there is no sequence for the ID
BioException - if something failed while removing the sequence for that ID
ChangeVetoException - if either the database does not allow sequences to be removed or the modification was vetoed

addBioEntry

public void addBioEntry(BioEntry seq)
                 throws IllegalIDException,
                        BioException,
                        ChangeVetoException
Description copied from interface: BioEntryDBLite
Adds a sequence to the database.

Specified by:
addBioEntry in interface BioEntryDBLite
Overrides:
addBioEntry in class AbstractBioEntryDB
Parameters:
seq - the BioEntry to add
Throws:
IllegalIDException - if a uniqe ID could not be generated for BioEntry
BioException - if something goes wrong with adding the BioEntry
ChangeVetoException - if either the database does not allow BioEntrys to be added or the modification was vetoed

removeBioEntry

public void removeBioEntry(String id)
                    throws IllegalIDException,
                           BioException,
                           ChangeVetoException
Description copied from interface: BioEntryDBLite
Remove the BioEntry associated with an ID from the database.

Specified by:
removeBioEntry in interface BioEntryDBLite
Overrides:
removeBioEntry in class AbstractBioEntryDB
Parameters:
id - the ID of the BioEntry to remove
Throws:
IllegalIDException - if there is no BioEntry for the ID
BioException - if something failed while removing the BioEntry for that ID
ChangeVetoException - if either the database does not allow BioEntrys to be removed or the modification was vetoed

addRichSequence

public void addRichSequence(RichSequence seq)
                     throws IllegalIDException,
                            BioException,
                            ChangeVetoException
Description copied from interface: RichSequenceDBLite
Adds a sequence to the database.

Specified by:
addRichSequence in interface RichSequenceDBLite
Parameters:
seq - the RichSequence to add
Throws:
IllegalIDException - if a uniqe ID could not be generated for RichSequence
BioException - if something goes wrong with adding the RichSequence
ChangeVetoException - if either the database does not allow RichSequences to be added or the modification was vetoed

removeRichSequence

public void removeRichSequence(String id)
                        throws IllegalIDException,
                               BioException,
                               ChangeVetoException
Description copied from interface: RichSequenceDBLite
Remove the RichSequence associated with an ID from the database.

Specified by:
removeRichSequence in interface RichSequenceDBLite
Parameters:
id - the ID of the RichSequence to remove
Throws:
IllegalIDException - if there is no RichSequence for the ID
BioException - if something failed while removing the RichSequence for that ID
ChangeVetoException - if either the database does not allow RichSequences to be removed or the modification was vetoed

sequenceIterator

public SequenceIterator sequenceIterator()
Description copied from interface: SequenceDB
Returns a SequenceIterator over all sequences in the database. The order of retrieval is undefined.

Specified by:
sequenceIterator in interface SequenceDB
Specified by:
sequenceIterator in interface RichSequenceDB
Returns:
a SequenceIterator over all sequences

getBioEntryIterator

public BioEntryIterator getBioEntryIterator()
Description copied from interface: BioEntryDB
Returns a BioEntryIterator over all BioEntrys in the database. The order of retrieval is undefined.

Specified by:
getBioEntryIterator in interface BioEntryDB
Overrides:
getBioEntryIterator in class AbstractBioEntryDB
Returns:
a BioEntryIterator over all BioEntrys

getRichSequenceIterator

public RichSequenceIterator getRichSequenceIterator()
Description copied from interface: RichSequenceDB
Returns a RichSequenceIterator over all sequences in the database. The order of retrieval is undefined.

Specified by:
getRichSequenceIterator in interface RichSequenceDB
Returns:
a RichSequenceIterator over all sequences

filter

public FeatureHolder filter(FeatureFilter ff)
Description copied from interface: SequenceDB
Query features attached to all sequences in this database. This is equivalent to applying filter to all sequences then merging the results.

Specified by:
filter in interface SequenceDB
Parameters:
ff - a FeatureFilter.