BiobaseXNA- Efficient RNA/DNA/Protein Primary/Secondary Structure

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)



class IsostericityLookup a where Source #

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.

Minimal complete definition

getClasses, inClass


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 Source #

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

TODO inClass missing

IsostericityLookup Pair Source #

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 :: ByteString Source #

Raw CSV data, embedded into the library.