{- Types
Gregory W. Schwartz
Collections the types used in the program.
-}
{-# LANGUAGE DeriveGeneric #-}
module Types where
-- Standard
import GHC.Generics
-- Cabal
import qualified Data.Text as T
import Data.Aeson
-- Local
-- Algebraic
data Database = Ensembl | HUGO T.Text | UniProt deriving (Read, Show)
data DescFields = UniProtOther T.Text
| Synonyms
| Description
deriving (Read,Show)
-- Basic
newtype UnknownAnn = UnknownAnn { unUnknownAnn :: T.Text }
newtype Ann = Ann { unAnn :: T.Text }
newtype Desc = Desc { unDesc :: T.Text }
newtype HUGOType = HUGOType { unHUGOType :: T.Text }
-- Advanced