{-# LANGUAGE OverloadedStrings #-} module Main where import Control.Monad import qualified Data.ByteString.Char8 as BS import Data.List import System.IO import qualified Data.Iteratee as Iter import Bio.SeqLoc.Bed import Bio.SeqLoc.LocRepr import Bio.SeqLoc.OnSeq import Bio.SeqLoc.Transcript import Bio.SeqLoc.TranscriptTable main :: IO () main = do withFile "test/bed-out.txt" WriteMode $ \hout -> let bedIter = bedTranscriptEnum $ Iter.mapM_ (BS.hPutStrLn hout . unparseLine) in Iter.fileDriver bedIter "/data/genomes/Homo_sapiens/hg19_knownGene.bed" withFile "test/bed-copy.bed" WriteMode $ \hout -> let bedIter = bedTranscriptEnum $ Iter.mapM_ (BS.hPutStrLn hout . transcriptToBedStd) in Iter.fileDriver bedIter "/data/genomes/Homo_sapiens/hg19_knownGene.bed" -- trx' <- readTable "test/out.txt" -- let trx10 = take 10 trx' -- BS.writeFile "test/out10.gtf" . BS.concat . map (transcriptToGtf "TestGtf") $ trx10 -- trx10' <- readGtfTranscripts "test/out10.gtf" -- print $ (sort . map location $ trx10) == (sort . map location $ trx10') -- return ()