Package org.biojava.bio.seq.db
Class HashSequenceDB
java.lang.Object
org.biojava.utils.AbstractChangeable
org.biojava.bio.seq.db.AbstractSequenceDB
org.biojava.bio.seq.db.HashSequenceDB
- All Implemented Interfaces:
Serializable
,SequenceDB
,SequenceDBLite
,Changeable
An implementation of SequenceDB that uses an underlying HashMap to store the
sequence objects.
- Author:
- Matthew Pocock, Gerald Loeffler, Matias Pilpari (LinkedHashMap)
- See Also:
-
Field Summary
Fields inherited from interface org.biojava.bio.seq.db.SequenceDBLite
SEQUENCES
-
Constructor Summary
ConstructorsConstructorDescriptionGenerate a HashSequenceDB object that will use byName to generate ids for sequences and have a null name.HashSequenceDB
(String name) Generate a HashSequenceDB object that will use byName to generate ids and will have the requested name.HashSequenceDB
(IDMaker idMaker) Generate a HashSequenceDB object that will use idMaker to generate ids for sequences and have a null name.HashSequenceDB
(IDMaker idMaker, String name) Generate a HashSequenceDB object that will use idMaker to generate ids for sequences and have the requested name. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSequence
(String id, Sequence seq) Add a sequence under a particular id.void
addSequence
(Sequence seq) Adds a sequence to the database.Retrieve the IDMaker associated with this database.getName()
Get the name of this sequence database.getSequence
(String id) Retrieve a single sequence by its id.ids()
Get an immutable set of all of the IDs in the database.void
removeSequence
(String id) Remove the sequence associated with an ID from the database.Returns a SequenceIterator over all sequences in the database.Methods inherited from class org.biojava.bio.seq.db.AbstractSequenceDB
filter
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.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
Methods inherited from interface org.biojava.bio.seq.db.SequenceDB
filter
-
Constructor Details
-
HashSequenceDB
public HashSequenceDB()Generate a HashSequenceDB object that will use byName to generate ids for sequences and have a null name. -
HashSequenceDB
Generate a HashSequenceDB object that will use idMaker to generate ids for sequences and have a null name.- Parameters:
idMaker
- the object that will work out the default id for a sequence
-
HashSequenceDB
Generate a HashSequenceDB object that will use byName to generate ids and will have the requested name.- Parameters:
name
- the name for this database
-
HashSequenceDB
Generate a HashSequenceDB object that will use idMaker to generate ids for sequences and have the requested name.- Parameters:
idMaker
- the object that will work out the default id for a sequencename
- the name for this database
-
-
Method Details
-
getName
Description copied from interface:SequenceDBLite
Get the name of this sequence database.- Specified by:
getName
in interfaceSequenceDBLite
- Returns:
- the name of the sequence database, which may be null.
-
getSequence
Description copied from interface:SequenceDBLite
Retrieve a single sequence by its id.- Specified by:
getSequence
in interfaceSequenceDBLite
- Parameters:
id
- the id to retrieve by- Returns:
- the Sequence with that id
- Throws:
IllegalIDException
- if the database doesn't know about the id
-
ids
Description copied from interface:SequenceDB
Get an immutable set of all of the IDs in the database. The ids are legal arguments to getSequence.- Specified by:
ids
in interfaceSequenceDB
- Returns:
- a Set of ids - at the moment, strings
-
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 interfaceSequenceDB
- Overrides:
sequenceIterator
in classAbstractSequenceDB
- Returns:
- a SequenceIterator over all sequences
-
addSequence
Add a sequence under a particular id.- Parameters:
id
- the id to useseq
- the Sequence to add- Throws:
ChangeVetoException
- if this addition was vetoed
-
getIDMaker
Retrieve the IDMaker associated with this database.- Returns:
- the current IDMaker object
-
addSequence
Description copied from interface:SequenceDBLite
Adds a sequence to the database.- Specified by:
addSequence
in interfaceSequenceDBLite
- Overrides:
addSequence
in classAbstractSequenceDB
- Parameters:
seq
- the Sequence to add- Throws:
ChangeVetoException
- if either the database does not allow sequences to be added or the modification was vetoed
-
removeSequence
Description copied from interface:SequenceDBLite
Remove the sequence associated with an ID from the database.- Specified by:
removeSequence
in interfaceSequenceDBLite
- Overrides:
removeSequence
in classAbstractSequenceDB
- Parameters:
id
- the ID of the sequence to remove- Throws:
BioException
- if something failed while removing the sequence for that IDChangeVetoException
- if either the database does not allow sequences to be removed or the modification was vetoed
-