module Data.Fasta.ByteString.Lazy.Types where
import qualified Data.ByteString.Lazy.Char8 as BL
import qualified Data.Map as M
data FastaSequence = FastaSequence { fastaHeader :: BL.ByteString
, fastaSeq :: BL.ByteString
} deriving (Eq, Ord, Show)
type Clone = FastaSequence
type Germline = FastaSequence
type Codon = BL.ByteString
type CloneMap = M.Map (Int, Germline) [Clone]
class ShowFasta a where
showFasta :: a -> BL.ByteString
instance ShowFasta FastaSequence where
showFasta FastaSequence {fastaHeader = x, fastaSeq = y} = BL.concat [ ">"
, x
, "\n"
, y ]