Safe Haskell  None 

Types for RNA secondary structure. Types vary from the simplest array (D1Secondary) to rather complex ones.
 newtype D1Secondary = D1S {}
 newtype D2Secondary = D2S {
 unD2S :: Vector ((Int, Edge, CTisomerism), (Int, Edge, CTisomerism))
 class MkD1Secondary a where
 mkD1S :: a > D1Secondary
 fromD1S :: D1Secondary > a
 class MkD2Secondary a where
 mkD2S :: a > D2Secondary
 fromD2S :: D2Secondary > a
 data SSTree idx a
 d1sTree :: D1Secondary > SSTree PairIdx ()
 d2sTree :: D2Secondary > SSTree ExtPairIdx ()
 d2Compare :: (Ord t3, Ord t2) => ((t2, t3), t) > ((t2, t3), t1) > Ordering
 d2Grouping :: (Ord a, Ord a1) => ((a, a1), t) > ((a, a1), t1) > Bool
 dotBracket :: [String] > String > [(Int, Int)]
Documentation
newtype D1Secondary Source
RNA secondary structure with 1diagrams. Each nucleotide is paired with at most one other nucleotide. A nucleotide with index k in [0..len1] is paired if unD1S VU.! k > 0.
Eq D1Secondary  
Read D1Secondary  
Show D1Secondary  
MkD2Secondary D1Secondary  Conversion between D1S and D2S is lossy in D2S > D1S TODO 
newtype D2Secondary Source
D2S  

Eq D2Secondary  
Read D2Secondary  
Show D2Secondary  
MkD1Secondary D2Secondary  Conversion between D1S and D2S is lossy in D2S > D1S 
class MkD1Secondary a whereSource
mkD1S :: a > D1SecondarySource
fromD1S :: D1Secondary > aSource
MkD1Secondary String  A fast instance for getting the pair list of viennastructures. 
MkD1Secondary D2Secondary  Conversion between D1S and D2S is lossy in D2S > D1S 
MkD1Secondary (Vector Char)  
MkD1Secondary (Int, [PairIdx])  (Length,List of Pairs) 
MkD1Secondary ([String], String)  A second primitive generator, requiring dictionary and String. This one generates pairs that are then used by the above instance. The dict is a list of possible brackets: [()] being the minimal set. NOTE no dictionary is returned by fromD1S. TODO return dictionary that is actually seen? 
MkD1Secondary ([String], Vector Char)  Generate Secondary given that we have an unboxed vector of characters 
class MkD2Secondary a whereSource
mkD2S :: a > D2SecondarySource
fromD2S :: D2Secondary > aSource
MkD2Secondary D1Secondary  Conversion between D1S and D2S is lossy in D2S > D1S TODO 
MkD2Secondary (Int, [ExtPairIdx]) 
Treebased representation
A secondarystructure tree. Has no notion of pseudoknots.
d1sTree :: D1Secondary > SSTree PairIdx ()Source
Create a tree from (pseudoknotfree [not checked]) 1diagrams.
d2sTree :: D2Secondary > SSTree ExtPairIdx ()Source
Create a tree from (pseudoknotfree [not checked]) 2diagrams.
d2Grouping :: (Ord a, Ord a1) => ((a, a1), t) > ((a, a1), t1) > BoolSource