module Biobase.Newick.StaticForest where import Data.Tree (drawForest,flatten) import qualified Data.Tree as T import qualified Data.Vector as V import Data.Forest.Static import Biobase.Newick.Types import Data.Graph.Inductive.Basic -- only for @test@ import Biobase.Newick.Import test = do let ts = map (addIndices 0 . getNewickTree) $ either error id $ newicksFromText t let ss = either error id $ newicksFromText t mapM_ (putStrLn . T.drawTree . fmap show) ts putStrLn "" mapM_ (mapM_ (putStrLn . show) . postorder) ts putStrLn "" mapM_ (mapM_ (putStrLn . show) . preorder) ts putStrLn "" mapM_ (mapM_ print . T.levels) ts putStrLn "" print (forestPre $ map getNewickTree ss :: Forest Pre V.Vector Info) putStrLn "" print (forestPost $ map getNewickTree ss :: Forest Post V.Vector Info) where t = "((raccoon:19.19959,bear:6.80041):0.84600,((sea_lion:11.99700, seal:12.00300):7.52973,((monkey:100.85930,cat:47.14069):20.59201, weasel:18.87953):2.09460):3.87382,dog:25.46154)Root;"