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.
- threeChar :: String -> ExtPairAnnotation
- newtype Edge = Edge {}
- newtype CTisomerism = CT {}
- type PairIdx = (Int, Int)
- type Pair = (Nuc, Nuc)
- type ExtPairAnnotation = (CTisomerism, Edge, Edge)
- type ExtPairIdx = (PairIdx, ExtPairAnnotation)
- type ExtPair = (Pair, ExtPairAnnotation)
Documentation
threeChar :: String -> ExtPairAnnotationSource
Easy reading of a three-Char string into a triple.
Each nucleotide in a pair may be paired using one of three edges: watson-crik, sugar, or hoogsteen.
Bounded Edge | |
Enum Edge | |
Eq Edge | |
Ord Edge | |
Read Edge | Human-readable Read instance. |
Show Edge | Human-readable Show instance. |
Ix Edge | |
Prim Edge | |
Unbox Edge | |
Bounds Edge | |
Vector Vector Edge | |
MVector MVector Edge | |
RemovePseudoKnots [ExtPairIdx] | |
RemovePseudoKnots (Vector ExtPairIdx) | Remove pseudoknotted pairs from extended RNA secondary structures. |
MkD2Secondary (Int, [ExtPairIdx]) |
newtype CTisomerism Source
Nucleotides in a pairing may be in the cis(==?) or trans(==?) state.
Bounded CTisomerism | |
Enum CTisomerism | |
Eq CTisomerism | |
Ord CTisomerism | |
Read CTisomerism | Human-readable Read instance. |
Show CTisomerism | Human-readable Show instance. |
Ix CTisomerism | |
Prim CTisomerism | |
Unbox CTisomerism | |
Bounds CTisomerism | |
Vector Vector CTisomerism | |
MVector MVector CTisomerism | |
RemovePseudoKnots [ExtPairIdx] | |
RemovePseudoKnots (Vector ExtPairIdx) | Remove pseudoknotted pairs from extended RNA secondary structures. |
MkD2Secondary (Int, [ExtPairIdx]) |
Instances
Instances for Edge
Instances for CTisomerism
Types
type PairIdx = (Int, Int)Source
A basepair is simply a pair of Ints which are 0-indexing a sequence.
TODO storable vector, newtype, peek/poke?
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.