packages feed

samtools-iteratee 0.2.2 → 0.2.2.1

raw patch · 2 files changed

+17/−15 lines, 2 filesdep ~bytestringdep ~iteratee

Dependency ranges changed: bytestring, iteratee

Files

samtools-iteratee.cabal view
@@ -1,5 +1,5 @@ Name:                samtools-iteratee-Version:             0.2.2+Version:             0.2.2.1 Synopsis:            Iteratee interface to SamTools library Description:         Iteratee interface to SamTools library License:             MIT@@ -17,8 +17,8 @@  Library   Exposed-modules:     Bio.SamTools.Iteratee-  Build-depends:       base >= 4.2 && < 5, bytestring >= 0.9 && < 0.10, samtools >= 0.1.1, -                       transformers, iteratee >= 0.8 && < 0.9+  Build-depends:       base >= 4.2 && <5, bytestring >= 0.9, samtools >= 0.1.1, +                       transformers, iteratee >= 0.8   Hs-Source-Dirs:      src  Executable bam-filter@@ -26,7 +26,7 @@     Buildable: False   Main-Is:             BamFilter.hs   Other-Modules:       Bio.SamTools.Iteratee-  Build-depends:       base >= 4.2 && < 5, bytestring >= 0.9 && < 0.10, samtools >= 0.1.1, -                       transformers, iteratee >= 0.8 && < 0.9, monads-tf+  Build-depends:       base >= 4.2 && <5, bytestring >= 0.9, samtools >= 0.1.1, +                       transformers, iteratee >= 0.8, monads-tf   Hs-Source-Dirs:      src   Ghc-options:         -Wall
src/Bio/SamTools/Iteratee.hs view
@@ -17,11 +17,12 @@    enumInHandle :: Bam.InHandle -> Iter.Enumerator [Bam.Bam1] IO a enumInHandle inh i0 = step i0-  where step iter = Bam.get1 inh >>= maybe eof next-          where eof = return iter-                next b = Iter.runIter iter Iter.idoneM onCont-                  where onCont k Nothing = step . k $ Iter.Chunk [b]-                        onCont k e = return $ Iter.icont k e+  where step iter = do mbam <- Bam.get1 inh+                       case mbam of+                         Nothing -> return iter -- eof+                         Just b -> Iter.runIter iter Iter.idoneM onCont -- next+                           where onCont k Nothing = step . k $ Iter.Chunk [b]+                                 onCont k e = return $ Iter.icont k e                          enumTam :: FilePath -> Iter.Enumerator [Bam.Bam1] IO a enumTam inname i0 = bracket (Bam.openTamInFile inname) Bam.closeInHandle $ \h ->@@ -38,11 +39,12 @@    enumQuery :: BamIndex.Query -> Iter.Enumerator [Bam.Bam1] IO a enumQuery q i0 = step i0-  where step iter = BamIndex.next q >>= maybe eof next-          where eof = return iter-                next b = Iter.runIter iter Iter.idoneM onCont-                  where onCont k Nothing = step . k $ Iter.Chunk [b]-                        onCont k e       = return $ Iter.icont k e+  where step iter = do mbam <- BamIndex.next q+                       case mbam of+                         Nothing -> return iter -- eof+                         Just b -> Iter.runIter iter Iter.idoneM onCont -- next+                           where onCont k Nothing = step . k $ Iter.Chunk [b]+                                 onCont k e       = return $ Iter.icont k e  enumIndexRegion :: BamIndex.IdxHandle -> Int -> (Int64, Int64) -> Iter.Enumerator [Bam.Bam1] IO a enumIndexRegion h tid bnds i0 = do