org.biojavax.bio.db.ncbi
Class GenbankRichSequenceDB

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

public class GenbankRichSequenceDB
extends AbstractRichSequenceDB
implements RichSequenceDBLite

This class contains functions accessing DNA sequences in Genbank format. It adds methods to return RichSequences instead of plain Sequences.

Since:
1.5
Author:
Lei Lai, Matthew Pocock, Laurent Jourdren, Shuvankar Mukherjee, Mark Schreiber, Richard Holland

Field Summary
protected static String urlBatchSequences
           
 
Fields inherited from interface org.biojavax.bio.db.BioEntryDBLite
BIOENTRYS
 
Fields inherited from interface org.biojava.bio.seq.db.SequenceDBLite
SEQUENCES
 
Constructor Summary
GenbankRichSequenceDB()
          The default constructor delegates to the parent class.
 
Method Summary
protected  URL getAddress(String id)
          Get the URL object for locating sequence object using eutils.
 RichSequenceBuilderFactory getFactory()
          Getter for property factory.
 String getName()
          Get the name of this sequence database.
 Namespace getNamespace()
          Getter for property namespace.
 RichSequence getRichSequence(String id)
          Given the appropriate Genbank ID, return the matching RichSequence object.
 RichSequence getRichSequence(String id, Namespace nsp)
          Given the appropriate Genbank ID, return the matching RichSequence object.
 RichSequenceDB getRichSequences(Set list)
          Retrieve rich sequences from a Genbank
 RichSequenceDB getRichSequences(Set list, RichSequenceDB database)
          Retrieve rich sequences from a Genbank
 Set ids()
          Get an immutable set of all of the IDs in the database.
protected  String makeBatchRequest(URL url, Set list)
          Create the Http Post Request to fetch (in batch mode) a list of sequence with Genbank.
 void setFactory(RichSequenceBuilderFactory factory)
          Setter for property factory.
 void setNamespace(Namespace namespace)
          Setter for property namespace.
 
Methods inherited from class org.biojavax.bio.db.AbstractRichSequenceDB
addBioEntry, addRichSequence, addSequence, filter, getBioEntry, getBioEntryIterator, getBioEntrys, getBioEntrys, getRichSequenceIterator, getSequence, removeBioEntry, removeRichSequence, removeSequence, sequenceIterator
 
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.biojavax.bio.db.RichSequenceDBLite
addRichSequence, removeRichSequence
 
Methods inherited from interface org.biojavax.bio.db.BioEntryDBLite
addBioEntry, getBioEntry, getBioEntrys, getBioEntrys, removeBioEntry
 
Methods inherited from interface org.biojava.bio.seq.db.SequenceDBLite
addSequence, getSequence, removeSequence
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Field Detail

urlBatchSequences

protected static final String urlBatchSequences
See Also:
Constant Field Values
Constructor Detail

GenbankRichSequenceDB

public GenbankRichSequenceDB()
The default constructor delegates to the parent class. The constructor refers to RichObjectFactory.getDefaultNamespace() so make sure your factory is initialised before calling this constructor. Sets the default factory to THRESHOLD.

Method Detail

getAddress

protected URL getAddress(String id)
                  throws MalformedURLException
Get the URL object for locating sequence object using eutils. The default value of the return format of the sequence object is text.

Throws:
MalformedURLException

makeBatchRequest

protected String makeBatchRequest(URL url,
                                  Set list)
Create the Http Post Request to fetch (in batch mode) a list of sequence with Genbank.

Parameters:
url - URL of the request
list - List of sequence identifier
Returns:
The Post request.

getRichSequence

public RichSequence getRichSequence(String id)
                             throws BioException,
                                    IllegalIDException
Given the appropriate Genbank ID, return the matching RichSequence object.

Specified by:
getRichSequence in interface RichSequenceDBLite
Parameters:
id - the Genbank ID to retrieve.
Returns:
the matching RichSequence object, or null if not found.
Throws:
Exception - if the sequence could not be retrieved for reasons other than the identifier not being found.
IllegalIDException - if the database doesn't know about the id
BioException

getRichSequence

public RichSequence getRichSequence(String id,
                                    Namespace nsp)
                             throws BioException,
                                    IllegalIDException
Given the appropriate Genbank ID, return the matching RichSequence object. Additionally define a new Namespace for the received RichSequence object.

Parameters:
id - the Genbank ID to retrieve.
nsp - the Namespace to define.
Returns:
the matching RichSequence object, or null if not found.
Throws:
Exception - if the sequence could not be retrieved for reasons other than the identifier not being found.
BioException
IllegalIDException

getRichSequences

public RichSequenceDB getRichSequences(Set list)
                                throws BioException,
                                       IllegalIDException
Retrieve rich sequences from a Genbank

Specified by:
getRichSequences in interface RichSequenceDBLite
Parameters:
list - List of NCBI sequence number (GI), accession, accession.version, fasta or seqid.
Returns:
The rich database object (HashSequenceDB) with downloaded rich sequences. You will need to cast the sequences you get from this database object into RichSequence objects if you want to access their full features.
Throws:
IllegalIDException - if the database doesn't know about the id
BioException

getRichSequences

public RichSequenceDB getRichSequences(Set list,
                                       RichSequenceDB database)
                                throws BioException,
                                       IllegalIDException
Retrieve rich sequences from a Genbank

Specified by:
getRichSequences in interface RichSequenceDBLite
Parameters:
list - List of NCBI sequence number (GI), accession, accession.version, fasta or seqid.
database - Where to store rich sequences. If database is null, use an HashSequenceDB Object.
Returns:
The database object with downloaded rich sequences. You will need to cast the sequences you get from this database object into RichSequence objects if you want to access their full features.
Throws:
IllegalIDException - if the database doesn't know about the id
BioException

getName

public String getName()
Description copied from interface: SequenceDBLite
Get the name of this sequence database.

Specified by:
getName in interface SequenceDBLite
Specified by:
getName in interface BioEntryDBLite
Returns:
the name of the sequence database, which may be null.

ids

public Set 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 interface SequenceDB
Specified by:
ids in interface BioEntryDB
Returns:
a Set of ids - at the moment, strings

getFactory

public RichSequenceBuilderFactory getFactory()
Getter for property factory.

Returns:
Value of property factory.

setFactory

public void setFactory(RichSequenceBuilderFactory factory)
Setter for property factory.

Parameters:
factory - New value of property factory.

getNamespace

public Namespace getNamespace()
Getter for property namespace.

Returns:
Value of property namespace.

setNamespace

public void setNamespace(Namespace namespace)
Setter for property namespace.

Parameters:
namespace - New value of property namespace.