org.biojava.bio.chromatogram
Class ChromatogramFactory

java.lang.Object
  extended by org.biojava.bio.chromatogram.ChromatogramFactory

public class ChromatogramFactory
extends java.lang.Object

A factory that creates Chromatogram objects from files or streams. In either case, the type of object to create is determined from the first four bytes of the stream (the magic number).

Since:
1.3
Author:
Rhett Sutphin (UI CBCB), Matthew Pocock

Field Summary
static int ABI_MAGIC
          The magic number for ABIF files.
static int SCF_MAGIC
          The magic number for SCF files.
 
Constructor Summary
ChromatogramFactory()
           
 
Method Summary
static Chromatogram create(java.io.File f)
          Creates a new Chromatogram object from the named file.
static Chromatogram create(java.io.InputStream in)
          Creates a new Chromatogram object from the supplied stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SCF_MAGIC

public static final int SCF_MAGIC
The magic number for SCF files.

See Also:
Constant Field Values

ABI_MAGIC

public static final int ABI_MAGIC
The magic number for ABIF files.

See Also:
Constant Field Values
Constructor Detail

ChromatogramFactory

public ChromatogramFactory()
Method Detail

create

public static Chromatogram create(java.io.File f)
                           throws java.io.IOException,
                                  UnsupportedChromatogramFormatException
Creates a new Chromatogram object from the named file.

Parameters:
f - the file to read
Returns:
a new Chromatogram
Throws:
java.io.IOException - when the file can't be read or some other I/O error occurs
UnsupportedChromatogramFormatException - when the file doesn't contain a chromatogram in a supported format

create

public static Chromatogram create(java.io.InputStream in)
                           throws java.io.IOException,
                                  UnsupportedChromatogramFormatException
Creates a new Chromatogram object from the supplied stream. Note that for some chromatogram formats, this can be much more memory-intensive than reading from a file.

Note also that if the provided stream is a CachingInputStream, it will be seeked back to 0 before being passed to the parser. This is because the parsers that use CachingInputStream assume that the "file" starts at 0.

Parameters:
in - the stream from which to read the chromatogram.
Returns:
a new Chromatogram
Throws:
java.io.IOException - when there's a problem with the stream
UnsupportedChromatogramFormatException - when the file doesn't contain a chromatogram in a supported format