-- | ViennaRNA secondary structures. -- -- TODO extends all data structures to accept energy values associated with -- structures, if needed. -- -- TODO or said otherwise, parsers for RNAfold, RNAsubopt, etc output would be -- nice. module Biobase.Vienna where import Data.ByteString.Char8 as BS -- | Encapsulation of ViennaRNA secondary structures. -- -- Sometimes, we need to associate more than one structure with a sequence. -- This happens, for example, when parsing RNAsubopt output. data Vienna = Vienna { sequence :: !ByteString , structure :: !ByteString } | ViennaMany { sequence :: !ByteString , structures :: ![ByteString] } deriving (Read,Show)