module Bio.Sequence.Parser.Fasta.Internal.Converters
  ( aminoParser

  ) where

import           Bio.Sequence                              (Chain (..),
                                                            Sequence)
import           Bio.Sequence.AminoAcid                    (AminoAcid (..),
                                                            fromChar)
import           Bio.Sequence.Parser.Fasta.Internal.Parser (fastaParser)
import           Text.Parsec.Text                          (Parser)

aminoParser :: Parser [Sequence AminoAcid]
aminoParser = (charSeqToAminoSeq <$>) <$> fastaParser

charSeqToAminoSeq :: Sequence Char -> Sequence AminoAcid
charSeqToAminoSeq (Chain name residues) = Chain name (fromChar <$> residues)