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 +41/−17
- Biobase/RNA.hs +25/−1
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