packages feed

seqloc-datafiles-0.1: test/TestBed.hs

{-# 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 ()