tlynx-0.0.1: app/Main.hs
{-# LANGUAGE TemplateHaskell #-}
{- |
Module : Main
Description : Work with phylogenetic trees
Copyright : (c) Dominik Schrempf 2019
License : GPL-3
Maintainer : dominik.schrempf@gmail.com
Stability : unstable
Portability : portable
Creation date: Thu Sep 5 21:53:07 2019.
-}
module Main where
import Control.Monad.Trans.Reader
import Options
import Compare.Compare
import Examine.Examine
import Simulate.Simulate
import ELynx.Tools.Logger
import ELynx.Tools.Options
main :: IO ()
main = do
Arguments g c <- parseArguments
let fn = outFileBaseName g
lvl = verbosity g
lf = (++ ".log") <$> fn
case c of
Compare a -> runReaderT (eLynxWrapper lvl lf compareHeader $ compareTrees fn) a
Examine a -> runReaderT (eLynxWrapper lvl lf examineHeader $ examine fn) a
Simulate a -> runReaderT (eLynxWrapper lvl lf simulateHeader $ simulate fn) a