packages feed

flower-0.6: src/Options.hs

{-# 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