packages feed

biohazard 1.0.1 → 1.0.2

raw patch · 12 files changed

+40/−31 lines, 12 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Bio.Iteratee.Builder: TkLnString :: {-# UNPACK #-} !ByteString -> BgzfTokens -> BgzfTokens
+ Bio.Bam.Header: flagSecondary :: Int
+ Bio.Bam.Header: flagSupplementary :: Int
+ Bio.Bam.Rec: isSecondary :: BamRec -> Bool
+ Bio.Bam.Rec: isSupplementary :: BamRec -> Bool

Files

biohazard.cabal view
@@ -1,5 +1,5 @@ Name:                biohazard-Version:             1.0.1+Version:             1.0.2 Synopsis:            bioinformatics support library Description:         This is a collection of modules I separated from                      various bioinformatics tools.@@ -58,7 +58,7 @@   Build-depends:       async                    >= 2.0 && < 2.3,                        attoparsec               >= 0.10 && < 0.14,                        base                     >= 4.7 && < 4.12,-                       base-prelude             == 1.2.*,+                       base-prelude             == 1.2.0.*,                        bytestring               >= 0.10.2 && < 0.11,                        containers               == 0.5.*,                        exceptions               >= 0.6 && < 0.9,
src/Bio/Bam/Fastq.hs view
@@ -10,6 +10,8 @@ import Bio.Prelude hiding ( isSpace ) import Bio.Iteratee import Data.Attoparsec.ByteString.Char8+        ( char, skipSpace, satisfy, inClass, skipWhile, takeTill+        , scan, isSpace, isSpace_w8, (<?>) )  import qualified Data.Attoparsec.ByteString.Char8   as P import qualified Data.ByteString                    as B
src/Bio/Bam/Header.hs view
@@ -34,8 +34,10 @@         flagFirstMate,         flagSecondMate,         flagAuxillary,+        flagSecondary,         flagFailsQC,         flagDuplicate,+        flagSupplementary,         eflagTrimmed,         eflagMerged,         eflagAlternative,@@ -50,7 +52,7 @@  import Bio.Prelude           hiding ( uncons ) import Data.ByteString              ( uncons )-import Data.ByteString.Builder+import Data.ByteString.Builder      ( Builder, byteString, char7, intDec, word16LE ) import Data.Sequence                ( (><), (|>) )  import qualified Data.Attoparsec.ByteString.Char8   as P@@ -301,7 +303,8 @@  flagPaired, flagProperlyPaired, flagUnmapped, flagMateUnmapped,  flagReversed, flagMateReversed, flagFirstMate, flagSecondMate,- flagAuxillary, flagFailsQC, flagDuplicate :: Int+ flagAuxillary, flagSecondary, flagFailsQC, flagDuplicate,+ flagSupplementary :: Int  flagPaired         =   0x1 flagProperlyPaired =   0x2@@ -312,8 +315,10 @@ flagFirstMate      =  0x40 flagSecondMate     =  0x80 flagAuxillary      = 0x100+flagSecondary      = 0x100 flagFailsQC        = 0x200 flagDuplicate      = 0x400+flagSupplementary  = 0x800  eflagTrimmed, eflagMerged, eflagAlternative, eflagExactIndex :: Int eflagTrimmed     = 0x1
src/Bio/Bam/Rec.hs view
@@ -35,8 +35,10 @@     isFirstMate,     isSecondMate,     isAuxillary,+    isSecondary,     isFailsQC,     isDuplicate,+    isSupplementary,     isTrimmed,     isMerged,     isAlternative,@@ -342,8 +344,9 @@   isPaired, isProperlyPaired, isUnmapped, isMateUnmapped, isReversed,-    isMateReversed, isFirstMate, isSecondMate, isAuxillary, isFailsQC,-    isDuplicate, isTrimmed, isMerged, isAlternative, isExactIndex :: BamRec -> Bool+    isMateReversed, isFirstMate, isSecondMate, isAuxillary, isSecondary,+    isFailsQC, isDuplicate, isSupplementary,+    isTrimmed, isMerged, isAlternative, isExactIndex :: BamRec -> Bool  isPaired         = flip testBit  0 . b_flag isProperlyPaired = flip testBit  1 . b_flag@@ -354,8 +357,10 @@ isFirstMate      = flip testBit  6 . b_flag isSecondMate     = flip testBit  7 . b_flag isAuxillary      = flip testBit  8 . b_flag+isSecondary      = flip testBit  8 . b_flag isFailsQC        = flip testBit  9 . b_flag isDuplicate      = flip testBit 10 . b_flag+isSupplementary  = flip testBit 11 . b_flag  isTrimmed        = flip testBit 0 . extAsInt 0 "FF" isMerged         = flip testBit 1 . extAsInt 0 "FF"
src/Bio/Bam/Writer.hs view
@@ -113,7 +113,8 @@  {-# INLINE pushBamRaw #-} pushBamRaw :: BamRaw -> BgzfTokens -> BgzfTokens-pushBamRaw = TkLnString . raw_data+pushBamRaw r = TkWord32 (fromIntegral $ B.length $ raw_data r) .+               TkString (raw_data r)  -- | Writes BAM encoded stuff to a file. writeBamFile :: IsBamRec r => FilePath -> BamMeta -> Iteratee [r] IO ()
src/Bio/Iteratee.hs view
@@ -57,8 +57,8 @@ import Bio.Util.Numeric                     ( showNum ) import Control.Concurrent.Async             ( Async, async, wait, cancel ) import Control.Monad.Catch                  ( MonadMask(..) )-import Control.Monad.IO.Class-import Control.Monad.Trans.Class+import Control.Monad.IO.Class               ( MonadIO(..) )+import Control.Monad.Trans.Class            ( MonadTrans(..) ) import System.IO                            ( hIsTerminalDevice )  import qualified Control.Monad.Catch            as CMC
src/Bio/Iteratee/Base.hs view
@@ -35,8 +35,8 @@ import Bio.Prelude  import Control.Monad.Catch as CIO-import Control.Monad.IO.Class-import Control.Monad.Trans.Class+import Control.Monad.IO.Class ( MonadIO(..) )+import Control.Monad.Trans.Class ( MonadTrans(..) )  import qualified Control.Exception    as E import qualified Data.ByteString      as B
src/Bio/Iteratee/Builder.hs view
@@ -55,7 +55,6 @@                 | TkDouble   {-# UNPACK #-} !Double       BgzfTokens -- a double                 | TkString   {-# UNPACK #-} !B.ByteString BgzfTokens -- a raw string                 | TkDecimal  {-# UNPACK #-} !Int          BgzfTokens -- roughly ':%d'-                | TkLnString {-# UNPACK #-} !B.ByteString BgzfTokens -- a length-prefixed string                 -- lotsa stuff might be missing here                  | TkSetMark                               BgzfTokens -- sets the first mark@@ -128,10 +127,18 @@     flush_blocks tk bb k         | min (mark bb) (used bb) - off bb < maxBlockSize =             case tk of TkEnd -> liftI $ go bb k+                       _     -> expandBuffer (2 * size bb) bb `ioBind` \bb' ->+                                go1 bb' k tk++        | otherwise = flush_blocks1 tk bb k++    flush_blocks1 tk bb k+        | min (mark bb) (used bb) - off bb < maxBlockSize =+            case tk of TkEnd -> liftI $ go bb k                        _     -> go1 bb k tk          | otherwise =-            eneeCheckIfDone (flush_blocks tk bb { off = off bb + maxBlockSize }) $+            eneeCheckIfDone (flush_blocks1 tk bb { off = off bb + maxBlockSize }) $                 k $ Chunk [compressChunk' lv (buffer bb) (off bb) maxBlockSize]      final_flush bb mx k@@ -175,7 +182,7 @@         TkString   s tk'             -- Too big, can't handle.  We will get progressively bigger             -- buffers and eventually handle it.-            | B.length s > size bb - use -> return (bb { used = use },tk')+            | B.length s > size bb - use -> return (bb { used = use },tk1)              | otherwise  -> do let ln = B.length s                                B.unsafeUseAsCString s $ \q ->@@ -184,17 +191,6 @@          TkDecimal  x tk' -> do ln <- int_loop (p `plusPtr` use) x                                go_fast p bb (use + ln) tk'--        TkLnString s tk'-            -- Too big, can't handle.  We will get progressively bigger-            -- buffers and eventually handle it.-            | B.length s > size bb - use - 4 -> return (bb { used = use },tk')--            | otherwise  -> do let ln = B.length s-                               pokeByteOff p use (fromIntegral ln :: Word32)-                               B.unsafeUseAsCString s $ \q ->-                                    copyBytes (p `plusPtr` (use + 4)) q ln-                               go_fast p bb (use + ln + 4) tk'          TkSetMark        tk' ->    go_slowish p bb { used = use + 4, mark = use } tk' 
src/Bio/Iteratee/IO.hs view
@@ -16,8 +16,8 @@  import Bio.Iteratee.Iteratee import Bio.Prelude hiding ( bracket, loop )-import Control.Monad.Catch-import Control.Monad.IO.Class+import Control.Monad.Catch ( MonadMask, bracket )+import Control.Monad.IO.Class ( MonadIO(..) ) import System.IO (SeekMode(..))  import qualified Data.ByteString as B
src/Bio/Iteratee/Iteratee.hs view
@@ -64,8 +64,8 @@  import Bio.Iteratee.Base import Bio.Prelude hiding (loop)-import Control.Monad.IO.Class-import Control.Monad.Trans.Class+import Control.Monad.IO.Class (MonadIO(..))+import Control.Monad.Trans.Class (MonadTrans(..))  -- exception helpers excDivergent :: SomeException
src/Bio/Iteratee/List.hs view
@@ -63,7 +63,7 @@  import Bio.Iteratee.Iteratee import Bio.Prelude-import Control.Monad.Trans.Class+import Control.Monad.Trans.Class (MonadTrans(..))  -- import qualified Data.ByteString          as B 
src/Bio/TwoBit.hs view
@@ -36,7 +36,7 @@ import           Bio.Prelude hiding ( left, right, chr ) import           Bio.Util.MMap import           Bio.Util.Storable-import           Control.Monad.Trans.State+import           Control.Monad.Trans.State ( StateT(..), get, evalStateT ) import qualified Data.ByteString                as B import qualified Data.ByteString.Unsafe         as B import qualified Data.IntMap.Strict             as I