BiobaseXNA-0.9.2.1: Efficient RNA/DNA representations

Safe HaskellNone
LanguageHaskell2010

Biobase.Secondary.Basepair

Contents

Description

Secondary structure: define basepairs as Int-tuples, the three edges, a nucleotide can use for pairing and the cis/trans isomerism. Both edges and cis/trans come with a tag for "unknown".

TODO set ext-annotations to be (isomerism,edge,edge) and have a asString instance to read "cWW" "tSH" and other notation.

Synopsis

Newtypes for extended secondary structures

Encode which of three edges is engaged in base pairing

newtype Edge Source

Each nucleotide in a pair may be paired using one of three edges: watson-crick, sugar, or hoogsteen.

Constructors

Edge 

Fields

unEdge :: Int
 

Instances

Bounded Edge Source 
Enum Edge Source 
Eq Edge Source 
Ord Edge Source 
Read Edge Source

Human-readable Read instance.

Show Edge Source

Human-readable Show instance.

Ix Edge Source 
Generic Edge Source 
ToJSON Edge Source 
FromJSON Edge Source 
Binary Edge Source 
Serialize Edge Source 
Unbox Edge Source 
IsostericityLookup ExtPair Source

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

TODO inClass missing

Vector Vector Edge Source 
MVector MVector Edge Source 
RemovePseudoKnots [ExtPairIdx] Source 
RemovePseudoKnots (Vector ExtPairIdx) Source

Remove pseudoknotted pairs from extended RNA secondary structures.

MkD2Secondary (Int, [ExtPairIdx]) Source 
BaseSelect ((a, a), ExtPairAnnotation) a Source

extended pairtype annotation given

type Rep Edge Source 
data Vector Edge = V_Edge (Vector Int) Source 
data MVector s0 Edge = MV_Edge (MVector s Int) Source 

pattern W :: Edge Source

pattern S :: Edge Source

pattern H :: Edge Source

Is the base pair in cis or trans configuration

newtype CTisomerism Source

Nucleotides in a pairing may be in the cis(==?) or trans(==?) state.

Constructors

CT 

Fields

unCT :: Int
 

Types

type PairIdx = (Int, Int) Source

A basepair is simply a pair of Ints which are 0-indexing a sequence.

type Pair = (Letter RNA, Letter RNA) Source

A pair as a tuple containing Nucs.

type ExtPairAnnotation = (CTisomerism, Edge, Edge) Source

Annotation for a basepair.

type ExtPairIdx = (PairIdx, ExtPairAnnotation) Source

An extended basepair is a basepair, annotated with edge and CTisomerism.

type ExtPair = (Pair, ExtPairAnnotation) Source

An extended basepair, with nucleotides an annotation.

little helpers

pattern CHH :: (CTisomerism, Edge, Edge) Source

pattern CHS :: (CTisomerism, Edge, Edge) Source

pattern CHW :: (CTisomerism, Edge, Edge) Source

pattern CSH :: (CTisomerism, Edge, Edge) Source

pattern CSS :: (CTisomerism, Edge, Edge) Source

pattern CSW :: (CTisomerism, Edge, Edge) Source

pattern CWH :: (CTisomerism, Edge, Edge) Source

pattern CWS :: (CTisomerism, Edge, Edge) Source

pattern CWW :: (CTisomerism, Edge, Edge) Source

pattern THH :: (CTisomerism, Edge, Edge) Source

pattern THS :: (CTisomerism, Edge, Edge) Source

pattern THW :: (CTisomerism, Edge, Edge) Source

pattern TSH :: (CTisomerism, Edge, Edge) Source

pattern TSS :: (CTisomerism, Edge, Edge) Source

pattern TSW :: (CTisomerism, Edge, Edge) Source

pattern TWH :: (CTisomerism, Edge, Edge) Source

pattern TWS :: (CTisomerism, Edge, Edge) Source

pattern TWW :: (CTisomerism, Edge, Edge) Source

tuple-like selection

class BaseSelect a b | a -> b where Source

Selection of nucleotides and/or type classes independent of which type we are looking at.

Methods

baseL :: a -> b Source

select first index or nucleotide

baseR :: a -> b Source

select second index or nucleotide

baseP :: a -> (b, b) Source

select both nucleotides as pair

baseT :: a -> ExtPairAnnotation Source

select basepair type if existing or return default cWW

updL :: b -> a -> a Source

update first index or nucleotide

updR :: b -> a -> a Source

update second index or nucleotide

updP :: (b, b) -> a -> a Source

update complete pair

updT :: ExtPairAnnotation -> a -> a Source

update basepair type, error if not possible due to type a

Instances

BaseSelect ((a, a), ExtPairAnnotation) a Source

extended pairtype annotation given

BaseSelect (a, a) a Source

simple cis/wc-wc basepairs