-- | Fancy importer for TrainingData. module Biobase.TrainingData.Import where import Data.Iteratee as I import Data.Iteratee.Char as I import Data.Iteratee.IO as I import Data.ByteString.Char8 as BS import Biobase.TrainingData -- | Enumeratee producing 'TrainingData' from a bytestring. eneeTrainingData :: (Monad m) => Enumeratee ByteString [TrainingData] m a eneeTrainingData = enumLinesBS ><> mapStream (read . unpack) -- | Convenience function fromFile :: FilePath -> IO [TrainingData] fromFile fp = run =<< (enumFile 8192 fp . joinI $ eneeTrainingData stream2list)