-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A library for reading FASTQ files
--   
--   A library for reading FASTQ files
@package biofastq
@version 0.1


-- | Support the FastQ format that combines sequence and quality. See:
--   
--   <ul>
--   <li><a>http://www.bioperl.org/wiki/FASTQ_sequence_format</a></li>
--   </ul>
--   
--   Of course, this is yet another vaguely defined pseudo-standard with
--   conflicting definitions. Of course Solexa had to go and invent not
--   one, but two different, and indistinguishably so, ways to do it:
--   
--   <ul>
--   
--   <li><a>http://www.bcgsc.ca/pipermail/ssrformat/2007-March/000137.html</a></li>
--   <li><a>http://maq.sourceforge.net/fastq.shtml</a></li>
--   <li><a>http://en.wikipedia.org/wiki/FASTQ_format</a></li>
--   </ul>
--   
--   Sanger-style FastQ-format is supported with the (h)read/writeSangerQ
--   functions, and the new Illumina<i>Solexa-style with
--   (h)read</i>writeIllumina.
--   
--   As far as I know, FastQ is only used for nucleotide sequences, never
--   amino acid.
module Bio.Sequence.FastQ

-- | <i>Deprecated: FastQ assumes Sanger-style quality info use
--   {read,write}SangerQ or -Illumina instead</i>
readFastQ :: FilePath -> IO [Sequence]

-- | <i>Deprecated: FastQ assumes Sanger-style quality info use
--   {read,write}SangerQ or -Illumina instead</i>
hReadFastQ :: Handle -> IO [Sequence]

-- | Parse one FastQ entry, suitable for using in <a>unfoldr</a> over
--   <a>lines</a> from a file
parse :: [ByteString] -> Maybe (Either String (Sequence), [ByteString])

-- | <i>Deprecated: FastQ assumes Sanger-style quality info use
--   {read,write}SangerQ or -Illumina instead</i>
writeFastQ :: FilePath -> [Sequence] -> IO ()

-- | <i>Deprecated: FastQ assumes Sanger-style quality info use
--   {read,write}SangerQ or -Illumina instead</i>
hWriteFastQ :: Handle -> [Sequence] -> IO ()
readSangerQ :: FilePath -> IO [Sequence]
hReadSangerQ :: Handle -> IO [Sequence]
writeSangerQ :: FilePath -> [Sequence] -> IO ()
hWriteSangerQ :: Handle -> [Sequence] -> IO ()
readIllumina :: FilePath -> IO [Sequence]
hReadIllumina :: Handle -> IO [Sequence]
writeIllumina :: FilePath -> [Sequence] -> IO ()
hWriteIllumina :: Handle -> [Sequence] -> IO ()
instance Bio.Core.Sequence.BioSeq Bio.Sequence.FastQ.Sequence
instance Bio.Core.Sequence.BioSeqQual Bio.Sequence.FastQ.Sequence
