packages feed

BiobaseXNA 0.8.2.0 → 0.8.3.0

raw patch · 7 files changed

+101/−90 lines, 7 filesdep +vector-th-unboxPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: vector-th-unbox

API changes (from Hackage documentation)

- Biobase.AAseq: instance Prim AA
- Biobase.Primary: instance [overlap ok] Prim Nuc
- Biobase.Primary.Hashed: instance Prim HashedPrimary
- Biobase.Secondary: instance [overlap ok] Prim CTisomerism
- Biobase.Secondary: instance [overlap ok] Prim Edge
- Biobase.Secondary.Vienna: instance Prim ViennaPair
+ Biobase.Primary.Hashed: unHashedPrimary :: HashedPrimary -> Int
+ Biobase.Secondary.Vienna: unViennaPair :: ViennaPair -> Int

Files

Biobase/AAseq.hs view
@@ -5,6 +5,8 @@ {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}  -- | This module has the translation tables for the genetic code. @@ -14,6 +16,7 @@ import           Data.Ix (Ix(..)) import           Data.Primitive.Types import           Data.Tuple (swap)+import           Data.Vector.Unboxed.Deriving import           GHC.Base (remInt,quotInt) import qualified Data.ByteString.Char8 as BS import qualified Data.ByteString.Lazy.Char8 as BSL@@ -23,11 +26,11 @@ import qualified Data.Vector.Generic.Mutable as VGM import qualified Data.Vector.Unboxed as VU -import Data.Array.Repa.ExtShape-import Data.Array.Repa.Index-import Data.Array.Repa.Shape+import           Data.Array.Repa.ExtShape+import           Data.Array.Repa.Index+import           Data.Array.Repa.Shape -import Biobase.Primary+import           Biobase.Primary   @@ -188,11 +191,6 @@     | Just aa <- x `lookup` charAAList = [(aa,xs)]     | otherwise = [] -deriving instance Prim AA-deriving instance VGM.MVector VU.MVector AA-deriving instance VG.Vector VU.Vector AA-deriving instance VU.Unbox AA- instance (Shape sh,Show sh) => Shape (sh :. AA) where   rank (sh:._) = rank sh + 1   zeroDim = zeroDim:.AA 0@@ -250,4 +248,7 @@  instance MkAAseq T.Text where   mkAAseq = VU.fromList . map toAA . T.unpack++derivingUnbox "AA"+  [t| AA -> Int |] [| unAA |] [| AA |] 
Biobase/Primary.hs view
@@ -1,12 +1,14 @@-{-# LANGUAGE PackageImports #-}-{-# LANGUAGE TypeOperators #-}-{-# LANGUAGE PatternGuards #-}-{-# LANGUAGE OverlappingInstances #-} {-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE TypeSynonymInstances #-}-{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverlappingInstances #-}+{-# LANGUAGE PackageImports #-}+{-# LANGUAGE PatternGuards #-} {-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE TypeSynonymInstances #-}  -- | The primary structure: interface to efficient encoding of RNA and DNA -- sequences. The design aims toward the 'vector' library and repa. In@@ -20,11 +22,12 @@  module Biobase.Primary where -import Data.Char (toUpper)-import Data.Ix (Ix(..))-import Data.Primitive.Types-import Data.Tuple (swap)-import GHC.Base (remInt,quotInt)+import           Data.Char (toUpper)+import           Data.Ix (Ix(..))+import           Data.Primitive.Types+import           Data.Tuple (swap)+import           Data.Vector.Unboxed.Deriving+import           GHC.Base (remInt,quotInt) import qualified Data.ByteString.Char8 as BS import qualified Data.ByteString.Lazy.Char8 as BSL import qualified Data.Text as T@@ -32,13 +35,14 @@ import qualified Data.Vector.Generic.Mutable as VGM import qualified Data.Vector.Unboxed as VU -import Data.Array.Repa.ExtShape-import Data.Array.Repa.Index-import Data.Array.Repa.Shape+import           Data.Array.Repa.ExtShape+import           Data.Array.Repa.Index+import           Data.Array.Repa.Shape -import Biobase.Primary.Bounds+import           Biobase.Primary.Bounds  + -- * Convert different types of sequence representations to the internal -- "Primary Structure" representation @@ -131,12 +135,8 @@     | Just n <- x `lookup` charNucList = [(n,xs)]     | otherwise = [] --- for vectors--deriving instance Prim Nuc-deriving instance VGM.MVector VU.MVector Nuc-deriving instance VG.Vector VU.Vector Nuc-deriving instance VU.Unbox Nuc+derivingUnbox "Nuc"+  [t| Nuc -> Int |] [| unNuc |] [| Nuc |]  -- Shape-based indexing. Nucleotide representations go from nN (0) to nU (4), -- with additional symbols being available for specialized problems. This is a
Biobase/Primary/Hashed.hs view
@@ -1,30 +1,34 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}  -- | Fast hash functions for 'Primary' sequences. A hash is just an 'Int', so -- use these only for short sequences.+--+-- TODO replace with standard hashing functions used by Haskell libs?  module Biobase.Primary.Hashed where -import Control.Exception.Base (assert)-import Data.Ix-import Data.Primitive.Types+import           Control.Exception.Base (assert)+import           Data.Ix+import           Data.Primitive.Types+import           Data.Vector.Unboxed.Deriving import qualified Data.Vector.Generic as VG import qualified Data.Vector.Generic.Mutable as VGM import qualified Data.Vector.Unboxed as VU -import Biobase.Primary+import           Biobase.Primary   -newtype HashedPrimary = HashedPrimary Int+newtype HashedPrimary = HashedPrimary { unHashedPrimary :: Int }   deriving (Eq,Ord,Ix,Read,Show,Enum,Bounded) -deriving instance Prim HashedPrimary-deriving instance VGM.MVector VU.MVector HashedPrimary-deriving instance VG.Vector VU.Vector HashedPrimary-deriving instance VU.Unbox HashedPrimary+derivingUnbox "HashedPrimary"+  [t| HashedPrimary -> Int |] [| unHashedPrimary |] [| HashedPrimary |]+  -- | Given a piece of primary sequence information, reduce it to an index. --
Biobase/Secondary.hs view
@@ -7,6 +7,8 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverlappingInstances #-} {-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}  -- | Secondary structure: define basepairs as Int-tuples, the three edges, a -- nucleotide can use for pairing and the cis/trans isomerism. Both edges and@@ -17,20 +19,21 @@  module Biobase.Secondary where -import Data.Array.Repa.Index-import Data.Array.Repa.Shape-import Data.Char (toLower, toUpper)-import Data.Ix (Ix(..))-import Data.List as L-import Data.Primitive.Types-import Data.Tuple (swap)-import GHC.Base (remInt,quotInt)+import           Data.Array.Repa.Index+import           Data.Array.Repa.Shape+import           Data.Char (toLower, toUpper)+import           Data.Ix (Ix(..))+import           Data.List as L+import           Data.Primitive.Types+import           Data.Tuple (swap)+import           Data.Vector.Unboxed.Deriving+import           GHC.Base (remInt,quotInt) import qualified Data.Vector.Generic as VG import qualified Data.Vector.Generic.Mutable as VGM import qualified Data.Vector.Unboxed as VU -import Biobase.Primary-import Biobase.Primary.Bounds+import           Biobase.Primary+import           Biobase.Primary.Bounds   @@ -183,11 +186,6 @@  -- ** Instances for 'Edge' -deriving instance Prim Edge-deriving instance VGM.MVector VU.MVector Edge-deriving instance VG.Vector VU.Vector Edge-deriving instance VU.Unbox Edge- instance Bounded Edge where   minBound = wc   maxBound = unknownEdge@@ -204,11 +202,6 @@  -- ** Instances for 'CTisomerism' -deriving instance Prim CTisomerism-deriving instance VGM.MVector VU.MVector CTisomerism-deriving instance VG.Vector VU.Vector CTisomerism-deriving instance VU.Unbox CTisomerism- instance Bounded CTisomerism where   minBound = cis   maxBound = unknownCT@@ -346,4 +339,10 @@   {-# INLINE updR #-}   {-# INLINE updP #-}   {-# INLINE updT #-}++derivingUnbox "Edge"+  [t| Edge -> Int |] [| unEdge |] [| Edge |]++derivingUnbox "CTisomerism"+  [t| CTisomerism -> Int |] [| unCT |] [| CT |] 
Biobase/Secondary/Vienna.hs view
@@ -5,34 +5,37 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies #-}  -- | Encoding of Watson-Crick and Wobble Pairs in the Vienna RNA package style.  module Biobase.Secondary.Vienna where -import Data.Array.Repa.Index-import Data.Array.Repa.Shape-import Data.Ix-import Data.Primitive.Types-import Data.Tuple (swap)-import GHC.Base (remInt,quotInt)+import           Data.Array.Repa.Index+import           Data.Array.Repa.Shape+import           Data.Ix+import           Data.Primitive.Types+import           Data.Tuple (swap)+import           Data.Vector.Unboxed.Deriving+import           GHC.Base (remInt,quotInt)+import           Prelude as P import qualified Data.Vector.Generic as VG import qualified Data.Vector.Generic.Mutable as VGM import qualified Data.Vector.Unboxed as VU-import Prelude as P -import Data.Array.Repa.ExtShape-import Data.PrimitiveArray as PA-import Data.PrimitiveArray.Zero as PA+import           Data.Array.Repa.ExtShape+import           Data.PrimitiveArray as PA+import           Data.PrimitiveArray.Zero as PA -import Biobase.Primary-import Biobase.Primary.Bounds+import           Biobase.Primary+import           Biobase.Primary.Bounds    -- | Use machine Ints internally -newtype ViennaPair = ViennaPair Int+newtype ViennaPair = ViennaPair { unViennaPair :: Int }   deriving (Eq,Ord,Ix)  instance (Shape sh,Show sh) => Shape (sh :. ViennaPair) where@@ -119,11 +122,6 @@   ] {-# NOINLINE viennaPairTable #-} -deriving instance VGM.MVector VU.MVector ViennaPair-deriving instance VG.Vector VU.Vector ViennaPair-deriving instance VU.Unbox ViennaPair-deriving instance Prim ViennaPair- instance Enum ViennaPair where   toEnum x     | x>=0 && x<=7 = ViennaPair x@@ -178,4 +176,7 @@ cguaP = [vpCG..vpUA] cgnsP = [vpCG..vpNS] pairToString = [(vpCG,"CG"),(vpGC,"GC"),(vpUA,"UA"),(vpAU,"AU"),(vpGU,"GU"),(vpUG,"UG"),(vpNS,"NS"),(vpNP,"NP")]++derivingUnbox "ViennaPair"+  [t| ViennaPair -> Int |] [| unViennaPair |] [| ViennaPair |] 
BiobaseXNA.cabal view
@@ -1,9 +1,9 @@ name:           BiobaseXNA-version:        0.8.2.0+version:        0.8.3.0 author:         Christian Hoener zu Siederdissen maintainer:     choener@tbi.univie.ac.at homepage:       http://www.tbi.univie.ac.at/~choener/-copyright:      Christian Hoener zu Siederdissen, 2011-2013+copyright:      Christian Hoener zu Siederdissen, 2011-2014 category:       Bioinformatics synopsis:       Efficient RNA/DNA representations license:        GPL-3@@ -40,17 +40,18 @@ library   build-depends:     base >3 && <5,-    bytestring     >= 0.10          ,-    containers     >= 0.4           ,-    csv            >= 0.1.2         ,-    file-embed     >= 0.0.4.7       ,-    mtl            >= 2.1           ,-    primitive      >= 0.5           ,-    PrimitiveArray >= 0.5.4         ,-    repa           >= 3.2           ,-    text           >= 0.11          ,-    tuple          >= 0.2           ,-    vector         >= 0.10+    bytestring      >= 0.10           ,+    containers      >= 0.4            ,+    csv             >= 0.1.2          ,+    file-embed      >= 0.0.4.7        ,+    mtl             >= 2.1            ,+    primitive       >= 0.5            ,+    PrimitiveArray  >= 0.5.4          ,+    repa            >= 3.2            ,+    text            >= 0.11           ,+    tuple           >= 0.2            ,+    vector          >= 0.10           ,+    vector-th-unbox >= 0.2    exposed-modules:     Biobase.AAseq
changelog view
@@ -1,3 +1,8 @@+0.8.3.0+-------++- bugfix version: use vector-th-unbox to generate unboxed vector instances+ 0.8.2.0 -------