packages feed

seqloc-datafiles-0.4.2: 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 trxs <- readBedTranscripts "/mnt/ingolialab/ingolia/Genomes/Saccharomyces_cerevisiae/YeastGenome/sac_cer_yassour.bed"
          hPutStrLn stderr $! "Got " ++ (show . length $ trxs) ++ " transcripts"
          trxs <- readBedTranscripts "/mnt/ingolialab/ingolia/Genomes/Homo_sapiens/GRCh38/gencode.bed"
          hPutStrLn stderr $! "Got " ++ (show . length $ trxs) ++ " transcripts"
          
-- 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 ()