{- Main function for simseq Read a set of sequences, apply an error model to generate simulated sequences. Usage: simseq [options] fasta-file.. See Options.hs for option details. -} module Main where import Bio.Sequence import System.IO import Data.ByteString.Lazy.Char8 (pack) import UnfoldMut import Options main :: IO () main = do (Opts pri mut trm,ss) <- getOpts ms <- pri ss let ts = mkseqs $ map (transcribe mut trm) ms hWriteFasta stdout ts mkseqs :: [String] -> [Sequence] mkseqs = map ($Nothing) . zipWith Seq [pack (">tr_"++show x) | x <- ([1..]::[Int])] . map pack