hyraxAbif-0.2.4.4: src/Examples/RemoveComments.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-|
Description : Example showing how to remove all comments from an ABIF file
Copyright : (c) HyraxBio, 2018
License : BSD3
Maintainer : andre@hyraxbio.co.za, andre@andrevdm.com
Example showing how to remove all comments from an ABIF file.
See other examples in "Examples"
-}
module Examples.RemoveComments where
import Verset
import qualified Hyrax.Abif as H
import qualified Hyrax.Abif.Read as H
import qualified Hyrax.Abif.Write as H
-- | Remove all comments from an existing file
removeComments :: IO ()
removeComments = do
abif' <- H.readAbif "example.ab1"
case abif' of
Left e -> putStrLn $ "error reading ABIF: " <> e
Right abif -> do
let modified = abif { H.aDirs = filter noComments $ H.aDirs abif }
H.writeAbif "example.modified.ab1" modified
where
noComments :: H.Directory -> Bool
noComments dir = H.dTagName dir /= "CMNT"