## org.biojava.bio.seq.io
Interface SequenceFormat

All Known Subinterfaces:
  RichSequenceFormat

All Known Implementing Classes:
  EMBLFormat, EmblLikeFormat, EMBLxmlFormat, FastaFormat, FastaFormat, GAMEFormat, GenbankFormat, GenbankFormat, GenbankXmlFormat, GenpeptFormat, INSDseqFormat, PhredFormat, RichSequenceFormat.BasicFormat, RichSequenceFormat.HeaderlessFormat, UniProtFormat, UniProtXMLFormat

    public interface SequenceFormat

Defines what a sequence format does.

Sequence formats are responsible for both reading and writing a sequence in a format, presumably in such a way as the written record can be read back in by the same formatter.

Where possible, the methods are parameterised so that they don't need any knowledge of the specific implementation of Sequence they are reading or writing. E.g. it should be possible to parameterise readSequence to read from a Genbank stream and construct Ensembl CORBA objects, just by specifying an Ensembl SequenceFactory.

More functionality is offered by `RichSequenceFormat`, Use of this interface is prefered.

Author:
  Matthew Pocock, Thomas Down, Keith James

Method Summary
`String` `getDefaultFormat()` Deprecated. new implementations should only write a single format.
`boolean` `readSequence(BufferedReader reader, SymbolTokenization symParser, SeqIOListener listener)` Read a sequence and pass data on to a SeqIOListener.
`void` `writeSequence(Sequence seq, PrintStream os)` `writeSequence` writes a sequence to the specified PrintStream, using the default format.
`void` `writeSequence(Sequence seq, String format, PrintStream os)` Deprecated. use writeSequence(Sequence seq, PrintStream os)

Method Detail

### readSequence

    boolean readSequence(BufferedReader reader,
                         SymbolTokenization symParser,
                         SeqIOListener listener)
                         throws BioException,
                                IllegalSymbolException,
                                IOException

  Read a sequence and pass data on to a SeqIOListener.

  Parameters:
    `reader` - The stream of data to parse.
    `symParser` - A SymbolParser defining a mapping from character data to Symbols.
    `listener` - A listener to notify when data is extracted from the stream.
  Returns:
    a boolean indicating whether or not the stream contains any more sequences.
  Throws:
    `IOException` - if an error occurs while reading from the stream.
    `IllegalSymbolException` - if it is not possible to translate character data from the stream into valid BioJava symbols.
    `BioException` - if there is an error in the format of the stream.

### writeSequence

    void writeSequence(Sequence seq,
                       PrintStream os)
                       throws IOException

  `writeSequence` writes a sequence to the specified PrintStream, using the default format.

  Parameters:
    `seq` - the sequence to write out.
    `os` - the printstream to write to.
  Throws:
    `IOException`

### writeSequence

    void writeSequence(Sequence seq,
                       String format,
                       PrintStream os)
                       throws IOException

  Deprecated. use writeSequence(Sequence seq, PrintStream os)

  `writeSequence` writes a sequence to the specified `PrintStream`, using the specified format.

  Parameters:
    `seq` - a `Sequence` to write out.
    `format` - a `String` indicating which sub-format of those available from a particular `SequenceFormat` implemention to use when writing.
    `os` - a `PrintStream` object.
  Throws:
    `IOException` - if an error occurs.

### getDefaultFormat

    String getDefaultFormat()

  Deprecated. new implementations should only write a single format.

  `getDefaultFormat` returns the String identifier for the default sub-format written by a `SequenceFormat` implementation.

  Returns:
    a `String`.