module Biobase.Infernal.Taxonomy where
import qualified Data.ByteString.Char8 as BS
import Data.Char (toLower)
import Biobase.Infernal.Types
data SpeciesTaxonomy = SpeciesTaxonomy
{ stAccession :: !SpeciesAccession
, stName :: !SpeciesName
, stClassification :: ![Classification]
} deriving (Show)
shortenName :: SpeciesName -> SpeciesName
shortenName (SpeciesName xs)
| null ws = SpeciesName xs
| [w] <- ws = SpeciesName w
| otherwise = SpeciesName . BS.map toLower $ BS.take 1 (ws!!0) `BS.append` (BS.cons '.' $ ws!!1)
where ws = BS.words xs