module Bio.RealWorld.ID where import qualified Data.ByteString.Char8 as B class BioID a where fromID :: a -> B.ByteString toID :: B.ByteString -> a newtype UniprotID = UniprotID B.ByteString deriving (Show, Eq) newtype UCSCID = UCSCID B.ByteString deriving (Show, Eq) newtype GOID = GOID B.ByteString deriving (Show, Eq) -- | ENCODE Accession newtype EncodeAcc = EncodeAcc B.ByteString deriving (Show, Eq) -- | Ensembl ID newtype EnsemblID = EnsemblID B.ByteString deriving (Show, Eq) instance BioID EncodeAcc where fromID (EncodeAcc x) = x toID = EncodeAcc instance BioID EnsemblID where fromID (EnsemblID x) = x toID = EnsemblID