org.biojava.bio.seq.io
Class StreamReader
java.lang.Object
|
+--org.biojava.bio.seq.io.StreamReader
- public class StreamReader
- extends java.lang.Object
- implements SequenceIterator
Parses a stream into sequences.
This object implements SequenceIterator, so you can loop over each sequence
produced. It consumes a stream, and uses a SequenceFormat to extract each
sequence from the stream.
It is assumed that the stream contains sequences that can be handled by the
one format, and that they are not seperated other than by delimiters that the
format can handle.
Sequences are instantiated when they are requested by nextSequence, not
before, so it is safe to use this object to parse a giggabite fasta file, and
do sequence-by-sequence processing, while being guaranteed that StreamReader
will not require you to keep any of the sequences in memory.
- Author:
- Matthew Pocock
Inner Class Summary |
static class |
StreamReader.Context
Encapsulate a stream for reading sequence data. |
Method Summary |
boolean |
hasNext()
Returns whether there are more sequences to iterate over. |
Sequence |
nextSequence()
Pull the next sequence out of the stream. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
StreamReader
public StreamReader(java.io.InputStream is,
SequenceFormat format,
SymbolParser resParser,
SequenceFactory sf)
StreamReader
public StreamReader(java.io.BufferedReader reader,
SequenceFormat format,
SymbolParser resParser,
SequenceFactory sf)
nextSequence
public Sequence nextSequence()
throws java.util.NoSuchElementException,
BioException
- Pull the next sequence out of the stream.
This method will delegate parsing from the stream to a SequenceFormat
object, and then return the resulting sequence.
- Specified by:
- nextSequence in interface SequenceIterator
- Returns:
- the next Sequence
- Throws:
- java.util.NoSuchElementException - if the end of the stream has been hit
- BioException - if for any reason the next sequence could not be read
hasNext
public boolean hasNext()
- Description copied from interface: SequenceIterator
- Returns whether there are more sequences to iterate over.
- Specified by:
- hasNext in interface SequenceIterator
- Tags copied from interface: SequenceIterator
- Returns:
- true if there are more sequences to get and false otherwise