packages feed

Biobase 0.1.0.0 → 0.1.0.1

raw patch · 2 files changed

+66/−18 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Biobase.RNA: instance Eq Primary
+ Biobase.RNA: instance Read Primary

Files

Biobase.cabal view
@@ -1,5 +1,5 @@ name:           Biobase-version:        0.1.0.0+version:        0.1.0.1 author:         Christian Hoener zu Siederdissen maintainer:     choener@tbi.univie.ac.at homepage:       http://www.tbi.univie.ac.at/~choener/Haskell/@@ -14,25 +14,49 @@ description:                 Base library for bioinformatics providing the following features:                 .-                - RNA primary and secondary structure-                - Infernal covariance models-                - Turner and Vienna energy files+                * RNA primary and secondary structure                 .-                - efficient format for RNA sequences, based on the vector package-                - import from strings, bytestrings, fasta files (using the bio library)-                - secondary structure manipulation functions, im- and export of Vienna-dotbracket notation-                - import Turner energy files-                - cf. http://rna.urmc.rochester.edu/NNDB/index.html-                - im- and export of Vienna 2.0 energy files+                * Infernal covariance models                 .-                - import covariance models-                - basic manipulation of covariance models-                - Stockholm file format manipulation+                * Turner and Vienna energy files                 .-                - algebraic ring class-                - instances for Gibbs free energy, partition function probabilities, and scores-                - conversion between different entities-                - ready for the vector library+                .+                .+                RNA sequences and energy files:+                .+                * efficient format for RNA sequences, based on the vector package+                .+                * import from strings, bytestrings, fasta files (using the bio library)+                .+                * secondary structure manipulation functions, im- and export of Vienna-dotbracket notation+                .+                * import Turner energy files+                .+                * cf. http://rna.urmc.rochester.edu/NNDB/index.html+                .+                * im- and export of Vienna 2.0 energy files+                .+                .+                .+                Covariance models:+                .+                * import covariance models+                .+                * basic manipulation of covariance models+                .+                * Stockholm file format manipulation+                .+                .+                .+                Utility classes:+                .+                * algebraic ring class+                .+                * instances for Gibbs free energy, partition function probabilities, and scores+                .+                * conversion between different entities+                .+                * ready for the vector library   
Biobase/RNA.hs view
@@ -9,6 +9,9 @@ -- This might change over time. -- -- TODO do not export Nucleotide ctor?+--+-- TODO consider adding "nucAmpersand" as a chain seperator. This could make+-- some things easier.  module Biobase.RNA where @@ -72,6 +75,10 @@     | Just n <- x `lookup` charNucList = Nucleotide n     | otherwise = nucE +-- | Since this function is used rather often.++char2nuc = charToNucleotide+ nucleotideToChar :: Nucleotide -> Char nucleotideToChar (Nucleotide n) = f n where   f x@@ -79,12 +86,29 @@   --- * Represent nucleotide sequences using an unboxed vector.+-- * Represent nucleotide sequences using a PrimArray.+--+-- TODO switch back to Unboxed.Vector? Test speed of both approaches!  type Primary = PrimArray Int Nucleotide +-- |+--+-- TODO is this fast enough?++instance Eq Primary where+  xs == ys = bounds xs == bounds ys && toList xs == toList ys+ instance Show Primary where   show p = "mkPrimary " ++ unPrimary p++instance Read Primary where+  readsPrec p xs+    | "mkPrimary " == chk = [(mkPrimary ps,ys)]+    | otherwise           = error $ show (chk,others,ps,ys)+    where+      (chk,others) = splitAt 10 xs+      (ps,ys) = span (`elem` "ACGUE") others  class MkPrimary a where   mkPrimary :: a -> Primary