{-# LANGUAGE DeriveDataTypeable #-} module Options where import System.Console.CmdArgs data Opts = Opts { trimKey :: Bool , trim :: Bool , summarize :: Maybe FilePath , info :: Maybe FilePath , fasta :: Maybe FilePath , fastq :: Maybe FilePath , flowgram :: Maybe FilePath , histogram :: Maybe FilePath , inputs :: FilePath , text :: Maybe FilePath } deriving (Data,Typeable, Show, Eq) opts :: Opts opts = Opts { trimKey = False &= help "Trim only the TCAG key sequence" , trim = False &= help "Trim quality using clipping information" &= name "t" , summarize = def &= help "Output per sequence summary information" &= typFile , info = def &= help "Output brief overview of the contents" &= typFile , fasta = def &= help "Output FASTA-formatted sequences" &= typFile &= name "f" , fastq = def &= help "Output FastQ-formatted sequence and quality" &= typFile &= name "q" , flowgram = def &= help "Output flowgram information in tabular form" &= typFile &= name "F" , histogram = def &= help "Output histogram of flow values" &= typFile &= name "h" , text = def &= help "Output SFF information as text (default)" &= typFile &= name "T" , inputs = def &= args &= typFile } &= summary "flower v0.6 - Extract information from SFF files" &= program "flower" getArgs :: IO Opts getArgs = cmdArgs opts