packages feed

BiobaseXNA 0.5.0.0 → 0.5.0.1

raw patch · 4 files changed

+35/−11 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Biobase.Primary: instance Bounded Nuc
- Biobase.Primary: instance Bounds Nuc
- Biobase.Primary: instance Enum Nuc
- Biobase.Primary: instance Eq Nuc
- Biobase.Primary: instance Ix Nuc
- Biobase.Primary: instance MVector MVector Nuc
- Biobase.Primary: instance MkPrimary ByteString
- Biobase.Primary: instance MkPrimary String
- Biobase.Primary: instance MkPrimary Text
- Biobase.Primary: instance MkPrimary [Nuc]
- Biobase.Primary: instance Ord Nuc
- Biobase.Primary: instance Prim Nuc
- Biobase.Primary: instance Read Nuc
- Biobase.Primary: instance Show Nuc
- Biobase.Primary: instance Unbox Nuc
- Biobase.Primary: instance Vector Vector Nuc
- Biobase.Secondary: instance Bounded CTisomerism
- Biobase.Secondary: instance Bounded Edge
- Biobase.Secondary: instance Bounds CTisomerism
- Biobase.Secondary: instance Bounds Edge
- Biobase.Secondary: instance Enum CTisomerism
- Biobase.Secondary: instance Enum Edge
- Biobase.Secondary: instance Eq CTisomerism
- Biobase.Secondary: instance Eq Edge
- Biobase.Secondary: instance Ix CTisomerism
- Biobase.Secondary: instance Ix Edge
- Biobase.Secondary: instance MVector MVector CTisomerism
- Biobase.Secondary: instance MVector MVector Edge
- Biobase.Secondary: instance Ord CTisomerism
- Biobase.Secondary: instance Ord Edge
- Biobase.Secondary: instance Prim CTisomerism
- Biobase.Secondary: instance Prim Edge
- Biobase.Secondary: instance Read CTisomerism
- Biobase.Secondary: instance Read Edge
- Biobase.Secondary: instance Show (CTisomerism, Edge, Edge)
- Biobase.Secondary: instance Show CTisomerism
- Biobase.Secondary: instance Show Edge
- Biobase.Secondary: instance Unbox CTisomerism
- Biobase.Secondary: instance Unbox Edge
- Biobase.Secondary: instance Vector Vector CTisomerism
- Biobase.Secondary: instance Vector Vector Edge
+ Biobase.Primary: instance [overlap ok] Bounded Nuc
+ Biobase.Primary: instance [overlap ok] Bounds Nuc
+ Biobase.Primary: instance [overlap ok] Enum Nuc
+ Biobase.Primary: instance [overlap ok] Eq Nuc
+ Biobase.Primary: instance [overlap ok] Ix Nuc
+ Biobase.Primary: instance [overlap ok] MVector MVector Nuc
+ Biobase.Primary: instance [overlap ok] MkPrimary ByteString
+ Biobase.Primary: instance [overlap ok] MkPrimary String
+ Biobase.Primary: instance [overlap ok] MkPrimary Text
+ Biobase.Primary: instance [overlap ok] MkPrimary [Nuc]
+ Biobase.Primary: instance [overlap ok] Ord Nuc
+ Biobase.Primary: instance [overlap ok] Prim Nuc
+ Biobase.Primary: instance [overlap ok] Read Nuc
+ Biobase.Primary: instance [overlap ok] Show Nuc
+ Biobase.Primary: instance [overlap ok] Unbox Nuc
+ Biobase.Primary: instance [overlap ok] Vector Vector Nuc
+ Biobase.Secondary: instance [overlap ok] Bounded CTisomerism
+ Biobase.Secondary: instance [overlap ok] Bounded Edge
+ Biobase.Secondary: instance [overlap ok] Bounds CTisomerism
+ Biobase.Secondary: instance [overlap ok] Bounds Edge
+ Biobase.Secondary: instance [overlap ok] Enum CTisomerism
+ Biobase.Secondary: instance [overlap ok] Enum Edge
+ Biobase.Secondary: instance [overlap ok] Eq CTisomerism
+ Biobase.Secondary: instance [overlap ok] Eq Edge
+ Biobase.Secondary: instance [overlap ok] Ix CTisomerism
+ Biobase.Secondary: instance [overlap ok] Ix Edge
+ Biobase.Secondary: instance [overlap ok] MVector MVector CTisomerism
+ Biobase.Secondary: instance [overlap ok] MVector MVector Edge
+ Biobase.Secondary: instance [overlap ok] Ord CTisomerism
+ Biobase.Secondary: instance [overlap ok] Ord Edge
+ Biobase.Secondary: instance [overlap ok] Prim CTisomerism
+ Biobase.Secondary: instance [overlap ok] Prim Edge
+ Biobase.Secondary: instance [overlap ok] Read CTisomerism
+ Biobase.Secondary: instance [overlap ok] Read Edge
+ Biobase.Secondary: instance [overlap ok] Show CTisomerism
+ Biobase.Secondary: instance [overlap ok] Show Edge
+ Biobase.Secondary: instance [overlap ok] Unbox CTisomerism
+ Biobase.Secondary: instance [overlap ok] Unbox Edge
+ Biobase.Secondary: instance [overlap ok] Vector Vector CTisomerism
+ Biobase.Secondary: instance [overlap ok] Vector Vector Edge
+ Biobase.Secondary: threeChar :: String -> ExtPairAnnotation
+ Biobase.Secondary.PseudoKnots: instance RemovePseudoKnots [ExtPairIdx]
+ Biobase.Secondary.PseudoKnots: instance RemovePseudoKnots [PairIdx]

Files

Biobase/Primary.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE PatternGuards #-}+{-# LANGUAGE OverlappingInstances #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -46,12 +48,14 @@  -- * Efficient nucleotide encoding --- A 'Nuc'leotide is simply an Int wrapped up.+-- A 'Nuc'leotide is simply an Int wrapped up. 'nIMI' provides for+-- intermolecular initialization, 'nN' stands for "any" nucleotides, 'nA',+-- 'nC', 'nG', 'nT' / 'nU' are normal nucleotides.  newtype Nuc = Nuc {unNuc :: Int}   deriving (Eq,Ord,Ix) -(nN : nA : nC : nG : nT : _) = map Nuc [0 .. ]+(nN : nA : nC : nG : nT : nIMI : _) = map Nuc [0 .. ] nU = nT  acgt = [nA..nT]
Biobase/Secondary.hs view
@@ -1,6 +1,8 @@+{-# LANGUAGE PatternGuards #-} {-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverlappingInstances #-} {-# LANGUAGE StandaloneDeriving #-}  -- | Secondary structure: define basepairs as Int-tuples, the three edges, a@@ -18,12 +20,24 @@ import qualified Data.Vector.Unboxed as VU import Data.Ix (Ix(..)) import Data.Tuple (swap)+import Data.List as L+import Data.Char (toLower, toUpper)  import Biobase.Primary import Biobase.Primary.Bounds   +-- | Easy reading of a three-Char string into a triple.++threeChar :: String -> ExtPairAnnotation+threeChar s@[c,x,y]+  | Just c' <- L.lookup (toLower c) charCTList+  , Just x' <- L.lookup (toUpper x) charEdgeList+  , Just y' <- L.lookup (toUpper y) charEdgeList+  = (c',x',y')+  | otherwise = error $ "can't convert string: " ++ s+ -- | A basepair is simply a pair of Ints which are 0-indexing a sequence. -- -- TODO storable vector, newtype, peek/poke?@@ -89,8 +103,8 @@ paraCT = undefined  charCTList =-  [ ('C',cis)-  , ('T',trans)+  [ ('c',cis)+  , ('t',trans)   -- TODO antiCT, paraCT   ] @@ -164,5 +178,5 @@ -- -- TODO maybe newtype this triple? -instance Show (CTisomerism,Edge,Edge) where-  show (ct,eI,eJ) = concat [show ct, show eI, show eJ]+--instance Show (CTisomerism,Edge,Edge) where+--  show (ct,eI,eJ) = concat [show ct, show eI, show eJ]
Biobase/Secondary/PseudoKnots.hs view
@@ -40,6 +40,9 @@         Just pos = VU.elemIndex mmx cnts         incomp (i,j) = VU.length $ VU.filter (\(k,l) -> i<k&&k<j&&j<l || k<i&&i<l&&l<j) ps +instance RemovePseudoKnots [PairIdx] where+  removeByCounting = VU.toList . removeByCounting . VU.fromList+ -- | Remove pseudoknotted pairs from extended RNA secondary structures.  instance RemovePseudoKnots (VU.Vector ExtPairIdx) where@@ -53,3 +56,6 @@         mmx = VU.maximum cnts         Just pos = VU.elemIndex mmx cnts         incomp ((i,j),_) = VU.length $ VU.filter (\((k,l),_) -> i<k&&k<j&&j<l || k<i&&i<l&&l<j) ps++instance RemovePseudoKnots [ExtPairIdx] where+  removeByCounting = VU.toList . removeByCounting . VU.fromList
BiobaseXNA.cabal view
@@ -1,5 +1,5 @@ name:           BiobaseXNA-version:        0.5.0.0+version:        0.5.0.1 author:         Christian Hoener zu Siederdissen maintainer:     choener@tbi.univie.ac.at homepage:       http://www.tbi.univie.ac.at/~choener/@@ -23,12 +23,12 @@ library   build-depends:     base >3 && <5,-    text,     bytestring,     primitive,+    text,     tuple,-    vector-read-instances,-    vector >=0.7 && <0.8+    vector >=0.7 && <0.8,+    vector-read-instances    exposed-modules:     Biobase.Primary