| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
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.
- newtype Edge = Edge {}
- pattern W :: Edge
- pattern S :: Edge
- pattern H :: Edge
- newtype CTisomerism = CT {}
- pattern Cis :: CTisomerism
- pattern Trn :: CTisomerism
- type PairIdx = (Int, Int)
- type Pair = (Letter RNA, Letter RNA)
- type ExtPairAnnotation = (CTisomerism, Edge, Edge)
- type ExtPairIdx = (PairIdx, ExtPairAnnotation)
- type ExtPair = (Pair, ExtPairAnnotation)
- pattern CHH :: (CTisomerism, Edge, Edge)
- pattern CHS :: (CTisomerism, Edge, Edge)
- pattern CHW :: (CTisomerism, Edge, Edge)
- pattern CSH :: (CTisomerism, Edge, Edge)
- pattern CSS :: (CTisomerism, Edge, Edge)
- pattern CSW :: (CTisomerism, Edge, Edge)
- pattern CWH :: (CTisomerism, Edge, Edge)
- pattern CWS :: (CTisomerism, Edge, Edge)
- pattern CWW :: (CTisomerism, Edge, Edge)
- pattern THH :: (CTisomerism, Edge, Edge)
- pattern THS :: (CTisomerism, Edge, Edge)
- pattern THW :: (CTisomerism, Edge, Edge)
- pattern TSH :: (CTisomerism, Edge, Edge)
- pattern TSS :: (CTisomerism, Edge, Edge)
- pattern TSW :: (CTisomerism, Edge, Edge)
- pattern TWH :: (CTisomerism, Edge, Edge)
- pattern TWS :: (CTisomerism, Edge, Edge)
- pattern TWW :: (CTisomerism, Edge, Edge)
- class BaseSelect a b | a -> b where
- baseL :: a -> b
- baseR :: a -> b
- baseP :: a -> (b, b)
- baseT :: a -> ExtPairAnnotation
- updL :: b -> a -> a
- updR :: b -> a -> a
- updP :: (b, b) -> a -> a
- updT :: ExtPairAnnotation -> a -> a
Newtypes for extended secondary structures
Encode which of three edges is engaged in base pairing
Each nucleotide in a pair may be paired using one of three edges: watson-crick, sugar, or hoogsteen.
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 |
Is the base pair in cis or trans configuration
newtype CTisomerism Source
Nucleotides in a pairing may be in the cis(==?) or trans(==?) state.
Instances
| Bounded CTisomerism Source | |
| Enum CTisomerism Source | |
| Eq CTisomerism Source | |
| Ord CTisomerism Source | |
| Read CTisomerism Source | Human-readable Read instance. |
| Show CTisomerism Source | Human-readable Show instance. |
| Ix CTisomerism Source | |
| Generic CTisomerism Source | |
| ToJSON CTisomerism Source | |
| FromJSON CTisomerism Source | |
| Binary CTisomerism Source | |
| Serialize CTisomerism Source | |
| Unbox CTisomerism Source | |
| IsostericityLookup ExtPair Source | For extended basepairs, we take the default mapping and go from there. TODO inClass missing |
| Vector Vector CTisomerism Source | |
| MVector MVector CTisomerism 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 CTisomerism Source | |
| data Vector CTisomerism = V_CTisomerism (Vector Int) Source | |
| data MVector s0 CTisomerism = MV_CTisomerism (MVector s Int) Source |
pattern Cis :: CTisomerism Source
pattern Trn :: CTisomerism Source
Types
type PairIdx = (Int, Int) Source
A basepair is simply a pair of Ints which are 0-indexing a sequence.
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
select first index or nucleotide
select second index or nucleotide
select both nucleotides as pair
baseT :: a -> ExtPairAnnotation Source
select basepair type if existing or return default cWW
update first index or nucleotide
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 |