BiobaseXNA- Efficient RNA/DNA representations

Safe HaskellNone




Provides detailed information on isostericity of RNA basepairs. All data is extracted from csv files which were created from supplemental files in:

Frequency and isostericity of RNA base pairs Jesse Stombaugh, Craig L. Zirbel, Eric Westhof, and Neocles B. Leontis Nucl. Acids Res. (2009) doi:10.1093nargkp011



class IsostericityLookup a whereSource

Methods to determine the isostericity classes for a given basepair type, or alternatively which basepair types are in a certain isostericity class.

TODO This requires a major cleanup: right now we are handling Strings as class descriptors, but we should really be newtype-wrapping or create enum data constructors.


getClasses :: a -> [String]Source

To which classes does a basepair+type belong

inClass :: String -> [a]Source

What basepairs+type are in a particular class


IsostericityLookup ExtPair

For extended basepairs, we take the default mapping and go from there.

TODO inClass missing

IsostericityLookup Pair

Normal basepairs are assumed to have cWW basepairing.

TODO inClass missing

default data

defaultIsostericityMap :: Map ExtPair [String]Source

The default isostericity mapping.

mkIsostericityMap :: [[[String]]] -> Map ExtPair [String]Source

Mapping of (pair,pairtype) to isostericity class.

mkIsostericityList :: [[[String]]] -> [(ExtPair, [String])]Source

Process CSV list-of-lists to get the isostericity data.

parsedCSV :: [[[[Char]]]]Source

Simple parsing of raw CSV data.

Raw embeddings

detailedCSV :: ByteStringSource

Raw CSV data, embedded into the library.