{-# LANGUAGE OverloadedStrings #-}
module ELynx.Export.Tree.Nexus
( toNexusTrees,
)
where
import qualified Data.ByteString.Lazy.Char8 as BL
import ELynx.Data.Tree.Named
import ELynx.Data.Tree.Phylogeny
import ELynx.Data.Tree.Rooted
import ELynx.Export.Nexus
import ELynx.Export.Tree.Newick
toNexusTrees :: Named a => [(BL.ByteString, Tree Phylo a)] -> BL.ByteString
toNexusTrees ts = toNexus "TREES" (map tree ts)
tree :: Named a => (BL.ByteString, Tree Phylo a) -> BL.ByteString
tree (n, t) = " TREE " <> n <> " = " <> toNewick t